SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
®




IBM Software Group




                     Writing Good Use Cases
                                Terry Quatrani
                               UML Evangelist
IBM Software Group | Rational software




Agenda

     Use Cases and Requirements
     Do’s and Don’ts for Use Cases
     Use Case Authoring Lifecycle
     Use Case Writing Styles
     TQ Book Review
IBM Software Group | Rational software




What is a Requirement?

     Re*quire"ment (-ment), n.

       1. The act of requiring; demand; requisition.
       2. That which is required; an imperative or authoritative command;
       an essential condition; something needed or necessary; a need.
                            Webster's Revised Unabridged Dictionary, © 1996, 1998 MICRA, Inc.
IBM Software Group | Rational software




Many Types of Requirements
     FURPS                                      Design Constraints
       Functionality                                Operating systems
       Usability                                    Environments
       Reliability                                  Compatibility
       Performance                                  Application standards
       Supportability




            Legal and Regulatory requirements
                Federal Communication Commission
                Food and Drug Administration
                Department of Defense
IBM Software Group | Rational software




What is a Use Case?

      A use case is the specification of a set of actions performed by a
      system which yields an observable result that is of value to one or
      more actors or other stakeholders of the system
                        − UML 2.0 Specification




      TQ translation – a use case is a fairly large piece of functionality that
      makes an actor happy
IBM Software Group | Rational software




Use Cases and Requirements
     FURPS                                      Design Constraints
       Functionality                                Operating systems
       Usability                                    Environments
       Reliability                                  Compatibility
       Performance                                  Application standards
       Supportability




            Legal and Regulatory requirements
                Federal Communication Commission
                Food and Drug Administration
                Department of Defense
IBM Software Group | Rational software




Why Create Use Cases?

      Link stakeholder needs to system requirements
      Define clear boundaries of a system
      Capture and communicate desired behavior of the system
      Identify who & what interacts with the system
      Validate/verify requirements
      As a planning instrument
IBM Software Group | Rational software




Use Cases Drive Analysis, Design, Testing

                                  Use Case
                                   Model

           Expressed in Realized            Implemented   Verified
             terms of     by                     by         by




  Domain             Analysis/                  Implementation Test
   Model              Design                        Model      Model
                      Model
IBM Software Group | Rational software




Documenting Use Cases

      Use cases are shown in diagrams           Use cases are described in text




    Student         Register for Courses




        But…. The UML does not specify how a use case
                    should be described.
IBM Software Group | Rational software




What Should NOT be in a Use Case

      Implementation details
           “The student information is written to a relational database”
           “The student information is saved”
      GUI information
           “The student presses the Select button to select a course”
           “The student selects a course”
      Internal processing unrelated to a stakeholder request
           “The system calculates a confirmation number using a hashing
           algorithm based on the date and the student id. The number is then
           displayed to the student”
           “The system displays a confirmation number to the student”
      Non- functional requirements
           “The system shall respond to the student course selection within 1
           minute”
           “The system shall be available 20/7”
           “The system shall be able to handle scheduling requests from 1000
           concurrent users”
IBM Software Group | Rational software




But… the User Interface is Important

       Use cases are great sources for user interface requirements
            What the UI must provide not how to do it!
       Separate document should contain UI details
            Use visual or even physical mock-ups to describe UI
            Describe navigation using storyboards
            UML class and sequence diagrams are great aids here



       The UI Specification and use cases should be documented in
       parallel
IBM Software Group | Rational software




What About Business Rules?

      “The student enters his/her student identification number. The
      identification number must be 6 to 8 alpha-numeric characters. It
      must contain one number that cannot be the first or last character.


      Keep your use case statements simple
           “The student enters his/her student identification number”
      Document business rules in a separate supplementary specification
           “Student identification numbers are numbers that are used to verify that
           a student is eligible to register for courses. The identification number
           must be 6 to 8 alpha-numeric characters. It must contain one number
           that cannot be the first or last character.”
IBM Software Group | Rational software




What should be IN a Use Case?

      Brief Description
      Flow of Events
           Basic Flow
           Alternate Flow(s)
      Special Requirements
      Pre-Conditions
      Post-Conditions
      Extension Points

      “Good use cases are balanced, describing essential system
      behavior while providing only the necessary details about the
      interactions between a system and its users”
                                                Patterns for Effective Use Cases
IBM Software Group | Rational software




The Use Case Authoring Cycle

                        Discovered
                        Discovered                    Briefly
                                                      Briefly
                                                     Described
                                                     Described




                      Bulleted
                      Bulleted                       Essential
                                                     Essential
                       Outline
                       Outline                        Outline
                                                      Outline




                     Detailed
                     Detailed                   Fully Described
                                                Fully Described
                    Description
                    Description
IBM Software Group | Rational software




Discovery

      Examine the identified actors and ask the following questions
            Why do they want to use the system?
      Vision document is a great source of input
            Why is the system being built?
            What problems is the system suppose to solve?
      Create a use case diagram showing actors and use cases
            Only use communication associations at this point
            Do NOT try to structure the use cases using ‘include’ and ‘extend’
            relationships
             •   Only leads to trouble ☺
IBM Software Group | Rational software




Use Case Diagram
   Course Registration System


                                       Request Roster

                   Add Course                                Professor




       Student          Drop Course




                 Print Schedule
                                                                  Registrar
                                       Maintain Curriculum
IBM Software Group | Rational software




Brief Description

       A paragraph that describes
            Who interacts with the use case
            The purpose of the use case

       The Add Course use case is initiated by the Student. It allows the
       student to add a course to a schedule for a specified semester.
IBM Software Group | Rational software




Bulleted Outline

       Time ordered outline of the steps in the use case
            Typically just simple sentences
       Concentrate on the steps in the basic flow
       List major alternate flows and exceptions

       This is just a first cut at the use case flow of events
       Benefits
            Allow you to get a handle on the complexity of the use case (more
            steps typically more complexity)
            Allow you to get early buy in from the customer that you are building
            the right system
            Provide basis for prototyping
IBM Software Group | Rational software




Add a Course Bulleted Outline

       Basic Flow
            Student logs onto system
            Student opts to add a course to a schedule
            Student enters a course number
            System verifies that student has satisfied pre-requisites for the course
            System displays a list of open course offerings
            Student selects an offering
            Student is registered for the course
       Alternate Flows
            Pre-requisites not satisfied
            No course offerings available
            Student cannot be registered for the course offering
IBM Software Group | Rational software




Drop a Course Bulleted Outline

       Basic Flow
            Student logs onto system
            Student opts to delete a course from a schedule
            Student enters a course number
            System verifies that student is registered for the course
            Student is deleted from the course
       Alternate Flows
            Schedule not available
            Student cannot be registered for the course offering
IBM Software Group | Rational software




Use Case Diagram
   Course Registration System

                                            Request Roster

                                                                  Professor
           Student




                          Register for Courses




         Billing System
                                                             Registrar


                                        Manage Curriculum
IBM Software Group | Rational software




Register for Courses Bulleted Outline

       Basic Flow
            Student logs onto system
            Student opts to create a schedule
            Student enters a course number
            System verifies that student has satisfied pre-requisites for the course
            System displays a list of open course offerings
            Student selects an offering
            Student is registered for the course
       Alternate Flows
            Student opts to modify an existing schedule
            Student opts to print an existing schedule
            Student opts to delete an existing schedule
            Pre-requisites not satisfied
            No course offerings available
            Student cannot be registered for the course offering
IBM Software Group | Rational software




Essential Outline

       Focus on the most important system behavior
            How the system responds to an actor action/request
            Great inputs for user interface prototypes
       “Black box” view of they system
            Ensures that the needs of the actor are met
       Make sure you do not get bogged down with details… details come
       later

       Typically only done for the most important use cases
IBM Software Group | Rational software




Register for Courses Essential Outline

      User Action                                 System Response

      1. Student enters a course                  Display list of course offerings
         number



      2. Student selects a course                 Display course name, location
        offering                                    and professor



      3. Student confirms selection               Add student to the course roster
IBM Software Group | Rational software




Detailed Description and Fully Described

       Iteratively add more detail to the outline to specify the steps of the
       use case
            Each step should clearly state who is performing the action and the
            result of the action
       You are done when the use case has a complete flow of events, has
       terminology described in a support glossary and defines all inputs to
       and outputs from the use case

       Question to ask: Is there enough information specified to complete
       the system analysis, design and test?
IBM Software Group | Rational software




Use Case Styles

      A use case is only as good as its author
      “…a well-written use case is relatively easy to read. People may
      suppose that easy-to-read also means easy-to-write, but that is a
      mistake”
                                                Patterns for Effective Use Cases

      Style questions:
           Does the main flow reference other flows or not?
           Do steps in the flows have numbers or titles or both?
           Do alternative flows have numbers or titles or both?
           How do you reference one part of a use case from another?
           Can flows have embedded flows?
           How do alternative flows tell what happens when they are done done?
IBM Software Group | Rational software




Use Case Styles – Three Examples

      Rational Unified Process (RUP) Style
      Tagged Style
           Based on the RUP style; Includes additions to resolve issues some
           have found with the RUP style
           Bittner/Spence book: Use Case Modeling
      Table style
IBM Software Group | Rational software

The Contents of a RUP Style Use Case

                                               One basic flow
                                                 Happy-Day Scenario
                                               Many alternative flows
                                                 Regular variants
                                                 Odd cases
                                                 Exceptional (error) flows
IBM Software Group | Rational software



RUP Style
Main
(Basic)                                                  Structure the flow
                                                         into steps
Flow of
Events
                                                         Number and
                                                         title each step

Main flow                                                Describe steps
shows the                                                (1-3 sentences)
actor
succeeding in
his/her goal                                             Don’t refer to
                                                         alternate flows in
                                                         the main flow
IBM Software Group | Rational software



RUP Style                                                 Say in which
                                                          step or
Alternative                                               alternate flow
Flows of                                                  the flow starts
Events
Alternative                                               Say what
flows are flat                                            causes the
                                                          flow to start
They can have
steps                                                     Say what
                                                          happens
They have
names                                                     Say where
                                                          the flow
They should                                               resumes
specify one
thing
IBM Software Group | Rational software



The Contents of a Tagged Style Use Case

                                                One basic flow
                                                  Happy-Day Scenario
                                                Many alternative flows
                                                  Regular variants
                                                  Odd cases
                                                  Exceptional (error) flows

                                                Extension points

                                                0..many sub-flows
                                                 Reusable steps
                                                 Complex steps
IBM Software Group | Rational software


 Tagged Style - Main Flow


Main flow steps
do reference                                          Structure the
other parts of                                        flow into steps
the use case


                                                      Number each step


