SDA SE Wiki

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

User Tools

Site Tools


Assignment 8 - Sample Solution

Task 20: Develop our Hotel Management System with AOSD

We won't provide a sample solution for task 20.

Task 21: Simple Mobile Phonebook

a) Draw a class diagram showing the Domain Object Model (= the entities). It’s quite simple.

Domain Object Model
  • Optionally the Phonebook could be modelled as well.

b) Based on your Domain Object Model and the Use Case Diagram create an Analysis Object Model using the «boundary», «controller», «entity» stereotypes.

Use Case Diagram (with colors to identify Use Cases) Analyis Object Model (using the same colors)

c) Which of the elements (including all three stereotypes) in your Analysis Object Model realize the following use cases?
Colors in b) give a first hint, but have a look at the details:

  1. Edit Contact
    Contact Form, Contact Editing, Contact1)
  2. Call Contact identified by Voice File
    Contact Selection Form2), Contact by Voice File Lookup, Voice File, Contact3)
  3. Handle no precise match found
    Contact by Voice File Lookup4), Near matches selection form, No precise matches found handling

d) In which sense it there “scattering” or “tangling” in your model?

  • A use case is realized by more than one analysis object. This is o.k. and not yet scattering.
  • For some use case we need to add some responsibilities to analysis objects whose main purpose is to represent another use case. So the later use cases get tangled while the earlier are scattered. For example examine the record voice file use case:
    • Voice Interface, Voice File Recording, Voice File are use case specific. Everything fine so far.
    • But the realization of this use case is as well scattered over three other analysis objects, as we need to add responsibilities to two objects mainly realizing another use case5) and a non use case specific analysis object6).
    • Be aware that the simple usage of other objects is no problem. “Edit Contact” only gets tangled because we add the reference to the voice file to it.
  • The notes in the Analysis Object Model represent the responsibility that are scattered over other objects.
  • The objects to whom these notes are attached are tangled by these responsibilities.

e) Draw a version of the Analysis Object Model separated into Use Case Specific Slices. Either use a graphic program and edit the picture below or bring a print out to the presentation.

Please consider the stereotype “«aspect»” to be in each of the rectangles.

Analysis Object Model separated into Use Case Specific Slices
  • This solution could still be improved to enhance the traceability. The “graph homomorphism” criterion isn't met (slide 11, lecture 08).
1) , 3)
not use case specific
2)
from use case “Call Contact identified by Name”. Alternatively there could be a non use case specific boundary that is used by both use cases.
4)
from use case “Call Contact identified by Voice File”
5)
Contact Form and Contact Editing are realizing the use case “Edit Contact”
6)
Contact
teaching/lectures/atsc/2009/solution_8.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2023