Professional Documents
Culture Documents
G S
The four PEGS
of requirements engineering
Bertrand Meyer
Schaffhausen Institute of Technology
& Eiffel Software
Project Environment
Goals System
2
In a nutshell (2): Four books of requirements
Project Book
P.1 Roles P Goals Book
G.1 Overal context & goals G
P.2 Personnel characteristics and constraints G.2 Current situation
P.3 Imposed technical choices G.3 Expected benefits
P.4 Schedule and milestones G.4 System overview
P.5 Tasks and deliverables G.5 Limitations and exclusions
P.6 Risks and mitigation analysis G.6 Stakeholders
P.7 Requirements process and report G.7 Requirements sources
Environment Book
E.1 Glossary E
System book
S.1 Components
S
E.2 Components S.2 Functionality
E.3 Constraints S.3 Interfaces
E.4 Assumptions S.4 Scenarios (use cases, user stories)
E.5 Effects S.5 Prioritization
E.5 Invariants S.6 Verification and acceptance criteria
3
What’s in this work
Four parts:
1. A precise definition of requirements concepts
P E
2. Some requirements principles
G S
3. A standard plan for requirements documents
4
Forthcoming book
5
Acknowledgments
6
Some influences
Michael Jackson
7
-1–
-1-
Overview
Key requirementsof the
concepts
requirements task
8
Requirements: Brooks (1975)
9
Chasm: theory vs practice
Use cases
User stories
As a system
administrator, I want to
hide users’ requests so
that I can enjoy my
holidays
10
Chasm: traditional vs agile
11
Chasm: geek vs non-geek
Requirements engineers/
Subject-Matter Experts
Business analysts
12
Still the standard...
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms & abbreviations
1.4 References
1.5 Overview
2. Overall description
2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies
3. Specific requirements
Appendixes
Index
13
More standards: “definitions”
Project Environment
Goals System
15
System versus environment
Compare:
“The gate shall close in at
most 3 seconds”
“Trains shall be assumed to
travel at no more than 300
Km/Hr”
∀ x: HUMAN ¦ xìis_mortal
17
Requirement
of the
18
Compare...
21
-1–
-2-
Overview of the
A few principles
requirements task
22
Requirements quality: avoid “analysis paralysis”
23
The nature of requirements
24
The management of requirements
25
Sources of requirements
“Requirements document”
Meeting minutes
PowerPoint presentations
Emails
Regulatory documents
Competing products
26
Requirements change
27
Requirements in the lifecycle
28
-1–
-3-
Overview of the
The PEGS plan
requirements task
29
Four books of requirements
Project Book
P.1 Roles
P Goals Book
G.1 Overall context & goals
G
P.2 Personnel characteristics and constraints G.2 Current situation
P.3 Imposed technical choices G.3 Expected benefits
P.4 Schedule and milestones G.4 System overview
P.5 Tasks and deliverables G.5 Limitations and exclusions
P.6 Risks and mitigation analysis G.6 Stakeholders
P.7 Requirements process and report G.7 Requirements sources
Environment Book
E.1 Glossary E
System book
S.1 Components
S
E.2 Components S.2 Functionality
E.3 Constraints S.3 Interfaces
E.4 Assumptions S.4 Scenarios (use cases, user stories)
E.5 Effects S.5 Prioritization
E.5 Invariants S.6 Verification and acceptance criteria
30
Notes on the plan
31
References between the four PEGS
Project Environment
Goals System
May reference
32
Verification obligations between the four PEGS
Project Environment
Goals System
Must satisfy
33
-1–
-4-
Overview
Requirements oflifecycle
in the the
requirements task
34
The waterfall view (a pedagogical device)
Feasibility study
Requirements
Global design
Detailed design
Implementation
Verification
Deployment
35
The agile model
Iterations: sprints
No upfront steps
Each sprint includes requirements (user stories), test design,
implementation, test run
Every sprint produces executable system (prototype)
Sprint
Sprint
Sprint
Sprint
36
Seamless development
Single concepts, principles, notation, tools
Continuous, incremental development
Keep model, implementation, documentation consistent
Implementation COUNTER…
Verification
TEST_DRIVER…
Generalization TABLE…
Example classes
37
Seamless, reversible development
Single concepts, principles, notation, tools
Continuous, incremental development
Keep model, implementation, documentation consistent
Correct earlier steps as needed (reversibility)
Requirements
Design
Implementation
Verification
Generalization
38
Multirequirements Multirequirements, 2013
Intertwined
discourses:
Natural
language
Graphics
Formal
(Eiffel)
Tables
39
The cluster model
Cluster 1
Cluster 2
R
D R Cluster n
I D
I R
V
V D
G
I
G
V
40
The PEGS lifecycle model
Analyze
Define goals environment
Sprint definition
Plan project Define clusters
Validate
Select clusters
Sprint implementation
Validate
41
Over the project’s timeline
Sprint 1 definition
Sprint 1
Sprint 1 implementation
Sprint 2 definition
Sprint 2
Sprint 2 implementation
Sprint 3 definition
Sprint 3
Sprint 3 implementation
Sprint 4 definition
Sprint 4
Sprint 4 implementation
UI prototype
Sprint 2 definition
Sprint 2
Sprint 2 implementation
Sprint 3 definition
Sprint 3
Sprint 3 implementation
Sprint 4 definition
Sprint 4
Sprint 4 implementation
UI prototype
Critical clusters
Sprint 3 definition
Sprint 3
Sprint 3 implementation
Sprint 4 definition
Sprint 4
Sprint 4 implementation
UI prototype
Critical clusters
Requirements update
Sprint 3
Cluster development
(continued + new)
Sprint 4 definition
Sprint 4
Sprint 4 implementation
UI prototype
Critical clusters
Requirements update
Sprint 3
Cluster development
(continued + new)
Requirements update
Sprint 4
Cluster development
(continued + new)
UI prototype
Critical clusters
Requirements update
Sprint 3
Cluster development
(continued + new)
Requirements update
Sprint 4
Cluster development
(continued + new)
System validation
Final sprint
Final bug fixes
47
In what notation do we state requirements?
48
Object-oriented requirements
49
A place for everything
The Formal Picnic Approach to Requirements (B. Meyer), blog article, 2020
https://cacm.acm.org/blogs/blog-cacm/232677-the-formal-picnic-approach-to-requirements/fulltext
53
Schaffhausen Institute of Technology
New university based in Switzerland https://sit.org
Areas of interest,
focus on interdisciplinarity:
Computer science
Advanced physics:
new materials,
quantum
Digital business
Currently:
Two research chairs in software engineering
Next SIT Insights event (next Wednesday, March 10, 17 CET/11 AM EDT)
Graduation of first students
55