0% found this document useful (0 votes)
46 views67 pages

Mirpur University of Science and Technology (Must), Mirpur Department Computer Science Information Technology

Uploaded by

Ayaz ul Hassan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views67 pages

Mirpur University of Science and Technology (Must), Mirpur Department Computer Science Information Technology

Uploaded by

Ayaz ul Hassan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

MIRPUR UNIVERSITY OF SCIENCE AND TECHNOLOGY (MUST), MIRPUR

DEPARTMENT OF COMPUTER SCIENCE & INFORMATION TECHNOLOGY


SOFTWAR ENGINEERING-I
BIT-2402

Lecture 08-9: Requirements Engineering Processes

Samreen Ayaz
LECTURE CONTENTS

➢Feasibility studies

➢Requirements elicitation and analysis

➢Requirements validation

➢Requirements management

Subject Name Software Engineering-I 33


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

Software Engineering-I 4
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
• Requirements elicitation;
• Requirements analysis;
• Requirements validation;
• Requirements management.

Software Engineering-I 5
The requirements engineering process

Software Engineering-I 6
Requirements engineering

Requ irements
s pecification
Sys tem requ irements
s pecification an d
mod elin g

Us er req uiremen ts
s pecification

Bu sin es s requ irements


s pecification

Sys tem
Feas ib ility
req uiremen ts Us er
elicitatio n s tu dy
req uiremen ts
elicitatio n
Pro to ty pin g

Requ irements
elicitatio n Requ irements
Reviews
valid ation

Sys tem requirements


document

Software Engineering-I 7
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.

Software Engineering-I 8
Feasibility studies

Technical Feasibility
Operational Feasibility
Economic Feasibility

Software Engineering-I 9
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?

Software Engineering-I 10
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.

Software Engineering-I 11
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.

Software Engineering-I 12
The requirements spiral

Requ irements Requ irements


class ification and prioritization and
org an is ation neg otiatio n

Requ irements Requ irements


dis co very do cumentatio n

Software Engineering-I 13
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.

Software Engineering-I 14
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.

Software Engineering-I 15
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

Software Engineering-I 16
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.

Software Engineering-I 17
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.
Software Engineering-I 18
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.
Software Engineering-I 19
LIBSYS viewpoint hierarchy

All VPs

Ind irect Interacto r Domain

Lib rary Article Lib rary UI Clas s ificatio n


Fin ance Us ers s tan dards s ys tem
manager providers s taff

Sys tem
Stu dents Staff External Catalo gu ers
managers

Software Engineering-I 20
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.

Software Engineering-I 21
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.

Software Engineering-I 22
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’.

Software Engineering-I 23
REQUIREMENTS ANALYSIS

• Requirements analysis
• Specifies Software’s Operational Characteristics
• Indicates Software's Interface With Other System Elements
• Establishes constraints that software must meet
• Requirements analysis allows the software engineer (called an analyst
or modeler) to:
• Elaborate On Basic Requirements Established During Earlier Requirement
Engineering Tasks
• Build models that depict user scenarios, functional activities, problem classes and
their relationships, system and class behavior, and the flow of data as it is
transformed.

Software Engineering-I 24
A BRIDGE

system
d escrip tio n

an alysis
model

d esig n
mo del

Figure 1: Requirement Analysis

Software Engineering-I 25
ELEMENTS OF REQUIREMENTS ANALYSIS:
DIFFERENT VIEWPOINTS

Figure 2: Requirement Analysis Elements

Software Engineering-I 26
SCENARIO-BASED MODELING

“[Use-cases] are simply an aid to defining what exists outside the


system (actors) and what should be performed by the system (use-
cases).”Ivar Jacobson
(1) What should we write about?
(2) How much should we write about it?
(3) How detailed should we make our description?
(4) How should we organize the description?

Software Engineering-I 27
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.

Software Engineering-I 28
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.

Software Engineering-I 29
WHAT TO WRITE ABOUT?

• Inception and elicitation—provide you with the information you’ll need to begin
writing use cases.

