SlideShare a Scribd company logo
1 of 49
Download to read offline
Harsh Jegadeesan’s CLASSROOM




EFFECTIVE USE-CASE WRITING




                                 BITS Pilani
                                 Off-Campus Work-Integrated Learning Programmes
AGENDA
Requirements Engineering
What is a Use-Case?
Sections in a Use-Case
Goals & Scope of Use-Case
4 Steps to Use-Cases
Supplementary Specification




                                                         2



 9/22/2008                    Object Oriented Analysis & Design
ACKNOWLEDGEMENT
             This part of the lecture is based on:

Integrated Requirements Engineering: A Tutorial
     Ian Sommerville, Lancaster University
     International Requirements Engineering
               Conference (RE ’04).

           A copy of this could be got from:
        IEEE Software January- February 2005

                                                                                3



 9/22/2008                                           Object Oriented Analysis & Design
MOTIVATION FOR REQUIREMENTS
ENGINEERING

 Before any software system is developed:
      We must understand what the system is supposed to
      do
      How its use can support goals of individuals /
      organizations

 This involves:
      Understanding Application Domain
      Systems Operational Constraints
      Specific Functionality Required by stake-holders
      Essential characteristics like performance, security,
      reliability and dependability
                                                                                 4



  9/22/2008                                           Object Oriented Analysis & Design
WHAT IS REQUIREMENTS ENGINEERING?
 Requirements Engineering is the structured set
 of activities which:
      Help develop system understanding
      Identifying stake-holders and needs
      Document system specification for stake-holders and
      engineers involved

 Challenges:
      Numerous and distributed stake-holders
      Varying and conflicting goals
      Difficulties in Articulating these goals

                                                                               5



  9/22/2008                                         Object Oriented Analysis & Design
RELATIVE COSTS OF FIXING SOFTWARE
FAULTS
                                                                                     200




                                                                         30

                                                         10
                                   3         4
     1               2
                                                                                                                     6
Requirements     Specification   Planning   Design   Implementation   Integration   Maintenance




     9/22/2008                                                                            Object Oriented Analysis & Design
THE FUNDAMENTAL PROCESS
DISCLAIMER
RE varies significantly with:
 - Size and type of the application developed
 - Size and Culture of the companies involved
 - The Software Acquisition Process
For Instance,
 Large Military and Aerospace Projects – Formal
 RE
 Small Companies – RE is Brainstorming

                                                                      7



  9/22/2008                                Object Oriented Analysis & Design
THE RE ACTIVITY CYCLE




                                                                                                         8

              Courtesy: The Integrated Requirements Engineering: A Tutorial

  9/22/2008                                                                   Object Oriented Analysis & Design
ELICITATION
Process: Identify sources of information about the
 system and discover requirements from these
   Identifying stakeholders & user classes
      Customers or Clients
      Developers
      Users - novice users, expert users, occasional
      users, disabled users
   Goals & Tasks
      Focus on Problem domain
     And needs of stakeholders
                                                                          9
   Scenarios & Use cases
   9/22/2008                                   Object Oriented Analysis & Design
ELICITATION -TECHNIQUES
Elicitation Techniques
    Traditional techniques
          Questionnaires, surveys, interviews, documents
    Group elicitation techniques
    Prototyping
    Model-driven techniques
    Cognitive techniques
    Contextual techniques
Need for guidance on use of these Techniques


                                                                                    10



  9/22/2008                                                Object Oriented Analysis & Design
THE RE ACTIVITY CYCLE




              Courtesy: The Integrated Requirements Engineering: A Tutorial                             11



  9/22/2008                                                                   Object Oriented Analysis & Design
ANALYSIS
Process: Understand the Requirements their
 overlaps and conflicts
 Enterprise Modeling
   Organizational Structure
   Business Rules
 Data Modeling
   Entity-Relationship-Attribute
 Behavioral Modeling
   Functional behavior of Stakeholders.
   Existing
   Required                                                        12



  9/22/2008                               Object Oriented Analysis & Design
ANALYSIS [2]
 Domain Modeling
      Abstract description of the world
      Advantage: Requirement reuse within a
      domain
      Advantage: detailed reasoning about the
      domain
 Modeling Non-Functional Requirement
      Difficult to measure and test
 Analyzing Requirement Models
      Requirement animation, automated reasoning                         13
      Knowledge based critique, consistency check
  9/22/2008                                     Object Oriented Analysis & Design
THE RE ACTIVITY CYCLE




              Courtesy: The Integrated Requirements Engineering: A Tutorial                            14



  9/22/2008                                                                   Object Oriented Analysis & Design
VALIDATION
Process: Go back to system stake-holders and find
  out whether requirements are what they really
  need

  A prototype may be needed to capture
 requirements depending on the software process
 that is followed. Validation of requirements could
 be done using a throw-away prototype or through
 incremental development


                                                                       15



  9/22/2008                                   Object Oriented Analysis & Design
THE RE ACTIVITY CYCLE




              Courtesy: The Integrated Requirements Engineering: A Tutorial                            16



  9/22/2008                                                                   Object Oriented Analysis & Design
NEGOTIATION
Process: Inevitably, stakeholders’ views will differ,
 and proposed requirements might conflict. Try to
 reconcile conflicting views and generate a
 consistent set of requirements.

