Question: Assignment 6 - Communication Diagram and Implementation Class model Objectives Derive Communication diagram from System Class model and Operational Pattern Derive Implementation Class model Implement

Assignment 6- Communication Diagram
and Implementation Class model
Objectives
Derive Communication diagram from System Class model and Operational Pattern
Derive Implementation Class model
Implement what has been designed
General Info
In this assignment you will create a Communication diagram for your system operation addGame (you have an OP given for this with this assignment). In task 2 you will derive a partial Implementation Class Model from this Communication Diagram, and in Task 3 you will implement what you have.
The diagrams should be completed in Astah (use one Astah file).
Task 1: Communication diagram (25 points)
Create a communication diagram for the system operation addGame for the Developer. Make sure you use the correct syntax and that the diagram is based on the sample solution of the System Class model (please use the version provided with this assignment), Operational Pattern (be provided as a document with this assignmen).
Task 2: Implementation Class model (15 points)
Based on the Communication diagram you created in Task 1, create one Implementation class model which includes all methods, attributes and classes that are used in the Communication diagram. Do not include methods or classes which are not used in your Communication diagram (this is just a partial diagram. You can include attributes
though, so you do not have to delete them from the classes). Also make sure to include types and access specifiers for your attributes and methods. Decided not not add credit card to developer anymore, but could be included, but we are not modelling this in detail so it is not really needed
Decided on not including the Admin as Entity since we do not really need the Admin data in this simple system.
In future assignments you might realize you need more associations or that you can get rid of associations, that is ok. You can change the SCM accordingly
OP
Operation = addGame
Description = A Developer wants to add a game to the system, we assume the dev with the
username given to the operation exists.
Input = username: String, gameName: String, is_multiplayer: boolean
Reads = hgames : HandleGames,
hdevs : HandleDevs with (hdevs, hgames)2 Communicates1,
Communicates1, Manages3
Changes = Game, game : Game type, Adds, Manages1,
dev : DevData with dev .username = username ^(hdev , dev )2 Manages3
Sends = Developer : {Not enough credits,
Name of game is already in use,
Dev not approved yet, Game is added for review }
Admin : {New game added , needs to be reviewed }
Pre = implicit
Post = LET
creditAvailable == dev .credits >99
nameTaken ==9 g : Game (hgames, g)2 Manages1^ g.name =
gameName
(nameTaken )
is_sent{Name of game is already in use}^ no_e
ect
)^
(nameTaken )
(creditAvailable )
is_sent{Not enough credits}^ no_e
ect
)^
(creditAvailable )
(dev .isApproved )
is_sent{Dev not approved yet}^ no_e
ect
)^
(dev .isApproved )
game new ^ game.name = gameName ^game.isApproved ^
is_multiplayer , game.isMultiplayer ^
9 g : Game g.gameID = game.id ^
game.versionNumber =1^
Adds 0= Adds [(dev , game)^
Manages10= Manages1[(hgame, game)^
dev .credits 0= dev .credits 100^
is_sent{Game is added for review }
^ is_sent[Admin]{New game added , needs to be reviewed }
)
)
Assignment 6 - Communication Diagram and

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!