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

User Tools

Site Tools


This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teaching:lectures:atsc:2011:solution_8 [2011/12/21 18:21]
Daniel Speicher
teaching:lectures:atsc:2011:solution_8 [2018/05/09 01:59] (current)
Line 1: Line 1:
 +====== Assignment 8 - Sample Solution ======
 +===== Task 1: Develop our Hotel Management System with AOSD  =====
 +<note warning>​We won't provide a sample solution for task 1.</​note>​
 +===== Task 2: Simple Mobile Phonebook ​ =====
 +**a) Study the Use Case Diagram thoroughly.**
 +**b) 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.
 +**c) 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) ​ ^
 +**d) 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:
 +  - **Edit Contact** \\ Contact Form, Contact Editing, Contact((not use case specific))
 +  - **Call Contact identified by Voice File** \\ Contact Selection Form((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.)), Contact by Voice File Lookup, Voice File, Contact((not use case specific))
 +  - **Handle no precise match found** \\ Contact by Voice File Lookup((from use case "Call Contact identified by Voice File"​)),​ Near matches selection form, No precise matches found handling
 +**e) 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 case((Contact Form and Contact Editing are realizing the use case "Edit Contact"​)) and a non use case specific analysis object((Contact)).
 +    * 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.
 +**f) 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.**
 +<​html><​font color=darkred></​html>​ **Please consider the stereotype "<<​aspect>>"​ to be in each of the rectangles.** <​html></​font></​html>​
 +^  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). */
teaching/lectures/atsc/2011/solution_8.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019