Object-Oriented Analysis and
Design - CDT309
Period 4, Spring 2008
Use cases: deciding what you want
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH
Functional requirements
• Describe what processings the system is required to carry out
• Provide details of the inputs to the system
• Provide details of the outputs: reports, forms, windows, etc.
• Provide details of the data the system will held inputs processing
• What is the system required to do?
• Functional requirements: what the system is expected to do
• Non-functional requirements: how well the system will provide the functionalities
• Usability requirements: good match between the system and the users
outputs
Use cases
• Specify the behaviour of the system from the user point of view
• Some ways to do them:
– Text: use case descritions
– UML: sequence diagrams
– UML: collaboration diagrams
data
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH
Use case descriptions
• Text stories used to discover and record requirements • How to identify and write use cases
• UML diagrams
• Example: how does a supermarket sells items? Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH
Use cases
• Example: how does a supermarket sells items?
The customers enter the supermarket and choose the items by themselves. Then they to the checkout with items to purchase. The cashier registers each purchased item. The system presents the total amount to be paid and a list with the items. The customer enters payment information, which the system validates and records. The system updates inventory. The customer receives a receipt from the system and then leaves with the items.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH
1
Example
Actors, Scenarios, and Use Case
• Identify each entity in the figure with the
example: