SlideShare a Scribd company logo
FROM USE CASE to  USER STORIES
Use Case Introduction
 
Why are Requirements important 1/3 budget to correct errors originate from requirements Defining requirements is crucial to all project stakeholders Many techniques and models available USE CASE MODEL
Why should you be interested ? IDEO Story: Biker water bottle – heart valve Multidiscipline cooperation
What are Requirements It covers :  Functional requirements User requirements Nonfunctional requirements Quality attributes: performance, security, archiving, database defined operational capabilities business needs satisfy
Software Requirements Three perspectives: Business level User level Technical level
Business Level Define the vision Build the right software Define project stakeholders: including direct users (actors)
User Level Use cases : “ voice of customers” consists of : interaction has name step-by-step exception conditions variant paths
Technical Level Technical requirements: Functional requirements based on user requirements Nonfunctional requirements
Use Case Concepts and Definitions
Use Case Describes how the system should  respond  under various conditions to a  request  from one of the  stakeholders  to deliver a specific  goal . stakeholder = primary actor
Use Case The use case is primarily done in the form of a  scenario  that describes a  sequence of steps . Each use case captures a ‘contract’ for the behavior of the System under Discussion (SuD) to deliver a  single goal .
Actors Anyone or anything with behavior. Generally is a  role  (rather than a specific person, job title or a thing) Not every stakeholder will show up Important to discover these ‘hidden’ actors
Primary Actor Stakeholder that interacts with the SuD to achieve a specific goal
Supporting Actor An (external) actor that needs to provide a service to the SuD A primary actor for one use case can become a supporting actor for another
Scenario sequence of steps fulfill a goal
Scenario Must be easy to read Avoid more than nine steps Use active voice Stating who or what is doing what Approver approve a task The approver open My Tasks The approver choose a task The approver approves the task The system returns the approver to My Tasks list
Main Success Scenario Everything goes as planned Happy Path
Extensions Exceptions that requires a deviation from the planned scenario Exceptions documented as extension
Extensions Approver approve a task Main Success Scenario The approver open My Tasks The approver choose a task The approver approves the task The system returns the approver to My Tasks list Extensions 3a  The task has been approved by another approver 3a1 The system returns error message to the approver 3b  The approver decides to postpone the approval process 3b1  The approver click the ‘Back’ button 3b2  The system returns the approver to My Tasks list
Use Case Properties Design Scope Stakeholder Primary Actor Description Level Pre-conditions Post-conditions Trigger
Design Scope Definition of the boundary of the System Under Discussion (SuD) Set of systems that will be designed
Design Scope A business use case  has enterprise as its scope and focus on business flow A system use case  has computer system as its scope and focus on how actors communicate with the system A component use case  has subsystem or component of the system as its scope
Use Case Level Summary  (cloud level or kite level) outlines the context of a set of User Goal use cases User Goal (sea level) addresses “Can the primary actor go away happily after the use case finished ?” Subfunction (under water level) created to move out an isolated part of a scenario to a separate use case source : Alistair Cockburn, Writing Effective Use Cases
Use Case level Summary User Goal Subfunction
Stakeholder & Primary Actor Stakeholder: someone / something that has an interest in the goal of the use case delivers Primary Actor: the stakeholder who or which initiates the use case to achieve a goal
Description Brief description of the goal the use case supposed to deliver
Preconditions conditions that must hold true before the scenario of the use case starts will not be checked again after that
Post conditions Minimal Guarantees What at least should hold true when the goal is not met Example: “ All entered information have been stored.” Success Guarantees What must have been achieved at the end of the main success scenario or any alternate route. Example: “ The task is approved”
Trigger event or sequence of events that initiate the use case
Use cases Process Flow
Develop in Iterations Identify all actors and their goals Use MoSCoW list to define the scope of the project. Set up Actor-Goal List
MoSCoW List Must Have : The requirement is essential, key stakeholder needs will not be satisfied if this requirement is not delivered and the timebox will be considered to have failed Should Have : This is an important requirement but if it is not delivered within the current timebox, there is an acceptable workaround until it is delivered during a subsequent timebox Could Have : This is a ‘nice to have’ requirement; we have estimated that it is possible to deliver this in the given time but will be one of the requirements de-scoped if we have underestimated Won't Have : The full name of this category is ‘Would like to have but Won’t Have during this timebox’; requirements in this category will not be delivered within the timebox that the prioritisation applies to
Actor-Goal List L Find unfinished task and reject it Reject unfinished task Support H Receive request and approve it Approve Request Approver H Make change in edit group and send it Submit Change Request Requestor Prio Brief Descriptions Goals Actor
Recipe Identify the actors List their goals Add brief descriptions to the goals Create an initial use case for each goal Describe the main success scenario for each use case Identify the exceptions to the main success scenario and work them out as extension Validate the use cases Optimize the use cases
Cheat Sheet http://www. slingcode .com/ref/ UseCaseQuestions . pdf by Alistair Cockburn author of a popular use case book: “Writing Effective Use Cases”,  ISBN 0-201-70225-8, ISBN 978-0201702255
Use Case Best Practices
7 Best Practices Scope the domain Scope your use cases Validate use cases Define the requirements models Determine the strategy to elicit requirements Settle on a standard format for your uses cases Develop a project glossary
1. Scope the Domain Manage  avoidable  scope creep Be flexible on  unavoidable  market and business condition changing
How to name a Use Case Well named use cases  enable business customers (or any readers)  to easily infer who the actor is What’s in a name ?
Best practices (1) action verb + [qualified] object place order, request product or service avoid vague verbs, such as  do  or  process avoid low-level, database oriented verbs, such as  create, read, update, delete The “object” part of the use case name can be a noun, (such as  inventory),  or a qualified noun (such as  in-stock inventory )
Best Practices (2) make sure the project glossary defines the object Add each object to the domain model (as a class, entity, or attribute) Bring forth actors and use cases concurrently and associate them
2. Scope Your Use Cases A use case addresses a single actor goal is not overly complex avoid partial processes in the business avoid CRUD (create-read-update-delete) avoid separate use cases for alternative courses
2. Scope Your Use Cases Frame each use case with: triggering events event responses
2. Scope Your Use Cases Different kind of events: Business Events: subject + verb + object for eq: “Customers requests book” Temporal Events: time to <verb + object> for eq: “ Time to generate report”
2. Scope Your Use Cases Context diagram: simple diagram system as a single ‘black box’ actors “give” or “get” something to or from the system
3. Validate Use Cases Questions to validate: help achieve goals and visions ? address the problem ? key differentiator ? address all stakeholders ? priority for initial release ?
4. Define the Requirements Model acts as a blueprint primary purpose to communicate discovery process emphasize on one view multiple model => separation of concerns
4. Define the Requirements Model Multiple views: use cases: behavioral class diagram: structural statechart diagram: dynamic (lifecycles) business rules: control
5.Determine Your Elicitation Strategy One-on-one or groups interviews Facilitated workshops Generate list of scenarios Reuse existing requirements Prototype user interface Observe end users Focus groups Market surveys Regulations and procedures  Customer complaints, help desk logs Competitive analyses
5. Determine Your Elicitation Strategy Commercial software: market surveys, on-site visits, facilitated workshops In-house business system with large user base: review help desk logs, reusing existing requirements, workshops Smaller user base: facilitated workshops and observation.
6. Settle on Standard Format use case name only (“verb + [qualified] object”) use case name and a single-sentence goal statement use case brief description (2 to 5 sentences) use case outline (bulleted or numbered list of use case steps, with alternative flows outlined separately or not listed at all)
6. Settle on Standard Format Use case conversational format (use case header information plus two columns – one for actors and one for system responses – written in a conversational style) Use case description (a sequential, conversational, or narrative text description that includes normal path, alternative, exceptions and extensions)
 
