Observational Models of Requirements Evolution CSC2004 Light
-
Upload
wajidislam -
Category
Documents
-
view
221 -
download
0
Transcript of Observational Models of Requirements Evolution CSC2004 Light
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
1/36
Massimo Felici
2004
CSC2004
Observational Models of
Requirements Evolution-
Theory and Practice
Massimo FeliciLFCS, School of Informatics, The University of Edinburgh
http://homepages.inf.ed.ac.uk/mfelici/
The Critical System Conference
29th-30th September 2004
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
2/36
Massimo Felici2004
CSC2004
Overview
o On Requirements Evolutiono Socio-technical grounds
o Empirical analyseso Capturing Requirements Evolution
o Observational Models of Requirements Evolutiono A bit of theory
o Evolution as Dependability
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
3/36
Massimo Felici
2004
CSC2004
On Requirements Evolution
Requirements Evolution is one of the main issues thataffect development activities as well as systemfeatures (e.g., system dependability). Althoughresearchers and practitioners recognise theimportance of requirements evolution, research resultsand experience are still patchy. This points out a lackof methodologies that address requirements evolution.
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
4/36
Massimo Felici2004
CSC2004
On Requirements Evolution
o Do requirements evolve? Yes!!!
oCan requirements be frozen? No
o you might try, but it wouldnt work
o The completeness and correctness panaceas are just utopias
o Why do requirements evolve?o It is possible further to understand requirements evolution from a
socio-technical viewpointo Systems Approach, Heterogeneous Engineering, Social Shaping of
Technology, etc.
o Empirical analyses of requirements evolution are still patchyo Lack of support for analyzing evolutionary data
o Organizational culture/strategyo Requirements evolution (analysis) as work practice
o Requirements evolution captures organizational knowledge
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
5/36
Massimo Felici
2004
CSC2004
Capturing RequirementsEvolution
Everyone talksabout Requirements
Evolution, but justfew know how itlooks like.
Everyone talksabout Requirements
Evolution, but no
one knows how itlooks like.
No one talks aboutRequirements
Evolution.
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
6/36
Massimo Felici2004
CSC2004
Capturing Requirements Evolution [1/10]
o Requirements evolution as trends of requirements changeso added, deleted and modified requirements
o An increasing number of requirements is due too Stakeholders interaction, technology issues/constraints,
further understanding of system requirements,Requirements refinements, new arising requirements,Requirements dependencies, operational usage, etc.
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
7/36
Massimo Felici2004
CSC2004
o Requirements (changes) classification
o A classification is a spatial, temporal or spatio-temporalsegmentation of the world. In an abstract, ideal sense, aclassification system exhibits the following properties:There are consistent, unique classificatory principles inoperation; The categories are mutually exclusive; Thesystem is complete.
[Bowker and Star, 1999]
o Classifications and Standards are closely related, but notidentical.o A standard:
o agreed-upon rules, multi-community (users) of practice;distant and heterogeneous collaborations; legal bodies,lack of laws (or criteria) of definition (e.g., politics)
o Classifications:o capture work practice; are ubiquitous; represent information
infrastructures; etc.; evolve.
Capturing Requirements Evolution [2/10]
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
8/36
Massimo Felici2004
CSC2004
Capturing Requirements Evolution [3/10]
o Example of Requirements (changes) classificationo Type of Requirement:
o Stable or Changing (Mutable, Emergent, Consequential,Adaptive, Migration)
o Type of change:
o Add, Delete Modify; Partial compliance; Traceability; etc.
o Change Rationale:
o requirements errors, conflicts and inconsistency; evolvingcustomer system knowledge; technical, schedule or cost
issues; changing customer priorities; environmentalchanges; organizational changes
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
9/36
Massimo Felici2004
CSC2004
Capturing Requirements Evolution [4/10]
o Requirements (changes) classifications allow the
analysis of requirements features, in particular,requirements evolution
Classified RequirementsChanges per Software
Release
Histograms of the size of the sets ofrequirements changes allocated to a single
software release
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
10/36
Massimo Felici2004
CSC2004
Capturing Requirements Evolution [5/10]
o Requirements (changes) classifications allow theanalysis of requirements features, in particular,requirements evolution
R
CR
R
RMI
=
HRMI - Historical RequirementsMaturity Index
R
CAR
R
HRMI
=
RMI RequirementsMaturity Index
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
11/36
Massimo Felici2004
CSC2004
Capturing Requirements Evolution [6/10]o Stable and Changing Requirements A functional viewpoint
points out how diverse parts of requirements evolve. Moreover,
it supports the analysis of requirements dependencies.
(Functional) Requirements size
A Functional Viewpoint
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
12/36
Massimo Felici2004
CSC2004
Capturing Requirements Evolution [7/10]o Requirements Evolution Processes A functional viewpoint
points out how diverse parts of requirements evolve. Moreover,
it supports the analysis of requirements dependencies.
Requirements dependencies
Requirements evolution processes
gamma maps from sequence analysis
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
13/36
Massimo Felici2004
CSC2004
Capturing Requirements Evolution [8/10]
o It is actually possible to identifytwo main distinct processes:
o the software process
o the requirements process
[Weinberg, 1997]
o Empirical evidence should mutually control the two processes
o A product viewpoint identifying reusable software functionso Repeatable processes to allocate software functions to
high level system requirements
o Refining requirements information flow expansion
o The gap between these processes represents the extent to whichan organization is able to identify an optimal and effective set of(reusable) software functions
o Issues: communications across multilevel organizations, cost,visibility, controllability, etc.
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
14/36
Massimo Felici2004
CSC2004
Capturing Requirements Evolution [9/10]
o The Humanso Viewpoints Analysis
different professionalprofiles (in terms ofresponsibility andexperience) point outdifferent understandings
o Viewpoint Analysis -Conflicting viewpointshighlight issues inrequirements process
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
15/36
Massimo Felici2004
CSC2004
Capturing Requirements Evolution [10/10]
o Requirements Evolution Practice
o Data Collection: difficult; integrated in work practice;otherwise, issues - increased workload, frustration, etc.
o Tailored data organizations and goals
o Requirements Evolution Featureso Quantitative Requirements Evolution
o Requirements maturity (e.g., RMI, HRMI, etc.)
o Taxonomy of requirements (changes)
o Functional requirements evolution
o Requirements evolution processes
o Requirements evolution viewpoints
o Require viewpoint management support
o Identify requirements issues
o Requirements evolution affects project visibility
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
16/36
Massimo Felici
2004
CSC2004
Modeling RequirementsEvolution
Heterogeneous Engineering: People had to be engineered, too persuaded to suspend their doubts, induced to provide
resources, trained and motivated to play their parts in aproduction process unprecedented in its demand. Successfullyinventing the technology, turned out to be heterogeneousengineering, the engineering of social as well as the physicalworld.
[MacKenzie, 1990]
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
17/36
Massimo Felici2004
CSC2004
Modeling Requirements Evolution [1/8]
o Heterogeneous Engineeringo Provides a comprehensive account of system requirementso Stresses a holistic viewpoint that allows us to understand
the underlying mechanisms of evolution of socio-technicalsystems
o Requirements, as mappings between socio-technical solutionsand problems, represent an account of the history of socio-technical issues arising and being solved within industrialssettings
o Requirements are socially shaped (I.e., constructed andnegotiated) through sequences of mappings between solutionand problem spaces.
o The Functional Ecology Model [Bergman et al, 2002]
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
18/36
Massimo Felici2004
CSC2004
Modeling Requirements Evolution [2/8]
o The Functional Ecology Model describes solution-
problem iterations
o The formal (i.e., formal logic) extension of thefunctional ecology model provides a framework tomodel and capture requirements evolution
SolutionProblemSolution
LocalSolution Space
Problem SpaceFuture
Solution Space
Objective
Requirements
Constraining
RequirementsRequirementsSpecification
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
19/36
Massimo Felici2004
CSC2004
Modeling Requirements Evolution [3/8]
o Example A Reparable Clock Design
Clock
BrokenClock
Tick
Break
The clockshould bereparable
None statetransactionis terminal
Clock
BrokenClock
Tick
Break
Repair
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
20/36
Massimo Felici2004
CSC2004
Modeling Requirements Evolution [4/8]
o Example A Tick-tock Clock Design
Clock
BrokenClock
Tick
Break
Repair
The clockshouldTick-tock
Clock 1
BrokenClock
Tick
Break
Repair 1
Clock 2
Tock
Repair 2
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
21/36
Massimo Felici2004
CSC2004
Modeling Requirements Evolution [5/8]
o The formal framework captures RequirementsEvolution in terms of solution space transformationso Requirements evolution is a co-evolutionary process.
Requirements evolution consists of the RequirementsSpecification Evolution and the Changes Evolution.
o Requirements evolution represents organizationalknowledge. It is part of organizational learningprocess.
o Solution and problem spaces are socially shaped.o Issue: the social-shaping of solution and problem
spaces is error-prone
o Any solution requires the organization commitmentin terms of resources
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
22/36
Massimo Felici2004
CSC2004
Modeling Requirements Evolution [6/8]
o Other requirements evolution exampleso Cascade effect - Changes propagate through the
mappings between solution and problem spaces
o Allocation of Safety Requirements in subsequentreleases
o Hybrid Solution Spaces System Models andHuman Cognition models
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
23/36
Massimo Felici2004
CSC2004
Modeling Requirements Evolution [7/8]
o Evolutionary dependency identifies how changeseventually propagate through emergent requirementsdependencies
o The formal extension of the functional ecology modelcaptures requirements evolutionary dependencies (interms of solution space transformation)
o Solutions are requirements dependencies
o The formal framework used at an higher levelof abstraction than design
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
24/36
Massimo Felici2004
CSC2004
Modeling Requirements Evolution [8/8]
o Capturing Evolutionary Dependency
F1Software
Architecture
F2Interface
Subsystems
F8System
Maintenance
Tooexpensiveandrisky!!!
/ /$
/ /$
/ /$
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
25/36
Massimo Felici
2004
CSC2004
A Taxonomy of EvolutionEvolution as Dependability
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
26/36
Massimo Felici2004
CSC2004
A Taxonomy of Evolution [1/2]
o It is possible to identify an
evolutionary space forsocio-technical systems
o Temporal Dimension
o Evolution in Design
o Evolution in Use
o Physical Dimension
o Hard Evolution
o Soft Evolution
Evolutionin Design
SoftEvolution
HardEvolution
Evolutionin Use
Temporal dimension
Physical
dimension
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
27/36
Massimo Felici2004
CSC2004
A Taxonomy of Evolution [2/2]o The identification of a broad spectrum of evolutions
in socio-technical systems points out strong
contingencies between evolution and dependability
o The better our understanding of socio-technicalevolution, the better system dependability
Software Evolution
Architecture (Design) Evolution
Requirements Evolution
Socio-technical System Evolution
Organisation Evolution
Evolutionin Design
SoftEvolution
HardEvolution
Evolutionin Use
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
28/36
Massimo Felici
2004
CSC2004
Requirements Evolution
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
29/36
Massimo Felici2004
CSC2004
Requirements Evolution
o On Requirements Evolutiono Socio-technical grounds of Requirements Evolution
o Empirical analyseso Capturing Requirements Evolution
o Observational Models of Requirements Evolutiono A bit of theory
o Evolution as Dependability
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
30/36
Massimo Felici2004
CSC2004
Requirements Evolution [1/2]
1. Heterogeneous engineering stresses a holistic viewpoint that
allows us to understand the underlying mechanisms of evolutionof socio-technical systems.2. Requirements, as mappings between socio-technical solutions
and problems, represent an account of the history of socio-technical issues arising and being solved within industrialsettings.
3. The formal extension of the functional ecology model providesa framework to model and capture requirements evolution.
4. The application of the proposed framework provides furtherevidence that it is possible to capture and model evolutionaryinformation about requirements (e.g., evolutionarydependency).
5. The discussion of scenarios of use stresses practical
necessities for methodologies addressing requirementsevolution.
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
31/36
Massimo Felici2004
CSC2004
Requirements Evolution [2/2]
6. The identification of a broad spectrum of evolutions in socio-
technical systems points out strong contingencies betweensystem evolution and dependability.
7. This presentation argues that the better our understanding ofsocio-technical evolution, the better system dependability.
8. This presentation is concerned with software requirementsevolution in industrial settings. It introduces methodologies to
empirically investigate and model requirements evolution, henceObservational Models of Requirements Evolution.
9. The results provide new insights in requirements engineeringand identify a foundation for Requirements EvolutionEngineering.
10.This presentation addresses the problem of empiricallyunderstanding and modelling requirements evolution.
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
32/36
Massimo Felici
2004
CSC2004
Observational Models of
Requirements Evolution-
Theory and Practice
Massimo FeliciLFCS, School of Informatics, The University of Edinburgh
http://homepages.inf.ed.ac.uk/mfelici/
The Critical System Conference29th-30th September 2004
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
33/36
Massimo Felici
2004
CSC2004
Background Slides
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
34/36
Massimo Felici2004
CSC2004
o The socio-technical grounds of requirements (evolution)o Systems Approach: system builders include heterogeneous
components, such as, mechanical, electrical, and organizationalparts, in a single system.
[Hughes and Hughes, 2000]
o Heterogeneous Engineering: People had to be engineered, too persuaded to suspend their doubts, induced to provide resources,
trained and motivated to play their parts in a production processunprecedented in its demand. Successfully inventing thetechnology, turned out to be heterogeneous engineering, theengineering of social as well as the physical world.
[MacKenzie, 1990]
o Social Shaping of Technology: The mechanisms underlying thesocial design and implementation of technology systems arereferred to as the Social Shaping of Technology (SST).
[MacKenzie, 1999]
On Requirements Evolution [1/3]
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
35/36
Massimo Felici2004
CSC2004
On Requirements Evolution [2/3]
o Requirements Evolution vs. Reuse and Maintenanceo Current requirements engineering methodologies provide
limited support to understand requirements evolution. Reuseand maintenance tend to focus on classifying and managingrequirements changes, rather than analyzing or evenanticipating changes.
[Lutz and Mikulski, 2003]o Requirements evolution involves the practice on analyzing
requirements changes in order to identify strategies dealingwith environmental changeso It is possible to classify requirements as stable or changing
[PROTEUS Project]o It is possible to identify the stable or volatile requirements
o Empirical analyses of requirements evolution are still patchyo Lack of support for analyzing evolutionary datao Requirements evolution (analysis) as work practiceo Organizational culture
-
8/3/2019 Observational Models of Requirements Evolution CSC2004 Light
36/36
Massimo Felici2004
CSC2004
On Requirements Evolution [2/3]o Modeling methodologies and languages (e.g., SCR, Intent
Specifications, etc.) advocate different design strategies.
Although these strategies support different aspects of(software) system development, they originate in a commonSystem Approach.
o Systems Approach: Practitioners and proponents embrace aholistic vision. They focus on the interconnections amongsubsystems and components, taking special note of theinterfaces among various parts.
[Hughes and Hughes, 2000]o Requirements change: About four year later the original TCAS
specification was written, experts discovered that it did notcover requirements involving the case where the pilot of anintruder aircraft does not follow his or her TCAS advisoryandthus TCAS must change the advisory to its own pilot. This
change in basic requirements caused extensive changes in theTCAS design, some of which introduced additional subtleproblems and errors that took years to discover and rectify.
[Leveson, 2000]