CONTENTS
PREFACE
BIOGRAPHIES AND PHOTOGRAPHS
PART I OVERVIEW
CHAPTER 1 INTRODUCTION: SCENARIOS IN SYSTEM DEVELOPMENT
Context
Scope—What Does Scenario Mean, and What Does it Cover?
Stakeholders
Story
Situation, Alternative World
Simulation
Storyboard
Sequence
Structure
Through the Life Cycle
Types of System
Scenarios for Systems—Not Necessarily Software
Military Operations
Film-Making
Business ‘Systems’ and Processes
The Way Ahead
Keywords
References
Recommended Reading
CHAPTER 2 SCENARIO-BASED APPROACHES
Overview: The Crews Scenario Framework
The Framework
The Scenario Approaches Described in this Book
Conclusion
Keywords
References
PART II SCENARIOS THROUGH THE SYSTEM LIFE-CYCLE: TECHNIQUES
CHAPTER 3 SCENARIOS IN REQUIREMENTS DISCOVERY
Applicability
Position in the Life Cycle
Key Features
Strengths
Weaknesses
What Is a Requirements Scenario?
A Business Event
Normal Case Scenario
Identifying Alternative Cases
Identifying Exception Cases
What-If Scenarios
From Scenarios to Atomic Requirements
Keeping Track of the Investigation
Who Produces the Scenarios?
Techniques for Building Scenarios
Text Scenarios
Story Boards
Scenario Process Models
Scenario Playthroughs
When to Use Scenarios
Keywords
References
CHAPTER 4 SCENARIOS FOR INNOVATION: DEVELOPING SCENARIO-BASED USER NEEDS ANALYSIS (SUNA)
Applicability
Position in the Life Cycle
Key Features
Strengths and Weaknesses
Technique
Method Outline
The Team
Inputs
Workshop 1
Between the Workshops
Workshop 2
Worked Example
Device Unifying Service
Inputs
Workshop 1 Preparation
Workshop 1—Day 1
Workshop 1—Day 2
Between the Workshops
Workshop 2
Post SUNA
Comparisons
Keywords
References
Recommended Readings
CHAPTER 5 RUNNING A USE CASE/SCENARIO WORKSHOP
Applicability
Position in the Life Cycle
Key Features
Customer Collaboration
Multiple Requirements Models
The Iteration Process
Strengths
Weaknesses
Technique
A Word about Scenarios
Workshop Framework
Role Playing
Wall Modeling Use Cases: Storyboarding
Scenario Walkthroughs: Testing Use Cases
Collaboration Patterns
Doneness Testing
Iterating Through the Requirements
Worked Example
Workshop Pre-Work
Workshop 1: Monday
Workshop 2: Tuesday
Workshop 3: Wednesday
Workshop 4: Thursday
Comparisons
Keywords
References
Recommended Reading
CHAPTER 6 ALTERNATIVE WORLD SCENARIOS TO ASSESS REQUIREMENT STABILITY
Applicability
Position in the Life Cycle
Key Features
Strengths
Weaknesses
Technique
Change in Systems
Requirements and Assumptions
The Effect of Time
Assessing Requirements Stability
Alternative World Scenarios
Generating Scenarios
Requirements
Assessing Stability
Reviewing Requirement Stability
Instability Propagation
Using the Stability Assessment Results
Worked Example
Goals/Requirements for MSAW
Initial Assessment
Results Presentation
Propagation
Comparisons
Keywords
References
Recommended Reading
On ‘Alternative World’ Scenarios
On Requirements Engineering
CHAPTER 7 NEGATIVE SCENARIOS AND MISUSE CASES
Applicability
Roles in the Life Cycle
Key Features
Strengths
Weaknesses
Technique
Eliciting Hostile Roles
Eliciting Misuse Cases
Eliciting Exception Scenarios, Requirements, and Further Use Cases
Driving Design
Automatic Analysis of Use/Misuse Case Relationships
Design Trade-off and Conflict Analyses
Generating Acceptance Test Cases
Metaphorical Roles
Worked Example
Defeating Detection
Defeating the Handling of Intrusion
Comparisons
Failure Cases
FMEA, FTA, Functional Hazard Analysis, HazOp, and so on
No Crystal Ball
Abuse Cases
Negative Scenarios
Obstacles
Anti-Scenarios
i* and GRL
Exceptions
The Place of the Negative Scenario or Misuse Case
Keywords
References
Recommended Reading
CHAPTER 8 AUTHORING USE CASES
Applicability
Position in the Life Cycle
Key Features
Strengths
Weaknesses
Technique
Why Do We Need Guidance on Authoring Use Cases?
Use Case Attributes
Other Attributes
Guidelines for Authoring Use Cases
General Use Case Guidelines
Scenario/Use Case Style Guidelines
Scenarios/Use Case Content Guidelines
Short Example
Comparisons
Keywords
References
Recommended Reading
CHAPTER 9 SYSTEMATIC SCENARIO WALKTHROUGHS WITH ART-SCENE
Position in the Life Cycle
Applicability
Key Features
Strengths
Weaknesses
The Art-Scene Process and Environment
Art-Scene's Research Provenance
The Art-Scene Approach
The Structure and Representation of an Art-Scene Scenario
The Art-Scene Software Environment
Facilitating Scenario Walkthroughs
The Scenario Workshop Environment
Worked Example
Comparisons
Keywords
References
Recommended Reading
CHAPTER 10 THE ROLE OF SCENARIOS IN CONTEXTUAL DESIGN: FROM USER OBSERVATIONS TO WORK REDESIGN TO USE CASES
Applicability
Position in the Life Cycle
Key Features
Strengths
Weaknesses
Technique
Techniques and Worked Example
Contextual Inquiry
Interpretation Sessions
Work Modeling
Consolidation
Visioning
Storyboarding
User Environment Design
Paper Prototyping, Mock-Up Interviews and Initial User Interface Design
Using Contextual Design Deliverables to Generate Use Cases and Implementation Models
Lessons Learnt
Comparisons
Keywords
References
Recommended Readings
CHAPTER 11 A SCENARIO-BASED DESIGN METHOD FOR HUMAN-CENTRED INTERACTION DESIGN
Overview
Applicability
Position in the Life Cycle
Key Features
Strengths
Weaknesses
The Method
Scenarios in the Method
User Stories
Conceptual Scenarios
Concrete Scenarios
Use Cases
Other Artifacts in the Method
Requirements and Problems
Scenario Corpus
Object Model
Design Language
Processes of the Method
Abstraction
Design Constraints
Formalise Design
Specifying Requirements
Conceptual Design
Prototyping, Envisionment and Evaluation
Physical Design
Summary
Worked Example
The On-Line Partner Lens (OPaL)
User Story
Conceptual Scenario
Conceptual Design
Use Cases
Design Language
Conclusion
Comparisons
Acknowledgements
Keywords
References
Recommended Reading
CHAPTER 12 USE CASE-BASED SOFTWARE DEVELOPMENT
Applicability
Position in the Life Cycle
Key Features
Strengths
Weaknesses
Technique and Worked Example
The Use Case—Centred Requirements Framework
Summary and Comparisons
Keywords
References
Recommended Reading
CHAPTER 13 USER STORIES IN AGILE SOFTWARE DEVELOPMENT
Applicability
Applicability II—Why User Stories?
Position in Life Cycle
Key Features
Strengths
Weaknesses
Technique
Users: Tellers of Stories
Story Characteristics and Typography
Splitting Stories
Ordering and Completing Stories
Confirming Stories
Communication—the Never Ending Story
Worked Example
Comparisons
Keywords
References
Recommended Reading
CHAPTER 14 USE CASES, TEST CASES
Applicability
Position in the Life Cycle
Key Features
Strengths
Weaknesses
Background: The V-Model
Technique
A One-to-Many Mapping
Slaying the Hydra
Prioritising the Tests
Tool Support
Do Scenarios Yield Test Cases or Test Case Classes?
Worked Example
Inputs
Input Validation
Identifying Classes of Test Cases
Generating Classes of Test Cases
Selecting Environmental Conditions for Test Cases
Comparisons
Testers' Domain Knowledge
Operational Scenarios
User Stories
Keywords
References
Recommended Reading
CHAPTER 15 PROJECT STORIES: COMBINING LIFE-CYCLE PROCESS MODELS
Applicability
Position in the Life Cycle
Key Features
Strengths
Weaknesses
Technique
Introduction
Muddled Process Levelling
Systems Engineering ‘in the small’
Systems Engineering ‘in the large’
Combining Models
Meta-Process
Conclusion
Keywords
References
Recommended Reading
PART III SCENARIOS INACTION: CASE STUDIES
CHAPTER 16 STORY USE AND REUSE IN AUTOMOTIVE SYSTEMS ENGINEERING
Type of Project
Applicability
Position in the Life Cycle
Roles Played by Scenarios
Strengths
Weaknesses
Introduction
Automotive Software Development
Stories in Automotive Software Development
Stories in Requirements Discovery, Negotiation and Communication
Stories in Requirements Analysis
Identifying Feature Interactions and Conflicts
Relating Stories to Features
Requirements Recycling by Reusing Stories
Lessons Learnt
Keywords
References
CHAPTER 17 USE AND MISUSE CASES IN RAILWAY SYSTEMS
A: Use Cases for Train Control Requirements Discovery
Type of Project
Applicability
Position in the Life Cycle
Roles Played by Scenarios
Strengths
Weaknesses
Case Study
Background
Methods and Tools
Approach
Lessons Learnt
Keywords
B: Misuse Cases for a Seats Trade-Off
Type of Project
Applicability
Position in the Life Cycle
Roles Played by Scenarios
Strengths
Weaknesses
Case Study
Lessons Learnt
Summary
Keywords
References
CHAPTER 18 SCENARIOS IN AIR TRAFFIC CONTROL (ATC)
Applicability
Roles in the Life Cycle
Key Features
Strengths
Weaknesses
Background
The CORA-2 Project
The RESCUE Process
Scenario Walkthroughs
Use Case Modelling
Use Case Descriptions
Scenario Walkthroughs
Workshop Environment
Results
Requirements versus Time
Requirements Validation Using Use Cases
Domain-Specific Scenarios
Requirement Types
Requirements Management
Planning Workshops
How Many Scenarios Do We Need?
The Way Forward with Scenario Walkthroughs
Keywords
References
CHAPTER 19 SCENARIOS AND QUALITY REQUIREMENTS IN TELECOMMUNICATIONS
Type of Project
Applicability
Position in the Life Cycle
Roles Played by Scenarios
Strengths
Weaknesses
Case Study
Scenarios
Quality Requirements
Architecturally Significant Requirements (ASRs)
Refinement of ASRs
Software Architecture
Examples in Documenting Specific Quality Characteristics
Lessons Learnt
Suggestions for Well-Understood Domains
Suggestions for Emerging Markets
Acknowledgements
Keywords
References
CHAPTER 20 SCENARIOS IN RAIL ROLLING STOCK WITH REVEAL
Applicability
Position in the Life Cycle
Key Features
Strengths
Weaknesses
Case Study
Background
Our Approach to the Project
How Scenarios were Used
Postscript to Case Study
Lessons Learnt
Keywords
References
CHAPTER 21 EVALUATING SCENARIOS BY SIMULATION
Type of Project
Applicability
Position in the Life Cycle
Roles Played by Scenarios
Strengths
Weaknesses
Case Study
Background to the Case Study
The RE Framework
Lessons Learnt
Keywords
References
PART IV THE WAY AHEAD
CHAPTER 22 PUTTING SCENARIOS INTO PRACTICE
Which Kind of Scenario, When?
Which Scenario Technique, When? Conclusions from Part 2
Who, and Why?
Scenarios Everywhere?
How Does Project Scale Affect Scenario Usage?
Into Practice: Conclusions from the Part 3 Case Studies
Do Scenarios Replace Requirements?
Getting Started
Keywords
References
CHAPTER 23 TEACHING COMPUTER SCIENTISTS TO MAKE USE
Challenges in Teaching Students to Make Use
Comparisons—Scenarios for Making Use
Using Cases to Teach Scenario-Based Usability Engineering
Why Case-Based?
The Usability Case Study Library
Browsing the Usability Cases
Case-Based Learning Activities
Student Performance and Reactions
Strengths and Weaknesses
Discussion and Future Directions
Acknowledgements
Keywords
References
Recommended Readings
CHAPTER 24 WHAT SCENARIOS (STILL) AREN'T GOOD FOR
Continuous Behaviour
Very Large Systems
Fragmentary Models
Episodic, Allusory
Domain-Specific?
Which Representation?
Open-Ended
Tacit Knowledge
Non-Functional Requirements (NFRs)
Summary
References
CHAPTER 25 THE FUTURE OF SCENARIOS
Introduction: Horses for Courses
Towards a Framework
Representation
Process
Domain Knowledge
COTS
Dissemination
Summary
References
APPENDIX 1 SCENARIO-BASED SYSTEM DEVELOPMENT TEMPLATES
APPENDIX 2 EXERCISES
APPENDIX 3 ANSWERS TO EXERCISES
GLOSSARY
INDEX