Introduction
What are Requirements?
- Business needs
- Application features
- Software requirements
Why Bother with Requirements?
- Requirements & project failures
- High cost of requirements errors
Requirements & the Product Life Cycle
Managing Changes to Requirements
- Freezing vs. Baselining
- Baselining
- Change control
Systems Engineering perspective of requirements
Requirements Analysis Workflow
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
Hierarchical Nature of Human Activity
Mission
Functions
Tasks
Decomposing Activities
When to Stop Decomposing
Publishing the Business Activity Model
Information Analysis
Concepts
- Managing by Observing
- Managing With Information
- Activity Life Cycle
- Categories of Information
- Information Requirements
Identifying Information Requirements
- Identifying information requirements from Activity Breakdowns
- Identifying information requirements from Activity Diagrams
- Information Requirements Catalogue
Information Samples
Data Elements
Derivation Rules
- Describing with Natural Language
- Describing with Activity Diagram
Subject Areas
Publishing the Information Requirements Catalogue
Conceptual Modelling
Why Conceptual Modelling?
Conceptual Modelling Concepts
- Classification
- Abstraction
- Reification
Classes
- Attributes
- States
- Operations
- Events
- UML Classes
- Responsibilities
- Constraints
Associations (facts)
- Multiplicity
- Composition (Part of)
- Aggregation (Collection of)
Generalisation (Type of)
UML Class Diagrams
Objects
- UML Objects
- Object Diagrams
Identifying Classes
- Class Archetypes
- Event or Period of Time
- Party, Place or Thing
- Role
- Type
- Where to Look?
- What to Challenge?
Subject Areas
Publishing the Conceptual Model
|
Requirements
Definition
Why Requirements Definition?
Requirements Concepts
- Types of Requirement
- Requirements Deliverables
Business Rules and System Constraints
- What are Business Rules?
- Classification of Business Rules
- Where to Document Business Rules?
- How to Document Business Rules?
- Business Rules vs. Software Requirements
- Publishing the Business Rules Catalogue
Vision and Scope
Vision
Features
- Features & UML
- Features & Natural Language
- Functional Areas
- Scope
- Publishing the Application Vision and Scope
Software Requirements Specification
Formal Requirements
Requirements Characteristics
Interface Requirements
- Software interfaces
- Network interfaces
- Hardware interfaces
Functional Requirements
- Functional Requirements & UML
- Functional Requirements Natural Language
- Functional Areas
Storage Requirements
- Logical Data Model
- Data Dictionary
Non-Functional Requirements
- Quality attributes (ISO9126)
- Constraints
- Non-Functional Requirements & UML
Publishing the Software Requirements Catalogue
Use Case Modelling
Why Use Case Modelling?
Use Case Concepts
- Use Case and Activity Theory
- Naming Use Cases
- Importance of a Glossary
Use Case Diagrams
- Including Use Cases
- Specialising Use Cases
- Why Not to Use Extend!
- What is "Extend"?
- 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 & Business Processes
- UML Activity Diagram
- UML Sequence Diagram
Use Case Templates
- Use Case Templates
- Levels of Use Case Description
- Use Case Narrative
Publishing the Use Case Model
|