Scenario1
UML diagrams
Check the UML video lectures from Section 1 in Plussa as a recap (at least some of them should be familiar from other courses)
After that, choose one of the scenarios from the below and draw the respective diagrams. (Preferably, choose diagrams you are less familiar with!)
The exercises below may be done with one of the tools mentioned in the lecture slides. The diagrams don't have to be precisely in accordance with UML, as long as they present the same information overall. Submit the diagrams as image or PDF files.
Scenarios :
Scenario 1
Grindcore Metal (GM) is a learning platform where teachers can create new learning events, and students can enrol to events and perform tasks such as submitting exercises or taking exams. GM is structured according to the MVC model.
In one use case, a user picks Add course in the UI, after which the command is relayed through the controller to the model, which in turn reports a change in the program state. The next action taken is Add event. Once required information has been input to the UI, the command with its parameters
(event type, name, etc.) is relayed to the controller. The model creates a new event according to the given information and saves it for the course.
Draw a sequence diagram to depict the above sequence of events.
Scenario 2
ExportFormat is an abstract base class with a pure virtual method saveData. Concrete classes Csv and Excel inherit that class. Controller uses ExportFormat and implements the Ctrl interface, which is in turn used by the UI class. Draw a class diagram to depict this system.
Scenario 3
Draw a deployment diagram, where you have an application server, database server, remote access server, workstation and mobile device. Place software artifacts based on MVC-model and a CommunicationBlock to mobile device and workstation. Remote access server directs requests to application server, which also has RequestHandler and SoftwareLogic.
Scenario 4
Draw a state diagram to depict the guidance of traffic lights in a crossing. The specific guidance logic is up to you. Consider also potential error situations and what the system should do in them.