Negotiation must be done using techniques like
 group discussions whereby all the stake-holders
 are in a common platform. This helps in the
 emergence of a clear holistic view from the stake-
 holders’ end.

                                                                        17



   9/22/2008                                   Object Oriented Analysis & Design
THE RE ACTIVITY CYCLE




              Courtesy: The Integrated Requirements Engineering: A Tutorial                            18



  9/22/2008                                                                   Object Oriented Analysis & Design
DOCUMENTATION AND MANAGEMENT
 Write down the requirements in a way that
 stakeholders and software developers can
 understand.
 Control the requirements changes that will
 inevitably arise.
 This leads to effective communication of
 requirements (Improving Requirements
 Engineering Communication in Multiproject
 Environments)


                                                                       19



  9/22/2008                                   Object Oriented Analysis & Design
OUTCOME OF RE PROCESS
 Statement of Requirements (a.k.a A
 Requirements Document) that defines what is to
 be implemented
 Research Community argues that, more complete
 and consistent a requirement document is more
 likely that the software would be reliable
 Formal Description Vs Natural Language
 Description
      Formal – Complete, Concise yet costly
      Natural Language – Vague, client disputes yet cheap
      during changing requirements
                                                                             20



  9/22/2008                                         Object Oriented Analysis & Design
AGENDA
Requirements Engineering
What is a Use-Case?
Sections in a Use-Case
Goals & Scope of Use-Case
4 Steps to Use-Cases
Supplementary Specification




                                                       21



 9/22/2008                    Object Oriented Analysis & Design
WHAT IS A USE-CASE?
“A set of user instances, where each instance is a
 sequence of actions a system performs that yields
 an observable result of value to a particular
 actor”

Actor – Something with a behavior such as person,
 computer system etc.

Scenario – Specific sequence of actions and
 interactions between actors and system under
 discussion (SuD)                                                     22



  9/22/2008                                  Object Oriented Analysis & Design
ACTORS
 Actors have ‘goals’ in the system
 There are three kinds of actors
   Primary Actor: has user goals fulfilled through
   using services of the SuD
   Supporting Actors: provides a service to the
   SuD
     E.g. Automated payment authorization
     service
   Offstage Actor: has interest in the behavior of
   the use-case
     E.g. Government tax Agency                                       23



  9/22/2008                                  Object Oriented Analysis & Design
SCHEMATIC DIAGRAM

AN ACTOR HAS GOALS; GOALS NAME USE CASES; A USE
CASE HAS SCENARIOS NAMING SUB-USE CASES.

       Actor

 has

       Goal          names                Use case

                         contains                        calls
                                                                  condition
                                         Scenario
                                                                 succeed / fail
                                                                                                24
 Courtesy: Use-Cases in Theory & Practice, Alistair Cockburn

       9/22/2008                                                       Object Oriented Analysis & Design
ALISTAIR COCKBURN’S DEFINITION
 Use-Case :
 Purpose = requirements
 Contents = consistent prose
 Plurality = multiple scenarios per use case
 Structure = semi-formal




                                                                        25



  9/22/2008                                    Object Oriented Analysis & Design
KEY POINTS ABOUT USE-CASES
 Use-cases are requirements, primarily functional
 requirements
 Use Cases are text documents, not diagrams and
 use-case modeling is primarily an art of writing
 texts, not drawing
 Any use-case must add observable value to an
 actor
 Use-Cases are important part of the iterative
 planning
 Use-Case realizations drive design
                                                                     26



  9/22/2008                                 Object Oriented Analysis & Design
USE CASE TYPES
 Define ‘what’ the system must do (functional
 requirements) without deciding ‘how’ it will do it
 (design)- Black Box Use-cases
 Formality Types:
      Brief: Terse one-paragraph summary; covers main
      success scenario
      Casual: multiple paragraphs; cover various scenarios
      Fully dressed: most elaborate; all steps and
      variations are discussed in detail (www.usecases.org
      format)


                                                                             27



  9/22/2008                                         Object Oriented Analysis & Design
AGENDA
Requirements Engineering
What is a Use-Case?
Sections in a Use-Case
Goals & Scope of Use-Case
4 Steps to Use-Cases
Supplementary Specification




                                                       28



 9/22/2008                    Object Oriented Analysis & Design
ALISTAIR COCKBURN’S TEMPLATE

Run through of Alistair Cockburn’s Template




                                                                       29



  9/22/2008                                   Object Oriented Analysis & Design
SECTIONS IN USE-CASE
 Primary Actor
   Principal actor who calls upon system services
   to fulfill a goal
 Stakeholders and Interests
   Contract between stakeholders within the
   system boundary
 Pre-Conditions / Post-Conditions
   Pre-conditions must always be true before
   starting
   Post-Conditions suggest what might be true on
   success                                                           30



  9/22/2008                                 Object Oriented Analysis & Design
SECTIONS IN USE-CASE [2]
 Main Success Scenario (Basic Flow)
  ‘Happy path’ scenario
  Defer all conditional and branching
  statements to the extension section

 A Scenario could be three types:
    Interaction between actors
    A validation by the system
    A state change by the system

                                                                 31



  9/22/2008                             Object Oriented Analysis & Design