Extension
point "labels"
are used for                                          Describe steps
reference from                                        briefly
elsewhere
IBM Software Group | Rational software


Tagged Style - Alternative Flows

 Say at which             Say what                 Say what   Say at which
 extension point          causes the               happens    extension
 they start               flow to start                       point the flow
                                                              resumes
IBM Software Group | Rational software


Tagged Style - Subflows
 Do not say where                   Subflows           They always resume at the
 they start – they are              always have        next step from where they
 explicitly called                  steps              are called




                   Purpose: Break out complex or reused steps

         Write the main and alternate flows first, then factor out the subflows
IBM Software Group | Rational software


Use Cases in Tables

Hard to                                               Some things
understand the                                        don't neatly fit in
sequence                                              a column



Programmers                                           Non-technical
love this format                                      stakeholders
                                                      hate this format
IBM Software Group | Rational software




Use Case Styles

      It is important to make a conscious decision about a style

      Decide up-front and enforce the chosen style

      Document the style in the Use Case Modeling Guidelines document
IBM Software Group | Rational software




Further Writing Considerations

       Use of “if” statements
       Actor choices
       Iteration
       Sequence of events
IBM Software Group | Rational software


Using “if-statements”


Good things about "ifs"
  Familiar to
   programmers


Bad things about "ifs"
  Can be hard to follow
   Harder to implement
    and test
IBM Software Group | Rational software


No “if-statements”

 Good
    Clearer
    Easier to read
   Easier to define
     scenarios
 Bad
   More alternative
     flows



 Decide up-front whether
  your team will use if-
  statements in it's use
         cases
IBM Software Group | Rational software


Actor Choices                                   One choice in
                                                the main flow,
                                                other choices
                                                are handled in
                                                alternative
                                                flows


                                                  CRUD use
                                                   cases
IBM Software Group | Rational software


Showing Iteration
IBM Software Group | Rational software


The Sequence of the Events

There is no reason why the
credit card information must
 be entered at exactly this
  point in the sequence…
IBM Software Group | Rational software


The Sequence of the Events Can Be Optional
                                             Solution one




                                                            Solution two




  If you don’t state
   otherwise, the
   developers will
   assume the
   sequence is a
   requirement
IBM Software Group | Rational software




The Bottom Line

      How you write a use case affects its usability
           By stakeholders
           By the development team
      Choose a style, and stick to it
           Make sure everyone uses the chosen style
      Think about, and use, good use case writing techniques
           Use cases easier to write
           They will also be easier to understand
IBM Software Group | Rational software




TQ Book Review

      Use Case Modeling, Bittner and Spense, Addison-Wesley, 2003
          Great book, my bible, lots of good practical advice
      Patterns for Effective Use Cases, Adolph and Bramble, Addison-
      Wesley, 2003
          Lot of good advice, some bad advice, a bit hard to follow
      Use Cases, Requirements in Context by Kulak and Guiney,
      Addison-Wesley, 2004
          Some good advice, really like their chapter on classic mistakes
      Writing Effective Use Cases, Cockburn, Addison-Wesley, 2001
          Do not like the approach for use case modeling taken in this book,
          levels of use cases with funny symbols tend to lead to functional
          decomposition in my mind
IBM Software Group | Rational software

Mais conteúdo relacionado

Mais procurados

Writing Effective Use Cases
 Writing Effective Use Cases Writing Effective Use Cases
Writing Effective Use CasesHarsh Jegadeesan
 
Business analyst 101 program Mumbai India
Business analyst 101 program Mumbai IndiaBusiness analyst 101 program Mumbai India
Business analyst 101 program Mumbai IndiaDeepak Kadam
 
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxPresentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxazida3
 
CBAP Uluslararası İş Analisti Sertifikasyonu
CBAP Uluslararası İş Analisti SertifikasyonuCBAP Uluslararası İş Analisti Sertifikasyonu
CBAP Uluslararası İş Analisti SertifikasyonuMuhammed Özdemir
 
Requirements Analysis And Design Ddefinition
Requirements Analysis And Design DdefinitionRequirements Analysis And Design Ddefinition
Requirements Analysis And Design DdefinitionOD Ali
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesOnur Demir
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General IntroductionAsma CHERIF
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)Yogesh Late
 
The Evolving Role of the Business Analyst
The Evolving Role of the Business AnalystThe Evolving Role of the Business Analyst
The Evolving Role of the Business AnalystTracy Cook
 
