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, 18.04.12 - Due date: Monday, 23.04.12, 23:59

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

3 points

Describe in your own words the «include», «extend» and the generalization relationship between use cases. Give for each relationship a reasonable example. The use cases should be described with a few words.

Task 02: Sequence Diagrams: Instance Form vs Descriptor Form

3 points

Describe in your own words the semantical differences between the instance form and the descriptor form of a sequence diagram. Invent a simple example of a 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.

Task 03: Statemachine Diagram: States of the Statemachine Diagram Editor

5 points
You can find a statemachine diagram with three states and three transitions as a starting point in your groups repositor:
https://svn.iai.uni-bonn.de/repos/IAI_Software/se/oosc2012/group00/A03T03_StatemachineDiagramEditor.asta

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

Screenshot of the graphical editor for statemachine diagrams as part of astah

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

Your Task: Create a statemachine diagram that describes how the editor behaves while the “State Creation Tool” or1) the “Transition Creation Tool” is selected. Your diagram should describe at least the reaction to the following events: “Mouse Down”, “Mouse Up”, “Key Escape Pressed”, “Key Enter Pressed”, “Alphanumerical Key Pressed”. You should add as well a state for the “Selection Tool”, but you do not need to elaborate the behavior for the case that this tool is selected.

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.

Optional Task, No Points, Quite Complex: Take as well the events “Mouse Move” into account. Describe as well the behavior if the “Selection Tool” is selected. For simplicity you may assume that the diagram only consists of regular states and transitions.

Task 04: Activity Diagram: Library System

3 points

In this task you are modeling an aspect of the behavior of library system. It is not necessary to think of this system as a program, but you may think of the system of the library (clerks, shelfs, book repository …) as such.

Your Task: Create an activity diagram for the process of borrowing books and creating a user account (if necessary). The diagram should make clear that it is necessary to check for the availability of a book. It should contain the activity of retrieving books from the repository. If the activity of creating a user account is necessary it should be possible to run this in parallel with rest of the activities. Of course the books can only be taken away once the account is created.

1)
2012-04-25, dsp: This “or” was meant like: Describe what happens in both cases. It was not meant like: Describe only one case. Sorry for the confusion. If you have done just one, explain the other one during the meeting with the tutor.
teaching/lectures/oosc/2012/assignment_3.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2024