10 models to supplement use cases
DESCRIPTION
Use Cases are not enough to specify requirements. You need to supplement them with other models and documents. This is my list of models to supplement a use case. By Andreas Hägglund Feel free to use the presentation when you give me credit. http://se.linkedin.com/in/andreashagglund http://www.systemvaruhuset.net http://www.systemvaruhuset.seTRANSCRIPT
Use Cases Promises A Lot!
No More Misunderstandings!
Client Commitment!
Filled With Information
In Theory…
Complete
In practice…
Give no details
Give no sequence
Give only parts of the requirements
”Use case diagrams are very close to useless ” - Martin Fowler
Use lots of words that can be
misunderstood
Use Cases Alone Aren't the
Answer to Everything
This Is My List Of Models To
Supplement A Use Case
The Meaning of Words
Abstract Concepts
Signs (Words, Icons, Sounds)
”Tri:”
Real World Objects
The Semiotic Triangle
Words refer to abstract concepts in our minds that
refer to the ”real world objects” we experience
What you consider a fast vehicle depends on your
previous experiences and your context
The Glossary
The Glossary defines terms used so that we all
get the same ”picture”
Example of Glossary
Class diagram and entity models can be used to
define terms in a glossary
Is it?
Or?
Uses Customer Product
Pays for Customer Product
2. Navigating the Use Case
A Use Case with lots of Alternatives and
Exceptions may turn into a Labyrinth!
The flow chart
A flow chart creates an overview
and makes a use case easier to navigate
Example of Flow Chart
The Use Case Sequence
A Use Case Diagram does
not tell you in which order
you do things
Bake Pizza
Sell Pizza
Settle payment
The Business Process Do…
The Business Process Model helps putting the
use cases in perspective and in sequence
They facilitate understanding the businesses
priorities
3. The Business Process Model
3. The Business Process Model
Who
When
Use Case 2 Use Case 1
4. Role to Actor Map
Everybody wants to be Arnold!
4. Role to Actor Map
Not everyody is…
4. Role to Actor Map
Actors are not organizational roles!
They are entities that interact with
the system
4. Role to Actor Map
One Organizational Role can translate to many
Actors…
One Actor can translate to many
Organizational Roles…
4. Role to Actor Map
<<Organizational Role>>
CEO
<<Organizational Role>>
CEO Secretary
<<Organizational Role>>
Marketing Analyst
<<trace>>
<<trace>>
<<trace>>
Which Is Our Goal?
Which Is Our Goal?
The Goal Model helps making sure that everyone
is working in the same direction and is used to
prioritize and discard requirements
5. The Goal Model
Class diagram and entity models can be used to
create a goal model
Leads to <<Goal>>
Low Costs <<Goal>>
Large Profit
Leads to <<Problem>>
Sad Customers <<Goal>>
High Prices
Leads to
Part of the Picture
A use Case only gives
part of the picture
Create and assign issue
Close Issue
Schedule issue
Estimate issue
Resolve issue
Verify solution
Put issue on hold
A More Complete Picture
Created
Assigned
Estimated Scheduled Resolved
On Hold
Verified
Closed
6. The State Chart
A State Chart shows the life cycle of one object
cross cutting several use cases, giving you a
more comprehensive view
Structural Business Rules
Constraints we put on the information we store
Structural Business Rules
Class diagram and entity models can be used to
define structural business rules
Can we register people who has not yet bought
anything?
0..* Customer Product
Has bought
1..* Customer Product
Has bought
8. Generic requirements
Requirements that affect more than one use
case, often quality attributes
8. The system generic requirements
<<Performance Requirement>>
95% of pages must respond in 8 seconds or less
(Sub)system
Business Rules
If
Sweden wins against Norway at the same time
that Denmark looses against Canada and
Norway wins against Russia
or
if Sweden wins against Norway and Denmark
then
Sweden will become world champions in ice
hockey!
9. The Business Rules
Sweden is world champion
Or
And
Sweden beat Norway
And
Canada beat Denmark
Norway beat Russia
if
then
if if
Sweden beats Denmark
if
If
Sweden wins against Norway at the same time that
Denmark looses against Canada and Norway wins
against Russia
or
if Sweden wins against Norway and Denmark
then Sweden will become world champions in ice
hockey!
Where do we find the function?
Navigation Map
Start
Buy Admin Analyze Register
Search Product
Place Order
Cancel Pay
10. Navigation Map
The Navigation Map shows how the user can
navigate between functions
Modeling Languages
1. Glossary – UML Class Diagram
2. Flow Chart – UML Activity Diagram
3. Business Process Model – BPMN Diagram*
4. Role Actor Map – UML Class Diagram
5. Goal Model – UML Class Diagram
6. Life Cycle – UML State Diagram
7. Structural Business Rules – UML Class Diagram
8. Generic Requirements – SysML Requirements Diagram**
9. Business Rules – UML Composite Structure Diagram
10. Navigation Map – UML Class Diagram
* Can also use UML Activity Diagram ** Can also use UML Class Diagram
Where are we now?
Where are we now?
Complete
Wedding rings; Jeff Belmonte from Cuiabá, Brazil (http://commons.wikimedia.org/wiki/File:Wedding_rings.jpg)
Boxing gloves; Karnaz (http://commons.wikimedia.org/wiki/File:Osaka_Fight_Gear_Muay_Thai_Gloves.jpg)
42; by Patrick Hoesly (http://www.flickr.com/photos/zooboing/3283020161/sizes/o/in/photostream/)
Sarah Palin Debate Flow Chart (http://adennak.com/blog/wordpress/2008/10/moosehunter/)
Pizza process by Tharanga Jalathge (http://creately.com/diagram/example/h5ulaq521/Pizza+Delivery+Process)
Goals by Jurgen Appelo (http://www.flickr.com/photos/jurgenappelo/5201843170/sizes/o/in/photostream/)
Image Credits
10 models to supplement
your use cases
By Andreas Hägglund
http://www.linkedin.com/in/andreashagglund
Corporate website: http://www.systemvaruhuset.se/
Personal website: http://www.systemvaruhuset.net/
10 models to supplement your use cases © Andreas Hägglund, Systemvaruhuset June 10, 2013