# SDA SE Wiki

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

# Assignment 5: Design Goals and Subsystem Decomposition

Due at Friday, May 21th, 23:59

4 points

To get more familiar with the notion of design goals, give us for each of the following applications the two to four most important design goals. Explain each design goal in one to three sentences and give us the reason, why you consider this design goal to be important for the respective application.

2. Atomic power plant control system
3. On-line application system for the master degree program

## Task 17: Collaboration Sequences (on the level of analysis)

5 points

We created a sequence diagram showing the interaction between the counter staff, the mechanic1) and the system for the RentBike use case. As you did, we created an Analysis Object Model for the Bike Rental Outlet. Your model might be slightly different, because we used another method:

Your task is to create a sequence diagram that demonstrates how the use case can be realized by the classes of the Analysis Object Model. Here is how we would start:

You can find a file with all diagrams in the project `A05T17-T18_BikeRentalOutlet` in your SVN.

Hint: When you are done, the instance of the «system» Bike Rental Outlet should have been completely replaced by the analysis objects.

## Task 18: Subsystem Decomposition (on the functional level)

5 points

Use the analysis model in `A05T17-T18_BikeRentalOutlet` and take it as a starting point for the model of the solution. Please define a decomposition into subsystems. Try to adhere to the heuristics we have given in the lecture and some more detailed heuristics we collected for you. Give for each subsystem a short description of its responsibility (one to three sentences). Can you name which principle(s) led you decision?

In Astah it might be the easiest way to create the subsystems in the tree view in the structure panel. Drag and drop objects into the subsystems. If you want, you can present this structure as well in the diagram.

(A complete subsystem decomposition would of course take non-functional aspects of the system into account as well.)

## Task 19: Explain the Subsystem Decomposition

2 points

Explain your solution to the previous task in a bit more detail:

1. Pick one of the subsystems and comment on the cohesion and coupling of this subsystem.
2. What is a “layer” and what is a “partition” in the sense of subsystem decomposition?
• Are there any layers or partitions in your system?
• If there are layers, are they opaque or transparent?
1)
The mechanic needs to check the bikes for proper operation.