SDA SE Wiki

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

User Tools

Site Tools


Differences

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:oosc:2011:assignment_2 [2011/04/17 21:32]
jan.nonnen
teaching:lectures:oosc:2011:assignment_2 [2018/05/09 01:59] (current)
Line 1: Line 1:
 +====== Assignment 2: Classes and States in UML  ======
 +<​html><​font color=darkred></​html>​**Release date: Monday, 18.04.11 - Due date: Easter Monday, 25.04.11, 23:​59**<​html></​font></​html>​
 +
 +<note tip>
 +**How to draw an Object Diagram?** Create a Class Diagram with astah. In the middle of the tool bar you find the "​InstanceSpecification"​ and directly next to it the "​Link"​. These are the ingredients of an Object Diagram. For an instance of an Association Class it is ok to place it just next to the corresponding link, as it seems to be impossible to connect it with the link. (Other solutions are welcome, but be ready to explain how it should be. If you don't use astah, but provide a PDF or PNG, this is OK this time as well.)
 +</​note>​
 +
 +
 +====== Task 1: Class Diagrams ======
 +^**4 points**^
 +
 +^  Countries and Capitals ​ ^
 +|{{:​teaching:​lectures:​oosc:​2010:​capitals.png?​400|}}|
 +
 +^  Persons as Employees and Family Members ​ ^
 +|{{:​teaching:​lectures:​oosc:​2010:​employees.png?​400|}}|
 +
 +Give us for for each of the two class diagrams above:
 +  * An object diagram that is compatible with the class diagram. The object diagrams should contain at least four objects each. 
 +  * A variation of your object diagram that does violate the class diagram.
 +
 +
 +
 +
 +====== Task 2: Association Classes ======
 +^**4 points**^
 +
 +^  Two ways to model employment ​ ^
 +|{{:​teaching:​lectures:​oosc:​2009:​employment.png?​400|}}|
 +
 +^  Two ways to model appointments ​ ^
 +|{{:​teaching:​lectures:​oosc:​2009:​appointments.png?​400|}}|
 +
 +Give us for each of the four class diagrams above:
 +  * An object diagram that is compatible with the class diagram. ​
 +  * Provide for the **fourth** class diagram an object diagram that violates the **third** class diagram.
 +
 +
 +====== Task 3: Matching class and object diagrams ======
 +^**2 points**^ ​
 +
 +Consider the following class diagrams (on the left) and object diagrams (on the top). Check for each
 +class diagram the object diagrams which could be an instance of it (for example in form of a list).
 +
 +|          ^           ​1 ​        ​^ ​        ​2 ​          ​^ ​       3            ^         ​4 ​           ^
 +|                      |  {{..:​2010:​o-ab.png?​200|}} ​ |  {{..:​2010:​o-ad.png?​200|}} ​ |  {{..:​2010:​o-cb.png?​200|}} ​ |   ​{{..:​2010:​o-cd.png?​200|}} ​ |
 +|  {{..:​2010:​abcd-ab.png?​150|}} ​   |                     ​| ​                    ​| ​                    ​| ​                     |
 +|  {{..:​2010:​abcd-ad.png?​150|}} ​   |                     ​| ​                    ​| ​                    ​| ​                     |
 +|  {{..:​2010:​abcd-cb.png?​150|}} ​   |                     ​| ​                    ​| ​                    ​| ​                     |
 +|  {{..:​2010:​abcd-cd.png?​150|}} ​   |                     ​| ​                    ​| ​                    ​| ​                     |
 +
 +
 +====== Task 4: Matching object and class diagrams ======
 +
 +^**2 points**^ ​
 +
 +
 +Now consider the following object diagrams (on the left) and class diagrams (on the top). Check for each
 +object diagram the class diagrams which could be an instance of it (for example in form of a list).
 +
 +|                      ^           ​1 ​        ​^ ​        ​2 ​          ​^ ​       3            ^         ​4 ​           ^
 +|                    |  {{..:​2010:​ab-aa.png|}} ​ |  {{..:​2010:​ab-ab.png|}} ​ |  {{..:​2010:​ab-ba.png|}} ​ |   ​{{..:​2010:​ab-bb.png|}} ​ |
 +|  {{..:​2010:​o2-aa.png|}} ​   |                  |                  |                  |                   |
 +|  {{..:​2010:​o2-ab.png|}} ​   |                  |                  |                  |                   |
 +|  {{..:​2010:​o2-ba.png|}} ​   |                  |                  |                  |                   |
 +|  {{..:​2010:​o2-bb.png|}} ​   |                  |                  |                  |                   |
 +|  {{..:​2010:​o2-aba.png|}} ​  ​| ​                 |                  |                  |                   |
 +|  {{..:​2010:​o2-bab.png|}} ​  ​| ​                 |                  |                  |                   |
 +|  {{..:​2010:​o2-abab.png|}} ​ |                  |                  |                  |                   |
 +
 +
 +
 +
 +======= Task 5: State machine diagram =======
 +
 +^**5 points**^
 +
 +
 +a) SVN Commit
 +
 +Your task is to analyze the SVN commit procedure and represent it in form of a state machine diagram in astah.
 +A normal commit without conflicting changes contains the following steps:
 +
 +  * update
 +  * enter commit statement
 +  * commit ​
 +
 +In case there are conflicting changes, the conflicts must be merged after updating the files.
 +There are three different options to merge a file:
 +  * reverting to the current version in the SVN and discard the own changes
 +  * commiting the own version
 +  * manually merging the two versions
 +
 +For further information see also [[http://​ariejan.net/​2007/​07/​04/​how-to-resolve-subversion-conflicts/​|resolve subversion conflicts]] ​
 +
 +
 +b) Consulting the SVN help
 +
 +In any of these steps the user might look up the SVN help and return later on to the left step (state). Modify your statechart diagram to support this, too.
  
teaching/lectures/oosc/2011/assignment_2.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019