Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Research Directions in Requirements Engineering
Transcript of Research Directions in Requirements Engineering
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Research Directions inRequirements Engineering
Betty H.C. ChengDept of Computer Science and
EngineeringMichigan State University
East Lansing, Michigan 48824 [email protected]
http://www.cse.msu.edu/~chengb
Jo AtleeDavid R. Cheriton School of
Computer ScienceUniversity of Waterloo
Waterloo, Ontario N2L 3G1 [email protected]
http://se.uwaterloo.ca/~jmatlee
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Outline
⢠What is RE?â Why is RE difficult?
⢠RE State of the Art⢠Research Strategies⢠RE Research Hotspots⢠Recommendations
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
What is Requirements Engineering?
Requirements engineering is the branch of softwareengineering concerned with the real-world goalsfor, functions of, and constraints on softwaresystems.
It is also concerned with the relationship of thesefactors to precise specifications of softwarebehavior, and to their evolution over time andacross software families.
[Zave 83]
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Why is RE Difficult?
⢠RE faces complementary challenges fromthose faced by the rest of SE community
⢠Different types of artifactsâ Downstream SE works in solution spaceâ RE works in problem space
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Why is RE Difficult?
Unlimited numberConstrained byrequirements, platform,acceptance, priorities,system boundaries
Alternatives toconsider
Gaining increasingattention
Majority of resourcesResources
Integrated models ofSW, environment,humans
Models of SWArtifacts
Wide range ofbackground, stakes
Technical, morehomogeneous
Stakeholders
Ill-defined descriptionsSpecified by requirementsStarting point
Problem spaceSolution spaceDomainREDownstream SEIssues
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Research Strategies
Narrow scope in order to makeprogress
Domain-specific
DefinitionStrategy
Assess approach against criteriaEvaluationDefine systematic, repeatable processEngineeringBroaden the scope of a narrow solutionGeneralization
Incremental advancesEvolutionary
Advance by new tools/technologyLeveragetechnology
Identify analogy with solution fromanother discipline (e.g., biology)
Leverage otherdisciplines
Dramatically change way of thinkingParadigm Shift
INCREA
SING
MA
TURITY
[Shaw02, Redwine and Riddle 85, Basili93]
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Research StrategiesActivity Level
INCREASING MATURITY
Par
adig
m S
hift
Leve
rage
D
isci
plin
es
Leve
rage
Te
chno
logy
Leve
rage
D
isci
plin
es
Eva
luat
ion
Eng
inee
ring
Gen
eral
izat
ion
Dom
ain-
spec
ific
Evo
lutio
nary
Vol
ume
of A
ctiv
ity
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Research StrategiesActivity Level
Para
digm
shi
ft
Tech
nolo
gy EvolutionD
omai
n-sp
ecifi
cG
ener
aliz
atio
nEn
gine
erin
gEv
alua
tion
Dis
cipl
ines
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Matrix of State of the Art
Elicitation
Reqs Mgmt
V&V
ReqtsAnalysis
Modeling
Analysis, ToolsMethodologies,Patterns,Strategies
NotationsResearch Contributions
Activities that enable the understanding of the goals, objectives, and motives forbuilding a system.
Identify the requirements to be satisfied inorder to achieve goals. Abstract representations of systemâs goals,
objectives, motives, and requirements.
Evaluating the quality of requirements:⢠structure (well-formed)⢠consistency and completeness
Validation: ensures models and documentationcapture stakeholdersâ needs. Verification: rigorous assessment that requirements satisfy specific properties
Managing requirements during construction and evolution⢠Identifying and documenting traceability links⢠Integration of requirements of different ages
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Matrix of State of the Art
Elicitation
Reqs Mgmt
V&V
ReqtsAnalysis
Modeling
Analysis, ToolsMethodologies,Patterns,Strategies
NotationsResearch Contributions
Model merging [145,163]Model synthesis[4,41,107,166,179]Model composition [79]
RE Reference model[75,76,128]Model elaboration [167]Viewpoints [125,153]Patterns [56,87,97,169]Modeling facilitators[7,34,95,126]Formalization heuristics[20,68]Methodologies [16]
Notation Semantics[117,122,161,135]Logics [52]Behavioral models[90,165]Domain descriptions [12]Object models [86]
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Hot Spots
⢠Definition: areas with pressing needs given anticipatedchallenges posed by emerging systems (e.g., scale, security,tolerance, tighter integration between system andenvironment)
⢠How we selected specific hot spots:â Extensions to the State of the Art:
⢠Based on âgapsâ in matrix and research strategies⢠Internal factors (push on boundaries)
â Defining New State of the Art:⢠External factors (from stakeholders from industry, govt, users)⢠Emerging systems⢠Proactive (part of problem solving team)
â identify promising solutionsâ define the leading edge (or be reactive)
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Hot Spots Impact
[ ][ ]
[ ][ ]
Extensions to State of Art:⢠Methodologies, Patterns, Tools⢠Reuse⢠Effectiveness of RE Techniques
AhksjhfksjhfskhPjshflkjshdsfjh
New State of the Art
SjkfoafwienvoaniaAkejhvnlaweuhvb
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Matrix of State of the Art
REproblem
Requirements ContributionsAnalysis,Tools
Methodologies,patterns,strategies
NotationREProblemsKey here:
Limited:leveragingotherdisciplines
Need experiencebefore strategiesRelatively newproblem (need reqs towarrant mgmt); lagbehind notationprogress; currentexamples reflectâleveraging otherdisciplinesâ
Paradigm Shift(pushing product-line engr to RE)
RequirementsManagement
Evolutionary+ otherdisciplines
Everything borrowedfrom other disciplines(FM) -- not specific toRE (genericabstractions/strategies)
Leveragetechnology for REpurposes (Logics,formalizationmappings; modelnotation for V&V--not intended forpublicconsumption);aggressiveabstraction
ValidationVerification
Blow up: lots ofactivity(rainbow:spectrum oftypes ofresearch)
Leverage otherdisciplines
NARequirementsAnalysis
Evolutionary;generalization(modeltransformations/composition -->understandcomposition.
Engineering:codification ofexperience
Evolutionary;specialization(e.g., viz:Drawing HCI,graphics)
Modeling
Leveragetechnology;video con
empiricalHuman strategiesmature;evolutionary forcreating newnotations forelicited reqts; ever-increasing (higher)level of abstraction(reqts-> goals->policies)
Elicitation
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Extensions to State of Art
⢠Methodologies, Patterns, Toolsâ Need more engineering-oriented research to
⢠integrate current techniques and⢠Make more widely available, applicable
â Requirements Reuse (e.g., patterns)⢠Within a domain⢠Across domains
⢠Effectiveness of RE Technologiesâ Need more evaluation-oriented research
⢠Demonstrate utility of current RE techniques on industrial-strengthproblems
â Also need comparisons of similar techniques⢠Provide guidance as to when one approach is more appropriate
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
New State of the Art
⢠Motivated by anticipated needsâ External factors (from stakeholders from industry, govt,
users)â Emerging systems
⢠Research Challenges:â Scaleâ Toleranceâ Self-Managementâ Cyberphysicalâ Security Scale
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
New Scale⢠Definition: new orders of magnitude increase
in scale [ULS Report, SEI 2006]â Sizeâ Heterogeneityâ Decentralized elementsâ Complexity (decision logic)
⢠Examples: (of the future)
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
New Scale
Intelligent Transportation and Vehicle SystemsExample:
17Ultra-Large-Scale SystemsLinda Northrop, ICSE 2007Š 2007 Carnegie Mellon University
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
New Scale
Healthcare Infrastructure
Ultra-Large Scale SW-Intensive Systems
18Ultra-Large-Scale SystemsLinda Northrop, ICSE 2007Š 2007 Carnegie Mellon University
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
New Scale⢠Definition: new orders of magnitude increase in
scaleâ Size (e.g., thousands of sensors, platforms)â Heterogeneityâ Decentralized elementsâ Complexity (decision logic)
⢠Example: ITS and IVS⢠RE Challenges:
â Modeling, abstraction, analysis techniques to handle newnotions of large scale.
â Managing requirements with uncertainty in data,processing, platforms
â Detecting/resolving feature interactions
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Self-Managing Systems
⢠Definition: software-based system is aware ofits context and must react and adapt tochanges in the environment or requirements[Kramer and Magee, FoSE07]
⢠Examples:
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Self-Managing Systems
⢠Definition: software-based system is aware of itscontext and must react and adapt to changes in theenvironment or requirements [Kramer and Magee, FoSE07]
⢠Examples:⢠RE Challenges:
â Determining when adaptation is neededâ Supporting changing requirementsâ Gaining assurance for adaptive systems
⢠Identify assurance criteria⢠Reasoning technology for adaptive systems
â Run-time monitoring of system and environment wrtcurrent requirements
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Tolerance⢠Definition of sufficient correctness
â âThe degree to which a system must be dependable in order to servethe purpose its user intends, and to do so well enough to satisfy thecurrent needs and expectations of those usersâ [Shaw WOSS02].
⢠RE Challengesâ Size of systems will make it impractical to have complete,
consistent, and stable requirements -- need to settle forâhealthful systemsâ
â Requirements for fault tolerance (cannot wait to addressFT at design/implementation)
â Negative requirements (e.g., unhealthy conditions toavoid)
â Requirements for diagnostic and recovery mechanisms
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Cyberphysical⢠Definition: Software seamlessly integrated with
environment. [Schaefer and Wehrheim, FoSE07]â Computing and communication tightly coupled with
monitoring and control of physical entities in environment⢠Examples:
Automated Manufacturing Handheld/WearableComputing
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Cyberphysical⢠Definition: Software seamlessly integrated with
environment. [Schaefer and Wehrheim, FoSE07]â Computing and communication tightly coupled with
monitoring and control of physical entities in environment⢠Examples:⢠RE Challenges:
â Need to model environment (not discrete)â Hybrid models (continuous and discrete systems
interacting)â Unpredictable environmental factors (e.g., humans)â Uncertainty aspects:
⢠What (when) to monitor,⢠Reacting to dated conditions (delayed information)⢠Noise in sensor data⢠Interpreting the data (SW state or environmental conditions)
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Security⢠Definition:
â âA computer is secure if you can depend on it and itssoftware to behave as you expect (intend).â
â âTrust describes our level of confidence that a computersystem will behave as expected.â (intended)
⢠Examples:â Healthcare Infrastructureâ Intelligent Transportation Systems
[Garfinkel & Spafford, Kasten]
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
ULS of the Future
Healthcare Infrastructure
Numerous Security Concerns
26Ultra-Large-Scale SystemsLinda Northrop, ICSE 2007Š 2007 Carnegie Mellon University
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
ULS of the Future
Intelligent Transportation and Vehicle SystemsNumerous security concerns
27Ultra-Large-Scale SystemsLinda Northrop, ICSE 2007Š 2007 Carnegie Mellon University
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Security⢠Definition:
â âA computer is secure if you can depend on it and its software tobehave as you expect (intend).â
â âTrust describes our level of confidence that a computer system willbehave as expected.â (intended)
⢠Examples:⢠RE Challenges:
â Modeling the environment⢠Need for complete (threat) models
â Malicious entities existâ Notations and methodologies
⢠Structuring, modeling, and reasoning about security policiesâ Monitoring for security requirements adherenceâ Tools for modeling and analyzing security requirements
[Garfinkel & Spafford, Kasten]
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Globalization⢠Definition: globally distributed development teams
[Herbsleb, FoSE07]⢠Motivation:
â Exploit a 24-hour work dayâ Global work force
www.intuitivedesigns.net
zzzzâŚ
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Globalization
⢠Definition: globally distributed development teams[Herbsleb, FoSE07]
⢠Motivation:â Exploit a 24-hour work dayâ Global work force
⢠RE Challenges:â RE documentation must support distributed downstream
development activities (design, coding, testing)â Communication support in a distributed environment:
⢠Requirements elicitation, modeling, negotiation⢠Team management (geographical, time zone, culture,
language)
www.intuitivedesigns.net
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
RecommendationsRESEARCHERS Extensions to State of Art
â˘Engineering/integrating RE Techniques
â˘Apply to industrial-strength dataâ˘Comparative studies
⢠Integrate with downstream SE researchâ˘Training the next generation
Defining New State of Artâ˘Looking for paradigm shifts for emerging systems and challengesâ˘New modeling, analysis, abstraction techniques
INDUSTRY/PRACTITIONERSExternal factors pose new challenges⢠New computing needs⢠New application domain needs⢠New users⢠Leverage new technology
New Considerations⢠Scale⢠Assurance⢠Distributed Controlâ˘Autonomic Behavior
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
RecommendationsResearchers Extensions to State of Art
â˘Engineering/integrating RE Techniques
â˘Apply to industrial-strength dataâ˘Comparative studies
⢠Integrate with downstream SE researchâ˘Training the next generation
Defining New State of Artâ˘Looking for paradigm shifts for emerging systems and challengesâ˘New modeling, analysis, abstraction techniques
Industry and PractitionersExternal factors pose new challenges⢠New computing needs⢠New application domain needs⢠New users⢠Leverage new technology
New Considerations⢠Scale⢠Assurance⢠Distributed Controlâ˘Autonomic Behavior
Collaborative PartnershipsCollaborative Partnershipsâ˘â˘ Collaborative researchCollaborative research effortsefforts â˘â˘ Collective identification and definitionCollective identification and definition of RE research challengesof RE research challengesâ˘â˘ Sanitized industrial-strength data Sanitized industrial-strength dataâ˘â˘ Repositories of RE-related artifactsRepositories of RE-related artifactsâ˘â˘ Evaluation of research techniquesEvaluation of research techniques
[Whitehead, FoSE07, Rombach & Achatz, FoSE07]
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Acknowledgements⢠Feedback:
â Philip K. McKinley, Axel van Lamsweerde, BasharNuseibeh, Robyn Lutz, Steve Fickas, Brian Berenbach,Heather Goldsby, Dan Fiedler, Lionel Briand
⢠Sponsors:â U.S. Department of the Navy, Office of Naval Research under Grant
No. N00014-01-1-0744, and in part by National Science Foundationgrants CCR-9901017, EIA-0000433, EIA-0130724, CCF-0541131,and CNS-0551622, and by Siemens Cooperate Research, and aMichigan State University Quality Fund Concept Grant
â Natural Sciences and Engineering Research Council of Canada
ICSE07 Future of Software Engineering, Future Directions of Requirements Engineering, BHC Cheng, JA Atlee, copyrighted 2007
Take home messageâŚResearchers Extensions to State of Art
â˘Engineering/integrating RE Techniques
â˘Apply to industrial-strength dataâ˘Comparative studies
⢠Integrate with downstream SE researchâ˘Training the next generation
Defining New State of Artâ˘Looking for paradigm shifts for emerging systems and challengesâ˘New modeling, analysis, abstraction techniques
Industry and PractitionersExternal factors pose new challenges⢠New computing needs⢠New application domain needs⢠New users⢠Leverage new technology
New Considerations⢠Scale⢠Assurance⢠Distributed Controlâ˘Autonomic Behavior
Collaborative PartnershipsCollaborative Partnershipsâ˘â˘ Collaborative researchCollaborative research effortsefforts â˘â˘ Collective identification and definitionCollective identification and definition of RE research challengesof RE research challengesâ˘â˘ Sanitized industrial-strength data Sanitized industrial-strength dataâ˘â˘ Repositories of RE-related artifactsRepositories of RE-related artifactsâ˘â˘ Evaluation of research techniquesEvaluation of research techniques
[Whitehead, FoSE07, Rombach & Achatz, FoSE07]