# Presentation: 052717

## Developing Requirements through Use Cases

- Presented By: Paula Johnson
- Planning and Evaluation Branch
- Human Resources Division

## Agenda

- Requirements in Perspective
- Use Cases
- Getting Help

## Requirements in Perspective

**Requirements in Perspective**

*CMM Level 2 *

- Elicitation
- Analysis
- Specification
- Verification

**Baselined Requirements**

- Change Process
*(CMM Level 2)*

- Project
- Changes

- Requirements
- Changes

- Revised
-  Baseline

- Current
- Baseline

- Functional
- Requirements

- Nonfunctional
- Requirements

- Development

*CMM Level 3 *

- Management

- Requirements

- Based on:  _Software Requirements_, K. Wiegers

## Requirements and CMM

**Requirements and CMM**

**Optimizing**

**Initial**

**Repeatable**

**Defined**

**Managed**

**Project **
**Management**

**Integrated **

**Engineering**

**Process**

**Product and**

**Process Quality**

**Managing**

**Change**

**1**

**2**

**3**

**4**

**5**

-   Organization Process Focus
-   Organization Process Definition
-   Training Program
-   Integrated Software Management
-   Software Product Engineering
-   Allocate Reqs to Software
-   **Develop Software Requirements**
-   Develop Software Architecture
-   Design Software
-   Code
-   Integrate
-   Test
-   Intergroup Coordination
-   Peer Reviews

**Level 3**

**Level 2**

-   **Requirements Management**
-   Project Planning
-   Project Tracking and Oversight
-   Subcontract Management
-   Quality Assurance
-   Configuration Management

##               Requirements and PM

**              ****Requirements and PM**

- Initiation

- Project
- Plan

- Project Plan Updates

- Change Requests

- Project Archives

- Formal Acceptance

- Lessons Learned

- Generic Project

- Software Project

**Requirements**

- Charter

- SDP ( I – IV)
**SRS**

- SDP (V – XIII)
- SCM Plan
- SQA Plan
- Design Document

- Project Archives

- Formal Acceptance

- Lessons Learned

- Develop

- Change Requests

- Updates:  SDP, **SRS**, SCM, SQA, Design

- .exe

- Code

- Test Plan, Scripts, Results, Training Plan,
- User Doc, Audit Reports

- Training
- Materials

- PRD

## Deliverable Overview

**Deliverable Overview**

**Charter**

**SDP**

**SRS**

- Mission Statement
- Clarification Statement
- Milestones

- Project Summary
- Scope Statement
- Software Life Cycle
- Procedures, Methods, and Standards
- Work Breakdown Structure (WBS), Responsibility, and Schedule
- Resource Plan
- Financial Analysis
- Risk Management
- Quality Plan
- Communications Plan
- Change Control Plan
- Project Tracking and Control
- Project Closeout

- Introduction
- Overall Description
- External Interface Requirements
- System Features
- Nonfunctional Requirements
- Other Requirements
-  Appendix A: Glossary
-  Appendix B: Analysis Models
-  Appendix C: TBD List

## Deliverable Timing

## So What is a Use Case?

- “A narrative document that describes the sequence of events an actor using a system to complete a process.” [Jacobson92]
- “They are stories or cases of using a system.” [Larman98]
- “A description of a set of sequences of actions, including variants, that a system performs that yield an observable result of value to an actor.”[Booch 99]

## Use Cases and the SRS

- Introduction
- Overall Description
- External Interface Requirements
- System Features
- Nonfunctional Requirements
- Other Requirements
- Appendix A:  Glossary
- Appendix B:  Analysis Models
- Appendix C:  TBD List

**  ****Charter**

**SRS**

**SDP**

**SDP**

**IV. Use Cases**
-  1. Use Case Template
-  2. Use Cases
-  3. Actors by Use Case Matrix
-  4. Activity Sequence Diagram
**V. Other Nonfunctional Requirements**
-  1. Performance Requirements
-  2. Safety Requirements
-  3. Security Requirements
-  4. Software Quality Attributes
-  5. Business Rules

## Use Case Template

**Use Case Template**

**Use Case Name**

**Brief Description**

**Use Case ID**

**Actors**

**Flow of Events**

- Alternate Course

**Post-Conditions**

**Pre-Conditions**

**Error Flows**

**Assumptions**

**Special Requirements**

- Normal Course

- Title of activity in form <Verb, Noun>

- Just a sentence or two about the activity to give a sense of what the activity does for the business

- A unique identifier for the use case.  Used in the Actor by Use Case Matrix.

- Users who can perform the activity.

- A successful run thru the activity to accomplish the goal of the use case.  It is the most common path taken by an actor.  Actor takes the first step, then system responds.  Repeat until complete.

- Less common paths that need to be addressed.

- A nonfunctional requirement specific to the use case, such as legal requirements, standards, quality attributes—usability, reliability...

- Conditions that must be satisfied prior to performing the use case.

- Describes the state of the system after the use case has finished.

- Interactions that occur when an error happens.

- Assumptions specific to the use case. Don’t confuse with project assumptions.

## Authenticate User

**Authenticate User**

