Requirements Analysis for Business and Systems Analysts

This four-day course describes an approach to requirements analysis that can be applied by requirements analysts with different levels of experience. Underpinning the approach is the concept of use cases that describe requirements from the perspective of the users of a software application.

The course first shows participants how to identify the initial scope of a project together with the project stakeholders. Stakeholders are classified according to their subject matter knowledge and their control over the scope of the requirements.

Participants are then shown how to develop an activity model that represents a consolidated view of the various stakeholder perspectives. The activity model is then used to identify and analyse the information requirements associated with activities.

This is followed by a discussion of business rules and the role of class diagrams which provides a context for the identification of requirements and the development of a use case model.

A number of techniques for identifying and describing software requirements are discussed. The discussion includes the role of a product roadmap.

The course then moves on to a detailed discussion of the underlying theory of use cases and their practical application. The course shows participants how to develop use case diagrams and document use case scenarios.

The course concludes with a brief discussion of the various approaches to packaging a requirements specification.

Course Features

  • Establish the need for software requirements.
  • Learn the techniques activity analysis, information analysis, business rule analysis and use case modelling.
  • Learn how to develop a product roadmap.
  • Learn how to identify and describe various types of software requirements.
  • Ability to effectively apply the techniques learnt during the course to a case study.

Participant Benefits

  • Clear understanding of the role of requirements in a software development or package implementaiton project.
  • Ability to effectively apply the techniques discussed during the course to a variety of projects.
  • Practical experience of applying the techniques to a case study.

Who Should Attend

  • Process Engineers, Software Engineering Process Group (SEPG) Staff, Methodologists, Process Improvement Staff
  • Business Analysts, Business Systems Analysts, Systems Analysts, Functional Analysts
  • Software Development Managers, Software Engineers, Developers, Requirements Engineers, Requirements Analysts

Course Duration

4 days full-time.

Course Agenda

Introduction

  • What Are Requirements?
    • Business Needs
    • Application Features
    • Software Requirements
  • Why Bother With Requirements?
    • Requirements and Project Failures
    • The High Cost of Requirements Errors
  • Requirements Needs a Context
  • Requirements Analysis Workflow

Scoping

  • Rich Pictures
  • Mind Maps
  • PROMPT Analysis

Stakeholder Analysis

  • Identifying Stakeholders
  • Classifying Stakeholders
    • Subject Matter Knowledge
    • Control Over Scope
    • Stakeholder Strategy
  • Stakeholder Perspectives
  • Stakeholder Profiles

Activity Analysis

  • Characteristics of Human Activity
    • Object-Oriented
    • Supported By Tools
    • Achieves Goals
    • Performed by Actors
    • Involves stakeholders
    • Conforms to Rules
    • Allocated Responsibilities
  • Naming activities
    • Verb-noun template
    • Activity Verbs
    • Goals vs. tasks
  • Developing an Activity Map
    • Identifying Activities
    • Object Life Cycles
    • Resource Life Cycle
    • Hierarchical
  • Business Activity Model
  • The Hierarchical Nature of Human Activity
    • Mission
    • Functions
    • Tasks
  • Decomposing Activities
  • When to Stop Decomposing
  • Publishing the Business Activity Model

Information Analysis

  • Information Analysis Concepts
    • Managing by Observing
    • Managing With Information
    • The Activity Life Cycle
    • Categories of Information
    • Information Requirements
  • Identifying Information Requirements
    • Identifying information requirements from Activity Breakdowns
    • Identifying information requirements from Activity Diagrams
    • The Information Requirements Catalogue
  • Information Samples
  • Data Elements
  • Derivation Rules
    • Describing with Natural Language
    • Describing with Activity Diagram
  • Subject Areas
  • Publishing the Information Requirements Catalogue

Business Rule Analysis

  • Business Rule Concepts
    • What are Business Rules?
    • The Business Rules Mantra"
    • Classification of Business Rules
    • Where to Document Business Rules?
    • How to Document Business Rules?
  • Identifying Business Terms
    • Class Archetypes
      • Event or Period of Time
      • Party, Place or Thing
      • Role
      • Type
    • Where to Look?
    • What to Challenge?
  • Building a Glossary of Business Terms
  • Modelling Business Facts
    • Concept Mapping
    • Class Diagrams
      • Class Diagram Concepts
        • Classification
        • Abstraction
        • Reification
        • Representation
      • Classes
        • Attributes
        • Operations
        • Responsibilities
        • Constraints
      • Associations
        • Multiplicity
        • Composition (Part of)
        • Aggregation (Collection of)
        • Generalisation (Type of)
      • Drawing Class Diagrams
      • Subject Areas
    • Objects
      • Objects
      • Object Diagrams
  • Other Techniques For Describing Business Rules
    • Activity Diagrams
    • Decision Tables
    • State Machine Diagrams
  • Publishing the Business Rule Catalogue

Requirements Definition

  • Requirements Concepts
    • Types of Requirement
    • Business Rules vs. Software Requirements
    • Requirements Deliverables
  • Product Roadmap
    • Vision
    • Features
      • Features and Diagrams
      • Features and Natural Language
    • Functional Areas
    • Scope
    • Publishing the Product Roadmap
  • Specifying Software Requirements
    • Formal Requirements
    • Requirements Characteristics
    • Interface Requirements
      • Software interfaces
      • Network interfaces
      • Hardware interfaces
    • Functional Requirements
      • Functional Requirements and Diagrams
      • Functional Requirements Natural Language
      • Functional Areas
    • Storage Requirements
      • Logical Data Model
      • Data Dictionary
    • Non-Functional Requirements
      • Quality attributes (ISO9126)
      • Constraints
      • Non-Functional Requirements and diagrams
    • Publishing the Software Requirements Catalogue

Use Case Modelling

  • Use Case Concepts
    • Use Case and Activity Theory
    • Naming Use Cases
    • The Importance of a Glossary
  • Use Case Diagrams
    • Including Use Cases
    • Specialising Use Cases
    • Why Not to Use Extend!
    • What is "Extend"?
    • The Correct Approach to Specialisation
    • A Better Approach to External Scenarios
  • Use Case Steps
    • The subject...verb...object template
    • Actor as the Subject
    • System as the Subject
    • Time as a Trigger
    • How to Handle "Actorless" Use Cases
    • Repetition
    • Repeating Steps
    • Concurrent Steps
  • Use Case Scenarios
    • Main Scenario
    • Alternate Scenarios
  • Handling Business Rules
  • Handing Functional and Non-Functional Requirements
  • Dealing With System Wide Functional Requirements
  • Interface Requirements
    • Handling Interface Requirements
    • Data Dictionary
    • Prototype
  • Organising Use Cases Into Functional Areas
  • Use Cases and Business Processes
    • Activity Diagrams
    • Sequence Diagrams
  • Use Case Templates
    • Use Case Templates
    • Levels of Use Case Description
    • Use Case Narrative
  • Publishing the Use Case Model

Packaging the Requirements Specification

  • Requirements Documents
    • Business Requirements
    • Software Requirements
  • Document Templates
  • Use of Modelling Tools