Title: Introduction to Requirements Engineering
1Introduction to Requirements Engineering
The hardest single part of building a software
system is deciding precisely what to
build-F.Brooks
2Outline
- Overview Picture
- Conventional Approaches
- RE Framework
- Recent Approaches
- About the RE process
- Bibliography
- Conclusion
3Overview Picture
What is Requirements Engineering about? What is
RE? Notion of a requirement The requirements
engineering process Why Requirements Engineering
is needed? When to Engineer Requirements? Approa
ches to Requirements Engineering
4What is RE about?
- The WHY question
- Why the system needs to be developed?
- The WHAT question
- What the system shall do?
Requirements definition must say why a
system is needed, based on current or foreseen
conditions, what system features will satisfy
this context, . (Ross77)
IEEE Computer 85, IEEE SE 91-92, Bubenko94,
Mylopoulos92, Dardenne93, Loucopoulos95,
Rolland98 etc..
5What is RE about?
Tentative Definition
Requirements Engineering is the activity which
transforms a fuzzy idea into a precise
specification of stakeholders needs that shape
the system to be built and therefore, defines the
intended link between a system and its environment
6What is RE about?
Mission statement, goals
WHY ?
The Requirements Engineering process
Requirements Specification
WHAT ?
7What is a Requirement?
Something that the product must do or a quality
that the product must have (Robertson99)
A description of how the system shall behave, an
information about the application domain,
constraints on operations, a system property
etc. (Kotonya98)
A requirement specifies how a goal should be
accomplished by a proposed system (Anton96)
8What is a Requirement?
Examples
- a constraint the system shall include a
spelling checker - a required function the system shall identify
old customers - a required quality the print out for old
customers shall be in colour
9What is a Requirement?
Requirements taxonomy
Functional (1) versus non functional (2) (1)
Things the system must do (2) Qualities that the
product must have Ex Send Christmas cards to
old customers(1) print them in colour (2)
10What is Engineering Requirements?
A complex process with intertwined activities and
multiple actors
User
Client
Requirements Engineer
Elicitation
Validation
Project manager
facilitator
Specification Documentation
Negotiation
Domain expert
System Analyst
11What is Engineering Requirements ?
Modelling as a core activity
- The existing system (As-Is) has to be modelled
- The alternative hypothetical systems (To-Be)
have to be modelled - Models serve as a basic common interface to the
RE activities - (previous slide)
- Models provide the basis for documentation and
evolution
- What aspects to model in the Why-What range?
- How to model such aspects?
- How to define the model precisely?
- How to reason about the model?
Questions
12Why is RE Needed ?
" Inadequate, Inconsistent, Incomplete or
ambiguous requirements are numerous and have a
critical impact on the quality of the resulting
software" (BellTayer76)
"Late correction of requirements errors cost up
to 200 times as much as during such requirements
engineering" (Boehm81)
"The primary cause of safety-related faults was
errors in functional interface requirements "
NASA's Voyager and Galileo programs, (Brooks87)
13Why is RE Needed ?
- Poor requirements are major source of failures
(Standish95) - 8000 projects, 350 US companies
- 1/3 of projects never completed 50 succeeded
only partially - Most perceived problems are related to
requirements specification - ( gt50) - (ESI96)
- 3800 organisations in 17 European countries
14When to Model Requirements ?
Traditionally the early phase of the software
development cycle
RUP, (Jacobson98)
Inception
Elaboration
Construction
Transition
Requirements
Analysis
Design
Implementation
Tests
Life Cycle Objectives
Life Cycle Architecture
Initial Operational Capability
Product Release
15Exercise
Decide what is to be the contents of a student
registration system for your University
16Outline
- Overview Picture
- Conventional Approaches
- RE Framework
- Recent Approaches
- About the RE process
- Bibliography
- Conclusion
17The Conventional View Point
"Abstracting from the users wishes, constraints,
needs.. the conceptual specification of the
system to build the acquisition, modelling,
validation cycle
Acquisition of domain knowledge and IS
specification
Validation
CONCEPTUAL SCHEMA
WHAT
Requirements Engineering
Design
Correction
Requirements specification conceptual
specification
INTERNAL SCHEMA
HOW
System Engineering
18Modelling Perspectives
Three perspectives Data, Function, Behaviour
Data
Data Driven Approaches
E/R
CIAM
NIAM
SHM
REMORA
ERAE
MERISE
Behavioural Temporal Approaches
Function
SADT
IE
Structured Analysis Design Approaches
(Rolland01)
SART
Behaviour
19Modelling Perspectives
Data
Function
Behaviour
20Modelling Perspectives
Data
Function
Behaviour
21Modelling Perspectives
Data
Request Arrival
Create
Update
Wait List
Room Availability
Reservation
Request
Increased availability
Function
Create
Update
Behaviour
22Integrating Perspectives
23Integrating Perspectives
Data
Function
Behaviour
24Exercise
Place the method that you are most familiar
within the framework
Place OMT in the framework
25Limits Assumptions of Conventional Approaches
- Requirements are supposed to be stable and
known - Users just need to be questioned about their
needs -
- RE is too much centred on the technical
solution - Notations are far too abstract
- RE is driven by computer engineers
26Revisiting Conventional Approaches
Embed schema production in organisational
context modelling
WHY
WHAT
HOW
27New RE perspectives
- Enlarge modelling scope from E/R to EM
- (from modelling system functions to modelling the
organisational context of the system to be built) - Consider requirements as a lifecycle 'product'
- Rethink the RE process
- requirements need to be elicited, discovered,
grown! - Intensify participation of various stakeholders
engineering requirements must be a co-operative
activity involving domain experts, engineers,
business executives etc..
28RE in a ChangePerspective
Elaborate the change vision in its
organisational context (Jarke93)
New model (To-Be)
Initial model (As-Is)
Change definition
Change implementation
Reverse analysis
Legacy integration
New system
Existing system
29Outline
- Overview Picture
- Conventional Approaches
- RE Framework
- Recent Approaches
- Bibliography
- Conclusion
30RE Framework
Structuring the context The worlds of
Requirements Engineering
How does IS represent information about the
Subject World
SUBJECT
How is Information about Subject World used in
the IS environment
WORLD
Intentional relationship
SYSTEM WORLD
Usage fit relationship
DEVELOPMENT
Design
Justification of
decisions
WORLD
development goals
(Jarke92, Jarke93)
31RE Framework
2 sources of requirements
Understanding the Intentional Relationship is
essential to comprehend the system rationale
The social perspective
SUBJECT
WORLD
System Environment
USAGE
Goal driven approaches
WORLD
Intentional Relationship
SYSTEM
WORLD
32RE Framework
2 sources of requirements
Understanding the Usage Fit Relationship is
essential to meet users' expectations
The individual, pragmatic perspective
SUBJECT
WORLD
System Environment
Scenario Driven Approaches
USAGE
WORLD
Usage Fit relationship
SYSTEM
WORLD
33RE Framework
Understanding the Domain Genericity Relationship
helps eliciting generic requirements
2 sources of requirements
SUBJECT
WORLD
System Environment
Domain Genericity relationship
USAGE
WORLD
Usage Fit relationship
SYSTEM
Intentional relationship
WORLD
34Outline
- Overview Picture
- Conventional Approaches
- RE Framework
- Recent Approaches
- About the RE process
- Bibliography
- Conclusion
35 Usage World and IS Rationale
The usage world is the social and organisational
environment in which the system is intended to
function Goal driven analysis is an approach to
link the various parts the usage world among them
and with the system.
Modelling this link allows to understand WHY a
new system has to be developed or a legacy system
has to be revised
36The EKD Approach
Modelling organisational objectives to derive
functional and non-functional system
requirements, (Bubenko94)
37Example Car Repair Shop
38Example Car Repair Shop
39Example Car Repair Shop
40Example Car Repair Shop
41Exercise
Write one path from a high level objective to
requirements in the student registration system
42Scenario Based RE
The User point of view
43Example The Meeting Scheduler
Temporal sequence of interactions between the
system-to-be its environment
(Potts94)
44Scenario Based RE
Scenarios are important artefacts used for a
variety of purposes - elicitation of
requirements (Potts94, Rolland98) - identify
exceptional cases (Potts95) - to populate
abstract models (Rumbaugh91, Rubin92) - to
validate requirements in conjunction with
prototyping (Sutcliffe98), animation
(Dubois93), or plan generation tools (Fickas92)
and generate acceptance tests (Hsia94)
The use of scenarios raise problems coverage,
combinatorial explosion, procedural nature,
leave intended system properties implicit,
force to premature choices
45Outline
- Overview Picture
- Conventional Approaches
- RE Framework
- Recent Approaches
- About the RE process
- Bibliography
- Conclusion
46The RE process
The development world is concerned with methods,
models and tools to support the RE process
It is necessary to improve the maturity level of
development teams Including RE teams
(Humphrey89)
47The RE process
How to improve the current practice?
- Improving methods the methodological impact
- From handicraft to industrial performance
- formalisation of the RE process (definition of
process models) - and tool driven guidance
-
- Improving RE process management the managerial
- impact
- Continuous improvement cycle
- and mechanisms for capitalising from experience
48Pohls View
Understanding the process
(Pohl94)
49Pohls view of the RE process
- Elicitation/specification (representation axis)
- Requirements shall be discovered and specified
- according to some representation system
- Negotiation (agreement axis)
- Requirements might be conflicting with one
another and - must be negotiated depending on their costs and
priority - Compliance to standards (specification axis)
- Requirements must comply with quality standards
50Pottss ViewInquiry Cycle Model
Expression - requirements documents - goals -
scenarios Discussion - questions - answers - open
questions Commitment - change requests
(Potts94)
51Tracing the RE Process
Example of trace model IBIS
Argument
Position
Pro ()
Con (-)
Is a response to
is suggested by
Issue
52Tracing the RE ProcessPottss example
53Guiding the RE ProcessNATURE example
(a) Guidance is based on situated knowldge
cardinality 0
o.n
SITUATION
Car
owns
(b) Guidance suggests improvements decision to
partition ET
DECISION
"Partition" the ET Person
(c) If guidance is embedded in a CASE tool the
decision is applied automatically
Person
ACTION
is.a
is.a
1.n
Car owner
Car
Non car owner
owns
(Rolland96)
ARGUMENT to remove Null values
54Process centred environment framework
Process Model Domain
Real World Development Domain
Agents,
Activities
Process models Methods
Enactment
Guidance
Control
Enactment Domain
Process Tracing gt Trace Model Process
Guidance gt Guidance Model
55Process Management Aspects
- CMM Adaptation to RE processes
- (Ian Sommerville Peter Sawyer
- Requirements Engineering A Good practice Guide,
- Wiley 1997)
- IEE standard
- IEEE/ANSI 830-1993
- IEEE/ANSI 830-1998
- Standards, Guidelines and Examples on System and
Software - RE, M.Dorfman, R.H.Tayer, IEEE Computer Society
Press, 19931998 - CASE tools for requirements management
- DOORS , Quality Software Software
- RequisitePro 4.0, Rational Software
-
56 Sommervilles Adaptation of the CMM
The first three levels are reconsidered
Initial ad-hoc process definition leaving many
problems in the performance of RE processes
Repeatable definition of a list of activity
types and of a standard for documentation. Leads
to a better mastering of projects of the same
nature. Defined Guided process through
patterns of good practice. Mechanisms for process
improvement are installed.
57 Sommervilles Adaptation of the CMM
Team evaluation and process improvement are based
on guidelines classified as Basic guidelines,
Intermediate guidelines advanced guidelines
Ex the top ten Define a standard document
structure Make the document easy to
change Uniquely identify each requirement Define
policies for requirements management Define
standard templates for requirements
description Use language simply, consistently and
concisely Organise formal requirements
inspections Define validation checklist Use
checklist for requirements analysis Plan for
conflicts and conflict resolution
58IEEE standard 830-1993
1 Introduction Purpose of the requirements
document Scope of the product Definitions,
acronyms and abbreviations References Overview
of the remainder of the document 2 General
description Product perspective Product
functions User characteristics General
constraints Assumptions and dependencies 3
Specific requirements, functional,
non-functional, and interface requirements.
59Bibliography
Software requirements Objects, Functions and
States A.Davis, Prentice Hall, 1993 software
and structured analysis oriented System
Requirements Engineering P. Loucopoulos, V.
Karakostas, Mcgraw-Hill, 1995 overview Explor
ing Requirements Quality Before Design D.C
Gause, G.M. Weinberg, Dorset House, 1989 if you
like stories Software Requirements and
Specifications A Lexicon of Practise,
Principles and Prejudices M. Jackson, Addison
Wesley, 1995 good
60Bibliography
Requirements Engineering A Good Practice
Guide Ian Sommerville Pete Sawyer, John Wiley,
1998 a cookbook CMM like Mastering the
Requirements Process S. Robertson, J. Roberston,
Addison Wesley, 1999 the GUILDE view point
the Amazon's must in 2002 Non-Functional
Requirements in Software Engineering L. Chung,
B.A. Nixon, E. Yu, J. Mylopoulos, Kluwer,
2000 THE book on NFR! System and Software
Requirements Engineering R.H. Thayer, M. Dorfman,
2nd ed 1999, IEEE Computer Press selected
papers on RE
61Conclusion
- Abandon the 'system' centred approach
- Favour the 'usage' view point
- Forget about system analyst prominence
- Prefer a 'facilitator' to conduct co operative
work - with all concerned stakeholders
- Define the RE process, trace and guide it
62Readings
1- From Conceptual Modelling to Requirements
Engineering C. Rolland, N. Prakash Special
issues of Annals of Software Engineering on
Comparative Studies of Engineering Approaches,
2001
2- The Three Dimensions of Requirements
Engineering a framework and its application K.
Pohl Information Systems Vol 19, N 3, pp
243-258, 1994