7. Develop Glossary communication gaps between software vs business people each side has its acronyms and jargon glossary should be a living, vital part
USE CASE Modeling
Use case Modeling Use case  is a text form Use case diagram  provides an index to use cases
Actor Someone or something outside the scope of the use case that initiate the use case May trigger or recipient of the use case
Actor / Use case Associations relationship between an actor and a use case actor initiates the use case use case provides the actor with results
Generalization To express some high-level functional need of a system “ a kind of” relationship
Inclusion Higher-level use cases may call ( includes)  lower-level use cases
Extension An alternate route to the main success scenario. Extension point: the point it exits the originating use case Return point: the point at which it returns Abort Transaction Trigger : any time in  Buy Ticket  the Car Driver can abort the trans. Main Success Scenario 1. The Ticket Machine returns the coins that have been entered
User Stories Scrum methodology
What is a User Story ? A concise, written description  of a piece of functionality  that will be valuable to a user  (or owner) of the software
User Story Description As a  [user role]  I want to  [goal]   so I can  [reason] For example:  As a  registered user  I want to  log in   so I can  access subscriber-only content
How detail should a User Story be ? Detailed enough Detailed enough for the team to work from,  and further details to be established and clarified  at the time of development.
User Stories Summary User Stories combine written and verbal communications, supported with a picture where possible. User Stories should describe features that are of value to the user, written in a user’s language. User Stories detail just enough information and no more. Details are deferred and captured through collaboration  just in time for development. Test cases should be written before development,  when the User Story is written. User Stories need to be the right size for planning.
Use Case vs User Stories When to use What
Structured Requirements Goals  are achieved through  use cases Use cases  are enabled by  functional requirements Functional requirements  lead to design and implementation. Non-functional  requirements characterize how functional requirements must work. Constraints  restrict how functional requirements may be implemented source:  Software Requirements, 2 nd  Edition, Karl E Wiegers
Documentation Overhead source : http://tynerblain.com
What are the differences ? Formal use cases require the most effort Describe all permutations Informal use cases are pretty much the same - just less formal Need the right level of detail Use case briefs have almost no overhead Same challenges “how much is enough ?” User stories have the least overhead, and provide the least context.
Level of Details captured source : http://tynerblain.com
Level of Reader expertise source : http://tynerblain.com
References Ellen Gottesdiener, “Use Cases: Best Practices”, IBM, 6/11/2003 Jan Kettenis, Getting Started With Use Case Modelling, An Oracle White Paper, March 2005 Dan Pilone, UML 2 in A Nutshell, O’Reilly http://tynerblain.com/blog
Q&A

