Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Requirements Engineering-Software Engineering-Lecture Slides, Slides of Software Engineering

Software engineering is about the development and application of processes and tools for managing the complexities inherent in creating high quality software systems. It introduces the fundamental software engineering concepts and terminology. This lecture includes: Requirements, Engineering, Functional, Non-functional, Specifications, Elicitation, Process, Analysis, Validation, Management

Typology: Slides

2011/2012

Uploaded on 08/09/2012

parthivi
parthivi 🇮🇳

4.1

(8)

87 documents

1 / 17

Toggle sidebar

Related documents


Partial preview of the text

Download Requirements Engineering-Software Engineering-Lecture Slides and more Slides Software Engineering in PDF only on Docsity!

REQUIREMENTS

ENGINEERING

Requirements engineering 1

Topics covered

Requirements engineering

2

 Functional and non-functional requirements

 The software requirements document

 Requirements specification

 Requirements engineering processes

 Requirements elicitation and analysis

 Requirements validation

 Requirements management

Requirements engineering

Requirements engineering

3

 The process of establishing the services that the

customer requires from a system and the constraints

under which it operates and is developed.

 The requirements themselves are the descriptions of

the system services and constraints that are

generated during the requirements engineering

process.

Requirements Definition

 IEEE - A condition or capability needed by user to solve a problem or

achieve an objective

 A condition or capability that must be met or possessed by a system or

system component to satisfy a contract, standard, specification, or other

formally imposed coument.

 Jones:94 - The statement of needs by a user that triggers the development

of a program or system

 Davis:93 - A user need or necessary feature, function, or attribute of a

system that can be sensed from a position external to that system

Software Engineering - Spring 2009

4

What is a requirement?

Requirements engineering

5

 It may range from a high-level abstract statement

of a service or of a system constraint to a detailed

mathematical functional specification.

 This is inevitable as requirements may serve a dual

function

 May be the basis for a bid for a contract - therefore

must be open to interpretation;

 May be the basis for the contract itself - therefore must

be defined in detail;

 Both these statements may be called requirements.

Requirements abstraction (Davis)

Requirements engineering

6

“If a company wishes to let a contract for a large software development

project, it must define its needs in a sufficiently abstract way that a

solution is not pre-defined. The requirements must be written so that

several contractors can bid for the contract, offering, perhaps, different

ways of meeting the client organization’s needs. Once a contract has

been awarded, the contractor must write a system definition for the

client in more detail so that the client understands and can validate what

the software will do. Both of these documents may be called the

requirements document for the system.”

docsity.com

Types of requirements

Requirements engineering

7

 User requirements

 Statements in natural language plus diagrams of the

services the system provides and its operational

constraints. Written for customers.

 System requirements

 A structured document setting out detailed descriptions

of the system’s functions, services and operational

constraints. Defines what should be implemented so may

be part of a contract between client and contractor.

User and system requirements

Requirements engineering

8

Readers of different types of

requirements specification

Requirements engineering

9

Functional and non-functional

requirements

Requirements engineering

10

 Functional requirements

 Statements of services the system should provide, how the system should

react to particular inputs and how the system should behave in particular

situations.

 May state what the system should not do.

 Non-functional requirements

 C onstraints on the services or functions offered by the system such as

timing constraints, constraints on the development process, standards, etc.

 Often apply to the system as a whole rather than

individual features or services.

 Domain requirements

 Constraints on the system from the domain of operation

Functional requirements for the MHC-

PMS

Requirements engineering

11

 A user shall be able to search the appointments lists

for all clinics.

 The system shall generate each day, for each clinic,

a list of patients who are expected to attend

appointments that day.

 Each staff member using the system shall be

uniquely identified by his or her 8-digit employee

number.

Requirements imprecision

Requirements engineering

12

 Problems arise when requirements are not precisely

stated.

 Ambiguous requirements may be interpreted in

different ways by developers and users.

 Consider the term ‘search’ in requirement 1

 User intention – search for a patient name across all

appointments in all clinics;

 Developer interpretation – search for a patient name in

an individual clinic. User chooses clinic then search.

docsity.com

Examples of functional requirements

Requirements engineering

13

 The user shall be able to search either all of the

initial set of databases or select a subset from it.

 The system shall provide appropriate viewers for

the user to read documents in the document store.

 Every order shall be allocated a unique identifier

(ORDER_ID) which the user shall be able to copy to

the account’s permanent storage area.

Requirements completeness and

consistency

Requirements engineering

14

 In principle, requirements should be both complete and

