Design - TeamGroup-Org/CS2263_Project1 GitHub Wiki

Sequence Diagrams

Begin Game

Sequence Diagram for Begining A Game

Playing a Tile

Sequence Diagram for Playing a Tile

Tile Played Between two Corporations

Sequence Diagram for Merging a Corporation

Buying Stocks

Sequence Diagram for Buying Stocks

Drawing a Tile

Sequence Diagram for Drawing a tile

Ending the Game

Sequence Diagram for Ending the Game

Implementation Class Diagram

Class Diagram

Design Patterns

Two new classes were added to adhere to the single responsibilty principle. TileTray will handle giving out tiles, CorporationTray will hold corporation information.

Duplicate code was removed to adhere to the "DRY" principle.

Loose Coupling: Certain Class no longer have access to other classes (no longer associated).

Loose Coupling: Board no longer depends on tiles or buildings.

Seperation of Concerns: UI class can no longer directly interact with the board. StockMarketTray can no long affect the board. UI no longer directly associated with Banker class.

Principle of Least Knowledge: Classes that shouldn't have had access to other classes had access removed.

Facade Design Pattern: Users can no longer directly interact with classes.

UI Design

Home Screen

Home Screen Design

Main Screen

Main Screen Design