SECTIONS IN USE-CASE [3]
 Extensions (Alternate Flow)
   Indicates all other scenarios or branches, both
   success and failure
   These branches are from the main scenario
   and hence labeled ‘1a’, ‘3b’ etc
   At the end of the extension, the scenario
   merges back with the main success scenario
   Sometimes a particular extension point might
   be quite complex and might be expressed as a
   separate use-case
     E.g. ‘Paying by Credit card’                                     32



  9/22/2008                                  Object Oriented Analysis & Design
SECTIONS IN USE-CASE [4]
 Special Requirements
   If a non-functional requirements relates
   specifically to a use-case then record it with
   the use-case
   These are normally qualities like performance,
   reliability and usability
 Technology and Data variation list
   ‘How’ something must be done
   Technical constraint imposed by the
   stakeholder and hence necessary to capture
                                                                     33



  9/22/2008                                 Object Oriented Analysis & Design
INCREASING LEVELS OF PRECISION
 Actor and Goals
   List of Actors and which of their goals the
   system would support.
 Use-Case Brief or Main Success Scenario
      Pursue main success scenario
 Failure Conditions
      Based on MSS, deliberate all failures that could occur
      Do not worry about Failure handling at this step
 Failure Handling
      How system is supposed to respond to each failure.
      New business rules, new actors and goals could                           34
      surface
  9/22/2008                                           Object Oriented Analysis & Design
AGENDA
Requirements Engineering
What is a Use-Case?
Sections in a Use-Case
Goals & Scope of Use-Case
4 Steps to Use-Cases
Supplementary Specification




                                                       35



 9/22/2008                    Object Oriented Analysis & Design
CHALLENGES IN USE-CASE DISCOVERY
 Tasks can be grouped at many levels of
 granularity from one or a few small steps to
 enterprise level activities
 We use Elementary Business Processes (EBP) and
 Goals as a framework to identify use-cases
 Which is a valid use-case?
    Negotiate a Supplier Contract
    Handle Returns
    Log In
  All these are valid at different levels
                                                                   36



  9/22/2008                               Object Oriented Analysis & Design
EBP GUIDELINE
 For requirements analysis focus on use-cases at
 the level of a Elementary Business Process (EBP)
 Caveat
   Although base-use cases must follow the EBP
   guideline, there could be sub-use cases which
   exists at a lower level
 Actors have goal a EBP use-case is called a user-
 goal level use-case, this leads to a recommended
 procedure
      1. Find the user goals
     2. Define a use-case for each
                                                                      37



  9/22/2008                                  Object Oriented Analysis & Design
INVESTIGATING USER GOALS VS. INVESTIGATING
USE-CASES
                                                         Goal Hierarchy

                   Prevent theft, data
                       corruption




                            Identify to the system




 Cashier at PoS Scenario

 1. Quickly log-in Sub-goal                     Log In
 2. Capture Sales Main Goal / Base
                  use-case
                                                                                        38



       9/22/2008                                               Object Oriented Analysis & Design
DESIGN SCOPE VS. GOAL LEVEL
(SCOPE VS. LEVEL)
 Scope
      Which system boundary do we mean?
              “Spatial extent” of the system
 Level
      Why do we want this goal?
              “strategic” vs. “user task” vs. “sub-function”




                                                                                        39



  9/22/2008                                                    Object Oriented Analysis & Design
SCOPE

                  Dept. 1                             Dept. 3
                                 Sys. 1


                                                 System



   Organization
                                   C1                     C2
                                          Component
                  Dept. 2

                                            C3
                                                          Sys. 2




                  Organization


                                                                                            40



 9/22/2008                                                         Object Oriented Analysis & Design
LEVEL
                                           project goal

 Strategic Goals
                                                                                    “White”
                       advertise            order              invoice


                                                                                                 “Blue”
User Goals
   set up           reference        monitor         place                create      send
   promotion       promotion       promotion         order               invoice      invoice


                                                                                              “Indigo”
Subfunctions         identify      register user          identify         identify
                   promotion                              product          customer



                                                                                                            41



      9/22/2008                                                                    Object Oriented Analysis & Design
AGENDA
Requirements Engineering
What is a Use-Case?
Sections in a Use-Case
Design Scope & Goal Level of Use-Case
4 Steps to Use-Cases
Supplementary Specification




                                                                 42



 9/22/2008                              Object Oriented Analysis & Design
STEP I – CHOOSING SYSTEM BOUNDARY
                                              1
               Choosing the System Boundary




             -Clarified by defining what is outside
             -Once external Actors are identified the
             boundary becomes clear



                                                                               43



 9/22/2008                                            Object Oriented Analysis & Design
STEP 2 & 3 – FINDING PRIMARY
ACTORS & GOALS
                                                  1
                   Choosing the System Boundary

                                                  2
                      Finding Primary Actors

                                                  3
                          Finding Goals



              Identify Primary Actors by asking
              questions e.g. Who start/stops the
              system?
              Actors have goals that must be satisfied                         44

              by the system
  9/22/2008                                           Object Oriented Analysis & Design
ACTOR- GOAL LIST




    Courtesy: Applying UML & Patterns, Craig Larman



     9/22/2008           Object Oriented Analysis & Design   45
STEP 4 – DEFINE USE-CASES
                                                 1
                  Choosing the System Boundary

                                                 2
                     Finding Primary Actors

                                                 3
                         Finding Goals

                                                 4
                        Define Use-Cases


             Start use-cases with a verb
             CRUD goals into one use-case Manage ‘X’                          46



 9/22/2008                                           Object Oriented Analysis & Design