consistent.

 Complete

 They should include descriptions of all facilities

required.

 Consistent

 There should be no conflicts or contradictions in the

descriptions of the system facilities.

 In practice, it is very difficult to produce a complete and

consistent requirements document.

Non-functional requirements

Requirements engineering

15

 These define system properties and constraints e.g.

reliability, response time and storage requirements.

Constraints are I/O device capability, system

representations, etc.

 Process requirements may also be specified

mandating a particular IDE, programming language

or development method.

 Non-functional requirements may be more critical

than functional requirements. If these are not met,

the system may be useless.

Types of nonfunctional requirement

Requirements engineering

16

Non-functional requirements

implementation

Requirements engineering

17

 Non-functional requirements may affect the overall

architecture of a system rather than the individual

components.

 For example, to ensure that performance requirements are

met, you may have to organize the system to minimize

communications between components.

 A single non-functional requirement, such as a security

requirement, may generate a number of related

functional requirements that define system services that

are required.

 It may also generate requirements that restrict existing

requirements.

Non-functional classifications

Requirements engineering

18

 Product requirements

 Requirements which specify that the delivered product must behave in a

particular way e.g. execution speed, reliability, etc.

 Organisational requirements

 Requirements which are a consequence of organisational policies and

procedures e.g. process standards used, implementation requirements,

etc.

 External requirements

 Requirements which arise from factors which are external to the system

and its development process e.g. interoperability requirements,

legislative requirements, etc.

docsity.com

Examples of nonfunctional

requirements in the MHC-PMS

Requirements engineering

19

Product requirement

The MHC-PMS shall be available to all clinics during normal working

hours (Mon–Fri, 0830–17.30). Downtime within normal working hours

shall not exceed five seconds in any one day.

Organizational requirement

Users of the MHC-PMS system shall authenticate themselves using their

health authority identity card.

External requirement

The system shall implement patient privacy provisions as set out in

HStan-03-2006-priv.

Goals and requirements

Requirements engineering

20

 Non-functional requirements may be very difficult to state

precisely and imprecise requirements may be difficult to verify.

 Goal

 A general intention of the user such as ease of use.

 Verifiable non-functional requirement

 A statement using some measure that can be objectively tested.

 Goals are helpful to developers as they convey the intentions

of the system users.

Usability requirements

Requirements engineering

21

 The system should be easy to use by medical staff

and should be organized in such a way that user

errors are minimized. (Goal)

 Medical staff shall be able to use all the system

functions after four hours of training. After this

training, the average number of errors made by

experienced users shall not exceed two per hour of

system use. (Testable non-functional requirement)

Metrics for specifying nonfunctional

requirements

Requirements engineering

22

Property Measure Speed Processed transactions/second User/event response time Screen refresh time Size Mbytes Number of ROM chips Ease of use Training time Number of help frames Reliability Mean time to failure Probability of unavailability Rate of failure occurrence Availability Robustness Time to restart after failure Percentage of events causing failure Probability of data corruption on failure Portability Percentage of target dependent statements Number of target systems

Domain requirements

Requirements engineering

23

 The system’s operational domain imposes

requirements on the system.

 For example, a train control system has to take into

account the braking characteristics in different weather

conditions.

 Domain requirements can be new functional

requirements, constraints on existing requirements or

define specific computations.

 If domain requirements are not satisfied, the system

may be unworkable.

Train protection system

Requirements engineering

24

 This is a domain requirement for a train protection

system:

 The deceleration of the train shall be computed as:

 Dtrain = Dcontrol + Dgradient

 where Dgradient is 9.81ms2 * compensated gradient/alpha

and where the values of 9.81ms2 /alpha are known for

different types of train.

 It is difficult for a non-specialist to understand the

implications of this and how it interacts with other

requirements.

docsity.com

Domain requirements problems

Requirements engineering

25

 Understandability

 Requirements are expressed in the language of the

application domain;

 This is often not understood by software engineers

developing the system.

 Implicitness

 Domain specialists understand the area so well that

they do not think of making the domain requirements

explicit.

Key points

Requirements engineering

26

 Requirements for a software system set out what the

system should do and define constraints on its operation

and implementation.

 Functional requirements are statements of the services

that the system must provide or are descriptions of how

some computations must be carried out.

 Non-functional requirements often constrain the system

being developed and the development process being

used.

 They often relate to the emergent properties of the

system and therefore apply to the system as a whole.

REQUIREMENTS

ENGINEERING

Lecture 2

Requirements engineering 27

The software requirements document

