-
-
- Tips and Tricks
Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Release date: Tuesday, 23.10.12 - Due date: Sunday, 28.10.12, 23:59
12 = 5+2+5 points |
---|
In preparation of some topics to come, we assume that we want to develop an editor for UML Class Diagrams.
And no, we never want you to create such an editor. You will see, where this task will leed in a few weeks.
a) Use Abbott's method to create a Domain Object Model for Class Diagrams based on the following text:
A class is a type. A class owns attributes and operations. The operations have zero or more parameters and may raise exceptions. Exceptions are types. A class has a class as super class. Attributes, Operations and Parameters have a type. Attributes, Operations and Parameters have a name.
b) Review the Domain Object Model that you created. There is some repetition. Change the model, to eliminate this repetition.
c) Describe the (fine grained) Use Case of adding one attribute to a class in the editor. You may assume that the editor is already showing a rectangular shape for a class. Give us precondition, postcondition, flow of events. Describe the change in the entity objects and the displayed diagram.
New Tip: Here is another use case, to illustrate what we would like to get from you:
Use Case Description: "Define Super Class"
Precondition: The editor shows already two rectangles (we call them C and B) representing two classes. The class represented by rectangle C has no super class. Flow of events: 1) The user selects the tool for the sub class relationship from the tool bar. 2) The user clicks on the rectangle C. 3) While the user moves the mouse around an arrow from the rectangle B towards the mouse cursor is drawn. 4) Every time the mouse cursor is above rectangle B (or any other rectangle but C), this rectangle is highlighted. 5) Once the user clicks on rectangle B an arrow from C to B is drawn. Postcondition: The editor shows the two rectangles and there is an arrow from C to B with an open triangle as head. Internally the attribute of the class represented by C for its super class is referencing the class represented by B.
Illustrations for: "Define Super Class"
Internal State:
7 points |
---|
Requirements should be correct, clear, consistent, and complete. The following task is meant to practice these four quality attributes, so that you have a better understanding about how these terms are used. Maybe you get as well a first idea about how to look for incorrect, unclear, inconsistent, and incomplete requirements.
Your colleague reviewed a requirements document and listed eleven sentences that are obviously not good. To classify the problems you are now asked to complete the table below that tells the other team members which quality is missing and explains it shortly.
Here are the eleven sentences from the requirements document:
Here is the table that you should complete. Your colleague already started with the work:
Sentence(s) | Missing Quality | Explanation |
---|---|---|
(11) | Correctness | That's for sure not required. Although global warming is a serious issue, the contribution of printing receipts is clearly irrelevant. |
(08) and ( _ ) | Consistency | |
(02) and ( _ ) | Clearness | |
(03) | Completeness | |
(04) | How much do children have to pay when there is no public holiday? | |
( _ ) and (06) | ||
( _ ) | ||
( _ ) |
Here are some preliminary requirements for a Time Tracking Application:
10 = 4+3+3 points |
---|
a) Demonstrate in detail, how to apply the rules. Take sentence (3) and apply rule R1:
b) Demonstrate how to identify implicit assumptions (presuppositions) using one of the sentences (e.g. (10)).
c) Find a definition for the following words:
One for each definition is enough, if it has the right form.
8 points |
---|
You should roughly understand what the Time Tracking Application is meant to be. Nevertheless, there are many issues with these requirements. Give us eight issues of at least three different types. The first row of the table gives you one example. You should use what you learned about the Sophist REgelwerk (and the final remarks of the last lecture).
Sentence | Clue on the language level pointing to a problem? What is the problem? | What could you ask to clarify the requirement? |
---|---|---|
(03) | “a” Extension of the requirement not explicit. (Generalization: Substantives without a reference, R15: Only use indefinite articles in definitions) | To whom does this requirement apply? To all workers? |
( _ ) | ||
( _ ) | ||
( _ ) | ||
( _ ) | ||
( _ ) | ||
( _ ) | ||
( _ ) | ||
( _ ) |