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

User Tools

Site Tools

Assignment 03: Improved Requirements

Release date: Monday 04.11.13 - Due date: Sunday, 10.11.13, 23:59

Task 15: Definitions of Domain Driven Design

8 = 2*4 points

In the lecture we suggested to use genus–differentia definitions1). To understand this format deeper, we want to apply it on the definitions of the glossary of the DDD book. The glossary is available online at or at Google Books.

Find two of the entries of the glossary that are genus–differentia definitions and analyze them with respect to the following questions:

  • Mark the words that are defined by the glossary entry (definiendum). They should be obvious.
  • Mark the words in the glossary entry that refer to the genus proximum.
    1. Discuss how understandable2) the terms are and which context you need to take into account to understand them.
  • Mark the words in the glossary entry that refer to the differentia specifica.
    1. Discuss how understandable the terms are and which context you need to take into account to understand them.
    2. Give an example of something that belongs to the genus but does not fulfill the differentia.
    3. Give an example of something that belongs to the genus and does fulfill the differentia, i.e. it fulfills the definition.

Example for the entry ''core domain''

Side note: The primary goal of a glossary is to offer a reference for the most important terms used in a certain context. The main criterion is whether everyone involved in the context can agree on what a term means based on the glossary entry. Our suggestion to use “genus-differentia definitions” is only a means to that goal. You might have a look at some and ask yourself, whether you understand them and whether you see a chance to improve them.

Task 16: Sophist REgelwerk on Security Requirement

9 = 3+2*3 points

The fictive service “YourPurse” offers customers to manage their payments on-line. Because of recent security incidents they are taking counter measures like calculating abuse indicators for the accounts.

One sentence from their requirements reads as follows:

“Once abuse indicators are higher, accounts may not be viewed anymore.”

a) Demonstrate how to identify implicit assumptions (presuppositions) using this sentence.

  • Name the steps of the rule in general.
  • Execute the steps of the rule with respect to the sentence.
  • Describe presuppositions that you find.

b) Demonstrate in detail, how to apply rules of the REgelwerk. Find two rules that apply to this sentence. For each of these two rules answer the following questions:

  • Which textual clue tells you, that this rule is relevant for the sentence?
  • Which problem is addressed by this rule in general?
    How does the problem look like with respect to the sentence above?
  • Which question could you ask a customer/domain expert to solve the problem?
    How could the sentence above look like without the problem?

Task 17: Sophist REgelwerk on Time Tracking Application

8 points

Here are some preliminary requirements for a Time Tracking Application:

  • (01) The Time Tracking Application allows keeping track of the actual working time of all the users.
  • (02) The workers work in two shifts.
  • (03) When a worker starts his work the time is registered.
  • (04) When a worker leaves later than 30 minutes after the end of his shift, he can enter a short description of the reason for working overtime.
  • (05) Workers shall not see the reasons for the overtime of their colleagues.
  • (06) If a worker of the first shift is leaving before 2 p.m. the system shall give a notice.
  • (07) Managers can shift the regular working hours temporarily. The maximal shift is 4 hours.
  • (08) The monthly report highlights entries using “18 pt Times New Roman” font with color red,
  • (09) where workers arrived too early or too late for their duty period.
  • (10) Managers, workers and the work council will meet regularly to review the social impacts of the time tracking system.

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.

Format of the result table with one example

Task 18: Modeling Flights in Color

12=4+2+4+2 points
As a starting point we placed the file A03_T18_Airports in your repository.

We are creating a passenger flight information system following the Modeling in Color approach. You can find the first nine classes of the domain object model here:

Class Diagram for the Passenger Flight Information System

a) Add to each of the nine classes an appropriate archetype and explain your choice. It is enough to explain it for one class of every color (1-2 sentences each).

b) Add multiplicities to the associations.

c) Some of the classes of this model can be reused in different applications. Besides the Passenger Flight Information System we are developing as well a Cargo Flight Information System and an Airport Shop Administration System. Find the corresponding layered package structure here:

Package Diagram for the Airport Information System

  • Three classes will be used in all three airport applications. Move them into the airports package.
  • Some of the remaining classes will be used as a model for both Flight Information Systems. Move them into the flights package.
  • Move the remaining classes into the passengerflights package.
  • Add navigability to associations so that we can easily use the required packages of each of the systems without the rest.

d) Your colleague argues that a pilot and a passenger is a person and therefore Pilot as well as Passenger should be a subclasses of Person. Do you agree? Explain why you agree or disagree. (2-3 sentences)  

Task 19: Modeling Hotels in Color

12 = 1+2+2+2+3+2 points
As a starting point we placed the file A03_T19_Hotels in your repository.

Below you find a new domain model created by your colleague. He already expressed that Reservation, Renting, Invoice, and Payment take place at separate moments or time intervals.

Class diagram for a hotel domain

a) Add the appropriate archetypes to the classes Person and Room. If later on required you may add further classes with appropriate archetype.

b) It should be possible that the person who reserves rooms and receives the invoice is different from the persons who actually stay there. Express this in the model by adding appropriate classes and associations.

c) Till now only the Invoice has details, but it makes sense for almost all other moment-interval classes: Add the missing mi-detail classes. Review your model and add missing classes and associations.

d) Sometimes a request for reservation occurs even before the reservation. Add a class WaitingReservationRequest with the appropriate archetype and the associations.

e) Add the missing multiplicities to the associations.

f) Review another class diagram of the hotel domain:

The following class diagram for a hotel domain was created by another colleague.

Rejected class diagram for a hotel domain

It was not used because someone had the feeling that it is not correct. Can you support this gut feeling with some arguments? We suggest that you apply the archetypes to the classes and argue based on these. (3-5 sentences)

Besides our own slide the description in the English Wikipedia is good enough for our purpose. Consulted version: 18.04.2013. There are other suggestions for the format of definitions but genus–differentia definitions are close to object-oriented thinking and we see definitions typically improve if the translate them into this format.
If you suspect that the reason for not understanding the terms is your personal ignorance pick another glossary entry.
teaching/lectures/atsc/2013/assignment_03.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2024