Requirements engineering

28

 The software requirements document is the official

statement of what is required of the system

developers.

 Should include both a definition of user

requirements and a specification of the system

requirements.

 As far as possible, it should set of WHAT the system

should do rather than HOW it should do it.

Agile methods and requirements

Requirements engineering

29

 Many agile methods argue that producing a

requirements document is a waste of time as

requirements change so quickly.

 The document is therefore always out of date.

 Methods such as XP use incremental requirements

engineering and express requirements as ‘user stories’

(discussed in Chapter 3).

 This is practical for business systems but problematic for

systems that require a lot of pre-delivery analysis (e.g.

critical systems) or systems developed by several teams.

Users of a requirements document

Requirements engineering

30

docsity.com

Requirements document variability

Requirements engineering

31

 Information in requirements document depends on

type of system and the approach to development

used.

 Systems developed incrementally will, typically,

have less detail in the requirements document.

 Requirements documents standards have been

designed e.g. IEEE standard. These are mostly

applicable to the requirements for large systems

engineering projects.

The structure of a requirements

document

Requirements engineering

32

Chapter Description Preface This should define the expected readership of the document and describe its version history, including a rationale for the creation of a new version and a summary of the changes made in each version. Introduction This should describe the need for the system. It should briefly describe the system’s functions and explain how it will work with other systems. It should also describe how the system fits into the overall business or strategic objectives of the organization commissioning the software. Glossary This should define the technical terms used in the document. You should not make assumptions about the experience or expertise of the reader. User requirements definition

Here, you describe the services provided for the user. The nonfunctional system requirements should also be described in this section. This description may use natural language, diagrams, or other notations that are understandable to customers. Product and process standards that must be followed should be specified. System architecture This chapter should present a high-level overview of the anticipated system architecture, showing the distribution of functions across system modules. Architectural components that are reused should be highlighted.

The structure of a requirements

document

Requirements engineering

33

Chapter Description System requirements specification

This should describe the functional and nonfunctional requirements in more detail. If necessary, further detail may also be added to the nonfunctional requirements. Interfaces to other systems may be defined. System models This might include graphical system models showing the relationships between the system components and the system and its environment. Examples of possible models are object models, data-flow models, or semantic data models.

System evolution This should describe the fundamental assumptions on which the system is based, and any anticipated changes due to hardware evolution, changing user needs, and so on. This section is useful for system designers as it may help them avoid design decisions that would constrain likely future changes to the system.

Appendices These should provide detailed, specific information that is related to the application being developed; for example, hardware and database descriptions. Hardware requirements define the minimal and optimal configurations for the system. Database requirements define the logical organization of the data used by the system and the relationships between data. Index Several indexes to the document may be included. As well as a normal alphabetic index, there may be an index of diagrams, an index of functions, and so on.

Requirements specification

Requirements engineering

34

 The process of writing down the user and system

requirements in a requirements document.

 User requirements have to be understandable by end-

users and customers who do not have a technical

background.

 System requirements are more detailed requirements

and may include more technical information.

 The requirements may be part of a contract for the

system development

 It is therefore important that these are as complete as

possible.

Ways of writing a system requirements

specification

Requirements engineering

35

Notation Description Natural language The requirements are written using numbered sentences in natural language. Each sentence should express one requirement.

Structured natural language

The requirements are written in natural language on a standard form or template. Each field provides information about an aspect of the requirement. Design description languages

This approach uses a language like a programming language, but with more abstract features to specify the requirements by defining an operational model of the system. This approach is now rarely used although it can be useful for interface specifications. Graphical notations Graphical models, supplemented by text annotations, are used to define the functional requirements for the system; UML use case and sequence diagrams are commonly used. Mathematical specifications

These notations are based on mathematical concepts such as finite-state machines or sets. Although these unambiguous specifications can reduce the ambiguity in a requirements document, most customers don’t understand a formal specification. They cannot check that it represents what they want and are reluctant to accept it as a system contract

Natural language specification

Requirements engineering

36

 Requirements are written as natural language

sentences supplemented by diagrams and tables.

 Used for writing requirements because it is

expressive, intuitive and universal. This means that

the requirements can be understood by users and

customers.

docsity.com

Guidelines for writing requirements

 Invent a standard format and use it for all

requirements.

 Use language in a consistent way. Use shall for

mandatory requirements, should for desirable

requirements.

 Use text highlighting to identify key parts of the

requirement.

 Avoid the use of computer jargon.

 Include an explanation (rationale) of why a

requirement is necessary.

