SDA SE Wiki

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

User Tools

Site Tools


Assignment 5: Requirements Analysis, System Decomposition

Prelude: Bike Rental Outlet

Most of the tasks in this assignment will be about a system called “Bike Rental Outlet”. Some of your colleagues already did a lot of requirements engineering for this system. You can find use cases, a use case diagram and a mock-up of the user interface here. An Analysis Object Model will be presented in Task 02.

Task 01: Design Goals

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.

  1. Mobile access to the Bike Rental Outlets ( Details )
  2. Atomic power plant control system
  3. On-line application system for the master degree program

Task 02: 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:

Sequence Diagram for Use Case: Rent Bike Analysis Object Model: Bike Rental Outlet

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:

Sequence Diagram for Use Case Realization: Rent Bike (incomplete)

You can find a file with all diagrams in the project A05T02-T03_BikeRentalOutletAnalysis 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 03: Subsystem Decomposition (on the functional level)

5 points
There is more than one good solution to this task. Therefore you need to be able to argue for your solution! Different diagrams need different arguments.

Use the analysis model in A05T02-T03_BikeRentalOutletAnalysis 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. If you need more guidance, you may consult 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 04: 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?

Task 05: Practice Analysis Object Model Creation Again (Optional)

[4 points] This task is optional!!!

If you want to practice the creation of an Analysis Object Model again, create one based from the following use case diagram and domain object model. We are modeling the interaction of a customer with an online shop.

( Use Case Diagram and Domain Object Model )

1)
The mechanic needs to check the bikes for proper operation.
teaching/lectures/oosc/2012/assignment_5.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020