REQUIREMENTS MANAGEMENT AND USE CASES – GTPL14

Course Description

This course is an introduction to management of requirements in software projects. It starts by introducing the concepts and ideal for someone who is going to be involved in the requirements management phase of a software project. Hands on exercises allow the students to apply the principles learned throughout the course.

^^

Duration

2 days

^^

Target Audience

This course is intended for everyone involved in the requirements gathering aspect of a software project. This includes System and Business Analysts, Managers, Information Developers, Software Designers, QA Professionals, and Sales and Marketing.

^^

Course Prerequisites

Please contact us for further details.

^^

Suggested Follow on Courses

Please contact us for further details.

^^

Course Content

1. INTRODUCTION

Topics

What is a requirement?

Types of requirements

Important requirement concepts

Requirement levels

Requirement Categories

What is requirements management?

The cost of requirement errors

The game plan towards building quality software

Development Process

The Rational Unified Process

Inception Phase

Example of High-Level Requirements

Example of Non-Functional Requirements

Elaboration Phase

Example of a Use Case Diagram

Construction Phase

Software Development Life Cycle with the RUP

Requirement Gathering Roadmap

The roadmap

Step 1 Analyze the problem

Step 2 Understand User Needs

Step 3 Define the system

Step 4 Manage the scope

Step 5 Refine the system definition

Step 6 Manage changing requirements

2. PROBLEM ANALYSIS AND UNDERSTANDING USER NEEDS

Topics

What we plan to accomplish

Problem Analysis Steps

Analysis Steps

Stakeholders

Definition of Actors

Analysis Steps

Bring out the requirements

Interviewing

Step A: Interview every stakeholder

Step B: Requirements Workshop

Requirements Workshop

Organizing requirement workshop

Brainstorming

Brainstorming- Idea reduction

Documentation Analysis & Focus Groups

Interface analysis & Observation

Prototyping

Surveys/Questionnaires

Step C: Identify Constraints

Example – Given scenario

Example (cont d)

Registration system Problem statement

Registration system Problem statement(cont d)

List the stakeholders and users in the scenario

List the actors

Identify the constraints in the scenario

Creating a constraint list

3.VISION DOCUMENT & MANAGING SCOPE

Topics

Topics – cont d

Vision document – Objectives

Vision document – Scope

Vision document – References

Vision document – Positioning

Vision document – Positioning (cont d)

Vision document – User Description

Vision document – Product Overview

Vision document – Feature Attributes

Vision document – Product Features

Vision document – Constraints

Vision document – Quality Ranges

Vision document – Precedence and Priority

Vision document – Other Product Requirements

Vision document – Documentation Requirements

Example of Vision document

Managing Scope

Define a baseline

Example of itemizing list of processes or use cases

Setting priorities

Example – Setting priorities

Assessing effort

Example – Assessing effort

Adding the risk element

Example – risk element

Get customer agreement on scope

Use iterative development process

Plan Change Request (PCR)

4. USE CASE CONCEPTS

Topics

What are Use Cases?

Benefits of Use Cases

Use-Case Modeling

An use case is a collection of scenarios

To Use Case or not to

Use Cases

Use case modeling steps

An Example use case

Identifying the actors involved in this use case

Write the use case for the above scenario

Use case for the above scenario (contd)

Classifying Use Cases

A business use case

Example of business use case (contn d)

A system use case

See notes

Levels of use cases

Examples of Summary level use cases

Example of User goal level use cases

Examples of Sub function use cases

For use case modeling

Use cases are only one part

The Problem with Requirements Specifications

Relationship Between Use Cases and Requirements

Who are interested in use cases?

General Principles

Scenarios

Primary Scenarios

Example of ATM use case

See notes

Use Case interactions

Finding Actors

Finding Actors – continued

Documenting Actors

Where are the actors documented?

The Actor-Profile table for the course registration system:

Actor-profile table contd.

Example Actor-goal list

Goal List

5. USE CASE MODELING USE CASES AND SUPPORTING DOCUMENTS

Topics

Basic building blocks

Basic Building Blocks of an Use Case

Supporting documents

Conceptual model

Domain Model

Non-functional Specification

More use cases

Documenting use cases

Use Case Diagrams

Scope

The scenario we have been working on

Identify the requirements that must be addressed by the system:

Identify the use cases :

Example – use case model

Example – use case model for Registration system

Lists used to manage scope In/out list for the above example

Lists used to manage scope Actor/goal list for the above example

Example – Use Case Specification

Example – Use Case Specification (Contn d)

6. WRITING USE CASES

Topics

Actor Personalities

Goal Levels

Pre-conditions and Triggers

Example of Pre-conditions

Guidelines for writing flows

Do’s and don’ts” when writing use cases

Extensions

Use case linkages

Sub Use Cases

Example – Sub use cases with include & extend relations

Quality Measures for Use Cases

More Quality Measures

See notes

Who should write use cases?

Fully Described Use Cases

How much detail?

Completeness & Complexity

7. USE CASE FORMATS

Topics

Formats to choose from

Brief Description Format

Bulleted Outline Format

Conversational Format

Narrative Format

When to choose a format.

Tools

CASE tools

Reviewing Use Cases

Style

Style Guides

8. MISCELLANEOUS TOPICS

Topics

Describing UI Wizards

Make sure that the system is included

Make sure that the user is included

Wrong goal levels

Make the use case easy to read

Collect multiple pieces of data

Do not forget the Exception Flows (failure scenarios)

Stay away from internal system details

Preconditions should be established by the system

Proper use of UML

CRUD Use Cases

Contain the explosion

Example – CRUD Use Case Specification

Example – CRUD Use Case Specification (cont d)

9. SUPPLEMENTARY REQUIREMENTS

Topics

What are supplementary Requirements

Example of supplementary specifications

Example of supplementary specifications (cont d)

Brief outline.

Functionality

Non-functional requirements

Usability

Reliability

List Reliability requirements:

Performance

Supportability

Design Constraints

Practical Example of supplementary specifications

Purpose

Scope

References

Non-Functional – Course Registration System

Usability – Course Registration System

Reliability – Course Registration System

Performance – Course Registration System

Performance (cont d)

Supportability

Supportability (cont d)

Design Constraint – Course Registration System

Design Constraint (cont d)

^^

See more Programming Languages courses