Presentation is loading. Please wait.

Presentation is loading. Please wait.

2.3 Examples: Ski resort information system

Similar presentations


Presentation on theme: "2.3 Examples: Ski resort information system"— Presentation transcript:

1 2.3 Examples: Ski resort information system
Users should be able to query weather and snow condition forecasts for a date they enter. The system should allow to book single or double rooms at the resort hotel “Skier’s Luck” online (with credit card). Visitors should be able to book one-day beginners courses on snowboards. There is only one course a day. The max. size of a course is 8 persons. The resort offers special courses for kids. In order to built courses with kids of same age, the customer has to enter the kid’s age. Canceling of course or room bookings are only possible up to 10 days ahead. CPSC 333: Foundations of Software Engineering J. Denzinger

2 CPSC 333: Foundations of Software Engineering J. Denzinger

3 Errors you should prevent (1)!
<< includes >> stereotype in actor associations CPSC 333: Foundations of Software Engineering J. Denzinger

4 Errors you should prevent (2)!
Associations between actors Unnamed associations between use cases CPSC 333: Foundations of Software Engineering J. Denzinger

5 Errors you should prevent (3)!
System no use case! Name relations! CPSC 333: Foundations of Software Engineering J. Denzinger

6 Errors you should prevent (4)!
Wrong understanding of the <<extends>> stereotype CPSC 333: Foundations of Software Engineering J. Denzinger

7 Errors you should prevent (5)!
Diagram moves main functionality outside the system CPSC 333: Foundations of Software Engineering J. Denzinger

8 Errors you should prevent (6)!
Data structures instead of functions as use cases, e.g. date, age, database relations not named CPSC 333: Foundations of Software Engineering J. Denzinger

9 Example Use Case Diagram
Query weather&snow forecast <<include>> Book room Enter personal info Visitor Book SB course <<include>> <<extend>> (Enter kid’s age) Cancel course Book kids’ SB course Cancel room CPSC 333: Foundations of Software Engineering J. Denzinger

10 Use Case (1) Use Case: Query weather&snow forecast Precond: -
Main flow: Visitor enters date Weather & snow forecast for local region is displayed for specified date CPSC 333: Foundations of Software Engineering J. Denzinger

11 Use Case (2) Use Case: Book SB course Precond: - Main flow:
Visitor enters date Include (Enter personal info) (Enter kid’s age) Store reservation Confirm reservation to Visitor Exceptional flow: If number of course participants for specified date > 8, then tell visitor so and let him choose another date CPSC 333: Foundations of Software Engineering J. Denzinger

12 Use Case (3) Use Case: Book kids’ SB course
Precond: SB course is for a kid Main flow: Enter kid’s age Store reservation Confirm reservation to Visitor Exceptional flow: If course for specified date is adult course, then tell visitor so and let him choose another date. If course for specified date is kids’ course, and the specified age is outside the course’s age range, then tell visitor so and let him choose another date. CPSC 333: Foundations of Software Engineering J. Denzinger

13 Example: literature reference management system
Storage and retrieval of references, e.g. Title: The unified modeling language user guide Authors: G. Booch, J. Rumbaugh, I Jacobson Publisher: Addison Wesley Publication year: 1998 Small exercise: Draw a Use Case Diagram (at least two use cases) Describe use cases (at least one) Title: Software engineering in the Internet age Authors: F. Maurer, G. Kaiser Publisher: IEEE Publication year: 1998 Journal: IEEE Internet Computing Magazine Volume: 2 Issue: 5 CPSC 333: Foundations of Software Engineering J. Denzinger

14 Use Case Diagram: literature reference management
Add reference Remove reference User Search for reference List references CPSC 333: Foundations of Software Engineering J. Denzinger

15 Event flow: List references
Precondition: user has selected “list references” functionality. The system prompts the user to select the device: printer or file. The system prompts the user to select the print order: by name or by title. The use case finishes with the system printing the list on the requested device. CPSC 333: Foundations of Software Engineering J. Denzinger

16 Event flow: Add reference
Precondition: user has selected “add new reference” functionality. The system prompts the user to select if he/she wants to add a normal reference or a book. The system prompts the user to enter title, author, and publisher of the reference (Add journal paper) (Except-1). The user is notified that the reference has been successfully added. Except-1: The reference already exists. The user can re-enter the data or terminate the use case. CPSC 333: Foundations of Software Engineering J. Denzinger

17 Use case: Add journal paper
Add journal paper: If the paper is a journal, then the system additionally asks for the journal’s name, the volume number and the issue number. Add reference <<extend>> Add journal paper CPSC 333: Foundations of Software Engineering J. Denzinger

18 Exercises Develop use case diagram and textual use case descriptions for: an elevator (1 elevator, n floors) a telephone (with number memory) an system CPSC 333: Foundations of Software Engineering J. Denzinger

19 enter and exit through a door
Elevator -- Use Case 1 elevator, n floors press an elevator button press a floor button User Elevator enter and exit through a door CPSC 333: Foundations of Software Engineering J. Denzinger

20 Small Test: Bank account manager
System has to run on an automated teller machine. User must be able to deposit checks into the account. User must be able to draw money from the account. User should be able to query the balance of his/her account. The user should get a receipt for a transaction on request. The transaction type (withdrawal or deposit), the transaction date, the account number, the amount, and the new balance should be visible on the receipt. After each transaction the new balance should be displayed to the user. CPSC 333: Foundations of Software Engineering J. Denzinger

21 Example: bank account manager
Use case for withdrawal Use case for depositing Use case for balance query Small Test: Draw a Use Case Diagram (Organize use cases) Describe use cases “include”-relationship: Use case for entering the pin number and comparing the pin number on the card with the entered pin number Use case for printing the receipt CPSC 333: Foundations of Software Engineering J. Denzinger


Download ppt "2.3 Examples: Ski resort information system"

Similar presentations


Ads by Google