UMBC Training Centers logo

Capturing Systems Requirements

 

Course Description | Outline | Business Analysis Home

Overview

  • What is a requirement?
    • Needs versus wants
    • Functional versus non-functional
  • Categories of information
    • Function
    • Form
    • Criteria
    • Constraint
  • Classes of requirements
    • Business
    • User
    • Technical
  • How the requirements process fits into the product/application development lifecycle
    • Why it’s important to establish requirements early
    • The importance of getting requirements right
    • Challenges to creating quality requirements
    • Sources of Requirements
    • Characteristics of high-quality requirements
  • IEEE criteria
  • Traceability
    • Change management –the key to minimizing scope creep

The Requirements Process

  • Elicitation – Who’s got them; how to get them
  • Stakeholder analysis
    • Identifying internal and external stakeholders
    • Conducting stakeholder analysis
    • Forming stakeholder classes
    • Understanding Personas
  • Fact gathering methods: pros, cons, when to use
    • Interviewing
    • Observation
    • Questionnaires
    • Research: Studying policies and procedures, results of other studies
    • Collaboration methods (JAD, JRP, etc.)
  • Interviewing
    • Definition -- contrasting interviews with other face-to-face data gathering methods
    • The Interview framework – purpose and substance
    • Introduction
    • Body
    • Summary
    • Planning the Interview – using the 5 W’s
    • Preparation
    • The art of questioning
    • Devising questions to accomplish the interview objectives
    • Effectively using probes
    • Techniques to control the Interview
    • Documenting the Interview
    • Verifying Information using the follow-up memo (email)

Analysis and Specification

  • Building the Users' Model
    • Developing output mockups or prototypes
    • Identifying requirements
    • The information model
      • Sequence
      • Exceptions
      • Layout
  • Process Modeling
    • Data flow diagrams
    • Evolution:  Resolving Communication Problems
    • Uses in the system development method
    • External entities-establishing boundaries and interfaces
    • Identifying events and triggers
    • Constructing context, overview, and detail data flow diagrams
    • Identifying appropriate detail level
    • Storyboarding
  • Capturing and Refining Use Cases
    • Creating use cases
    • Identifying stakeholders and actors
    • Naming and scoping use cases
    • Extending use cases
    • Verifying use cases with stakeholders
  • Capturing Data Requirements
    • Developing the conceptual model
      • Relational concepts
      • Entities
      • Attributes
      • Associations
    • Graphic representation
    • Entity-relationship diagrams
    • Maintaining the glossary/Use of the data dictionary
  • Determining business rules
    • The need for specification tools and methods
    • User needs vs. technical needs
    • An examination of methods
  • Process mapping methods
    • Transaction Table
    • Controls Table
    • CRUD Matrix
    • Swim-lane Diagrams
  • Documenting non-functional requirements using a Requirements Template
  • Creating the User Requirements Document (URD)
    • Principles of well-formed requirements
    • Word sensitivity, syntax and active voice
    • Well-formed vs. ill-formed requirements
    • Editing and rewriting requirements
    • Organizing requirements into a readable document

Validating Requirements

  • Achieving well-formed requirements through validation
  • Reviewing requirements with walkthroughs
  • Verifying requirements with inspections
  • Selecting the best validation methods
  • Writing test cases
    • Defining specific test objectives
    • Black box techniques
    • Assembling the test cases into test specifications
  • Ensuring traceability
    • Linking requirements to business needs and to test cases
    • Creating a traceability matrix

Management

  • Creating the plan
    • Creating the task list
    • The work breakdown structure
    • Creating task estimates
    • Matching resources to tasks
    • Assigning activities
    • Obtaining commitments for outside resources
    • Using a network diagram to denote task relationships and dependencies
    • Using a GANTT (bar) Chart to show schedule
  • Executing the plan – what to do as things happen
    • Change management procedure – the key to minimizing scope creep