37

Requirements engineering

Problems with natural language

 Lack of clarity

 Precision is difficult without making the document

difficult to read.

 Requirements confusion

 Functional and non-functional requirements tend to be

mixed-up.

 Requirements amalgamation

 Several different requirements may be expressed

together.

38

Requirements engineering

Example requirements for the insulin

pump software system

Requirements engineering

39

3.2 The system shall measure the blood sugar and deliver insulin,

if required, every 10 minutes. (Changes in blood sugar are

relatively slow so more frequent measurement is unnecessary; less

frequent measurement could lead to unnecessarily high sugar

levels.)

3.6 The system shall run a self-test routine every minute with the

conditions to be tested and the associated actions defined in

Table 1. (A self-test routine can discover hardware and software

problems and alert the user to the fact the normal operation may

be impossible.)

Structured specifications

Requirements engineering

40

 An approach to writing requirements where the

freedom of the requirements writer is limited and

requirements are written in a standard way.

 This works well for some types of requirements e.g.

requirements for embedded control system but is

sometimes too rigid for writing business system

requirements.

 Limits the terminology that can be used and use

templates to specify system requirements

Form-based specifications

 Definition of the function or entity.

 Description of inputs and where they come from.

 Description of outputs and where they go to.

 Information about the information needed for the

computation and other entities used.

 Description of the action to be taken.

 Pre and post conditions (if appropriate).

 The side effects (if any) of the function.

41

Requirements engineering

A structured specification of a

requirement for an insulin pump

Requirements engineering

42

docsity.com

A structured specification of a

requirement for an insulin pump

Requirements engineering

43

Tabular specification

 Used to supplement natural language.

 Particularly useful when you have to define a

number of possible alternative courses of action.

 For example, the insulin pump systems bases its

computations on the rate of change of blood sugar

level and the tabular specification explains how to

calculate the insulin requirement for different

scenarios.

44

Requirements engineering

Tabular specification of computation

for an insulin pump

Requirements engineering

45

Condition Action

Sugar level falling (r2 < r1) CompDose = 0

Sugar level stable (r2 = r1) CompDose = 0

Sugar level increasing and rate of increase decreasing ((r2 – r1) < (r1 – r0))

CompDose = 0

Sugar level increasing and rate of increase stable or increasing ((r2 – r1) ≥ (r1 – r0))

CompDose = round ((r2 – r1)/4) If rounded result = 0 then CompDose = MinimumDose

Key points

Requirements engineering

46

 The software requirements document is an agreed

statement of the system requirements. It should be

organized so that both system customers and software

developers can use it.

 The requirements engineering process is an iterative

process including requirements elicitation, specification

and validation.

 Requirements elicitation and analysis is an iterative

process that can be represented as a spiral of activities –

requirements discovery, requirements classification and

organization, requirements negotiation and requirements

documentation.

REQUIREMENTS

ENGINEERING

Lecture 3

Requirements engineering 47

Objectives

 To describe the principal requirements engineering

activities and their relationships

 To introduce techniques for requirements elicitation

and analysis

 To describe requirements validation and the role of

requirements reviews

 To discuss the role of requirements management in

support of other requirements engineering

processes

docsity.com

Topics covered

 Feasibility studies

 Requirements elicitation and analysis

 Requirements validation

 Requirements management

Requirements engineering processes

 The processes used for RE vary widely depending

on the application domain, the people involved and

the organisation developing the requirements.

 However, there are a number of generic activities

common to all processes

 Feasibility study

 Requirements elicitation and analysis;

 Requirements specification

 Requirements validation;

The requirements engineering process Requirements engineering

Feasibility studies

 A feasibility study decides whether or not the

proposed system is worthwhile.

 A short focused study that checks

 If the system contributes to organisational objectives;

 If the system can be engineered using current

technology and within budget;

 If the system can be integrated with other systems that

are used.

Feasibility study implementation

 Based on information assessment (what is required),

information collection and report writing.

 Questions for people in the organisation

 What if the system wasn’t implemented?

 What are current process problems?

 How will the proposed system help?

 What will be the integration problems?

 Is new technology needed? What skills?

 What facilities must be supported by the proposed system?

docsity.com

Elicitation and analysis

 Sometimes called requirements elicitation or requirements

discovery.

 Involves technical staff working with customers to find out

about the application domain, the services that the system

should provide and the system’s operational constraints.

 May involve end-users, managers, engineers involved in

maintenance, domain experts, trade unions, etc. These are

called stakeholders.

