Professional Documents
Culture Documents
Use Cases-Overview
Use Cases-Overview
Use Cases-Overview
“A modeling language is any artificial language that can be used to express information or knowledge or
systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of
the meaning of components in the structure.”
Wikipedia
"Modeling has been an essential part of engineering, art and construction for centuries. Complex software
designs that would be difficult for you to describe textually can readily be conveyed through diagrams.
Modeling provides three key benefits: visualization, complexity management and clear communication.”
IBM
“Some development managers wonder why modeling is important at all. After all, the code should speak
for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The
reason is that there are a number of clear benefits that models provide a development organization. They
are enhanced communication, better planning, reduced risk, and reduced costs”
“A modeling language is any artificial language that can be used to express information or knowledge or
systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of
the meaning of components in the structure.”
Wikipedia
"Modeling has been an essential part of engineering, art and construction for centuries. Complex software
designs that would be difficult for you to describe textually can readily be conveyed through diagrams.
Modeling provides three key benefits: visualization, complexity management and clear communication.”
IBM
“Some development managers wonder why modeling is important at all. After all, the code should speak
for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The
reason is that there are a number of clear benefits that models provide a development organization. They
are enhanced communication, better planning, reduced risk, and reduced costs”
“A modeling language is any artificial language that can be used to express information or knowledge or
systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of
the meaning of components in the structure.”
Wikipedia
"Modeling has been an essential part of engineering, art and construction for centuries. Complex software
designs that would be difficult for you to describe textually can readily be conveyed through diagrams.
Modeling provides three key benefits: visualization, complexity management and clear communication.”
IBM
“Some development managers wonder why modeling is important at all. After all, the code should speak
for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The
reason is that there are a number of clear benefits that models provide a development organization. They
are enhanced communication, better planning, reduced risk, and reduced costs”
“A modeling language is any artificial language that can be used to express information or knowledge or
systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of
the meaning of components in the structure.”
Wikipedia
"Modeling has been an essential part of engineering, art and construction for centuries. Complex software
designs that would be difficult for you to describe textually can readily be conveyed through diagrams.
Modeling provides three key benefits: visualization, complexity management and clear communication.”
IBM
“Some development managers wonder why modeling is important at all. After all, the code should speak
for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The
reason is that there are a number of clear benefits that models provide a development organization. They
are enhanced communication, better planning, reduced risk, and reduced costs”
• Surveys • UML
• User • Use Cases
studies • Scenarios
• Focus • Storyboards
groups
• SSM
• Surveys • UML
• User • Use Cases
studies • Scenarios
• Focus • Storyboards
groups
• SSM
Extensions What
Other are the
success oralternative things ?that can happen (for
failure scenarios
example, if something goes wrong)?
Anatomy of a Use Case Description
Use Case Name Process sale
Cashierthe total
repeats 3 andbill
4 untilusing
all itemsa debit
scanned
card, entering their PIN to
5. System displays total
authorise
6. Customer thein reader,
inserts card payment. enters PINThe
7. Cashier completes sale
system
8. System logs saleupdates
and updatesthe stock stock
inventory
levels. The Customer leaves
Extensions Other success or failure scenarios ?
Anatomy of a Use Case Description
Use Case Name Process sale
Stakeholders Cashier
Customer
Company
Preconditions The system has authenticated the cashier
Main success scenario (system happiness) 1. Customer arrives at POS checkout with items to buy
2. Cashier starts new sale
3. Cashier scans new item (enters ID)
4. System records item, displays price and calculates
running total
Stakeholders Cashier
Customer
Company
Preconditions The system has authenticated the cashier
Main success scenario (system happiness) 1. Customer arrives at POS checkout with items to buy
2. Cashier starts new sale
3. Cashier scans new item (enters ID)
4. System records item, displays price and calculates
running total
Submit
Coursework
Student
A Use Case Diagram
• Several actors can interact with different use
cases in the same System
Handin System
Submit
Coursework
Student
Create
Assignment
Lecturer
A Use Case Diagram
• Actors can share the same use case
Handin System
Submit
Coursework
Student View
Assignment
Create
Assignment
Lecturer
A Use Case Diagram
• One use case can include another use case to
show that this is always included in its function
Handin System
Submit includes
Coursework
Obtain
Receipt
Student View
Assignment
Create
Assignment
Lecturer
A Use Case Diagram
• One use case can extend another use case to
show that there is sometimes a variation
Handin System
Submit includes
Coursework
Obtain
Receipt
Student View
Assignment
Duplicate
Assignment
Create
Assignment extends
Lecturer
Use Case Diagram Anatomy
Anyone or anything with behaviour that
gets value from interacting with the system
Actor
System
Shows the system boundary (and gives the
system a name)
• But Beware!
▫ Sometimes there will be a high level phrase (Cook Breakfast)
▫ But sometimes there wont be
Can invent one by grouping together the lower level phrases
What are the Noun Verb Phrases?
A café wants to build an automated system to
provide breakfasts. The robot waiter greets
people before taking their order by name.
Provide Toast
Breakfast Muffins
Provide Toast
Breakfast Muffins
Take Ask
Order Drink Fry
Sausage
Fry
Cook Bacon
Robot Waiter Breakfast
Fry
Eggs
Pour
Serves Coffee Fry
Breakfast Mushrooms
Pour
OJ
Robot Chef Take
Doggy Bag
Simplify
Provide
Breakfast
Toast
Greet Food
Customer People
Take
Order
Cook Fry
Robot Waiter Breakfast Food
Serves
Breakfast Pour
Drink
Greet
Customer People
Take Toast
Order Food
Cook Fry
Robot Waiter Breakfast Food
Serves Pour
Breakfast Drink
Take
Robot Chef Doggy Bag
Elaborate
Provide
Breakfast
Greet
Customer People
Take Toast
Order Food
Cook Fry
Robot Waiter Breakfast Food
Serves Pour
Breakfast Drink
Take
Robot Chef Doggy Bag
Elaborate
Provide
Breakfast
Greet
Customer People
Take Toast
Order includes Food
Greet
Customer People
Take Toast
Order includes Food