activity diagrams and use cases.ppt€¦ · activity diagrams and use cases and business...
TRANSCRIPT
®
IBM Software Group
Activity Diagrams and Use Cases and Business Requirements, Oh My!
Susan Burk
© 2006 IBM Corporation
Susan BurkSenior Managing ConsultantIBMRational [email protected]
IBM Software Group | Rational software
Agenda
� Objectives
� What is activity diagramming?
� When should activity diagrams be used?
� What is a use case?
� How to use activity diagrams to find use cases
2
� How to use activity diagrams to find use cases
� When to use activity diagrams vs. use cases
� What about detailed business requirements?
IBM Software Group | Rational software
Objectives
� Gain awareness of activity diagramming and use case
definition techniques
� Gain awareness of how these techniques work separately
and together in support of business analysis.
� Understand the value of working with these techniques in a
collaborative environment
3
collaborative environment
� Recognize that detailed requirements are not optimally
gathered “upfront”
IBM Software Group | Rational software
Toy Store Case Study
4
IBM Software Group | Rational software
What is activity diagramming?
� Activity Diagramming or Business Processing Mapping or Modeling is a well
established technique for defining current and future state business processes
where work is routed between people to meet a business need.
�RUP/UML name for these diagrams is Activity Diagrams
� Each activity diagram is a visual representation of business workflow in response
to a business event
� Illustrates the business process by showing the interactions between people and
5
� Illustrates the business process by showing the interactions between people and
organizations
� Primary use is to identify opportunities for business improvement and optimize
business processes.
�A key tool for Six Sigma and Lean approaches for business process improvement
� Is occasionally used to illustrate interactions between people and systems
� When taken together, a group of business process models for a business area
aids in defining or confirming the scope of that area.
IBM Software Group | Rational software
Terminology for Activity Diagramming
� An SwimlaneSwimlaneSwimlaneSwimlane is used to represent the role of someone
or something internal or external to a boundary.
6
� Standard flowchart symbols are used to represent
activities, decisions, flow etc.
IBM Software Group | Rational software
Sample Activity Diagram
7
IBM Software Group | Rational software
Another Sample with more automation…
8
IBM Software Group | Rational software
Why draw activity diagrams?
� Activity diagrams enables clear discussions about what is in
or out of scope for one business process at a time
� Well-accepted by most groups – most people “get it”
� Easy to follow
9
� Easy to follow
� Effective and efficient thought-aid – can usually do one
diagram in one to three hours.
� Excellent for getting group consensus on what does happen
or what should happen.
IBM Software Group | Rational software
How to draw activity diagrams
� This is a list of general techniques used to build an activity diagram for current
state. Additional steps are required to build these diagrams using Six Sigma and
Lean.
�Name the Diagram
�Identify and Define Actors (roles)
�“Begin with the end in mind”
�Start at the beginning
10
�Start at the beginning
�Identify steps from beginning to end
� Flag hotspots
� Flag – but do not detail – business exceptions
�Determine how to handle business exceptions
�If time permits, create a wishlist for reduction or removal of hotspots
� For future state, optionally flag the benefits of one or more steps (instead of
hotspots, which should – hopefully – be removed).
� Activity Diagramming is – ideally – a “team sport”
IBM Software Group | Rational software
When should activity diagrams be used?� Does your project have all of these characteristics?
�The boundary includes direct interactions between people and
optionally includes one or more systems,
�The sequence in which activities occur is very important to scoping
discussions right from the start of the project.
�A number of stakeholders have differing understandings and/or
objectives for the scope …and/or….
11
objectives for the scope …and/or….
�Teams where there are many “picture-thinkers”
�Projects using Six-Sigma, Lean or other business modeling
methodologies
� Hint: The diagram does not have to be “perfect” ; it is a
starting point for thinking about a project
� What happens over time as the project changes?
�Update the diagram…or not?
IBM Software Group | Rational software
What is a use case?� Use Case - A sequence of actions
performed to yield a result of observable
business value
�Can be described in text, pictures or
both
� Use case are business-event sized:
�sequenced bundles of business-
acceptance-testable functionalityUse Case 2
Use case 1
Use Case Model
Use case 2
Actor C
Actor A
12
acceptance-testable functionality
� Finding use cases helps us:
�Plan
�Estimate
�Analyze and Architect
�Design
�Test
� Finding and detailing use cases is also –
ideally – a “team sport”
Use Case 2
Specification Use case 3
Actor B
IBM Software Group | Rational software
Use CaseModel for the Toy Storebased onContextDiagram(not complete)
13
IBM Software Group | Rational software
Example of a Simple Use CaseThe Toy Store
Use-Case: Issue Duplicate Receipt Brief Description Provide a duplicate copy of a receipt to a customer Actors
Customer Assumptions:
Requests for duplicate receipts and the issuance of a duplicate receipt are not logged or counted. Preconditions
Customer exists Post-conditions
14 14
Post-conditions
None Basic Flow of Events 1. Confirm customer is active.
a. Alternative: Customer is not active.
2. Find purchase for customer based on customer name and date of purchase.
a. Alternative: Purchase not found.
b. Alternative: Purchase was backordered.
3. Create a copy of the receipt.
4. Based on mailing preferences, send the copy of the receipt to the customer.
Alternative Flows Customer is not active: Continue the use case. Purchase not found: Inform customer and end the use case. Purchase is backordered: Inform the customer that order fulfillment is still in
progress and end the use case.
IBM Software Group | Rational software
A more complexuse case(1 of 3)
15
IBM Software Group | Rational software
A more complexuse case(2 of 3)
16
IBM Software Group | Rational software
A more complexuse case(3 of 3)
17
IBM Software Group | Rational software
Finding use cases on activity diagrams
� Each action in the one swim lane that best represents the
project boundary is either a use case or a piece of a use case
� If the actions in that swimlane must be done together, they
are part of one use case
� Any action within that swimlane which provides business
18
� Any action within that swimlane which provides business
value in and of itself is a candidate use case
�If the project boundary covers more than one swimlane, the
use cases can be found within the swimlanes within the
boundary using the same thought process as for a project
whose boundary is one swimlane wide.
� Ideally, finding use cases is a “team sport”
IBM Software Group | Rational software
Sample Activity Diagram with encircled use case
19
A very small use case…(system is an electronic filing cabinet..)
IBM Software Group | Rational software
The project boundary has expanded How many use cases are there in this version?Depending on the business needs, there are 2 or 3…or 1…
20
IBM Software Group | Rational software
How many use cases are there in this version?Depending on the business needs, there are 2 or 3…or 1…
21
IBM Software Group | Rational software
Other ways to find use cases:
� Work with context diagrams
� Work with lists
�List of Lifecycle events for a Business Concept
� The “lifecycle” of a Toy from the time it arrives at the Toy Store until it
leaves or returns or…
� Each item on the list is a use case or a piece of a use case
22
� Each item on the list is a use case or a piece of a use case
�List of high-level business-acceptance-testable activities
� Each item on the list is a use case or a piece of a use case
� Bottom line: There are lots of ways to find use cases
�Use the technique which communicates best for your team
� Best practice: Find a way to take a very high-level view while
identifying the use cases.
IBM Software Group | Rational software
When to use activity diagrams vs. use cases
� Activity Diagrams are an important tool whenever business
workflow is important
� Ultimately, use cases usually provide the authoritative view of
the bunches of requirements, especially when their scope is
automation of business activities.
23
� Picture thinkers vs. text thinkers
� May need both techniques for some teams, but try to
avoid redundancy
� When an activity diagram gets very detailed, it may be
time to switch to text.
IBM Software Group | Rational software
What about “detailed requirements”?� They are still needed!
�Many will be surfaced during use case analysis (each use case contains one or more requirements)
�Others will be surfaced later
� When working with use cases, it’s not necessary to start with a
“requirements document”.
�The use case approach changes
24
�The use case approach changes
� When Detailed business requirements are needed
� How they are organized.
�By not doing the detailed requirements document first thing, the project focus is
more on the business need instead of a software solution.
� When a separate requirements document is mandated, all of the use
cases must be mapped back to the requirements (use case vs.
requirements matrix)