More Related Content

What's hot (20)

PDF
User Stories
Dr. Tathagat Varma
 
PDF
User Story Smells & Anti-patterns
Fadi Stephan
 
PDF
Workshop - Writing Good User Stories
Easy Agile
 
PPTX
Effective user stories for your agile or Scrum team
DigitalCatapultDevelopmentPractices
 
PDF
User Stories Writing - Codemotion 2013
Fabio Armani
 
PPTX
Strategies to split user stories
cpolc
 
PPTX
Writing User Stories (04/2012)
Mai Quay
 
PPTX
SCRUM User Story Life Cycle
Kristen Varona
 
PDF
User Stories Fundamentals
Moisés Armani Ramírez
 
PDF
User Story Mapping
Manik Choudhary
 
PPT
Invest In Good User Stories
Craig Brown
 
PDF
Effective User Stories
Derek Neighbors
 
PDF
Creating A Product Backlog
Russell Pannone
 
PPT
The Business Analyst And The Sdlc
Craig Brown
 
PPT
Business Analysis and IT Business Analyst – An Introduction
Egrove Systems Corporation
 
PDF
Synerzip Agile Cheat Sheet
jillfrank12
 
PPT
Introducing Agile User Stories
Ram Srivastava
 
PPT
Scrum In 15 Minutes
Srikanth Shreenivas
 
PPTX
Epics and User Stories
Manish Agrawal, CSP®
 
PDF
7 Steps to a successful ServiceNow Implementation
Navvia
 
User Stories
Dr. Tathagat Varma
 
User Story Smells & Anti-patterns
Fadi Stephan
 
Workshop - Writing Good User Stories
Easy Agile
 
Effective user stories for your agile or Scrum team
DigitalCatapultDevelopmentPractices
 
User Stories Writing - Codemotion 2013
Fabio Armani
 
