Code Monkey home page Code Monkey logo

cos214_project's Introduction

COS214_Project

"War, war never changes"

Notice

All links provided below are links to a Google Drive where the file is stored. The access policy is that such that anyone with the link can view the content.

The following documents have also been included in the repository directly (in the "Report" directory).

  1. The latest and final version of the class diagram as both a PDF and a VPP project
  2. A minimal version of the final class diagram as a PDF, that does not include attributes or operations, only relationships between classes
  3. PDF versions of the latest versions of all the Activity, Sequence, State, Communication and Object diagrams
  4. The functional requirements of the system as a PDF
  5. The complete project report as a PDF (with a link to the Google Doc version), containing the research brief and report on design patterns employed as stipulated by Task 4.
  6. The PDF of the documentation generated by Doxygen.

Video Introduction (for demo)

Introductory video

How to compile and run

The folder "Code" fulfils the role of the folder "System" that is mentioned in the specification

  1. Navigate to the folder named "Code" and open the terminal
  2. Simply type "make" and enter to compile the code
  3. Type "make run" and enter once compilation has completed to run the code (this can be performed any number of times after compilation)
  4. Follow the prompts in terminal and have fun!

Functional Requirements

Specifications of the system's functional requirements at a high level

Specification of Functional Requirements

Pre-Initial Designs

Note that versions 1 and 2 were drafted informally in meetings

Version 3
Version 4
Version 5
Version 6
Version 7

Class Diagrams

Note that the versions begin at 8 since they follow on directly from the pre-initial design

Version 8
Version 9
Version 10
Version 11
Version 12
Version 13
Version 14
Version 15
Version 16
Version 17
Version 18
Version 19
Version 20
Version 21
Version 22 (view below)

Auxilliary Diagrams (Sequence, Activity, Communication, etc.)

Sequence Diagrams

Build Army Process

Builder Sequence Diagram v1
Builder Sequence Diagram v2 (view below)

Transport Process

Mediator Sequence Diagram v1
Mediator Sequence Diagram v2 (view below)


Communication Diagrams

Command Process

Command Communication Diagram v1
Command Communication Diagram v2 (view below)


Activity Diagrams

Upgrade & Make Supplies

Factory Method Activity Diagram v1 - Supply Factory

Form Alliance Process

FormAlliance Activity Diagram v2


Object Diagrams

Country Class

Country Object Diagram v1

War Class

War Object Diagram v1


State Diagrams

Economic State Class

Economic State - State Diagram v1

War Phase Class_

War Phase - State Diagram v1


Final Report (Final Research Brief, Listing of Assumptions and Report on Patterns)

Complete Report (Final)

Research Brief (for progress tracking purposes only)

Research Brief (Rough)

Project Report (for progress tracking purposes only)

Report on Design Patterns (Rough)

cos214_project's People

Contributors

08arno30 avatar jonellecoertze avatar jstereubssoftware avatar lukelawsonsoftware avatar tomblendsoftware avatar

Watchers

 avatar

cos214_project's Issues

Activity diagrams

"2.2 Design the processes using Activity diagrams."

We require a few of these which model the most important processes in the system (think war engine, how war theatres play out, how a country decides and acts out a turn, etc.)

Class Diagram

2.3 Decide on the patterns to address the functionality defined by the functional requirements and processes.

2.4 Design the classes for each of the identified patterns taking their interrelationships into account.

2.5 Draw a class diagram of your system.

This diagram will likely change over time

Object Diagrams

"2.8 Provide at least two object diagrams showing the state of the objects active in the war simulation at a specific point in time."

Research brief and Report

Please take note of the submission instruction for the 'Report' task.

4.1 You are required to write a brief about your research, ensuring that you reference all sources. Your brief
should include what you understand about warfare as well as associated entities, phases, etc. that you
will be using as part of you warfare engine. Make sure to document any further assumptions or decisions
you made. Lastly ensure to include relevant definitions and explanations where required.

4.2 A report stating how you applied the design patterns to address the functionality required by the system.
This report should include UML diagrams to augment the explanation. This Task goes hand-in-hand
with the Design task. Much of the design must be reported on in this task.

State diagrams

"2.7 Design state diagrams showing how an object (which could also be a composite) changes state"

There is a lot of opportunity in our system to create these.

ArmyComponent Hierarchy

This involves creating and implementing all the classes involved in the ArmyComponent hierarchy. This involves the Abstract Factory and Composite

Sequence and communication diagrams

"2.6 Draw Sequence and communication diagrams showing the message passing between objects."

This will involve the fundamental mechanisms of certain design patterns as well as the interaction between patterns.

Specification of Functional Requirements

"2.1 Identify the functional requirements."

A page or so long document describing the functional requirements of our system (ie: an overview of what our system does and how it, what aspects of war it includes, what is the overall driver of the simulation, etc) should suffice

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.