SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Assignment 3: UML, Behavior Diagrams

Release date: Wednesday, 24.04.13 - Due date: Monday, 29.04.13, 11:59

Task 01: Use Case Diagrams: include, extend, generalize

3 points

New technology is entering the bakery domain: The “cloud BAKERY 2100” is a production and vending machine, which is meant to connect to the cloud. It allows customers to order baked goods via their mobile phones. During the ordering process the customer has to authenticate herself. Once the order is complete, the system informs the credit card company to charge the customer’s credit card. Later on, the system autonomously starts the production of the baked goods, so that they are ready at the time specified in the order. For the production of Pumpernickel the there is a special backing process that applies steam at a rather low temperature for a long time. The customer can retrieve the baked goods from the delivery interface of the machine, again accessing the machine via her mobile phone. Again, the customer needs to authenticate for this. The “cloud BAKERY 2100” is placed in supervised locations. If it is out of ingredients a maintainer is called.

Use Cases of the cloud BAKERY 2100

In the use case diagram about four to five relationships are missing. Connect the use cases with the appropriate relationships («include», «extend», generalization) and explain for each stereotype in one sentence, why it is appropriate. You may use A03T01_CloudBakery.asta in your repository as starting point.

Task 02: State Machine Diagram: States of the Use Case Diagram Editor

8 points

In this task you will model part of the behavior of a graphical editor with a state machine diagram. The graphical editor we want to model is the editor for use case diagrams. The picture below shows a screenshot of it:

Screenshot of the graphical editor for use case diagrams as part of astah

Preparation: Play around with the editor. Use especially the “Selection Tool”, the “Use Case Creation Tool”, the “Include Creation Tool” and the “Extend Creation Tool”. Observe how the editor reacts to keyboard and mouse events.

Your Task: Create a state machine diagram that describes how the editor behaves while the “Use Case Creation Tool” selected. As a starting point, you find the file A03T02_UseCaseDiagramEditor.asta in your groups repository. Extend the diagram to describe what happens, when the “Include Creation Tool” is selected. Do the same for the “Extend Creation Tool”. Your diagram should describe at least the reaction to the following events: “Mouse Click”, “Key Escape Pressed”, “Key Enter Pressed”, “Alphanumerical Key Pressed”. You should add as well a state for the “Selection Tool”, but you just need to model the reaction on mouse clicks on the tool bar buttons while in this state.

Tip 1: For mouse events the position of the mouse is of course essential. Describe conditions on the mouse position in natural language, e.g. like “[position is on empty canvas]”.

Tip 2: To check whether you covered all events and states it might be useful to create a table that names all transitions and actions for all combinations of events and states. You find a template for this table as well in the repository.

Optional Task, No Points, Quite Complex: Take as well the events “Mouse Move” into account, distinguish between “Mouse Down” and “Mouse Up”. Describe as well the behavior if the “Selection Tool” is selected. The state machine diagram might become easier if you use parallel states or sub state machines.

Task 03: Sequence Diagrams: Instance Form vs Descriptor Form

3 points

Describe an interaction of an actor with the the cloud BAKERY 2100 (see Task 01) in a simple sequence diagram in descriptor form that uses one alt(nerative) or one loop. Instead of using the descriptor form one might use two separate sequence diagrams in instance form to convey the same information (although not in a formal way). Try to do this for your example. In total we want to have three different sequence diagrams. One in descriptor form and two in instance form. Please choose an example that is as concrete as possible.

Describe in your own words the semantical differences between the instance form and the descriptor form of a sequence diagram.

Task 04 (optional): Activity Diagram: Warehouse Company

[4 points]

Below you find an activity diagram for the order processing in a warehouse company. Let us assume that it already contains all required activities. You should add the following:

Order Processing in a Warehouse company
  • Received orders may be rejected or accepted. Integrate the corresponding alternative flow into the diagram.
  • At some time during the process an invoice should be sent and payment handled. Integrate the corresponding parallel flow into the diagram.

Give for both additions an explanation, why you added them at the respective positions. Make sure that you use the correct control nodes.

teaching/lectures/oosc/2013/assignment_3.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020