requirement engineering: a roadmap
DESCRIPTION
Requirement Engineering: A Roadmap. Bashar Nuseibeh, Steve Easterbrook 2000. Introduction. The primary measure of success of a software system is the degree to which it satisfies its customers This is difficult Often, their goals and technical needs may not be explicit - PowerPoint PPT PresentationTRANSCRIPT
1Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Requirement Engineering: A Roadmap
Bashar Nuseibeh,
Steve Easterbrook
2000
2Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Introduction
The primary measure of success of a software system is the degree to which it satisfies its customers
This is difficult Often, their goals and technical needs may not be
explicit may be difficult to articulate. may be constrained by a variety of factors
outside their control
3Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Core RE Activities
Core Activities are: Eliciting Requirements Modeling and Analyzing Requirements Communicating requirements Agreeing Requirements Evolving Requirements
practical reality dictates that these activities are actually interleaved, iterative, and may span the entire software systems development life
cycle.
4Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
RE Definition
Zave defines RE as: Requirements engineering is the branch of
software engineering concerned with the real world goals for, functions of, and constraints on software systems. It is also concerned with the relationship f theses factors to precise specifications of software behavior, and to their evolution over time and across software families.
5Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Requirements need Engineering
Definitions of engineering refer to the creation of cost effective solutions to practical problems by applying scientific knowledge
The use of the term engineering in RE serves as a reminder that RE is an important part of Engineering process
6Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
RE is a multi- disciplinary process
system engineering to deliver some systems behavior to its stakeholders.
Computer science provides the framework to assess the feasibility of requirements
logic improve the rigour of the analysis performed and to make the reasoning
steps explicit. systems theory and practice
This includes work on characterizing systems identifying their boundaries and managing their development life cycle.
7Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
RE is a multi- disciplinary process (2)
Cognitive psychology Anthropology Sociology
RE needs to e sensitive to how people perceive and understand the world around them. how they interact and how the sociology of the workplace affects their actions.
Linguistics Interpreting and understanding stakeholder
terminology, concepts, viewpoints and goals
8Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Core RE Activities
Eliciting Requirements Modeling and Analyzing Requirements Communicating requirements Agreeing Requirements Evolving Requirements
9Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Eliciting Reuirements
10Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
RE Elicitation
“first” step in the RE process. The term “elicitation” is preferred to
“capture”, Information gathered during requirements
elicitation often has to be interpreted, analysed, modelled and validated
11Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Requirements to Elicit
a system’s boundaries. Identifying stakeholders Goals which denote the objectives a system
must meet tasks users currently perform and those that
they might want to perform
12Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Elicitation Techniques
Common techniques are: Existing documentation Interviews Questionnaires and surveys Meetings Ethnography Prototypes Techniques for knowledge acquisition for knowledge based systems
Laddering Card Sorting RAD/JAD
Depends on Time Resources Kind of information that needs to be elicited
13Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Elicitation Process
There are lot of methods which some guidance on their use is needed. Methods provide one way of delivering such guidance. Methods provide a systematic approach to combine different
techniques and notations. Each method itself has its strengths and weaknesses, and is normally
best suited for use in particular application domains. Some methods are:
Use cases and scenarios Inquiry Cycle CREWS
Requirements Engineer needs to select the appropriate technique or techniques most suitable for the elicitation process in hand
14Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Modeling and Analyzing Requirements
15Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Modeling
the construction of abstract descriptions that are amenable to interpretation
is a fundamental activity in RE So much so that a number of RE textbooks focus almost entirely on
modeling methods and their associated analysis techniques. many modeling approaches are used as elicitation tools
where the modeling notation and partial models produced are used as drivers to prompt further information gathering.
16Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Enterprise Modeling
Enterprise modelling is often used to capture the “purpose” of a system, by describing the behaviour of the organisation in which that system will operate
Enterprise modelling and analysis deals with understanding an organisation’s structure, the business rules that affect its operation, the goals, tasks and responsibilities of its constituent
members, and the data that it needs, generates and manipulates.
17Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Behavioral Modeling
modelling the dynamic or functional behaviour of stakeholders and systems (existing and required).
modelling methods structured methods object-oriented methods formal methods.
These methods provide different levels of precision and are amenable to different kinds of analysis. Formal methods (for example, based on Z) can be difficult to
construct, but are also amenable to automated analysis Soft methods provide “rich” representations that non-technical
stakeholders find appealing, but are often difficult to check automatically.
18Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Domain Modeling
A significant proportion of the RE process is about developing “domain descriptions”
A model of the domain provides an abstract description of the world in which an envisioned system will operate.
Benefits : to understand the context of requirements to identify opportunities for requirements reuse. Domain-specific models have also been shown to be
essential for building automated tools, provide the ability to restrict analysis and reasoning,
thereby making it tractable
19Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Modeling Non- functional Req.
Quality, or non-functional, requirements are global attributes of a required system
NFRs, such as safety, security, reliability and usability
more difficult requirements to express in a measurable way, making them more difficult to analyse
However, it has emphasised the need to model NFRs and express them in a form that is measurable or testable.
20Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Communicating Requirements
21Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Communicating Req.
RE is also a process of facilitating effective communication of these requirements among different stakeholders.
The way in which requirements are documented plays an important role in ensuring that they can be read, analyzed, (re-) written, and validated.
with a variety of formal, semi-formal and informal languages, From Logic to Natural Language
22Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Managing Documents
requirements management – write requirements in a form that is readable and traceable by many.
achieve readability by documentation standards that provide guidelines for structuring requirements documents
Requirements traceability determines how easy requirements documentation is to read, navigate, query and change.
23Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Managing Documents (2)
RT defines as “the ability to describe and follow the life of a requirement in both forwards and backwards direction (i.e., from its origins, through its development and specification, to its subsequent deployment and use, and through all periods of on-going refinement and iteration in any of these phases)”.
Providing RT in requirements documentation is a means of achieving integrity and completeness of that documentation, and has an important role to play in managing change
24Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Agreeing Requirement
25Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Agree on Requirements
validation is the process of establishing that the requirements (model) elicited provides an accurate account of stakeholder requirements.
Describing the requirements is an important step towards getting agreement and precondition for resolving conflicts between stakeholders
26Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Techniques
Techniques such as inspection and formal analysis tend to concentrate on the coherence of the requirements Descriptions are they consistent, and are they structurally complete. The formal method SCR illustrates this approach – the SCR tool
provides automated checking that the formal model is syntactically consistent and complete.
Techniques such as prototyping, specification animation, and the use of scenarios are geared towards testing a correspondence with the real world problem have we covered all the aspects of the problem that the
stakeholders regard as important.
27Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
RE Validation is difficult
The first is philosophical and concerns the question of truth and what is knowable. logical positivist approach: requirements describe some objective problem
that exists in the world and that validation is the task of making sufficient empirical observations to check that this problem has been captured correctly.
Popper’s view was that scientific theories can never be proved correct through observation, but can only be refuted
that observation is not value-free, rather it is theory-driven. Requirements engineers, methods and tools they use dominate the way that
they see and describe problems. Shifts requirements statements to a problem of convincing stakeholders
that the chosen representation for requirements models is appropriate.
28Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
RE Validation is difficult (2)
second reason is social, and concerns the difficulty of reaching agreement among different stakeholders with conflicting goals. Goal Hierarchy diagram models this In the KAOS approach In the KAOS approach for example, these
are modeled as obstacles: the modeling process includes an explicit analysis of potential obstacles to each goal
Negotiation is the solution Model each stakeholder contribution separately not all in one
model Boehm introduces Win-Win solution, which each win condition
for each stakeholder is defined.
29Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Evolving Requirements
30Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Change sources and effects
Source of Changes Environments Stakeholder Requirements
Effects Documents should manage Techniques and tools are need
Therefore: recognizing change through continued requirements
elicitation, re-evaluation of risk, and evaluation of the systems in their operational environment.
31Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Software Changes
change in software descriptions problem that needs to be fixed (typically an
inconsistency of some kind), or new requirements need to be added (as part of
evolutionary development or to cope with changing stakeholder needs)
32Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Integrated Requirements Engineering
33Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Methods and Tools
method engineering plays an important role in designing the RE process to be deployed for a particular problem or domain. Jacskon, for example, uses problem frames to structure Another popular approach to RE is to support explicitly multiple
perspectives or views of requirements Tools provide capabilities for documenting requirements,
managing their change, and integrating them in different ways depending on project needs DOORS Requisite Pro Craddle
34Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Conclusion
determining how the RE process should be conducted. The novelty of many software applications, the speed by which they need to be developed, and the degree to which they are expected to
change,
35Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
RE Ideas in 1990 decay
Modelling and analysis cannot be performed adequately in isolation from the organisational and social context in which any new system will have to operate.
emphasised the use of contextualised enquiry techniques, including ethnomethodology and participant observation
RE should not focus on specifying the functionality of a new system, but on modelling indicative and optative properties of the environment
shift in emphasis away from modelling information flow and system state, and towards modelling stakeholders’ goals and scenarios
attempt to build consistent and complete requirements models is futile, RE has to take seriously the need to analyse and resolve conflicting requirements support stakeholder negotiation, reason with models that contain inconsistencies
36Shiva VafadarE-mail: [email protected]
آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)
Requirements Engineering : A Roadmap
Major Challenges for RE
Development of new techniques for formally modelling and analysing properties of the environment
Bridging the gap between requirements elicitation approaches based on contextual enquiry and more formal specification and analysis techniques.
Richer models for capturing and analysing non-functional requirements.
Better understanding of the impact of software architectural choices on the prioritisation and evolution of requirements.
Reuse of requirements models. Multidisciplinary training for requirements practitioners.