Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
66 views43 pages

Lecture-12-Requirements Managment (Part II)

The document discusses requirements management and change management processes, including identifying problems, analyzing proposed changes, implementing changes, and using traceability to understand how requirements are related and how changes may impact other requirements. It also covers maintaining traceability information through various techniques like traceability tables and lists to link requirements to their sources and other system artifacts. Tools can help support change management and maintaining traceability information electronically.

Uploaded by

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

Lecture-12-Requirements Managment (Part II)

The document discusses requirements management and change management processes, including identifying problems, analyzing proposed changes, implementing changes, and using traceability to understand how requirements are related and how changes may impact other requirements. It also covers maintaining traceability information through various techniques like traceability tables and lists to link requirements to their sources and other system artifacts. Tools can help support change management and maintaining traceability information electronically.

Uploaded by

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

Session 12: Requirements Management (Part II)

Software Requirements
Engineering

15th December 2020


1
Discussion
2

Beware of your
deeds in this life,
for they are
adding up in the
next
The change management process
◼ Some requirements problem is identified.
▪ This could come from an analysis of the requirements, new
customer needs, or operational problems with the system. The
requirements are analysed using problem information and
requirements changes are proposed.
◼ The proposed changes are analysed
▪ This checks how many requirements (and, if necessary, system
components) are affected by the change and roughly how much it
would cost, in both time and money, to make the change.
◼ The change is implemented.
▪ A set of amendments to the requirements document or a new
document version is produced. This should, of course, be validated
using whatever normal quality checking procedures are used.
3
Change management stages

Identified
problem
Problem analysis and Change analysis Change
change specification and costing implementation
Revised
requirements
Change analysis and costing
Rejected request
Change
request Req. list
Check request Find directly Find dependent
validity affected requirements
Valid requirements
request
Requirements change list Rejected request
Cost
Requirements information Accepted
Propose changes change
Assess costs Assess cost
requirements of change acceptability
changes

Rejected request Rejected request


Customer Customer
information information
6
Change analysis activities
◼ The change request is checked for validity. Customers can
misunderstand requirements and suggest unnecessary
changes.
◼ The requirements which are directly affected by the change
are discovered.
◼ Traceability information is used to find dependent
requirements affected by the change.
◼ The actual changes which must be made to the requirements
are proposed.
◼ The costs of making the changes are estimated.
◼ Negotiations with customers are held to check if the costs of
the proposed changes are acceptable.
7
Change request rejection

◼ If the change request is invalid. This normally


arises if a customer has misunderstood
something about the requirements and
proposed a change which isn’t necessary.
◼ If the change request results in consequential
changes which are unacceptable to the user.
◼ If the cost of implementing the change is too
high or takes too long.

8
Change processing
◼ Proposed changes are usually recorded on a
change request form which is then passed to
all of the people involved in the analysis of
the change
◼ Change request forms may include
▪ fields to document the change analysis
▪ data fields
▪ responsibility fields
▪ status field
▪ comments field
9
Tool support for change management

◼ May be provided through requirements management tools or


through configuration management tools
◼ Tool facilities may include
▪ Electronic change request forms which are filled in by different
participants in the process.
▪ A database to store and manage these forms.
▪ A change model which may be instantiated so that people responsible for
one stage of the process know who is responsible for the next process
activity.
▪ Electronic transfer of forms between people with different responsibilities
and electronic mail notification when activities have been completed.
▪ In some cases, direct links to a requirements database.

10
Requirements Traceability

11
What Is Requirements Traceability?

Business Needs
drive
Customer Needs
which drive
User Needs
which demand
Product Features
that drive
Software Requirements
that we developers
Implement and Test

12
What is Requirements Traceability?
◼Traceability is:
“Ability to describe and follow the life of a
requirement, in both forward and backward
direction, ideally through the whole system life
cycle“
(Arnold, R. and Bohner, S., 1996)

◼Traceability becomes a kind of roadmap to the


project.

13
Traceability Definitions
IEEE (1994) provides definitions of traceability

"The degree to which a relationship can be


established between two or more products of
the development process, especially products
having a predecessor-successor or master-
subordinate relationship to one another; for
example, the degree to which the requirements
and design of a given software component
match." (IEEE 610.12-1990 §3)
14
Traceability
◼ Traceability information is information which helps you assess
the impact of requirements change. It links related
requirements and the requirements and other system
representations
◼ Types of traceability information
▪ Backward-from traceability Links requirements to their sources in
other documents or people
▪ Forward-from traceability Links requirements to the design and
implementation components
▪ Backward-to traceability Links design and implementation
components backs to requirements
▪ Forward-to traceability Links other documents (which may have
preceded the requirements document) to relevant requirements.
Backwards/forwards Traceability