• Requirements gathering meetings and other requirements engineering


mechanisms are used

• To begin developing a set of use cases, list the functions or activities performed
by a specific actor.

Software Engineering-I 30
HOW MUCH TO WRITE ABOUT?

• As further conversations with the stakeholders progress, the requirements gathering


team develops use cases for each of the functions noted.

• In general, use cases are written first in an informal narrative fashion.

• If more formality is required, the same use case is rewritten using a structured
format similar to the one proposed.

Software Engineering-I 31
USE-CASE DESCRIPTION – HIGH LEVEL
DESCRIPTIONS

Use case: Issue bike


Actors: Receptionist
Goal: To hire out a bike

Description:
When a customer comes into the shop they choose a bike to hire. The
Receptionist looks up the bike on the system and tells the customer how much it
will cost to hire for a specified period. The customer pays, is issued with
a receipt, then leaves with the bike.

Software Engineering-I 32
USE-CASE DIAGRAM
Use case : Issue bike
Actors: Receptionist
Goal: To hire out a bike
Overview:
When a customer comes into the shop they choose a bike to hire. The receptionist looks up the bike on the system and tells the customer how much it will cost to hire
the bike for a specified period. The customer pays, is issued with a receipt, then leaves with the bike.
Cross reference R3, R4, R5, R6, R7, R8, R9, R10
Typical course of events
Actor action System response

1. The customer chooses a bike


2. The Receptionist keys in the bike number 3. Displays the bike details
4. Customer specifies length of hire
5. Receptionist keys this in 6. Displays total hire cost
7. Customer agrees the price
8. Receptionist keys in the customer details 9. Displays customer details
10. Customer pays the total cost
11. Receptionist records amount paid 12. Prints a receipt

Alternative courses
Steps 8 and 9. The customer details are already in the system so the Receptionist needs only to key in an identifier and the system will display the customer details.
Steps 7 – 12. The customer may not be happy with the price and may terminate the transaction.

Software Engineering-I 33
DEVELOPING A USE-CASE

• What are the main tasks or functions that are performed by the actor?
• What system information will the the actor acquire, produce or change?
• Will the actor have to inform the system about changes in the external
environment?
• What information does the actor desire from the system?
• Does the actor wish to be informed about unexpected changes?

Software Engineering-I 34
PRIMILINARY USE-CASE DIAGRAMS FOR
SAFEHOME
S af e H o m e

Access camera
s u r v e i l l a n c e via th e cameras
In t e r n e t

C o n f i g u r e Saf e H o m e
syst e m p a r a m e t e r s

hom eowner

Set alarm

Figure 3: Safe Home Use Case


Software Engineering-I 35
ACTIVITY DIAGRAM OF FIRST USE CASE USING UML

Supplements the use case ent er passw ord


a n d user ID

by providing a graphical valid p a sswo r ds/ I D invalid p a sswo r ds/ I D

representation of the flow of ot her f unct ions


m ay also be
selec t major fu n c tion prompt f or reent ry

select e d
input t r ies r e m ain
selec t sur v eillanc e

interaction within a specific n o input


t r ies r e m ain

scenario t h u m bnail v i e ws select a specif ic c a m er a

s e l e c t s p e c if i c
selec t c a m e r a ic o n
c a m e r a - t humbnails

v iew c a m e r a out put


in l a b e l l e d w i n d o w

prompt f or
anot her v iew

exit t his f unct ion


see anot her c a m er a

Figure 4: Activity Diagram


Software Engineering-I 36
LIBSYS scenario (1)

Initial assumption: The user has logged on to the LIBSYS system and has located the journal containing
the copy of the article .
Normal: The user selects the article to be copied. He or she is then prompted by the system to ei ther
provide subscriber information for the journal or to indicate how they will pay for the article . Alte rnative
payment methods are by credit card or by quoting an organisational account number.
The user is then asked to fill in a copyright form that maintains details of the transaction and they then
submit this to the LIBSYS system.
The copyright form is c hecked and, if OK, the PDF version of the artic le is downloaded to the LIBSYS
working area on the userÕscomputer and the user is informed that it is available. The user is asked to selec t
a pr inter and a copy of the article is printed. If the article has been flagged as Ôprint-onlyÕit i s deleted from
the userÕs system o nce the user has confirmed that printing is complete.

