Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Due at Thursday, November 19th, 11:00 am (before the lecture starts) |
---|
https://svn.iai.uni-bonn.de/repos/IAI_Software/se/atsc2009ws/samplesolutions/
Projects: A03T07_HotelUseCases_Solution
, A03T08_HotelDomain_Solution
, and A03T09_HotelAnalysisModel_Solution
(1+2)+3=6 points |
---|
Check out the folder A03T07_HotelUseCases
. It contains a Use Case Diagram that can be opened with Eclipse.
Imagine there is a conference in the city and the hotel is fully booked. The customer would be happy to get a room as soon as it becomes available because another guest canceled her reservation.
Review the flows of events of the uses cases. Remember that Modifiability requires that there is no duplication.
Find the problem in the model and change the diagram to solve it.
5+3=8 points |
---|
Check out the project A03T08_HotelDomain
. You find the following text in a file as a basis to apply Abbott's method to mine a domain object model from a textual description of the requirements:
Text as basis for Abbott's method: (Click to expand)
Warning: All our models describe our system. Therefore it is in almost all cases nonsense to model the system itself as an element in our model. The following text (something between a scenario and a use case description) is used as a basis to model the hotel domain: [Some day] (1.1) At home, the customer opens the online reservation page of the hotel. (1.2) He selects the dates at which he wants to stay at the hotel. (1.3) The reservation page shows him the rooms that have no reservation for this time interval. (1.4) Every room has a price category. (1.5) The system calculates the total cost (which is number of days times the price of the price category) and displays this too. (1.6) After the customer has decided which room to take, he selects to reserve this room and enters his name. (1.7) If the customer does not have a credit card associated with him, he also has to enter his credit card number. (1.8) A customer has at least one credit card. (1.9) These credit cards can only belong to one customer. (1.10) The system creates a new reservation. (1.11) This reservation has the room and the customer as guest associated with it. (1.12) The system also creates a new bill. (1.13) A bill consists of multiple billable items and is associated with a credit card that is used to pay the bill. (1.14) A reservation is a billable item. (1.15) Rooms are also billable items. (1.16) This bill now contains the reservation. (1.17) The reservation page shows the reservation number and check-in instructions. [Later] (2.1) The customer enters the hotel. (2.2) He tells the clerk at the front desk the booking number. (2.3) The clerk uses the staff main form on his computer to look up the reservation. (2.4) Once the clerk selects "Check-In", the room is marked as occupied. [After 5 days] (3.1) The customer approaches the clerk at the front desk and tells him he wants to leave. (3.2) The clerk looks up the active reservation by the room number. (3.3) He selects "Check-Out". (3.4) The system creates a new bill associated with the customer's credit card and adds the total cost for the room to it multiple times, once for every day it was booked.
We started already with the creation of a class diagram. You find this class diagram in the project as well. We mainly used the sentences (1.1) to (1.5).
a) Complete the class diagram based on the text.
b) Invent and write down five additional sentences describing some sensible properties of the Hotel Domain. Modify the model accordingly. It is ok as well to start with the modifications and to create the sentences afterwards, as long as they match.
1+6=7 points |
---|
Check out the folder A03T09_HotelAnalysisModel
. Take a look a hotel.analysis.umlclass
which contains the Analysis Model (AM) for the Hotel System. 2) and the Sequence Diagram (SD) we started. (in Sequence Diagram.umldi
)
a) Add the missing link in the AM so that the operation that is already shown in the SD is possible.
The AM is now complete.
b) Complete the sequence diagram so that it depicts the scenario you wrote for task 7. Make no further changes to the AM. You SD has to agree with the given AM. 3)