Problems of requirements analysis

 Stakeholders don’t know what they really want.

 Stakeholders express requirements in their own terms.

 Different stakeholders may have conflicting requirements.

 Organisational and political factors may influence the system

requirements.

 The requirements change during the analysis process. New

stakeholders may emerge and the business environment

change.

The requirements spiral Process activities

 Requirements discovery

 Interacting with stakeholders to discover their requirements. Domain

requirements are also discovered at this stage.

 Requirements classification and organisation

 Groups related requirements and organises them into coherent clusters.

 Prioritisation and negotiation

 Prioritising requirements and resolving requirements conflicts.

 Requirements documentation

 Requirements are documented and input into the next round of the

spiral.

Requirements discovery

 The process of gathering information about the

proposed and existing systems and distilling the

user and system requirements from this information.

 Sources of information include documentation,

system stakeholders and the specifications of similar

systems.

ATM stakeholders

 Bank customers

 Representatives of other banks

 Bank managers

 Counter staff

 Database administrators

 Security managers

 Marketing department

 Hardware and software maintenance engineers

 Banking regulators

docsity.com

Stakeholders in the MHC-PMS

Requirements engineering

61

 Patients whose information is recorded in the system.

 Doctors who are responsible for assessing and treating

patients.

 Nurses who coordinate the consultations with doctors

and administer some treatments.

 Medical receptionists who manage patients’

appointments.

 IT staff who are responsible for installing and

maintaining the system.

Stakeholders in the MHC-PMS

Requirements engineering

62

 A medical ethics manager who must ensure that the

system meets current ethical guidelines for patient

care.

 Health care managers who obtain management

information from the system.

 Medical records staff who are responsible for

ensuring that system information can be maintained

and preserved, and that record keeping procedures

have been properly implemented.

Viewpoints

 Viewpoints are a way of structuring the

requirements to represent the perspectives of

different stakeholders. Stakeholders may be

classified under different viewpoints.

 This multi-perspective analysis is important as there

is no single correct way to analyse system

requirements.

Types of viewpoint

 Interactor viewpoints

 People or other systems that interact directly with the system. In an ATM,

the customer’s and the account database are interactor VPs.

 Indirect viewpoints

 Stakeholders who do not use the system themselves but who influence the

requirements. In an ATM, management and security staff are indirect

viewpoints.

 Domain viewpoints

 Domain characteristics and constraints that influence the requirements. In

an ATM, an example would be standards for inter-bank communications.

Viewpoint identification

 Identify viewpoints using

 Providers and receivers of system services;

 Systems that interact directly with the system being

specified;

 Regulations and standards;

 Sources of business and non-functional requirements.

 Engineers who have to develop and maintain the

system;

 Marketing and other business viewpoints.

LIBSYS viewpoint hierarchy

docsity.com

Interviewing

 In formal or informal interviewing, the RE team puts

questions to stakeholders about the system that they

use and the system to be developed.

 There are two types of interview

 Closed interviews where a pre-defined set of questions

are answered.

 Open interviews where there is no pre-defined agenda

and a range of issues are explored with stakeholders.

Interviews in practice

 Normally a mix of closed and open-ended interviewing.

 Interviews are good for getting an overall understanding of

what stakeholders do and how they might interact with the

system.

 Interviews are not good for understanding domain

requirements

 Requirements engineers cannot understand specific domain terminology;

 Some domain knowledge is so familiar that people find it hard to

articulate or think that it isn’t worth articulating.

Effective interviewers

 Interviewers should be open-minded, willing to listen

to stakeholders and should not have pre-conceived

ideas about the requirements.

 They should prompt the interviewee with a question

or a proposal and should not simply expect them to

respond to a question such as ‘what do you want’.

Scenarios

 Scenarios are real-life examples of how a system

can be used.

 They should include

 A description of the starting situation;

 A description of the normal flow of events;

 A description of what can go wrong;

 Information about other concurrent activities;

 A description of the state when the scenario finishes.

LIBSYS scenario (1) LIBSYS scenario (2)

docsity.com

Scenario for collecting medical history

in MHC-PMS

Requirements engineering

73

Scenario for collecting medical history

in MHC-PMS

Requirements engineering

74

Use cases

 Use-cases are a scenario based technique in the

UML which identify the actors in an interaction and

which describe the interaction itself.

 A set of use cases should describe all possible

interactions with the system.

 Sequence diagrams may be used to add detail to

use-cases by showing the sequence of event

processing in the system.

Article printing use-case

LIBSYS use cases Use cases for the MHC-PMS

