Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Visual Models for Software Requirements
Dedication
A Note Regarding Supplemental Files
Foreword
Introduction
Who Should Read This Book
Assumptions
Who Should Not Read This Book
Organization of This Book
Finding Your Best Starting Point in This Book
Models Quick Start
Conventions and Features in This Book
Companion Content
Acknowledgments
Errata & Book Support
We Want to Hear from You
Stay in Touch
I. An Introduction to Models
1. Introduction to RML
RML Defined
Challenges with Traditional Software Requirements Practices
Limitations of the Human Brain
Pictures Are Easy, Words Are Hard
Requirements Models
Why Not UML?
Requirements vs. Design
One Level’s Requirement Is Another Level’s Design
Determining Actual Business Need
Requirements Defined
Requirements Models Are Not the End Game
Using RML on Projects
Additional Resources
References
2. Model Categorization
Objectives, People, Systems, and Data Models
Bounding Models
All Four Categories Are Needed
Objectives Models
People Models
Systems Models
Data Models
References
II. Objectives Models
3. Business Objectives Model
Business Objectives Model Template
Example
Creating Business Objectives Models
Identify Business Problems
Revenue Needs to Be Higher
Costs Need to Be Lower
Eliciting Business Problems
Identify Business Objectives
Define Additional Problems and Objectives
Define the Product Concept
Guiding Principles
Describe Success Metrics
Questions to Ask to Complete the Business Objectives Model
Using Business Objectives Models
Providing a Common Understanding of a Project’s Value
Bounding the Solution Space
Understanding Projects That Are Underway
A Typical Approach That Doesn’t Work
An Ideal Approach That Starts with Problems and Objectives
A Realistic Approach
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Not Understanding the Business Problem
Defining Business Objectives That Are Not Measurable
Articulating the Wrong Type of Information in Business Objectives
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
4. Objective Chain
Objective Chain Template
Example
Creating Objective Chains
Identify Business Objectives and Features
Select the Features to Analyze in Objective Chains
Identify the Objective Factors
Use the Business Objectives Model
Simplify Objective Factor Statements
Create the Objective Chain Hierarchy
Define the Objective Equations
Format the Equation
Identify Data Values
Debate Data Values
Measure Assumptions
Using Objective Chains
Comparing the Relative Values of Features to Cut Scope
Determining the Value of a Feature Mapped to Multiple Business Objectives
Determining the Value of Multiple Features Mapped to the Same Objective Chain
Determining the Value of Features Attached to Emotional Objectives
Determining Project Success
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Not Creating Objective Chains Because Data Doesn’t Exist
Skipping Levels in the Hierarchy
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
5. Key Performance Indicator Model
KPIM Template
Example
Creating KPIMs
Identify Business Processes
Selecting the Right Level
Selecting the Right Processes
Identify KPIs
Create the KPIM
Using KPIMs
Prioritizing KPIMs When Business Objectives Don’t Help
Prioritizing When Replacing Existing Functionality
Comparing the Relative Values of Requirements to Cut Scope
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Not Using KPIMs Because KPIs Don’t Exist
Not Using KPIMs Due to Fears of Being Held Accountable
A Lack of Ongoing Monitoring
Related Models
Exercise
Instructions
Scenario
Additional Resources
6. Feature Tree
Feature Tree Template
Example
Creating Feature Trees
Identify Features
Organize the Features
Subfeatures of More Than One Feature
Parentless Subfeatures
Create the Feature Tree
Look for Missing Features
Using Feature Trees
Depicting Project Scope
Organizing the Requirements
Organizing the Requirements Work
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Wrong Number of Features at Each Level
Poor Feature Names
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
7. Requirements Mapping Matrix
RMM Template
Example
Creating RMMs
List Process Flow Steps
Map Requirements to Process Flow Steps
Many-to-Many Mappings
Different Ways to Map Business Rules
Using a Tool to Create Mappings
Identify Missing Mappings
Using RMMs
Reviewing in an Easy-to-Read Structure
Identifying Missing Requirements
Identifying Extraneous Requirements or Missing Steps
Prioritizing Scope
Advantages of Using a Requirements Management Tool
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Not Mapping to Process Flows
Not Using or Updating RMMs
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
III. People Models
8. Org Chart
Org Chart Template
Example
Creating Org Charts
Locate Existing Org Charts
Determine the Right Level of Org Chart
Complete the Org Chart
Departmental Org Charts
Role Org Charts
Individual Org Charts
Using Org Charts
Identifying the People Who Have Requirements
Identifying Internal Users
Identifying External Users
Identifying People Used in Other Models
Using Org Charts with Process Flows for Completeness
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Not Using Org Charts to Identify Stakeholders
Only Including Project Team Members
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
9. Process Flow
Process Flow Template
Example
Creating Process Flows
Create an L1 Process Flow
Creating the Diagram
Scope of an L1
Create L2 Process Flows
Identifying Process Steps
Writing Steps
Using Swim Lanes
Adding References to Other Flows
Using Additional Symbols
Create L3 Process Flows As Necessary
Using Process Flows
Targeting the Audience with Different Levels of Detail
Running Elicitation and Review Sessions
Driving Completeness
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Level of Detail Is Inconsistent Within a Flow
Reviewers Do Not Understand the Level of Detail
Reviewers Forget to Look at the Full Process Flow
Process Flow Has Too Many Steps
System Responses Are Mixed with User Actions
Processes Outside the Scope of the Project Are Not Included
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
10. Use Case
Use Case Template
Example
Creating Use Cases
Identify Use Cases
From Process Flows
From Business Data Diagrams
From Org Charts or Lists of Actors
Write Descriptions
Capture Organizational Benefits
Capture Frequency of Use
Prioritize Use Cases
Complete the Remaining Header Fields
Assign a Unique ID
Identify Actors
Identify Triggers
Identify Preconditions
Identify Postconditions
Write the Main Course
Write the Alternate Courses
Write the Exceptions
Using Use Cases
Providing Context for Elicitation Through Implementation
Prioritizing Work
Deriving Requirements
Reusing Use Cases
Using a Use Case as a Basis for a UAT Script
Using Models Similar to Use Cases
Use Cases Do Not Have to Be Perfect
When to Use
When Not to Use
Common Mistakes
Making Use Cases Too Granular
Using Use Cases As the Only Documentation for Requirements
Allowing the System to Be an Actor
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
11. Roles and Permissions Matrix
Roles and Permissions Matrix Template
Example
Creating Roles and Permissions Matrices
Identify the Roles
Identify the Operations
Indicate Permissions
Permissions by Operation
Permissions on Scope of Data
Common Permissions on Related Operations
A Word About When to Create the Matrix
Using Roles and Permissions Matrices
Deriving Requirements
Driving Completeness
Identifying Additional Functions
Configuring Systems
Using a Roles and Permissions Matrix As a Basis for Setting Up User Data for Deployment
When to Use
When Not to Use
Common Mistakes
Missing Operations
Struggling to Organize the Roles
Related Models
Exercise
Instructions
Scenario
Additional Resources
IV. Systems Models
12. Ecosystem Map
Ecosystem Map Template
Example
Creating Ecosystem Maps
Identify Systems
Identify Interfaces
Tie the Diagram Together
Using Ecosystem Maps
Defining Scope with Ecosystem Maps
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Showing Physical Systems
Too Much Documentation
Lack of Organization
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
13. System Flow
System Flow Template
Example
Creating System Flows
Identify System Steps
Feature Trees
Data Flow Diagrams
Write Steps
Swim Lanes
Events
Using System Flows
Running System Flows Parallel to Process Flows
Deriving Requirements
When to Use
Describing Hidden Activities
Describing System Interactions
Describing Exception Handling
When Not to Use
Common Mistakes
Related Models
Exercise
Instructions
Scenario
Additional Resources
14. User Interface Flow
UI Flow Template
Example
Creating UI Flows
Determine Scope of Screens
Identify Screens
Diagramming
What Constitutes a Screen?
Create Transitions
Identifying the Transitions
Adding Transitions to the Diagram
Branching
Label Triggers
Using UI Flows
Identifying Navigation
Validating Navigation
Optimizing Usability
Developing Test Cases
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Including Too Much Detail
Including Unimportant Details
Not Using a UI Expert When Needed
Related Models
Exercise
Instructions
Scenario
Additional Resources
Rferences
15. Display-Action-Response
DAR Model Template
UI Element Description
UI Element Displays
UI Element Behaviors
Example
Creating DAR Models
Prepare the Screen
Create a UI Element Description
Create the UI Element Displays Section
Create the UI Element Behaviors Section
Guidelines for Creating Element Tables
Using DARs
Driving Completeness
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Modeling Too Much
Modeling Elements with No Data-Driven Behavior or Display
Using Only UI-Based Models or Prototypes
Focusing on the User Interface Too Early
Including Too Much Fidelity in the Screen Layout
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
16. Decision Table
Decision Table Template
Example
Creating Decision Tables
Identify Conditions
Identify Choices
Determining Valid Choices
Reordering Conditions
Enumerating Choices
Identify Outcomes
Label Valid Outcomes by Choice Combinations
Simplify the Decision Table
Using Decision Tables
Making Decisions
Driving Completeness
Using Decision Tables with Decision Trees
Deriving Requirements
When to Use
Modeling Complex Logic
When Not to Use
Common Mistakes
Missing Permutations
Overlapping Choice Ranges
Not Combining Rules
Modeling a Sequence of Decisions
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
17. Decision Tree
Decision Tree Template
Example
Creating Decision Trees
Identify Decisions
Identify Choices
Identify Outcomes
Repeat Until Every Branch Ends in an Outcome
Simplify the Decision Tree
Using Decision Trees
Driving Completeness
Simplifying Logic
Modeling Nested “If” Statements
Training Users
Deriving Requirements
When to Use
Ordering
Looping
When Not to Use
Common Mistakes
Modeling Process Steps
Making All Yes or No Choices
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
18. System Interface Table
System Interface Table Template
Example
Creating System Interface Tables
Identify System Interfaces
Determine Business Data Objects and Fields
Determine Frequency of Transfer
Determine Volume of Data
Determine Error Handling
Determine Security Constraints
Using System Interface Tables
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Including Information That Is Too Technical
Documenting Every Interface
Not Understanding User Needs
Related Models
Exercise
Instructions
Scenario
V. Data Models
19. Business Data Diagram
BDD Template
Business Data Example Diagram Template
Example
Creating BDDs
Identify Business Data Objects
Relate Business Data Objects
Add Cardinalities
Creating Business Data Example Diagrams
Using BDDs
Understanding the High-Level Business Data Objects
Driving Completeness
Identifying Processes
Helping Technical Teams with Database Design
Using Business Data Example Diagrams to Review BDDs
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Including Fields As Objects
Creating Middle-Man Objects
Thinking in Terms of a Database Design
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
20. Data Flow Diagram
DFD Template
Example
Creating DFDs
Identify Business Data Objects
Identify Processes
Identify External Entities
Tie the Diagram Together
Using DFDs
Representing Data Used Across Multiple Processes
Using DFDs to Help with Readability
Driving Completeness
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Trying to Articulate Order in a DFD
Trying to Document Every Single Data Flow
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
21. Data Dictionary
Data Dictionary Template
Properties List
Example
Creating Data Dictionaries
Tailor Properties
Identify Business Data Objects and Fields
Populate Properties
Supplement with Data Catalogs
Using Data Dictionaries
Promoting a Consistent Data Nomenclature
Driving Completeness
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Becoming Overwhelmed by the Size
Not Articulating Important Validation Rules
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
22. State Table
State Table Template
Example
Creating State Tables
Identify the Business Data Objects
Identify the States
Analyze the Transitions
Using State Tables
Enhancing Readability
Driving Completeness
Completing Other Models
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
States That Are Not States
Missing States
Incorrect “No” Transitions
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
23. State Diagram
State Diagram Template
Example
Creating State Diagrams
Identify the Business Data Objects
Identify the States
Analyze the Transitions
Using State Diagrams
Visualizing Flow Between States
Driving Completeness
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
States That Are Not States
Missing States and Transitions
Related Models
Exercise
Instructions
Scenario
Additional Resources
References
24. Report Table
Report Table Template
Example
Creating Report Tables
Identify Reports
Prioritize Reports
Complete Report Table Elements
Report Table Top-Level Elements
Report Table Field Elements
Managing Report Scope
Using Report Tables
Defining the Reports
Checking Completeness and Consistency Against Other Models
Deriving Requirements
When to Use
When Not to Use
Common Mistakes
Not Relating Reports to Decisions Made
Documenting Unnecessary Reports
Related Models
Exercise
Instructions
Scenario
VI. Models in the Big Picture
25. Selecting Models for a Project
Selecting Models by Project Phases
Envision Phase
Plan Phase
Develop Phase
Launch Phase
Measure Phase
Selecting Models by Project Characteristics
Objectives Characteristics
Greenfield Projects
Commercial Off the Shelf (COTS) Projects
Enhancement Projects
People Characteristics
Systems with Extensive User Interaction
Customer-Facing Systems
Business Process Automation Projects
Workflow Automation Projects
Systems Characteristics
System Replacement Projects
Real-Time and Embedded Systems
Large-Ecosystem Projects
Internal IT Systems
Hardware and Software
Packaged Software
Cloud Implementation Projects
Web App Projects
Mobile Systems
Projects with Complex Decision Logic
Data Characteristics
Analytics and Reporting Components
Database Back-End Components
Data Warehouse Components
Project Examples
Thinking About the Audience
Tailoring Models
Exercise
Instructions
Scenario
26. Using Models Together
Many Different Views
Using More Than One Model
Requirements Architecture
Relationships Between Models
Where the Artifacts Live
A Models Plan
Related Models
Exercise
Instructions
Scenario
A. Quick Lookup Models Grids
Additional Resources
B. General Guidelines for Models
Metadata to Include in Models
General Guidelines and Tips
C. Exercise Answers
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Chapter 14
Chapter 15
Chapter 16
Chapter 17
Chapter 18
Chapter 19
Chapter 20
Chapter 21
Chapter 22
Chapter 23
Chapter 24
Chapter 25
Chapter 26
Glossary
Index
About the Authors
Copyright
← Prev
Back
Next →
← Prev
Back
Next →