AGENDA
Requirements Engineering
What is a Use-Case?
Sections in a Use-Case
Goals & Scope of Use-Case
4 Steps to Use-Cases
Supplementary Specification




                                                       47



 9/22/2008                    Object Oriented Analysis & Design
SUPPLEMENTARY SPECIFICATIONS
 Apart from use-cases, there are other kind of
 requirements
      Documentation
      Packaging
      Supportability
      Licensing
 More of non-functional in nature for the scope of
 the entire SuD



                                                                       48



  9/22/2008                                   Object Oriented Analysis & Design
REFERENCES
 Applying UML & Patterns, Craig Larman
   Text: Part II - Inception 6,7,8, 25

 Writing Effective Use-cases, Alistair Cockburn

 www.usecases.org for the Use-case Template




                                                                     49



  9/22/2008                                 Object Oriented Analysis & Design

More Related Content

What's hot

Functional Specification with Use-Cases
Functional Specification with Use-CasesFunctional Specification with Use-Cases
Functional Specification with Use-CasesProf. Amir Tomer
 
Android notification
Android notificationAndroid notification
Android notificationKrazy Koder
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT Ipkaviya
 
Advance Java Programming(CM5I) Event handling
Advance Java Programming(CM5I) Event handlingAdvance Java Programming(CM5I) Event handling
Advance Java Programming(CM5I) Event handlingPayal Dungarwal
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysisasimnawaz54
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementfizamustanser
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)Savyasachi14
 
Test cases planning
Test cases planningTest cases planning
Test cases planningAbdul Basit
 
Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochSorina Chirilă
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsAmr E. Mohamed
 
Análise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de SequenciaAnálise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de SequenciaCursoSENAC
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Remote Method Invocation in JAVA
Remote Method Invocation in JAVARemote Method Invocation in JAVA
Remote Method Invocation in JAVAJalpesh Vasa
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements Rohela Raouf
 

What's hot (20)

Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Functional Specification with Use-Cases
Functional Specification with Use-CasesFunctional Specification with Use-Cases
Functional Specification with Use-Cases
 
Srs template ieee
Srs template ieeeSrs template ieee
Srs template ieee
 
Android notification
Android notificationAndroid notification
Android notification
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT I
 
Advance Java Programming(CM5I) Event handling
Advance Java Programming(CM5I) Event handlingAdvance Java Programming(CM5I) Event handling
Advance Java Programming(CM5I) Event handling
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Action Bar in Android
Action Bar in AndroidAction Bar in Android
Action Bar in Android
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
 
Test cases planning
Test cases planningTest cases planning
Test cases planning
 
Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady Booch
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
State Diagrams
State DiagramsState Diagrams
State Diagrams
 
Análise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de SequenciaAnálise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de Sequencia
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Remote Method Invocation in JAVA
Remote Method Invocation in JAVARemote Method Invocation in JAVA
Remote Method Invocation in JAVA
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements
 

Viewers also liked

SOA India 2009 | SOA and Web Business Platforms
SOA India 2009 | SOA and Web Business PlatformsSOA India 2009 | SOA and Web Business Platforms
SOA India 2009 | SOA and Web Business PlatformsHarsh Jegadeesan
 
Responsibility Driven Design
Responsibility Driven DesignResponsibility Driven Design
Responsibility Driven DesignHarsh Jegadeesan
 
Web Business Platforms On The Cloud An Engineering Perspective
Web Business Platforms On The Cloud   An Engineering PerspectiveWeb Business Platforms On The Cloud   An Engineering Perspective
Web Business Platforms On The Cloud An Engineering PerspectiveHarsh Jegadeesan
 
APIs make you mobile - Mobile World Congress 2017
APIs make you mobile - Mobile World Congress 2017APIs make you mobile - Mobile World Congress 2017
APIs make you mobile - Mobile World Congress 2017Harsh Jegadeesan
 
Patterns For Effective Use Cases
Patterns For Effective Use CasesPatterns For Effective Use Cases
Patterns For Effective Use CasesMayflower GmbH
 
Intelligent Business Operations for Utilities, powered by SAP HANA
Intelligent Business Operations for Utilities, powered by SAP HANAIntelligent Business Operations for Utilities, powered by SAP HANA
Intelligent Business Operations for Utilities, powered by SAP HANAHarsh Jegadeesan
 
SAP API Business Hub - SAP Community Webinar
SAP API Business Hub - SAP Community Webinar SAP API Business Hub - SAP Community Webinar
SAP API Business Hub - SAP Community Webinar Harsh Jegadeesan
 
SAP TechEd 2015 INT103 Enabling Digital Transformation with APIs and SAP API...
SAP TechEd  2015 INT103 Enabling Digital Transformation with APIs and SAP API...SAP TechEd  2015 INT103 Enabling Digital Transformation with APIs and SAP API...
SAP TechEd 2015 INT103 Enabling Digital Transformation with APIs and SAP API...Harsh Jegadeesan
 
Apply Design Thinking to enable Digital Business Transformation with SAP In...
Apply Design Thinking to enable Digital Business Transformation with SAP In...Apply Design Thinking to enable Digital Business Transformation with SAP In...
Apply Design Thinking to enable Digital Business Transformation with SAP In...Harsh Jegadeesan
 
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)Valeria Gasik
 