Strategies to split user stories
cpolc
 
Writing User Stories (04/2012)
Mai Quay
 
SCRUM User Story Life Cycle
Kristen Varona
 
User Stories Fundamentals
Moisés Armani Ramírez
 
User Story Mapping
Manik Choudhary
 
Invest In Good User Stories
Craig Brown
 
Effective User Stories
Derek Neighbors
 
Creating A Product Backlog
Russell Pannone
 
The Business Analyst And The Sdlc
Craig Brown
 
Business Analysis and IT Business Analyst – An Introduction
Egrove Systems Corporation
 
Synerzip Agile Cheat Sheet
jillfrank12
 
Introducing Agile User Stories
Ram Srivastava
 
Scrum In 15 Minutes
Srikanth Shreenivas
 
Epics and User Stories
Manish Agrawal, CSP®
 
7 Steps to a successful ServiceNow Implementation
Navvia
 

Similar to From Use case to User Story (20)

PPT
Usecase
nazeer pasha
 
PPT
Use Case - Introduction
Kunta Hutabarat
 
PPTX
02-use_cases in Unified modeling languages
NALESVPMEngg
 
PPT
Analysis-Models jjjkkkkjgffffffttui3k3k3j3n
mhuzaifasultan8
 
PDF
How to run a great requirements workshop with Use Cases
Andreas Hägglund
 
PPT
UseCase.ppt software engineering use3 cases
kavitamittal18
 
PPT
Use cases
Amjad Adis
 
PPT
Splunk | Use Case Training
Beth Goldman
 
PPT
Use Cases A Comprehensive Look
telab
 
PDF
Requirement analysis and UML modelling in Software engineering
snehalkulkarni74
 
PDF
Building an Information System
Jo Balucanag - Bitonio
 
PPT
Use case diagram with example of illustration
Sivam Chinna
 
PPT
lecture 04 use cases unified modelling language
CarmenElizabeth13
 
PDF
Webinar: The Use Case Study An Overview
_RequirementOne
 
PPT
Ch07
guest50f28c
 
PPT
Use Case Model with components in software.ppt
TalhaTajammal1
 
PDF
Day01 01 software requirement concepts
Namtướcbóngđêm Virut
 
PPT
Use Case approach
Sreeram Kishore Chavali
 
PPT
chapter_5_5.ppt
MonirHossain707319
 
Usecase
nazeer pasha
 
Use Case - Introduction
Kunta Hutabarat
 
02-use_cases in Unified modeling languages
NALESVPMEngg
 
Analysis-Models jjjkkkkjgffffffttui3k3k3j3n
mhuzaifasultan8
 
How to run a great requirements workshop with Use Cases
Andreas Hägglund
 
UseCase.ppt software engineering use3 cases
kavitamittal18
 
Use cases
Amjad Adis
 
Splunk | Use Case Training
Beth Goldman
 
Use Cases A Comprehensive Look
telab
 
Requirement analysis and UML modelling in Software engineering
snehalkulkarni74
 
Building an Information System
Jo Balucanag - Bitonio
 
Use case diagram with example of illustration
Sivam Chinna
 
lecture 04 use cases unified modelling language
CarmenElizabeth13
 
Webinar: The Use Case Study An Overview
_RequirementOne
 
Use Case Model with components in software.ppt
TalhaTajammal1
 
Day01 01 software requirement concepts
Namtướcbóngđêm Virut
 
Use Case approach
Sreeram Kishore Chavali
 
chapter_5_5.ppt
MonirHossain707319
 
Ad

Recently uploaded (20)

PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Learn Computer Forensics, Second Edition
AnuraShantha7
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Learn Computer Forensics, Second Edition
AnuraShantha7
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Ad

