requirement engineering: a roadmap

36
1 Shiva Vafadar E-mail: [email protected] د ن م ش و ه م های ت س سي کاه ش ي ما ز آ( http://ce.aut.ac.ir/islab ) Requirements Engineering : A Roadmap Requirement Engineering: A Roadmap Bashar Nuseibeh, Steve Easterbrook 2000

Upload: lacy-workman

Post on 02-Jan-2016

58 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: Requirement Engineering:  A Roadmap

1Shiva VafadarE-mail: [email protected]

آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)

Requirements Engineering : A Roadmap

Requirement Engineering: A Roadmap

Bashar Nuseibeh,

Steve Easterbrook

2000

Page 2: Requirement Engineering:  A Roadmap

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

Page 3: Requirement Engineering:  A Roadmap

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.

Page 4: Requirement Engineering:  A Roadmap

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.

Page 5: Requirement Engineering:  A Roadmap

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

Page 6: Requirement Engineering:  A Roadmap

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.

Page 7: Requirement Engineering:  A Roadmap

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

Page 8: Requirement Engineering:  A Roadmap

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

Page 9: Requirement Engineering:  A Roadmap

9Shiva VafadarE-mail: [email protected]

آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)

Requirements Engineering : A Roadmap

Eliciting Reuirements

Page 10: Requirement Engineering:  A Roadmap

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

Page 11: Requirement Engineering:  A Roadmap

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

Page 12: Requirement Engineering:  A Roadmap

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

Page 13: Requirement Engineering:  A Roadmap

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

Page 14: Requirement Engineering:  A Roadmap

14Shiva VafadarE-mail: [email protected]

آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)

Requirements Engineering : A Roadmap

Modeling and Analyzing Requirements

Page 15: Requirement Engineering:  A Roadmap

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.

Page 16: Requirement Engineering:  A Roadmap

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.

Page 17: Requirement Engineering:  A Roadmap

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.

Page 18: Requirement Engineering:  A Roadmap

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

Page 19: Requirement Engineering:  A Roadmap

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.

Page 20: Requirement Engineering:  A Roadmap

20Shiva VafadarE-mail: [email protected]

آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)

Requirements Engineering : A Roadmap

Communicating Requirements

Page 21: Requirement Engineering:  A Roadmap

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

Page 22: Requirement Engineering:  A Roadmap

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.

Page 23: Requirement Engineering:  A Roadmap

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

Page 24: Requirement Engineering:  A Roadmap

24Shiva VafadarE-mail: [email protected]

آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)

Requirements Engineering : A Roadmap

Agreeing Requirement

Page 25: Requirement Engineering:  A Roadmap

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

Page 26: Requirement Engineering:  A Roadmap

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.

Page 27: Requirement Engineering:  A Roadmap

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.

Page 28: Requirement Engineering:  A Roadmap

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.

Page 29: Requirement Engineering:  A Roadmap

29Shiva VafadarE-mail: [email protected]

آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)

Requirements Engineering : A Roadmap

Evolving Requirements

Page 30: Requirement Engineering:  A Roadmap

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.

Page 31: Requirement Engineering:  A Roadmap

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)

Page 32: Requirement Engineering:  A Roadmap

32Shiva VafadarE-mail: [email protected]

آزمايشکاه سيستم های هوشمند (http://ce.aut.ac.ir/islab)

Requirements Engineering : A Roadmap

Integrated Requirements Engineering

Page 33: Requirement Engineering:  A Roadmap

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

Page 34: Requirement Engineering:  A Roadmap

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,

Page 35: Requirement Engineering:  A Roadmap

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

Page 36: Requirement Engineering:  A Roadmap

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.