Business plan Requ irements Document Design Specification


Forward-to traceability Forward-from traceability
Backward-from traceability Backward-to traceability
Types of Traceability
◼ Requirements-sources traceability
▪ Links the requirement and the people or
documents which specified the requirement
◼ Requirements-rationale traceability
▪ Links the requirement with a description of why
that requirement has been specified.
◼ Requirements-requirements traceability
▪ Links requirements with other requirements
which are, in some way, dependent on them.
This should be a two-way link (dependants and
is-dependent on).
Types of Traceability
◼ Requirements-architecture traceability
▪ Links requirements with the sub-systems where these
requirements are implemented. This is particularly
important where sub-systems are being developed by
different sub-contractors
◼ Requirements-design traceability
▪ Links requirements with specific hardware or software
components in the system which are used to implement
the requirement
◼ Requirements-interface traceability
▪ Links requirements with the interfaces of external
systems which are used in the provision of the
requirements
Traceability Tables

◼ Traceability tables show the relationships


between requirements or between
requirements and design components
◼ Requirements are listed along the horizontal
and vertical axes and relationships between
requirements are marked in the table cells
◼ Traceability tables for showing requirements
dependencies should be defined with
requirement numbers used to label the rows
and columns of the table
A Traceability Table

Depends -on
R1 R2 R3 R4 R5 R6
R1 * *
R2 * *
R3 * *
R4 *
R5 *
R6
Traceability Lists
◼ If a relatively small number of requirements have to be
managed (up to 250, say), traceability tables can be
implemented using a spreadsheet
◼ Traceability tables become more of a problem when there
are hundreds or thousands of requirements as the tables
become large and sparsely populated
◼ A simplified form of traceability table may be used where,
along with each requirement description, one or more lists
of the identifiers of related requirements are maintained.
◼ Traceability lists are simple lists of relationships which can
be implemented as text or as simple tables
A traceability List

Requirement Depends -on


R1 R3, R4
R2 R5, R6
R3 R4, R5
R4 R2
R5 R6
Traceability Policies
◼ Traceability policies define what and how traceability
information should be maintained.
◼ Traceability policies may include
▪ The traceability information which should be maintained.
▪ Techniques, such as traceability matrices, which should be used for
maintaining traceability.
▪ A description of when the traceability information should be collected
during the requirements engineering and system development
processes.
▪ The roles of the people, such as the traceability manager, who are
responsible for maintaining the traceability information should also be
defined.
▪ A description of how to handle and document policy exceptions
▪ The process of managing traceability information
Factors influencing traceability policies

◼ Number of requirements
▪ The greater the number of requirements, the
more the need for formal traceability policies.
◼ Estimated system lifetime
▪ More comprehensive traceability policies should
be defined for systems which have a long
lifetime.
◼ Level of organisational maturity
▪ Detailed traceability policies are most likely to be
cost-effective in organisations which have a
higher level of process maturity
Factors influencing traceability policies

◼ Project team size and composition


▪ With a small team, it may be possible to assess the impact of
proposed informally without structured traceability information.
With larger teams, however, you need more formal traceability
policies.
◼ Type of system
▪ Critical systems such as hard real-time control systems or safety-
critical systems need more comprehensive traceability policies
than non-critical systems.
◼ Specific customer requirements
▪ Some customers may specify that specific traceability information
should be delivered as part of the system documentation.
Traceability Relationships
Need
Traces to
Features
Traces to
Software requirements

Traces to
Traces to
Traces to

Use case

Traces to Traces to

Use case Glossary


Actor
section

26
Traceability Relations
Product
Requirements Req A
(Features) 1. Trace top-level requirements into
detailed requirements
1 2. Trace requirements into design
3. Trace requirements into test
Detailed procedures
Requirements Req B
(Use Cases)
4. Trace requirements into user
documentation plan
2 3 4

Design Test User Docs

Software Design Test Suites Documentation


Descriptions Plan
Object Models

27
Link Feature to Use Case
Vision Document
FEAT10:The recycling machine will allow the addition of new bottle
types.

[UC4: Use Case “Add New Bottle Type”]


New kinds of bottles can be added to the machine by starting it in
‘learning mode’ and inserting 5 samples …

Verifies that all lower level (derived requirements) are