From Use case to User Story

  • 1. FROM USE CASE to USER STORIES
  • 3.  
  • 4. Why are Requirements important 1/3 budget to correct errors originate from requirements Defining requirements is crucial to all project stakeholders Many techniques and models available USE CASE MODEL
  • 5. Why should you be interested ? IDEO Story: Biker water bottle – heart valve Multidiscipline cooperation
  • 6. What are Requirements It covers : Functional requirements User requirements Nonfunctional requirements Quality attributes: performance, security, archiving, database defined operational capabilities business needs satisfy
  • 7. Software Requirements Three perspectives: Business level User level Technical level
  • 8. Business Level Define the vision Build the right software Define project stakeholders: including direct users (actors)
  • 9. User Level Use cases : “ voice of customers” consists of : interaction has name step-by-step exception conditions variant paths
  • 10. Technical Level Technical requirements: Functional requirements based on user requirements Nonfunctional requirements
  • 11. Use Case Concepts and Definitions
  • 12. Use Case Describes how the system should respond under various conditions to a request from one of the stakeholders to deliver a specific goal . stakeholder = primary actor
  • 13. Use Case The use case is primarily done in the form of a scenario that describes a sequence of steps . Each use case captures a ‘contract’ for the behavior of the System under Discussion (SuD) to deliver a single goal .
  • 14. Actors Anyone or anything with behavior. Generally is a role (rather than a specific person, job title or a thing) Not every stakeholder will show up Important to discover these ‘hidden’ actors
  • 15. Primary Actor Stakeholder that interacts with the SuD to achieve a specific goal
  • 16. Supporting Actor An (external) actor that needs to provide a service to the SuD A primary actor for one use case can become a supporting actor for another
  • 17. Scenario sequence of steps fulfill a goal
  • 18. Scenario Must be easy to read Avoid more than nine steps Use active voice Stating who or what is doing what Approver approve a task The approver open My Tasks The approver choose a task The approver approves the task The system returns the approver to My Tasks list
  • 19. Main Success Scenario Everything goes as planned Happy Path
  • 20. Extensions Exceptions that requires a deviation from the planned scenario Exceptions documented as extension
  • 21. Extensions Approver approve a task Main Success Scenario The approver open My Tasks The approver choose a task The approver approves the task The system returns the approver to My Tasks list Extensions 3a The task has been approved by another approver 3a1 The system returns error message to the approver 3b The approver decides to postpone the approval process 3b1 The approver click the ‘Back’ button 3b2 The system returns the approver to My Tasks list
  • 22. Use Case Properties Design Scope Stakeholder Primary Actor Description Level Pre-conditions Post-conditions Trigger
  • 23. Design Scope Definition of the boundary of the System Under Discussion (SuD) Set of systems that will be designed
  • 24. Design Scope A business use case has enterprise as its scope and focus on business flow A system use case has computer system as its scope and focus on how actors communicate with the system A component use case has subsystem or component of the system as its scope
  • 25. Use Case Level Summary (cloud level or kite level) outlines the context of a set of User Goal use cases User Goal (sea level) addresses “Can the primary actor go away happily after the use case finished ?” Subfunction (under water level) created to move out an isolated part of a scenario to a separate use case source : Alistair Cockburn, Writing Effective Use Cases
  • 26. Use Case level Summary User Goal Subfunction
  • 27. Stakeholder & Primary Actor Stakeholder: someone / something that has an interest in the goal of the use case delivers Primary Actor: the stakeholder who or which initiates the use case to achieve a goal
  • 28. Description Brief description of the goal the use case supposed to deliver
  • 29. Preconditions conditions that must hold true before the scenario of the use case starts will not be checked again after that
  • 30. Post conditions Minimal Guarantees What at least should hold true when the goal is not met Example: “ All entered information have been stored.” Success Guarantees What must have been achieved at the end of the main success scenario or any alternate route. Example: “ The task is approved”
  • 31. Trigger event or sequence of events that initiate the use case
  • 33. Develop in Iterations Identify all actors and their goals Use MoSCoW list to define the scope of the project. Set up Actor-Goal List
  • 34. MoSCoW List Must Have : The requirement is essential, key stakeholder needs will not be satisfied if this requirement is not delivered and the timebox will be considered to have failed Should Have : This is an important requirement but if it is not delivered within the current timebox, there is an acceptable workaround until it is delivered during a subsequent timebox Could Have : This is a ‘nice to have’ requirement; we have estimated that it is possible to deliver this in the given time but will be one of the requirements de-scoped if we have underestimated Won't Have : The full name of this category is ‘Would like to have but Won’t Have during this timebox’; requirements in this category will not be delivered within the timebox that the prioritisation applies to
  • 35. Actor-Goal List L Find unfinished task and reject it Reject unfinished task Support H Receive request and approve it Approve Request Approver H Make change in edit group and send it Submit Change Request Requestor Prio Brief Descriptions Goals Actor
  • 36. Recipe Identify the actors List their goals Add brief descriptions to the goals Create an initial use case for each goal Describe the main success scenario for each use case Identify the exceptions to the main success scenario and work them out as extension Validate the use cases Optimize the use cases
  • 37. Cheat Sheet http://www. slingcode .com/ref/ UseCaseQuestions . pdf by Alistair Cockburn author of a popular use case book: “Writing Effective Use Cases”, ISBN 0-201-70225-8, ISBN 978-0201702255
  • 38. Use Case Best Practices
  • 39. 7 Best Practices Scope the domain Scope your use cases Validate use cases Define the requirements models Determine the strategy to elicit requirements Settle on a standard format for your uses cases Develop a project glossary
  • 40. 1. Scope the Domain Manage avoidable scope creep Be flexible on unavoidable market and business condition changing
  • 41. How to name a Use Case Well named use cases enable business customers (or any readers) to easily infer who the actor is What’s in a name ?
  • 42. Best practices (1) action verb + [qualified] object place order, request product or service avoid vague verbs, such as do or process avoid low-level, database oriented verbs, such as create, read, update, delete The “object” part of the use case name can be a noun, (such as inventory), or a qualified noun (such as in-stock inventory )
  • 43. Best Practices (2) make sure the project glossary defines the object Add each object to the domain model (as a class, entity, or attribute) Bring forth actors and use cases concurrently and associate them
  • 44. 2. Scope Your Use Cases A use case addresses a single actor goal is not overly complex avoid partial processes in the business avoid CRUD (create-read-update-delete) avoid separate use cases for alternative courses
  • 45. 2. Scope Your Use Cases Frame each use case with: triggering events event responses
  • 46. 2. Scope Your Use Cases Different kind of events: Business Events: subject + verb + object for eq: “Customers requests book” Temporal Events: time to <verb + object> for eq: “ Time to generate report”
  • 47. 2. Scope Your Use Cases Context diagram: simple diagram system as a single ‘black box’ actors “give” or “get” something to or from the system
  • 48. 3. Validate Use Cases Questions to validate: help achieve goals and visions ? address the problem ? key differentiator ? address all stakeholders ? priority for initial release ?
  • 49. 4. Define the Requirements Model acts as a blueprint primary purpose to communicate discovery process emphasize on one view multiple model => separation of concerns
  • 50. 4. Define the Requirements Model Multiple views: use cases: behavioral class diagram: structural statechart diagram: dynamic (lifecycles) business rules: control
  • 51. 5.Determine Your Elicitation Strategy One-on-one or groups interviews Facilitated workshops Generate list of scenarios Reuse existing requirements Prototype user interface Observe end users Focus groups Market surveys Regulations and procedures Customer complaints, help desk logs Competitive analyses
  • 52. 5. Determine Your Elicitation Strategy Commercial software: market surveys, on-site visits, facilitated workshops In-house business system with large user base: review help desk logs, reusing existing requirements, workshops Smaller user base: facilitated workshops and observation.
  • 53. 6. Settle on Standard Format use case name only (“verb + [qualified] object”) use case name and a single-sentence goal statement use case brief description (2 to 5 sentences) use case outline (bulleted or numbered list of use case steps, with alternative flows outlined separately or not listed at all)
  • 54. 6. Settle on Standard Format Use case conversational format (use case header information plus two columns – one for actors and one for system responses – written in a conversational style) Use case description (a sequential, conversational, or narrative text description that includes normal path, alternative, exceptions and extensions)
  • 55.  
  • 56. 7. Develop Glossary communication gaps between software vs business people each side has its acronyms and jargon glossary should be a living, vital part
  • 58. Use case Modeling Use case is a text form Use case diagram provides an index to use cases
  • 59. Actor Someone or something outside the scope of the use case that initiate the use case May trigger or recipient of the use case
  • 60. Actor / Use case Associations relationship between an actor and a use case actor initiates the use case use case provides the actor with results
  • 61. Generalization To express some high-level functional need of a system “ a kind of” relationship
  • 62. Inclusion Higher-level use cases may call ( includes) lower-level use cases
  • 63. Extension An alternate route to the main success scenario. Extension point: the point it exits the originating use case Return point: the point at which it returns Abort Transaction Trigger : any time in Buy Ticket the Car Driver can abort the trans. Main Success Scenario 1. The Ticket Machine returns the coins that have been entered
  • 64. User Stories Scrum methodology
  • 65. What is a User Story ? A concise, written description of a piece of functionality that will be valuable to a user (or owner) of the software
  • 66. User Story Description As a [user role] I want to [goal] so I can [reason] For example: As a registered user I want to log in so I can access subscriber-only content
  • 67. How detail should a User Story be ? Detailed enough Detailed enough for the team to work from, and further details to be established and clarified at the time of development.
  • 68. User Stories Summary User Stories combine written and verbal communications, supported with a picture where possible. User Stories should describe features that are of value to the user, written in a user’s language. User Stories detail just enough information and no more. Details are deferred and captured through collaboration just in time for development. Test cases should be written before development, when the User Story is written. User Stories need to be the right size for planning.
  • 69. Use Case vs User Stories When to use What
  • 70. Structured Requirements Goals are achieved through use cases Use cases are enabled by functional requirements Functional requirements lead to design and implementation. Non-functional requirements characterize how functional requirements must work. Constraints restrict how functional requirements may be implemented source: Software Requirements, 2 nd Edition, Karl E Wiegers
  • 71. Documentation Overhead source : http://tynerblain.com
  • 72. What are the differences ? Formal use cases require the most effort Describe all permutations Informal use cases are pretty much the same - just less formal Need the right level of detail Use case briefs have almost no overhead Same challenges “how much is enough ?” User stories have the least overhead, and provide the least context.
  • 73. Level of Details captured source : http://tynerblain.com
  • 74. Level of Reader expertise source : http://tynerblain.com
  • 75. References Ellen Gottesdiener, “Use Cases: Best Practices”, IBM, 6/11/2003 Jan Kettenis, Getting Started With Use Case Modelling, An Oracle White Paper, March 2005 Dan Pilone, UML 2 in A Nutshell, O’Reilly http://tynerblain.com/blog
  • 76. Q&A