Requirements engineering

78

docsity.com

Print article sequence Social and organisational factors

 Software systems are used in a social and

organisational context. This can influence or even

dominate the system requirements.

 Social and organisational factors are not a single

viewpoint but are influences on all viewpoints.

 Good analysts must be sensitive to these factors but

currently no systematic way to tackle their analysis.

Ethnography

 A social scientists spends a considerable time

observing and analysing how people actually work.

 People do not have to explain or articulate their

work.

 Social and organisational factors of importance may

be observed.

 Ethnographic studies have shown that work is usually

richer and more complex than suggested by simple

system models.

Scope of ethnography

 Requirements that are derived from the way that

people actually work rather than the way I which

process definitions suggest that they ought to work.

 Requirements that are derived from cooperation

and awareness of other people’s activities.

Requirements validation

 Concerned with demonstrating that the requirements

define the system that the customer really wants.

 Requirements error costs are high so validation is

very important

 Fixing a requirements error after delivery may cost up

to 100 times the cost of fixing an implementation error.

Requirements checking

 Validity. Does the system provide the functions which best

support the customer’s needs?

 Consistency. Are there any requirements conflicts?

 Completeness. Are all functions required by the customer

included?

 Realism. Can the requirements be implemented given available

budget and technology

 Verifiability. Can the requirements be checked?

docsity.com

Requirements validation techniques

 Requirements reviews

 Systematic manual analysis of the requirements.

 Prototyping

 Using an executable model of the system to check

requirements. Covered in Chapter 17.

 Test-case generation

 Developing tests for requirements to check testability.

Requirements reviews

 Regular reviews should be held while the

requirements definition is being formulated.

 Both client and contractor staff should be involved in

reviews.

 Reviews may be formal (with completed documents)

or informal. Good communications between

developers, customers and users can resolve

problems at an early stage.

Review checks

 Verifiability. Is the requirement realistically

testable?

 Comprehensibility. Is the requirement properly

understood?

 Traceability. Is the origin of the requirement clearly

stated?

 Adaptability. Can the requirement be changed

without a large impact on other requirements?

Requirements management

 Requirements management is the process of understanding and

controlling changes to system requirements.

 Requirements are inevitably incomplete and inconsistent

 New requirements emerge during the process as business needs change

and a better understanding of the system is developed;

 Different viewpoints have different requirements and these are often

contradictory.

 New hardware may be introduced, interoperability requirements, new

legislation and regulations may be introduced etc.

Requirements evolution Enduring and volatile requirements

 Enduring requirements. Stable requirements derived

from the core activity of the customer organisation.

E.g. a hospital will always have doctors, nurses, etc.

May be derived from domain models

 Volatile requirements. Requirements which change

during development or when the system is in use. In

a hospital, requirements derived from health-care

policy

docsity.com

Requirements classification Requirements management planning

 During the requirements engineering process, you have to plan:

 Requirements identification

 How requirements are individually identified;

 A change management process

 The process followed when analysing a requirements change;

 Traceability policies

 The amount of information about requirements relationships that is

maintained;

 CASE tool support

 The tool support required to help manage requirements change;

Traceability

 Traceability is concerned with the relationships between

requirements, their sources and the system design

 Source traceability

 Links from requirements to stakeholders who proposed these

requirements;

 Requirements traceability

 Links between dependent requirements;

 Design traceability

 Links from the requirements to the design;

A traceability matrix

CASE tool support

 Requirements storage

 Requirements should be managed in a secure, managed data store.

 Change management

 The process of change management is a workflow process whose stages

can be defined and information flow between these stages partially

automated.

 Traceability management

 Automated retrieval of the links between requirements.

Requirements change management

 Should apply to all proposed changes to the

requirements.

 Principal stages

 Problem analysis. Discuss requirements problem and

propose change;

 Change analysis and costing. Assess effects of change

on other requirements;

 Change implementation. Modify requirements document

and other documents to reflect change.

docsity.com

Change management Key points

 The requirements engineering process includes a

feasibility study, requirements elicitation and

analysis, requirements specification and

requirements management.

 Requirements elicitation and analysis is iterative

involving domain understanding, requirements

collection, classification, structuring, prioritisation

and validation.

 Systems have multiple stakeholders with different

requirements.

Key points

 Social and organisation factors influence system

requirements.

 Requirements validation is concerned with checks for

validity, consistency, completeness, realism and

verifiability.

 Business changes inevitably lead to changing

requirements.

 Requirements management includes planning and

change management.

docsity.com