Design use case template (1)
Design use case template (1)Design use case template (1)
Design use case template (1)IIUM
 
Effective usecases
Effective usecasesEffective usecases
Effective usecasesam_iim
 

Viewers also liked (20)

Writing Good Use Cases
Writing Good Use CasesWriting Good Use Cases
Writing Good Use Cases
 
SOA India 2009 | SOA and Web Business Platforms
SOA India 2009 | SOA and Web Business PlatformsSOA India 2009 | SOA and Web Business Platforms
SOA India 2009 | SOA and Web Business Platforms
 
Responsibility Driven Design
Responsibility Driven DesignResponsibility Driven Design
Responsibility Driven Design
 
Web Business Platforms On The Cloud An Engineering Perspective
Web Business Platforms On The Cloud   An Engineering PerspectiveWeb Business Platforms On The Cloud   An Engineering Perspective
Web Business Platforms On The Cloud An Engineering Perspective
 
APIs make you mobile - Mobile World Congress 2017
APIs make you mobile - Mobile World Congress 2017APIs make you mobile - Mobile World Congress 2017
APIs make you mobile - Mobile World Congress 2017
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Patterns For Effective Use Cases
Patterns For Effective Use CasesPatterns For Effective Use Cases
Patterns For Effective Use Cases
 
Usecase
UsecaseUsecase
Usecase
 
Modeling Software
Modeling SoftwareModeling Software
Modeling Software
 
Case Study Guidelines
Case Study GuidelinesCase Study Guidelines
Case Study Guidelines
 
Intelligent Business Operations for Utilities, powered by SAP HANA
Intelligent Business Operations for Utilities, powered by SAP HANAIntelligent Business Operations for Utilities, powered by SAP HANA
Intelligent Business Operations for Utilities, powered by SAP HANA
 
SAP API Business Hub - SAP Community Webinar
SAP API Business Hub - SAP Community Webinar SAP API Business Hub - SAP Community Webinar
SAP API Business Hub - SAP Community Webinar
 
SAP TechEd 2015 INT103 Enabling Digital Transformation with APIs and SAP API...
SAP TechEd  2015 INT103 Enabling Digital Transformation with APIs and SAP API...SAP TechEd  2015 INT103 Enabling Digital Transformation with APIs and SAP API...
SAP TechEd 2015 INT103 Enabling Digital Transformation with APIs and SAP API...
 
SAP API Business Hub
SAP API Business HubSAP API Business Hub
SAP API Business Hub
 
Apply Design Thinking to enable Digital Business Transformation with SAP In...
Apply Design Thinking to enable Digital Business Transformation with SAP In...Apply Design Thinking to enable Digital Business Transformation with SAP In...
Apply Design Thinking to enable Digital Business Transformation with SAP In...
 
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
Personas, Scenarios, User Stories, Use Cases (IxDworks.com)
 
Design use case template (1)
Design use case template (1)Design use case template (1)
Design use case template (1)
 
Effective usecases
Effective usecasesEffective usecases
Effective usecases
 
User guide
User guideUser guide
User guide
 

Similar to Harsh Jegadeesan's Effective Use-Case Writing Class

Automated BI Modernizations
Automated BI ModernizationsAutomated BI Modernizations
Automated BI Modernizationsdlautzenheiser
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization Ivano Malavolta
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
General and Systemic View of Life Cycle of Projects and Products
General and Systemic View of Life Cycle of Projects and ProductsGeneral and Systemic View of Life Cycle of Projects and Products
General and Systemic View of Life Cycle of Projects and ProductsAntonio Sallum Librelato
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process ModelsCarles Farré
 
BA conf presentation 2010
BA conf presentation 2010BA conf presentation 2010
BA conf presentation 2010Julen Mohanty
 
CMAD Group Workbook 3.2 Op Model Enable
CMAD Group Workbook 3.2 Op Model EnableCMAD Group Workbook 3.2 Op Model Enable
CMAD Group Workbook 3.2 Op Model EnableAlexander Doré
 
Scenario based methods
Scenario based methodsScenario based methods
Scenario based methodsJoshuaU1
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)stanbridge
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)stanbridge
 
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...ijseajournal
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_contextMajong DevJfu
 
Discovering Computers: Chapter 12
Discovering Computers: Chapter 12Discovering Computers: Chapter 12
Discovering Computers: Chapter 12Anna Stirling
 
Nailing It Down: Detailed Design to Preserve the UX Vision
Nailing It Down: Detailed Design to Preserve the UX VisionNailing It Down: Detailed Design to Preserve the UX Vision
Nailing It Down: Detailed Design to Preserve the UX Visionjsokohl
 
Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerKurt Solarte
 

Similar to Harsh Jegadeesan's Effective Use-Case Writing Class (20)

Automated BI Modernizations
Automated BI ModernizationsAutomated BI Modernizations
Automated BI Modernizations
 
E3 chap-06
E3 chap-06E3 chap-06
E3 chap-06
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Feasible
FeasibleFeasible
Feasible
 
General and Systemic View of Life Cycle of Projects and Products
General and Systemic View of Life Cycle of Projects and ProductsGeneral and Systemic View of Life Cycle of Projects and Products
General and Systemic View of Life Cycle of Projects and Products
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models
 