Editor's Notes

  • #2: discuss background, and explain about segments and at the end of each segments I will pause for any discussions
  • #4: Here is how we visualize a software project
  • #5: Typical software projects spend roughly one-third of their overall budget correcting errors that originate in requirements project stakeholders such as clients, end users, develoeprs, testers and managers Years of experience led to development of a number of techniques and models to assist the process Use case model is the most well-known
  • #6: You might say that this is more for the IT folks, that is not completely true. Example is IDEO story. How innovation is produced from multidiscipline cooperation You will also be involved from .
  • #7: To understand Use Case, first let’s take a look at Requirements. Requirements are the defined operational capabilities of a system or process that must exist to satisfy a business need. User requirements: tasks that users need to achieve using the software.
  • #8: Requirements don’t come out of thin air. They are products of systematic discovery and definition process where analyst plays a key role. Software requirements came from process of thinking through three perspectives of requirements.
  • #9: At the highest level (or business level), you begin by understanding and clarifying the business’ goals and objectives. Then you define the vision on how to achieve it. You ensure that you will build the right software. In addition, you also define the correct project stakeholders.
  • #10: This is where use cases come in. Use cases is the interaction between an external actor and the system
  • #11: Technical requirements include functional requirements based on user requirements and nonfunctional requirements
  • #13: Use cases are fundamentally a text form. The scenario describes how the system should respond to a request of a primary actor to deliver a specific goal of that actor.
  • #15: (bullet points first) Incidentally actor can be a person, job title or a thing, although generally it is a role The SuD is also an actor.
  • #18: A scenario describes a sequence of steps that are executed in order to fulfill the goal the use case is supposed to deliver.
  • #23: We just discussed about some of the use cases components, now we’ll look into the detail of different properties of the each use case
  • #25: There are different scope depends on the type of use cases
  • #26: From Alistair Cockburn.
  • #33: How do we develop use cases
  • #36: example is shown in the table
  • #41: scope creep: scope of the projects expands as the work proceeds requirements may change because of changing market and business conditions -&gt; unavoidable manage the avoidable scope creep
  • #42: The first step is to just name the use cases, and not the details
  • #43: best practice on how to give a name
  • #44: elicit: to draw or bring out or forth; educe; evoke: to elicit the truth; to elicit a response with a question.
  • #45: This is different than the Design Scope
  • #46: trigger: customer wants money, responses: ATM gave out the money
  • #48: a context diagram is a simple diagram that represents the system as a single ‘black box” surrounded by its major interfaces, thus showing the system in its environment.
  • #49: Ensure that each one is necessary to meet the business opportunities in your product vision. To validate, answers the following questions; How does this uc help us achieve our goals and visions Does this use case address some aspect of the problem in our problem statement ? Does this use case differentiate our product in some way ? Do we have use cases to address all the stakeholder and user groups we identified in our vision statement Which use cases will be implemented in our initial release ?
  • #50: A requirement model is a set of models which acts as a blueprint for a software product. Example are: event lists, use cases, context diagrams, data models, business rules, actor maps, storyboards Defining requirement is a discovery process for users and customers. It evolve from the process of users trying out their requirements through models. Using multiple views (behavior, structure, dynamics, or control ) gives a rich context for eliciting user requirements and aligns with separation of concerns.
  • #54: The list is with order of increasing complexity
  • #56: A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts: &amp;quot;Excuse me, can you tell me where I am?&amp;quot; The man below says: &amp;quot;Yes you&apos;re in a hot air balloon, hovering 30 feet above this field.&amp;quot; &amp;quot;You must be a software developer,&amp;quot; says the balloonist. &amp;quot;I am,&amp;quot; replies the man. &amp;quot;How did you know?&amp;quot; &amp;quot;Well,&amp;quot; says the balloonist, &amp;quot;everything you have told me is technically correct, but it&apos;s of no use to anyone.&amp;quot; The man below says, &amp;quot;You must work in business as a manager.&amp;quot; &amp;quot;I do,&amp;quot; replies the balloonist, &amp;quot;but how did you know?&amp;quot; &amp;quot;Well,&amp;quot; says the man, &amp;quot;you don&apos;t know where you are or where you are going, but you expect me to be able to help. You&apos;re in the same position you were before we met but now it&apos;s my fault.&amp;quot;
  • #61: conventionally you read use case diagrams from left to right, with actors initiating use cases on the left and actors that receive use case results on the right. Also put primary actor on the top.
  • #62: When use case A specializes use case B (or B generalizes A) you express that A is “a kind of” B, implying that whatever applies to B also applies to A. A adds to or may override behavior of B.
  • #63: A typical example is a Summary use case that includes User Goal use cases, or User Goal use case that includes some reusable Subfunction use case. The included use case is typically not complete on its own and is required part of the larger use cases.
  • #71: Karl Wieger’s Structured Requirements Software Requirements, 2nd Edition, Karl E. Wiegers .
  • #72: See next screen. Formal and informal use cases describes different permutations. Use case brief may use single paragraph. User stories provides the least context. http://tynerblain.com/blog/2009/02/02/user-stories-and-use-cases/comment-page-1/#comment-497898
  • #73: http://tynerblain.com/blog/2009/02/02/user-stories-and-use-cases/ Use case briefs may be a single paragraph use case
  • #74: User stories, as it has less overhead of documentation, it also captures less detail. It is ok with assumption the communication is high. At some point it becomes inefficient.
  • #75: The level of conversation will be influenced by the level of the reader domain expertise. If the reader already understand the requirements, user stories might be enough. When the developer team struggles to implement the stories, then a more structured documentation is needed. Can the writer trust the reader will understand with brief information ?