Business Requirements: How to Create a Business Requirements Document (Free T...
Business Requirements: How to Create a Business Requirements Document (Free T...Business Requirements: How to Create a Business Requirements Document (Free T...
Business Requirements: How to Create a Business Requirements Document (Free T...QuekelsBaro
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram Rahul Pola
 

Mais procurados (20)

Ch 2 what is software quality
Ch 2 what is software qualityCh 2 what is software quality
Ch 2 what is software quality
 
Writing Effective Use Cases
 Writing Effective Use Cases Writing Effective Use Cases
Writing Effective Use Cases
 
Business analyst 101 program Mumbai India
Business analyst 101 program Mumbai IndiaBusiness analyst 101 program Mumbai India
Business analyst 101 program Mumbai India
 
Presentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptxPresentation Use Case Diagram and Use Case Specification.pptx
Presentation Use Case Diagram and Use Case Specification.pptx
 
CBAP Uluslararası İş Analisti Sertifikasyonu
CBAP Uluslararası İş Analisti SertifikasyonuCBAP Uluslararası İş Analisti Sertifikasyonu
CBAP Uluslararası İş Analisti Sertifikasyonu
 
Requirements Analysis And Design Ddefinition
Requirements Analysis And Design DdefinitionRequirements Analysis And Design Ddefinition
Requirements Analysis And Design Ddefinition
 
UML ile Modelleme
UML ile ModellemeUML ile Modelleme
UML ile Modelleme
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Sample test-plan-template
Sample test-plan-templateSample test-plan-template
Sample test-plan-template
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering Techniques
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)
 
The Evolving Role of the Business Analyst
The Evolving Role of the Business AnalystThe Evolving Role of the Business Analyst
The Evolving Role of the Business Analyst
 
Business Requirements: How to Create a Business Requirements Document (Free T...
Business Requirements: How to Create a Business Requirements Document (Free T...Business Requirements: How to Create a Business Requirements Document (Free T...
Business Requirements: How to Create a Business Requirements Document (Free T...
 
Sequence Diagram
Sequence DiagramSequence Diagram
Sequence Diagram
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 

Destaque

The Case for Authoring and Producing Books in (X)HTML5
The Case for Authoring and Producing Books in (X)HTML5The Case for Authoring and Producing Books in (X)HTML5
The Case for Authoring and Producing Books in (X)HTML5Sanders Kleinfeld
 
Effective usecases
Effective usecasesEffective usecases
Effective usecasesam_iim
 
An introductory overview of Chatbots
An introductory overview of ChatbotsAn introductory overview of Chatbots
An introductory overview of ChatbotsGomathi Viswanathan
 
Hortonworks & Bilot Data Driven Transformations with Hadoop
Hortonworks & Bilot Data Driven Transformations with HadoopHortonworks & Bilot Data Driven Transformations with Hadoop
Hortonworks & Bilot Data Driven Transformations with HadoopMats Johansson
 
Using Artificial Intelligence to power Service Virtualization
Using Artificial Intelligence to power Service VirtualizationUsing Artificial Intelligence to power Service Virtualization
Using Artificial Intelligence to power Service VirtualizationCA Technologies
 
Patterns For Effective Use Cases
Patterns For Effective Use CasesPatterns For Effective Use Cases
Patterns For Effective Use CasesMayflower GmbH
 
Top 3 Considerations for Machine Learning on Big Data
Top 3 Considerations for Machine Learning on Big DataTop 3 Considerations for Machine Learning on Big Data
Top 3 Considerations for Machine Learning on Big DataDatameer
 
Arrow AI: Automated Customer Care
Arrow AI: Automated Customer CareArrow AI: Automated Customer Care
Arrow AI: Automated Customer CareUtkarsh Shukla
 
Artifical Intelligence in Customer Service
Artifical Intelligence in Customer ServiceArtifical Intelligence in Customer Service
Artifical Intelligence in Customer ServiceSam Hirsch
 
parlamind - NOAH16 London
parlamind - NOAH16 Londonparlamind - NOAH16 London
parlamind - NOAH16 LondonNOAH Advisors
 
Trucking demo w Spark ML - Paul Hargis - Hortonworks
Trucking demo w Spark ML - Paul Hargis - HortonworksTrucking demo w Spark ML - Paul Hargis - Hortonworks
Trucking demo w Spark ML - Paul Hargis - HortonworksKelly Kohlleffel
 
How Twitter Timeline works
How Twitter Timeline worksHow Twitter Timeline works
How Twitter Timeline worksAnn Smarty
 
What if Things Start to Think - Artificial Intelligence in IoT
What if Things Start to Think - Artificial Intelligence in IoTWhat if Things Start to Think - Artificial Intelligence in IoT
What if Things Start to Think - Artificial Intelligence in IoTMuralidhar Somisetty
 
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...MongoDB
 
From Use case to User Story
From Use case to User StoryFrom Use case to User Story
From Use case to User StoryKunta Hutabarat
 
10 uses cases - Artificial Intelligence and Machine Learning in Education - b...
10 uses cases - Artificial Intelligence and Machine Learning in Education - b...10 uses cases - Artificial Intelligence and Machine Learning in Education - b...
10 uses cases - Artificial Intelligence and Machine Learning in Education - b...Victor John Tan
 
The Rise of Chatbots
The Rise of ChatbotsThe Rise of Chatbots
The Rise of ChatbotsNet Solutions
 
HfS Webinar Slides: Standard Bank Case Discussion - Improving Customer Experi...
HfS Webinar Slides: Standard Bank Case Discussion - Improving Customer Experi...HfS Webinar Slides: Standard Bank Case Discussion - Improving Customer Experi...
HfS Webinar Slides: Standard Bank Case Discussion - Improving Customer Experi...HfS Research
 

Destaque (20)

The Case for Authoring and Producing Books in (X)HTML5
The Case for Authoring and Producing Books in (X)HTML5The Case for Authoring and Producing Books in (X)HTML5
The Case for Authoring and Producing Books in (X)HTML5
 
Effective usecases
Effective usecasesEffective usecases
Effective usecases
 
An introductory overview of Chatbots
An introductory overview of ChatbotsAn introductory overview of Chatbots
An introductory overview of Chatbots
 
2b writing good use cases
2b writing good use cases2b writing good use cases
2b writing good use cases
 
Hortonworks & Bilot Data Driven Transformations with Hadoop
Hortonworks & Bilot Data Driven Transformations with HadoopHortonworks & Bilot Data Driven Transformations with Hadoop
Hortonworks & Bilot Data Driven Transformations with Hadoop
 
Using Artificial Intelligence to power Service Virtualization
Using Artificial Intelligence to power Service VirtualizationUsing Artificial Intelligence to power Service Virtualization
Using Artificial Intelligence to power Service Virtualization
 
Patterns For Effective Use Cases
Patterns For Effective Use CasesPatterns For Effective Use Cases
Patterns For Effective Use Cases
 
Top 3 Considerations for Machine Learning on Big Data
Top 3 Considerations for Machine Learning on Big DataTop 3 Considerations for Machine Learning on Big Data
Top 3 Considerations for Machine Learning on Big Data
 
Usecase
UsecaseUsecase
Usecase
 
Arrow AI: Automated Customer Care
Arrow AI: Automated Customer CareArrow AI: Automated Customer Care
Arrow AI: Automated Customer Care
 
Artifical Intelligence in Customer Service
Artifical Intelligence in Customer ServiceArtifical Intelligence in Customer Service
Artifical Intelligence in Customer Service
 
parlamind - NOAH16 London
parlamind - NOAH16 Londonparlamind - NOAH16 London
parlamind - NOAH16 London
 
Trucking demo w Spark ML - Paul Hargis - Hortonworks
Trucking demo w Spark ML - Paul Hargis - HortonworksTrucking demo w Spark ML - Paul Hargis - Hortonworks
Trucking demo w Spark ML - Paul Hargis - Hortonworks
 
How Twitter Timeline works
How Twitter Timeline worksHow Twitter Timeline works
How Twitter Timeline works
 
What if Things Start to Think - Artificial Intelligence in IoT
What if Things Start to Think - Artificial Intelligence in IoTWhat if Things Start to Think - Artificial Intelligence in IoT
What if Things Start to Think - Artificial Intelligence in IoT
 
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
 
From Use case to User Story
From Use case to User StoryFrom Use case to User Story
From Use case to User Story
 
10 uses cases - Artificial Intelligence and Machine Learning in Education - b...
10 uses cases - Artificial Intelligence and Machine Learning in Education - b...10 uses cases - Artificial Intelligence and Machine Learning in Education - b...
10 uses cases - Artificial Intelligence and Machine Learning in Education - b...
 
The Rise of Chatbots
The Rise of ChatbotsThe Rise of Chatbots
The Rise of Chatbots
 
HfS Webinar Slides: Standard Bank Case Discussion - Improving Customer Experi...
HfS Webinar Slides: Standard Bank Case Discussion - Improving Customer Experi...HfS Webinar Slides: Standard Bank Case Discussion - Improving Customer Experi...
HfS Webinar Slides: Standard Bank Case Discussion - Improving Customer Experi...
 

Semelhante a Writing Good Use Cases

Php Egypt Jan14
Php Egypt Jan14Php Egypt Jan14
Php Egypt Jan14Hani Gamal
 
Model Runway Part 2 Design Best Practices at Blue Cross BlueShield
Model Runway Part 2   Design Best Practices at Blue Cross BlueShieldModel Runway Part 2   Design Best Practices at Blue Cross BlueShield
Model Runway Part 2 Design Best Practices at Blue Cross BlueShieldRoger Snook
 
SAF 2008 - Analysis and Architecture
SAF 2008 - Analysis  and ArchitectureSAF 2008 - Analysis  and Architecture
SAF 2008 - Analysis and Architecturemhessinger
 
An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsMohammed Misbhauddin
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesKiran Munir
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingRachel Davis
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)IIUI
 
Document defect tracking for improving product quality and productivity
Document   defect tracking for improving product quality and productivityDocument   defect tracking for improving product quality and productivity
Document defect tracking for improving product quality and productivitych_tabitha7
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
AppSight 5.0 Advanced Concepts Training
AppSight 5.0 Advanced Concepts TrainingAppSight 5.0 Advanced Concepts Training
AppSight 5.0 Advanced Concepts TrainingDamian Rochman
 
Four principles seminar manageware seminar
Four principles seminar   manageware seminarFour principles seminar   manageware seminar
Four principles seminar manageware seminarManageware
 
SharePoint in your hand
SharePoint in your handSharePoint in your hand
SharePoint in your handPablo Peris
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5sampad_senapati
 
Testing In Software Engineering
Testing In Software EngineeringTesting In Software Engineering
Testing In Software Engineeringkiansahafi
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1JusperKato
 

Semelhante a Writing Good Use Cases (20)

Php Egypt Jan14
Php Egypt Jan14Php Egypt Jan14
Php Egypt Jan14
 
Model Runway Part 2 Design Best Practices at Blue Cross BlueShield
Model Runway Part 2   Design Best Practices at Blue Cross BlueShieldModel Runway Part 2   Design Best Practices at Blue Cross BlueShield
Model Runway Part 2 Design Best Practices at Blue Cross BlueShield
 
SAF 2008 - Analysis and Architecture
SAF 2008 - Analysis  and ArchitectureSAF 2008 - Analysis  and Architecture
SAF 2008 - Analysis and Architecture
 
An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence Diagrams
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)
 
Document defect tracking for improving product quality and productivity
Document   defect tracking for improving product quality and productivityDocument   defect tracking for improving product quality and productivity
Document defect tracking for improving product quality and productivity
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Feasible
FeasibleFeasible
Feasible
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
AppSight 5.0 Advanced Concepts Training
AppSight 5.0 Advanced Concepts TrainingAppSight 5.0 Advanced Concepts Training
AppSight 5.0 Advanced Concepts Training
 
Four principles seminar manageware seminar
Four principles seminar   manageware seminarFour principles seminar   manageware seminar
Four principles seminar manageware seminar
 
SharePoint in your hand
SharePoint in your handSharePoint in your hand
SharePoint in your hand
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5
 
Testing In Software Engineering
Testing In Software EngineeringTesting In Software Engineering
Testing In Software Engineering
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1
 
Unit ii
Unit   iiUnit   ii
Unit ii
 
Unit V.pptx
Unit V.pptxUnit V.pptx
Unit V.pptx
 

Mais de IBM Rational software

DMT-2467 Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...
DMT-2467	Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...DMT-2467	Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...
DMT-2467 Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...IBM Rational software
 
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...IBM Rational software
 
Steer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team ConcertSteer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team ConcertIBM Rational software
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesIBM Rational software
 
IBM InterConnect Speaker Proposal Tips
IBM InterConnect Speaker Proposal TipsIBM InterConnect Speaker Proposal Tips
IBM InterConnect Speaker Proposal TipsIBM Rational software
 
Factors to consider when starting a brand-new requirements management project...
Factors to consider when starting a brand-new requirements management project...Factors to consider when starting a brand-new requirements management project...
Factors to consider when starting a brand-new requirements management project...IBM Rational software
 
IBM DevOps Announcements - June 2014
IBM DevOps Announcements - June 2014IBM DevOps Announcements - June 2014
IBM DevOps Announcements - June 2014IBM Rational software
 
IBM Rational Developer for System z Quick Start Sales Presentation
IBM Rational Developer for System z Quick Start Sales PresentationIBM Rational Developer for System z Quick Start Sales Presentation
IBM Rational Developer for System z Quick Start Sales PresentationIBM Rational software
 
Rational consulting café to go menu
Rational consulting café to go menuRational consulting café to go menu
Rational consulting café to go menuIBM Rational software
 

Mais de IBM Rational software (20)

DMT-2467 Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...
DMT-2467	Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...DMT-2467	Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...
DMT-2467 Like the Features in Rational DOORS 9? Come Check Them Out in DOORS...
 
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
 
Deployment module slides
Deployment module slidesDeployment module slides
Deployment module slides
 
Security
SecuritySecurity
Security
 
Steer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team ConcertSteer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team Concert
 
Applications lab
Applications lab Applications lab
Applications lab
 
Application slides
Application slidesApplication slides
Application slides
 
Components lab
Components labComponents lab
Components lab
 
UCD components
UCD components UCD components
UCD components
 
Resource lab
Resource labResource lab
Resource lab
 
Resources slides
Resources slidesResources slides
Resources slides
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
IBM InterConnect Speaker Proposal Tips
IBM InterConnect Speaker Proposal TipsIBM InterConnect Speaker Proposal Tips
IBM InterConnect Speaker Proposal Tips
 
Factors to consider when starting a brand-new requirements management project...
Factors to consider when starting a brand-new requirements management project...Factors to consider when starting a brand-new requirements management project...
Factors to consider when starting a brand-new requirements management project...
 
IBM DevOps Announcements - June 2014
IBM DevOps Announcements - June 2014IBM DevOps Announcements - June 2014
IBM DevOps Announcements - June 2014
 
IBM Rational Developer for System z Quick Start Sales Presentation
IBM Rational Developer for System z Quick Start Sales PresentationIBM Rational Developer for System z Quick Start Sales Presentation
IBM Rational Developer for System z Quick Start Sales Presentation
 
Rational consulting café to go menu
Rational consulting café to go menuRational consulting café to go menu
Rational consulting café to go menu
 
Lab3 RTC Source Control
Lab3 RTC Source ControlLab3 RTC Source Control
Lab3 RTC Source Control
 
Lab2 RTC Work Items
Lab2 RTC Work ItemsLab2 RTC Work Items
Lab2 RTC Work Items
 
Lab4 RTC Builds
Lab4 RTC BuildsLab4 RTC Builds
Lab4 RTC Builds
 

Último

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Writing Good Use Cases

  • 1. ® IBM Software Group Writing Good Use Cases Terry Quatrani UML Evangelist
  • 2. IBM Software Group | Rational software Agenda Use Cases and Requirements Do’s and Don’ts for Use Cases Use Case Authoring Lifecycle Use Case Writing Styles TQ Book Review
  • 3. IBM Software Group | Rational software What is a Requirement? Re*quire"ment (-ment), n. 1. The act of requiring; demand; requisition. 2. That which is required; an imperative or authoritative command; an essential condition; something needed or necessary; a need. Webster's Revised Unabridged Dictionary, © 1996, 1998 MICRA, Inc.
  • 4. IBM Software Group | Rational software Many Types of Requirements FURPS Design Constraints Functionality Operating systems Usability Environments Reliability Compatibility Performance Application standards Supportability Legal and Regulatory requirements Federal Communication Commission Food and Drug Administration Department of Defense
  • 5. IBM Software Group | Rational software What is a Use Case? A use case is the specification of a set of actions performed by a system which yields an observable result that is of value to one or more actors or other stakeholders of the system − UML 2.0 Specification TQ translation – a use case is a fairly large piece of functionality that makes an actor happy
  • 6. IBM Software Group | Rational software Use Cases and Requirements FURPS Design Constraints Functionality Operating systems Usability Environments Reliability Compatibility Performance Application standards Supportability Legal and Regulatory requirements Federal Communication Commission Food and Drug Administration Department of Defense
  • 7. IBM Software Group | Rational software Why Create Use Cases? Link stakeholder needs to system requirements Define clear boundaries of a system Capture and communicate desired behavior of the system Identify who & what interacts with the system Validate/verify requirements As a planning instrument
  • 8. IBM Software Group | Rational software Use Cases Drive Analysis, Design, Testing Use Case Model Expressed in Realized Implemented Verified terms of by by by Domain Analysis/ Implementation Test Model Design Model Model Model
  • 9. IBM Software Group | Rational software Documenting Use Cases Use cases are shown in diagrams Use cases are described in text Student Register for Courses But…. The UML does not specify how a use case should be described.
  • 10. IBM Software Group | Rational software What Should NOT be in a Use Case Implementation details “The student information is written to a relational database” “The student information is saved” GUI information “The student presses the Select button to select a course” “The student selects a course” Internal processing unrelated to a stakeholder request “The system calculates a confirmation number using a hashing algorithm based on the date and the student id. The number is then displayed to the student” “The system displays a confirmation number to the student” Non- functional requirements “The system shall respond to the student course selection within 1 minute” “The system shall be available 20/7” “The system shall be able to handle scheduling requests from 1000 concurrent users”
  • 11. IBM Software Group | Rational software But… the User Interface is Important Use cases are great sources for user interface requirements What the UI must provide not how to do it! Separate document should contain UI details Use visual or even physical mock-ups to describe UI Describe navigation using storyboards UML class and sequence diagrams are great aids here The UI Specification and use cases should be documented in parallel
  • 12. IBM Software Group | Rational software What About Business Rules? “The student enters his/her student identification number. The identification number must be 6 to 8 alpha-numeric characters. It must contain one number that cannot be the first or last character. Keep your use case statements simple “The student enters his/her student identification number” Document business rules in a separate supplementary specification “Student identification numbers are numbers that are used to verify that a student is eligible to register for courses. The identification number must be 6 to 8 alpha-numeric characters. It must contain one number that cannot be the first or last character.”
  • 13. IBM Software Group | Rational software What should be IN a Use Case? Brief Description Flow of Events Basic Flow Alternate Flow(s) Special Requirements Pre-Conditions Post-Conditions Extension Points “Good use cases are balanced, describing essential system behavior while providing only the necessary details about the interactions between a system and its users” Patterns for Effective Use Cases
  • 14. IBM Software Group | Rational software The Use Case Authoring Cycle Discovered Discovered Briefly Briefly Described Described Bulleted Bulleted Essential Essential Outline Outline Outline Outline Detailed Detailed Fully Described Fully Described Description Description
  • 15. IBM Software Group | Rational software Discovery Examine the identified actors and ask the following questions Why do they want to use the system? Vision document is a great source of input Why is the system being built? What problems is the system suppose to solve? Create a use case diagram showing actors and use cases Only use communication associations at this point Do NOT try to structure the use cases using ‘include’ and ‘extend’ relationships • Only leads to trouble ☺
  • 16. IBM Software Group | Rational software Use Case Diagram Course Registration System Request Roster Add Course Professor Student Drop Course Print Schedule Registrar Maintain Curriculum
  • 17. IBM Software Group | Rational software Brief Description A paragraph that describes Who interacts with the use case The purpose of the use case The Add Course use case is initiated by the Student. It allows the student to add a course to a schedule for a specified semester.
  • 18. IBM Software Group | Rational software Bulleted Outline Time ordered outline of the steps in the use case Typically just simple sentences Concentrate on the steps in the basic flow List major alternate flows and exceptions This is just a first cut at the use case flow of events Benefits Allow you to get a handle on the complexity of the use case (more steps typically more complexity) Allow you to get early buy in from the customer that you are building the right system Provide basis for prototyping
  • 19. IBM Software Group | Rational software Add a Course Bulleted Outline Basic Flow Student logs onto system Student opts to add a course to a schedule Student enters a course number System verifies that student has satisfied pre-requisites for the course System displays a list of open course offerings Student selects an offering Student is registered for the course Alternate Flows Pre-requisites not satisfied No course offerings available Student cannot be registered for the course offering
  • 20. IBM Software Group | Rational software Drop a Course Bulleted Outline Basic Flow Student logs onto system Student opts to delete a course from a schedule Student enters a course number System verifies that student is registered for the course Student is deleted from the course Alternate Flows Schedule not available Student cannot be registered for the course offering
  • 21. IBM Software Group | Rational software Use Case Diagram Course Registration System Request Roster Professor Student Register for Courses Billing System Registrar Manage Curriculum
  • 22. IBM Software Group | Rational software Register for Courses Bulleted Outline Basic Flow Student logs onto system Student opts to create a schedule Student enters a course number System verifies that student has satisfied pre-requisites for the course System displays a list of open course offerings Student selects an offering Student is registered for the course Alternate Flows Student opts to modify an existing schedule Student opts to print an existing schedule Student opts to delete an existing schedule Pre-requisites not satisfied No course offerings available Student cannot be registered for the course offering
  • 23. IBM Software Group | Rational software Essential Outline Focus on the most important system behavior How the system responds to an actor action/request Great inputs for user interface prototypes “Black box” view of they system Ensures that the needs of the actor are met Make sure you do not get bogged down with details… details come later Typically only done for the most important use cases
  • 24. IBM Software Group | Rational software Register for Courses Essential Outline User Action System Response 1. Student enters a course Display list of course offerings number 2. Student selects a course Display course name, location offering and professor 3. Student confirms selection Add student to the course roster
  • 25. IBM Software Group | Rational software Detailed Description and Fully Described Iteratively add more detail to the outline to specify the steps of the use case Each step should clearly state who is performing the action and the result of the action You are done when the use case has a complete flow of events, has terminology described in a support glossary and defines all inputs to and outputs from the use case Question to ask: Is there enough information specified to complete the system analysis, design and test?
  • 26. IBM Software Group | Rational software Use Case Styles A use case is only as good as its author “…a well-written use case is relatively easy to read. People may suppose that easy-to-read also means easy-to-write, but that is a mistake” Patterns for Effective Use Cases Style questions: Does the main flow reference other flows or not? Do steps in the flows have numbers or titles or both? Do alternative flows have numbers or titles or both? How do you reference one part of a use case from another? Can flows have embedded flows? How do alternative flows tell what happens when they are done done?
  • 27. IBM Software Group | Rational software Use Case Styles – Three Examples Rational Unified Process (RUP) Style Tagged Style Based on the RUP style; Includes additions to resolve issues some have found with the RUP style Bittner/Spence book: Use Case Modeling Table style
  • 28. IBM Software Group | Rational software The Contents of a RUP Style Use Case One basic flow Happy-Day Scenario Many alternative flows Regular variants Odd cases Exceptional (error) flows
  • 29. IBM Software Group | Rational software RUP Style Main (Basic) Structure the flow into steps Flow of Events Number and title each step Main flow Describe steps shows the (1-3 sentences) actor succeeding in his/her goal Don’t refer to alternate flows in the main flow
  • 30. IBM Software Group | Rational software RUP Style Say in which step or Alternative alternate flow Flows of the flow starts Events Alternative Say what flows are flat causes the flow to start They can have steps Say what happens They have names Say where the flow They should resumes specify one thing
  • 31. IBM Software Group | Rational software The Contents of a Tagged Style Use Case One basic flow Happy-Day Scenario Many alternative flows Regular variants Odd cases Exceptional (error) flows Extension points 0..many sub-flows Reusable steps Complex steps
  • 32. IBM Software Group | Rational software Tagged Style - Main Flow Main flow steps do reference Structure the other parts of flow into steps the use case Number each step Extension point "labels" are used for Describe steps reference from briefly elsewhere
  • 33. IBM Software Group | Rational software Tagged Style - Alternative Flows Say at which Say what Say what Say at which extension point causes the happens extension they start flow to start point the flow resumes
  • 34. IBM Software Group | Rational software Tagged Style - Subflows Do not say where Subflows They always resume at the they start – they are always have next step from where they explicitly called steps are called Purpose: Break out complex or reused steps Write the main and alternate flows first, then factor out the subflows
  • 35. IBM Software Group | Rational software Use Cases in Tables Hard to Some things understand the don't neatly fit in sequence a column Programmers Non-technical love this format stakeholders hate this format
  • 36. IBM Software Group | Rational software Use Case Styles It is important to make a conscious decision about a style Decide up-front and enforce the chosen style Document the style in the Use Case Modeling Guidelines document
  • 37. IBM Software Group | Rational software Further Writing Considerations Use of “if” statements Actor choices Iteration Sequence of events
  • 38. IBM Software Group | Rational software Using “if-statements” Good things about "ifs" Familiar to programmers Bad things about "ifs" Can be hard to follow Harder to implement and test
  • 39. IBM Software Group | Rational software No “if-statements” Good Clearer Easier to read Easier to define scenarios Bad More alternative flows Decide up-front whether your team will use if- statements in it's use cases
  • 40. IBM Software Group | Rational software Actor Choices One choice in the main flow, other choices are handled in alternative flows CRUD use cases
  • 41. IBM Software Group | Rational software Showing Iteration
  • 42. IBM Software Group | Rational software The Sequence of the Events There is no reason why the credit card information must be entered at exactly this point in the sequence…
  • 43. IBM Software Group | Rational software The Sequence of the Events Can Be Optional Solution one Solution two If you don’t state otherwise, the developers will assume the sequence is a requirement
  • 44. IBM Software Group | Rational software The Bottom Line How you write a use case affects its usability By stakeholders By the development team Choose a style, and stick to it Make sure everyone uses the chosen style Think about, and use, good use case writing techniques Use cases easier to write They will also be easier to understand
  • 45. IBM Software Group | Rational software TQ Book Review Use Case Modeling, Bittner and Spense, Addison-Wesley, 2003 Great book, my bible, lots of good practical advice Patterns for Effective Use Cases, Adolph and Bramble, Addison- Wesley, 2003 Lot of good advice, some bad advice, a bit hard to follow Use Cases, Requirements in Context by Kulak and Guiney, Addison-Wesley, 2004 Some good advice, really like their chapter on classic mistakes Writing Effective Use Cases, Cockburn, Addison-Wesley, 2001 Do not like the approach for use case modeling taken in this book, levels of use cases with funny symbols tend to lead to functional decomposition in my mind
  • 46. IBM Software Group | Rational software