BA conf presentation 2010
BA conf presentation 2010BA conf presentation 2010
BA conf presentation 2010
 
CMAD Group Workbook 3.2 Op Model Enable
CMAD Group Workbook 3.2 Op Model EnableCMAD Group Workbook 3.2 Op Model Enable
CMAD Group Workbook 3.2 Op Model Enable
 
Scenario based methods
Scenario based methodsScenario based methods
Scenario based methods
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Chap12
Chap12Chap12
Chap12
 
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
A SOFTWARE REQUIREMENT ENGINEERING TECHNIQUE USING OOADA-RE AND CSC FOR IOT B...
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Discovering Computers: Chapter 12
Discovering Computers: Chapter 12Discovering Computers: Chapter 12
Discovering Computers: Chapter 12
 
Madhu_Resume
Madhu_ResumeMadhu_Resume
Madhu_Resume
 
Nailing It Down: Detailed Design to Preserve the UX Vision
Nailing It Down: Detailed Design to Preserve the UX VisionNailing It Down: Detailed Design to Preserve the UX Vision
Nailing It Down: Detailed Design to Preserve the UX Vision
 
Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements Composer
 
Rm tools
Rm toolsRm tools
Rm tools
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

Harsh Jegadeesan's Effective Use-Case Writing Class

  • 1. Harsh Jegadeesan’s CLASSROOM EFFECTIVE USE-CASE WRITING BITS Pilani Off-Campus Work-Integrated Learning Programmes
  • 2. AGENDA Requirements Engineering What is a Use-Case? Sections in a Use-Case Goals & Scope of Use-Case 4 Steps to Use-Cases Supplementary Specification 2 9/22/2008 Object Oriented Analysis & Design
  • 3. ACKNOWLEDGEMENT This part of the lecture is based on: Integrated Requirements Engineering: A Tutorial Ian Sommerville, Lancaster University International Requirements Engineering Conference (RE ’04). A copy of this could be got from: IEEE Software January- February 2005 3 9/22/2008 Object Oriented Analysis & Design
  • 4. MOTIVATION FOR REQUIREMENTS ENGINEERING Before any software system is developed: We must understand what the system is supposed to do How its use can support goals of individuals / organizations This involves: Understanding Application Domain Systems Operational Constraints Specific Functionality Required by stake-holders Essential characteristics like performance, security, reliability and dependability 4 9/22/2008 Object Oriented Analysis & Design
  • 5. WHAT IS REQUIREMENTS ENGINEERING? Requirements Engineering is the structured set of activities which: Help develop system understanding Identifying stake-holders and needs Document system specification for stake-holders and engineers involved Challenges: Numerous and distributed stake-holders Varying and conflicting goals Difficulties in Articulating these goals 5 9/22/2008 Object Oriented Analysis & Design
  • 6. RELATIVE COSTS OF FIXING SOFTWARE FAULTS 200 30 10 3 4 1 2 6 Requirements Specification Planning Design Implementation Integration Maintenance 9/22/2008 Object Oriented Analysis & Design
  • 7. THE FUNDAMENTAL PROCESS DISCLAIMER RE varies significantly with: - Size and type of the application developed - Size and Culture of the companies involved - The Software Acquisition Process For Instance, Large Military and Aerospace Projects – Formal RE Small Companies – RE is Brainstorming 7 9/22/2008 Object Oriented Analysis & Design
  • 8. THE RE ACTIVITY CYCLE 8 Courtesy: The Integrated Requirements Engineering: A Tutorial 9/22/2008 Object Oriented Analysis & Design
  • 9. ELICITATION Process: Identify sources of information about the system and discover requirements from these Identifying stakeholders & user classes Customers or Clients Developers Users - novice users, expert users, occasional users, disabled users Goals & Tasks Focus on Problem domain And needs of stakeholders 9 Scenarios & Use cases 9/22/2008 Object Oriented Analysis & Design
  • 10. ELICITATION -TECHNIQUES Elicitation Techniques Traditional techniques Questionnaires, surveys, interviews, documents Group elicitation techniques Prototyping Model-driven techniques Cognitive techniques Contextual techniques Need for guidance on use of these Techniques 10 9/22/2008 Object Oriented Analysis & Design
  • 11. THE RE ACTIVITY CYCLE Courtesy: The Integrated Requirements Engineering: A Tutorial 11 9/22/2008 Object Oriented Analysis & Design
  • 12. ANALYSIS Process: Understand the Requirements their overlaps and conflicts Enterprise Modeling Organizational Structure Business Rules Data Modeling Entity-Relationship-Attribute Behavioral Modeling Functional behavior of Stakeholders. Existing Required 12 9/22/2008 Object Oriented Analysis & Design
  • 13. ANALYSIS [2] Domain Modeling Abstract description of the world Advantage: Requirement reuse within a domain Advantage: detailed reasoning about the domain Modeling Non-Functional Requirement Difficult to measure and test Analyzing Requirement Models Requirement animation, automated reasoning 13 Knowledge based critique, consistency check 9/22/2008 Object Oriented Analysis & Design
  • 14. THE RE ACTIVITY CYCLE Courtesy: The Integrated Requirements Engineering: A Tutorial 14 9/22/2008 Object Oriented Analysis & Design
  • 15. VALIDATION Process: Go back to system stake-holders and find out whether requirements are what they really need A prototype may be needed to capture requirements depending on the software process that is followed. Validation of requirements could be done using a throw-away prototype or through incremental development 15 9/22/2008 Object Oriented Analysis & Design
  • 16. THE RE ACTIVITY CYCLE Courtesy: The Integrated Requirements Engineering: A Tutorial 16 9/22/2008 Object Oriented Analysis & Design
  • 17. NEGOTIATION Process: Inevitably, stakeholders’ views will differ, and proposed requirements might conflict. Try to reconcile conflicting views and generate a consistent set of requirements. Negotiation must be done using techniques like group discussions whereby all the stake-holders are in a common platform. This helps in the emergence of a clear holistic view from the stake- holders’ end. 17 9/22/2008 Object Oriented Analysis & Design
  • 18. THE RE ACTIVITY CYCLE Courtesy: The Integrated Requirements Engineering: A Tutorial 18 9/22/2008 Object Oriented Analysis & Design
  • 19. DOCUMENTATION AND MANAGEMENT Write down the requirements in a way that stakeholders and software developers can understand. Control the requirements changes that will inevitably arise. This leads to effective communication of requirements (Improving Requirements Engineering Communication in Multiproject Environments) 19 9/22/2008 Object Oriented Analysis & Design
  • 20. OUTCOME OF RE PROCESS Statement of Requirements (a.k.a A Requirements Document) that defines what is to be implemented Research Community argues that, more complete and consistent a requirement document is more likely that the software would be reliable Formal Description Vs Natural Language Description Formal – Complete, Concise yet costly Natural Language – Vague, client disputes yet cheap during changing requirements 20 9/22/2008 Object Oriented Analysis & Design
  • 21. AGENDA Requirements Engineering What is a Use-Case? Sections in a Use-Case Goals & Scope of Use-Case 4 Steps to Use-Cases Supplementary Specification 21 9/22/2008 Object Oriented Analysis & Design
  • 22. WHAT IS A USE-CASE? “A set of user instances, where each instance is a sequence of actions a system performs that yields an observable result of value to a particular actor” Actor – Something with a behavior such as person, computer system etc. Scenario – Specific sequence of actions and interactions between actors and system under discussion (SuD) 22 9/22/2008 Object Oriented Analysis & Design
  • 23. ACTORS Actors have ‘goals’ in the system There are three kinds of actors Primary Actor: has user goals fulfilled through using services of the SuD Supporting Actors: provides a service to the SuD E.g. Automated payment authorization service Offstage Actor: has interest in the behavior of the use-case E.g. Government tax Agency 23 9/22/2008 Object Oriented Analysis & Design
  • 24. SCHEMATIC DIAGRAM AN ACTOR HAS GOALS; GOALS NAME USE CASES; A USE CASE HAS SCENARIOS NAMING SUB-USE CASES. Actor has Goal names Use case contains calls condition Scenario succeed / fail 24 Courtesy: Use-Cases in Theory & Practice, Alistair Cockburn 9/22/2008 Object Oriented Analysis & Design
  • 25. ALISTAIR COCKBURN’S DEFINITION Use-Case : Purpose = requirements Contents = consistent prose Plurality = multiple scenarios per use case Structure = semi-formal 25 9/22/2008 Object Oriented Analysis & Design
  • 26. KEY POINTS ABOUT USE-CASES Use-cases are requirements, primarily functional requirements Use Cases are text documents, not diagrams and use-case modeling is primarily an art of writing texts, not drawing Any use-case must add observable value to an actor Use-Cases are important part of the iterative planning Use-Case realizations drive design 26 9/22/2008 Object Oriented Analysis & Design
  • 27. USE CASE TYPES Define ‘what’ the system must do (functional requirements) without deciding ‘how’ it will do it (design)- Black Box Use-cases Formality Types: Brief: Terse one-paragraph summary; covers main success scenario Casual: multiple paragraphs; cover various scenarios Fully dressed: most elaborate; all steps and variations are discussed in detail (www.usecases.org format) 27 9/22/2008 Object Oriented Analysis & Design
  • 28. AGENDA Requirements Engineering What is a Use-Case? Sections in a Use-Case Goals & Scope of Use-Case 4 Steps to Use-Cases Supplementary Specification 28 9/22/2008 Object Oriented Analysis & Design
  • 29. ALISTAIR COCKBURN’S TEMPLATE Run through of Alistair Cockburn’s Template 29 9/22/2008 Object Oriented Analysis & Design
  • 30. SECTIONS IN USE-CASE Primary Actor Principal actor who calls upon system services to fulfill a goal Stakeholders and Interests Contract between stakeholders within the system boundary Pre-Conditions / Post-Conditions Pre-conditions must always be true before starting Post-Conditions suggest what might be true on success 30 9/22/2008 Object Oriented Analysis & Design
  • 31. SECTIONS IN USE-CASE [2] Main Success Scenario (Basic Flow) ‘Happy path’ scenario Defer all conditional and branching statements to the extension section A Scenario could be three types: Interaction between actors A validation by the system A state change by the system 31 9/22/2008 Object Oriented Analysis & Design
  • 32. SECTIONS IN USE-CASE [3] Extensions (Alternate Flow) Indicates all other scenarios or branches, both success and failure These branches are from the main scenario and hence labeled ‘1a’, ‘3b’ etc At the end of the extension, the scenario merges back with the main success scenario Sometimes a particular extension point might be quite complex and might be expressed as a separate use-case E.g. ‘Paying by Credit card’ 32 9/22/2008 Object Oriented Analysis & Design
  • 33. SECTIONS IN USE-CASE [4] Special Requirements If a non-functional requirements relates specifically to a use-case then record it with the use-case These are normally qualities like performance, reliability and usability Technology and Data variation list ‘How’ something must be done Technical constraint imposed by the stakeholder and hence necessary to capture 33 9/22/2008 Object Oriented Analysis & Design
  • 34. INCREASING LEVELS OF PRECISION Actor and Goals List of Actors and which of their goals the system would support. Use-Case Brief or Main Success Scenario Pursue main success scenario Failure Conditions Based on MSS, deliberate all failures that could occur Do not worry about Failure handling at this step Failure Handling How system is supposed to respond to each failure. New business rules, new actors and goals could 34 surface 9/22/2008 Object Oriented Analysis & Design
  • 35. AGENDA Requirements Engineering What is a Use-Case? Sections in a Use-Case Goals & Scope of Use-Case 4 Steps to Use-Cases Supplementary Specification 35 9/22/2008 Object Oriented Analysis & Design
  • 36. CHALLENGES IN USE-CASE DISCOVERY Tasks can be grouped at many levels of granularity from one or a few small steps to enterprise level activities We use Elementary Business Processes (EBP) and Goals as a framework to identify use-cases Which is a valid use-case? Negotiate a Supplier Contract Handle Returns Log In All these are valid at different levels 36 9/22/2008 Object Oriented Analysis & Design
  • 37. EBP GUIDELINE For requirements analysis focus on use-cases at the level of a Elementary Business Process (EBP) Caveat Although base-use cases must follow the EBP guideline, there could be sub-use cases which exists at a lower level Actors have goal a EBP use-case is called a user- goal level use-case, this leads to a recommended procedure 1. Find the user goals 2. Define a use-case for each 37 9/22/2008 Object Oriented Analysis & Design
  • 38. INVESTIGATING USER GOALS VS. INVESTIGATING USE-CASES Goal Hierarchy Prevent theft, data corruption Identify to the system Cashier at PoS Scenario 1. Quickly log-in Sub-goal Log In 2. Capture Sales Main Goal / Base use-case 38 9/22/2008 Object Oriented Analysis & Design
  • 39. DESIGN SCOPE VS. GOAL LEVEL (SCOPE VS. LEVEL) Scope Which system boundary do we mean? “Spatial extent” of the system Level Why do we want this goal? “strategic” vs. “user task” vs. “sub-function” 39 9/22/2008 Object Oriented Analysis & Design
  • 40. SCOPE Dept. 1 Dept. 3 Sys. 1 System Organization C1 C2 Component Dept. 2 C3 Sys. 2 Organization 40 9/22/2008 Object Oriented Analysis & Design
  • 41. LEVEL project goal Strategic Goals “White” advertise order invoice “Blue” User Goals set up reference monitor place create send promotion promotion promotion order invoice invoice “Indigo” Subfunctions identify register user identify identify promotion product customer 41 9/22/2008 Object Oriented Analysis & Design
  • 42. AGENDA Requirements Engineering What is a Use-Case? Sections in a Use-Case Design Scope & Goal Level of Use-Case 4 Steps to Use-Cases Supplementary Specification 42 9/22/2008 Object Oriented Analysis & Design
  • 43. STEP I – CHOOSING SYSTEM BOUNDARY 1 Choosing the System Boundary -Clarified by defining what is outside -Once external Actors are identified the boundary becomes clear 43 9/22/2008 Object Oriented Analysis & Design
  • 44. STEP 2 & 3 – FINDING PRIMARY ACTORS & GOALS 1 Choosing the System Boundary 2 Finding Primary Actors 3 Finding Goals Identify Primary Actors by asking questions e.g. Who start/stops the system? Actors have goals that must be satisfied 44 by the system 9/22/2008 Object Oriented Analysis & Design
  • 45. ACTOR- GOAL LIST Courtesy: Applying UML & Patterns, Craig Larman 9/22/2008 Object Oriented Analysis & Design 45
  • 46. STEP 4 – DEFINE USE-CASES 1 Choosing the System Boundary 2 Finding Primary Actors 3 Finding Goals 4 Define Use-Cases Start use-cases with a verb CRUD goals into one use-case Manage ‘X’ 46 9/22/2008 Object Oriented Analysis & Design
  • 47. AGENDA Requirements Engineering What is a Use-Case? Sections in a Use-Case Goals & Scope of Use-Case 4 Steps to Use-Cases Supplementary Specification 47 9/22/2008 Object Oriented Analysis & Design
  • 48. SUPPLEMENTARY SPECIFICATIONS Apart from use-cases, there are other kind of requirements Documentation Packaging Supportability Licensing More of non-functional in nature for the scope of the entire SuD 48 9/22/2008 Object Oriented Analysis & Design
  • 49. REFERENCES Applying UML & Patterns, Craig Larman Text: Part II - Inception 6,7,8, 25 Writing Effective Use-cases, Alistair Cockburn www.usecases.org for the Use-case Template 49 9/22/2008 Object Oriented Analysis & Design