2.3 examples: ski resort information system

21
CPSC 333: Foundations of Software Engineering J. Denzinger 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.

Upload: luann

Post on 19-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

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). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

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.

Page 2: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Page 3: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Errors you should prevent (1)!

<< includes >> stereotype in actor associations

Page 4: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Errors you should prevent (2)!

• Associations between actors

• Unnamed associations between use cases

Page 5: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Errors you should prevent (3)!

• System no use case!

•Name relations!

Page 6: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Errors you should prevent (4)!

Wrong understanding of the <<extends>> stereotype

Page 7: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Errors you should prevent (5)!

Diagram moves main functionality outside the

system

Page 8: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Errors you should prevent (6)!

• Data structures instead of functions as use cases, e.g. date, age, database

• relations not named

Page 9: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Example Use Case DiagramQuery

weather&snow forecast

Book room

Book kids’ SB course

Visitor

Cancel

course

Book SB course

Cancel room

Enter personal info

<<extend>> (Enter kid’s age)

<<include>>

<<include>>

Page 10: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Use Case (1)

Use Case: Query weather&snow forecast

Precond: -Main flow:

1. Visitor enters date2. Weather & snow forecast for local region is

displayed for specified date

Page 11: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Use Case (2)

Use Case: Book SB coursePrecond: -Main flow:

1. Visitor enters date2. Include (Enter personal info)3. (Enter kid’s age)4. Store reservation5. 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

Page 12: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Use Case (3)

Use Case: Book kids’ SB course

Precond: SB course is for a kidMain flow:

1. Enter kid’s age2. Store reservation3. Confirm reservation to Visitor

Exceptional flow:If course for specified date is adult course, then tell visitor

so and let him choose another date.

Exceptional flow: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.

Page 13: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Example: literature reference management system

Storage and retrieval of references, e.g.

Title: The unified modeling language user guideAuthors: G. Booch, J. Rumbaugh, I JacobsonPublisher: Addison WesleyPublication year: 1998

Title: Software engineering in the Internet ageAuthors: F. Maurer, G. KaiserPublisher: IEEEPublication year: 1998Journal: IEEE Internet Computing MagazineVolume: 2Issue: 5

Small exercise:Draw a Use Case Diagram (at least two use cases)Describe use cases (at least one)

Small exercise:Draw a Use Case Diagram (at least two use cases)Describe use cases (at least one)

Page 14: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Use Case Diagram: literature reference management

Add referenc

e

Remove reference

Search for reference

User

List references

Page 15: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

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.

Page 16: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

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.

Page 17: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

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 journal paper

Add reference<<extend>>

Page 18: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Exercises

Develop use case diagram and textual use case descriptions for:an elevator (1 elevator, n floors)a telephone (with number memory)an e-mail system

Page 19: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Elevator -- Use Case

press an elevator button

press a floor button

User

Elevator

enter and exit through a door

1 elevator, n floors

Page 20: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

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.

Page 21: 2.3 Examples: Ski resort information system

CPSC 333: Foundations of Software Engineering J. Denzinger

Example: bank account manager

Use case for withdrawalUse case for depositingUse case for balance query

Small Test:Draw a Use Case Diagram (Organize use cases)Describe use cases

Small Test:Draw a Use Case Diagram (Organize use cases)Describe use cases