Professional Documents
Culture Documents
Eran Toch
http://www.technion.ac.il/~erant
• Introduction
• Use Case Diagrams
• Writing Use Cases
• Guidelines for Effective Use Cases
2
Where are we?
Outcome Actions Phase
Business
documents
Raising a business need Initiation
Organized Interviewing stakeholders, exploring
documentation the system environment
Requirements
Formal Analyze the engineering aspect of the
specification system, building system concepts
Specification
Formal Define architecture, components, data
Specification types, algorithms
Design
Testable Program, build, unit-testing, integrate,
system documentation
Implementation
Testing results, Integrate all components, verification, Testing &
Working sys validation, installation, guidance Integration
System
versions
Bug fixes, modifications, adaptation Maintenance
• Requirements:
– What the system
should do
– More abstract
• Design:
– How the system
should do it
– More detailed
Register User
admin
• Lack of ambiguity
– Each requirement must be interpreted in a single manner.
• Completeness
– They should cater for all current demands of the system.
• Consistency
– Requirements should not conflict with each other. If there
are, tradeoffs must be detected and discussed.
• Avoid design
– Requirements should raise a need, not answer it. (Why?)
• Introduction
• Use Case Diagrams
• Writing Use Cases
• Guidelines for Effective Use Cases
11
A Simple Example
Handle Message
Bill Management
Customer
System Actors
Association Use Case
boundary Example
Register Client
Sales Person
Should be used if (and only
if), the specific actor has
more responsibility than the Perform
Business Sale
generalized one (i.e.,
associated with more use- Institutional
cases) Sales Person
Cancel Sale
Sales Manager
Example
User goals
Sub-functionality
Choose Fill-in
Products billing info
Example
<<extend>>
Product is a gift
Perform Sale Gift wrap
After checkout Products
Example
Shopping Cart
Product Page
Review Writing
Handle Order
Status «include»
Handle Technical
Handle Sale Call Assistance Call
Undergrad Student
Undergrad Student
Submit Exam
Submit Thesis
Submit Thesis
External Phone
Company
Handle Cell
Migration
<<include>> <<include>>
Handle SMS Handle Call
Message
while talking
<<extend>>
Cellular Phone Handle Voice <<extend>> {phone initiate call}
Call {incoming call}
Handle
Conference Call
Handle Multiple
Handle Video Calls
Call
3G Phone
25
Structure of a Use Case Specification
Name
Actors
Trigger
Preconditions
Post conditions
Success Scenario
Alistair Cockburn
“Writing Effective
Alternatives flows Use Cases”
– Bad: “Get the amount form the user Actor gives the amount
• Repeats:
1. User enters the name of the item he wishes to buy
2. System presents the items
3. User selects items to buy
4. Systems adds the item to the shopping cart
5. User repeats steps 1-4 until indicating he is done
• Introduction
• Use Case Diagrams
• Writing Use Cases
• Guidelines for Effective Use Cases
38
How to Model?
Bullets File
save format Paragraph action
print format s
Save
Font Formattin
load as Viewing
forma g actions
t Actions
preview
39
How to Model – cont’d
• Most of the analysis process are actually
Combined
40
Combining Processes
• Number Limit:
– The diagram should have between 3 to 10 base use-case. No
more than 15 use cases (base + included + extending).
• Abstraction:
– All use-cases should be in similar abstraction levels.
• Size:
– Use cases should be described in half a page or more.
• Interaction:
– Use-cases which are carried out as part of the same interaction.
UC
UC UC
UC
Backup of logs
Use Cases
Requirements
Use Case 1
Class C
Class A
Use Case 3
Use Case 2
Class D
Class B
47