consistent with stakeholder needs

28
Link Feature to Alternative flow
Within a Use Case
Requirements Document
Req-1:The recycling machine will sound an alarm if an invalid item is deposited.

UC1: Use Case “Recycle Items”


The user uses this machine to automatically …
UC1.1 Basic Flow
UC1.1.1 The use case starts when …
… UC1.1.6 End of Use Case …

Alternative Flows
[UC1.2 Deposit Item Not Valid …]
UC1.2.1 If at step UC1.1.2, the …
UC1.2.2 The item will be …
UC1.2.3 An alarm will sound …
UC1.2.4 Return to step UC1.1.2 …
UC1.3 Printer out of Paper …
If at step UC1.1.4, the paper sensor …

29
Link Feature to Section of a Use
Case
SS Document
FEAT24:The recycling machine shall recognize deposit items with 95% reliability.

UC1: Use Case “Recycle Items”


The user uses this machine to automatically …
UC1.1 Basic Flow
Alternative Flows
UC1.2 Deposit Item Not Valid
Special Requirements
[UC1.17 Recycle items must be recognized with 95%
reliability]
...
Use-Case Diagram

30
Link Feature to Other Requirements

Vision Document
FEAT101:The system shall provide maximum passenger comfort at all times.

Hardware Requirements
Specification
HR271:The motor control amplifier and
Supplementary Specification servo subsystem shall provide sufficient
SUPP201:The motor control servo capacity to accelerate and decelerate at
algorithm shall provide smooth a rate of 1G.
acceleration and deceleration profiles
with no detectable jerks, overshoots HR272:The environmental control
or undershoots. system shall maintain the temperature
of the elevator cabin to within 2
degrees C at all times

Verifies that all lower level (derived requirements) are consistent


with stakeholder needs
31
Viewing Links - Traceability Matrix

32
Example (Forward Traceability)

33
Example (Backward Traceability)

34
A Process for Managing Change

1. Recognize that change is inevitable, and plan for


it.
2. Baseline the requirements.
3. Establish a single channel to control change.
4. Use a change control system to capture
changes.
5. Manage change hierarchically.

35
Step 1: Recognize that Change is
Inevitable, and Plan for It

◼The team should develop an awareness that


changing requirements are inevitable and
necessary.
◼Plan for managing change that should
include some allowance for change in the
initial baseline.

36
Step 2: Baseline the Requirements

◼ At the end of the elaboration phase the team should


baseline all known requirements for the system.
◼ The base-lining process means collection of
itemized requirements in a document.
◼ Once the baseline has been established, new
requirements can be more easily identified and
managed.
◼ A request for a new requirement can be compared
against the existing baseline as whether it will
create a conflict with any other requirements.

37
Step 3: Establish a Single Channel to
Control Change
◼ It is crucial that every change go through a single channel to
determine its impact on the system.
◼ And to make the official decision as to whether the change is
going to be made in the system at all.
◼ In a small project, this official channel can be
▪ The project champion or manager
▪ The "owner" of the Vision document and other requirements artifacts
▪ Someone who has an overall understanding of the system
requirements and design.

38
Step 3: Establish a Single Channel to
Control Change (contd…)

◼ In larger systems or ones that affect a variety of


stakeholders, this official channel should consist of a
few people (a Change Control Board, or CCB) to
decide when a change request is officially approved.

39
Step 4: Use a Change Control System to
Capture Changes
◼ During development, there will be a tremendous number
and variety of other types of potential changes to the
system.
◼ The system should be used to capture all inputs and to
transmit them to the authority of the change control board
(CCB) for resolution.
◼ The CCB should consist of no more than three to five people
who represent the key stakeholders for the project:
customers, marketing, and program management.

40
Step 4: Use a Change Control System to
Capture Changes (contd…)
◼ The CCB must consider the following factors:
▪ The impact of the change on the cost and functionality of the system.
▪ The impact of the change on customers and other external stake­
holders not well represented on the CCB: other project contractors,
component suppliers, and so on.
▪ The potential for the change to destabilize the system.

41
Step 5: Manage Change
Hierarchically
◼ A change to one requirement can have a "ripple effect“.
▪ Like can any design-level changes have an impact on the
requirements?
▪ And do the changes to the software requirements have any impact on
the Vision document?
◼ New feature/requirement has an impact on the cost,
schedule, reliability, and risk of the project.
◼ To mitigate this ripple effect, changes to the requirements
should be carried out in the top-down hierarchical fashion.

42
Q&A
43

You might also like