Software Engineering-I 37
LIBSYS scenario (2)

What can go wrong: The user may fail to fill in the copyright form correctly. In this case, the form should
be re-presented to the user for correction. If the resubmitted form is s till incorrect then the userÕsrequest
for the article is rejec ted.
The payment may be rejected by the system. The userÕs er quest for the article is rejected.
The article download may fail. Retry until successful or the user terminates the session.
It may not be possible to print the article. If the article is not flagged as Ôprint-onlyÕthen it is held in the
LIBSYS workspace. Otherwise, the artic le is deleted and the userÕs account credited with the cost of the
article .
Other activities: Simultaneous downloads of other article s.
System state on completion: User is logged on. The downloaded article has been dele ted from LIBSYS
workspace if it has been flagged as print-only.

Software Engineering-I 38
Article printing use-case

Software Engineering-I 39
LIBSYS use cases

Software Engineering-I 40
Article printing

Software Engineering-I 41
Print article sequence

Software Engineering-I 42
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.

Software Engineering-I 43
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.

Software Engineering-I 44
Focused ethnography

• Developed in a project studying the air traffic


control process
• Combines ethnography with prototyping
• Prototype development results in unanswered
questions which focus the ethnographic analysis.
• The problem with ethnography is that it studies
existing practices which may have some historical
basis which is no longer relevant.

Software Engineering-I 45
Ethnography and prototyping

Software Engineering-I 46
Scope of ethnography

• Requirements that are derived from the way that


people actually work rather than the way In which
process definitions suggest that they ought to work.
• Requirements that are derived from cooperation and
awareness of other people’s activities.

Software Engineering-I 47
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.

Software Engineering-I 48
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?

Software Engineering-I 49
Requirements validation techniques

• Requirements reviews
Systematic manual analysis of the requirements.
• Prototyping
Using an executable model of the system to check requirements.
• Test-case generation
Developing tests for requirements to check testability.

Software Engineering-I 50
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.

Software Engineering-I 51
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?

Software Engineering-I 52
Requirements management

• Requirements management is the process of managing


changing requirements during the requirements engineering
process and system development.
• 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.

Software Engineering-I 53
Requirements change

• The priority of requirements from different


viewpoints changes during the development process.
• System customers may specify requirements from a
business perspective that conflict with end-user
requirements.
• The business and technical environment of the
system changes during its development.

Software Engineering-I 54
Requirements evolution

Software Engineering-I 55
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
Requirements classification

Requirement Description
Type
Mutable Requirements that change because of changes to the environment in which the
requirements organisation is operating. For example, in hospital systems, the funding of patient
care may change and thus require different treatment information to be collec ted.
Emergent Requirements that emerge as the customer's understanding of the system develops
requirements during the system development. The design process may reveal new emergent
requirements.
Consequential Requirements that result from the introduction of the computer system. Introducing
requirements the computer system may change the organisations processes and open up new ways
of working which generate new system requirements
Compatibility Requirements that depend on the particular systems or business processes within an
requirements organisation. As these change, the compatibility requirements on the comm issioned
or delivered system may also have to evolve.

Software Engineering-I 57
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;

Software Engineering-I 58
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;

Software Engineering-I 59
A traceability matrix

Req. 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2


id
1.1 D R
1.2 D D D
1.3 R R
2.1 R D D
2.2 D
2.3 R D
3.1 R
3.2 R

Software Engineering-I 60
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.

Software Engineering-I 61
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.

Software Engineering-I 62
Change management

Software Engineering-I 63
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.

Software Engineering-I 64
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.

Software Engineering-I 65
REFERENCE

• Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman


• Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman
• Software Engineering 9/e By Ian Sommerville Chapter 6

Software Engineering-I 66
THANKS

You might also like