- 1. **USE CASE TITLE**  	**Authenticate User**
- 1.1 **BRIEF DESCRIPTION**  	All users who request entry to the system must prove who they say they are (authentication).  This applies to users inside the company and outside the company.  Who the user is determines what he or she has access to (authorization).
- 1.2 **USE CASE ID**  	SELLPROP-1
- 1.3 **ACTORS**  	Buyer, Seller, Buyer Agent, Seller Agent, Financial Analyst, Legal Analyst, Loan Provider
- 1.4 **FLOW OF EVENTS**
- 	1.4.1 *NORMAL COURSE*:  **User is successfully authenticated.**
- 		1.4.1.1 **User** enters user identification and password.
- 		1.4.1.2 **System** checks the combination of user identification and password against the recorded list of valid users and notifies user that user id and password are valid and allows user access to the application.
- 	1.4.2 *ALTERNATIVE COURSE*
- 		1.4.2.1 None
- 1.5 **SPECIAL REQUIREMENTS**
- 	1.5.1 Authentication will adhere to company security standards.
- 1.6  **PRECONDITIONS**
- 	1.6.1 The system is operational.
- 	1.6.2 User Account is established.
- 1.7 **POST CONDITIONS**
- 	1.7.1 The validated user is allowed access to the system.
- 1.8 **ERROR FLOWS**
- 	1.8.1 If user id and password combination is not valid, system notifies the user that the combination was invalid and asks the user to try again.
- 	1.8.2 If user tries 3 times unsuccessfully, the system disallows the user, and marks as suspended the user record of any and all user identifications tried.
- 	1.8.3 If the user identification is tried in suspended mode, the system notifies the user that this identification has been suspended and the user must contact a
-             system administrator.
- 1.9 **ASSUMPTIONS**
- 	1.9.1 None

- Based on:  _Use Cases:  Requirements in Context_, D. Kulak, E. Guiney

## Select Agent

**Select Agent**

- 2. **USE CASE TITLE**  	**Select Agent**
- 2.1 **BRIEF DESCRIPTION**  	A Customer (Buyer or Seller) selects an Agent (Buyer Agent or Seller Agent) based on an agent’s location and expertise and whether the customer has worked with the agent before.
- 2.2 **USE CASE ID**  	SELLPROP-2
- 2.3 **ACTORS**  	Buyer, Seller, Buyer Agent, Seller Agent
- 2.4 **FLOW OF EVENTS**
- 	2.4.1 *NORMAL COURSE*:  **Customer successfully chooses an agent.**
- 		2.4.1.1 **Customer** requests a list of agents.
- 		2.4.1.2 **System** provides a list of agents with information on their location and expertise.
- 		2.4.1.3 **Customer** makes a short list of agents.
- 		2.4.1.4 **System** notifies the agents who are on the short list.
- 		2.4.1.5 **Agents** respond by contacting the customer and answering questions the customer has about their experience or qualifications.
- 		2.4.1.6 **Customer** responds by choosing an agent.
- 	2.4.2 *ALTERNATIVE COURSE*
- 		2.4.2.1 None
- 2.5 **SPECIAL REQUIREMENTS**
- 	2.5.1 All agents must be licensed by the state.
- 2.6  **PRECONDITIONS**
- 	2.6.1 Customer has decided to choose an agent.
- 	2.6.2 Licensed agents exist in the company database.
- 2.7 **POST CONDITIONS**
- 	2.7.1 Customer has chosen a specific agent.
- 2.8 **ERROR FLOWS**
- 	2.8.1 If the customer suddenly decides not to choose an agent the customer indicates this and the system warns the customer of not having an agent and records that the customer has not chosen an agent.
- 2.9 **ASSUMPTIONS**
- 	2.9.1  Most customers end up choosing an agent.

- Based on:  _Use Cases:  Requirements in Context_, D. Kulak, E. Guiney

## Actors by Use Case Matrix

**Actors by Use Case Matrix**

**Use Cases**

- SELLPROP -1

- SELLPROP-2

- SELLPROP-3

- SELLPROP-4

- SELLPROP-5

- SELLPROP-6

- SELLPROP-7

**ACTORS**

- Buyer

- Seller

- Seller Agent

- Buyer Agent

- Legal Analyst

- Financial Analyst

- Loan Provider

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

- SELLPROP-8

- SELLPROP-9

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

**X**

## Activity Sequence Diagram

- SELLPROP-1

- SELLPROP-9

- SELLPROP-3

- SELLPROP-5

- SELLPROP-2

- SELLPROP-6

- SELLPROP-4

- SELLPROP-7

- SELLPROP-8

## What’s Next?

- Initiation

- Project
- Plan

- Project Plan Updates

- Change Requests

- Project Archives

- Formal Acceptance

- Lessons Learned

- Generic Project

- Software Project

**Requirements**

- Charter

- SDP ( I – IV)
- SRS

- SDP (V – XIII)
- SCM Plan
- SQA Plan
- Design Document

- Project Archives

- Formal Acceptance

- Lessons Learned

- Develop

- Change Requests

- Updates:  SDP, SRS, SCM, SQA, Design

- .exe

- Code

- Test Plan, Scripts, Results, Training Plan,
- User Doc, Audit Reports

- Training
- Materials

- PRD

**What’s Next?**

## Getting Help

**Getting Help**

**Project Planning**

**Requirements**
**Engineering**

**Project Tracking & Oversight**

**Configuration **
**Management**

**Lessons Learned**

**Strategic **
**Planning**

**Topical Focus Groups**

**Business Plans**

**Planning and Evaluation Branch, HRD**
**Nancy Noell** x33269 or **Paula Johnson** x39637

- Facilitation &
- Coaching

- PRD
- SDP
- SRS
- SCM Plan
- SQA  Plan

- Outputs

- Inputs