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

0% found this document useful (0 votes)
22 views56 pages

Chapter 6

The document outlines the process of software requirements management, focusing on the management of changes to system requirements, ensuring stakeholder communication, and maintaining traceability throughout the project lifecycle. It emphasizes the importance of a structured change management process for effective project execution, including identifying, reviewing, and approving change requests. Additionally, it discusses the evolution of requirements and the significance of traceability in managing relationships between requirements and project components.

Uploaded by

firaolfro
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)
22 views56 pages

Chapter 6

The document outlines the process of software requirements management, focusing on the management of changes to system requirements, ensuring stakeholder communication, and maintaining traceability throughout the project lifecycle. It emphasizes the importance of a structured change management process for effective project execution, including identifying, reviewing, and approving change requests. Additionally, it discusses the evolution of requirements and the significance of traceability in managing relationships between requirements and project components.

Uploaded by

firaolfro
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/ 56

SOFTWARE REQUIREMENTS

MANAGEMENT

CHAPTER - 6

Prepared By : Berhanu S.
Requirement Management
 The process of managing change to the requirements for a
system
 It is the process of documenting, analyzing, tracing,
prioritizing and agreeing on requirements and then
controlling change and communicating to relevant
stakeholders.
 All of this has to take place within a controlled environment
so that each requirement can be traced back to a specific
need and also traced to a function/feature/piece of code
in the system being developed
 Requirements Management is the control framework that
governs this process
Cont…
 The purpose of requirements management is to ensure that
the organization validates and meets the needs of its
customers and external and internal stakeholders.
 Requirements management involves communication between
the project team members and stakeholders, and adjustment
to requirements changes throughout the course of the project.
 To prevent one class of requirements from overriding another,
constant communication among members of the development
team is critical.
 Requirements management does not end with product
release.
 It is a continuous process throughout a project.
Cont…
Requirements management encompasses the activities
involved in
 Managing changes to agreed requirements

 Managing the relationships between requirements

 Requesting changes to the baseline requirements,

 Performing impact analysis for the requested changes,

 Approving or disapproving changes,

 implementing the approved changes

 Measure the progress

 Managing the logical links between individual


requirements and other project work products
Cont..
 Requirement Management process must ensure that:
 Negotiations between the stakeholders and project team are
facilitated.
 All requirements are fully negotiated, defined and prioritized
between the stakeholders.
 A coherent and complete requirements document is issued, agreed
upon and kept up to date during the lifecycle of the project.
 Commitment to the requirements is given by all stakeholders.

 Any changes to requirements during the project lifecycle are


reviewed, verified, negotiated, approved and implemented.
 All changes are fully tracked and traceable.

 All requirements are mapped to test cases; source code; design. This
traceability is bidirectional.
Cont…
Requirements
Management

Change control Version control Requirements Requirements


status tracking tracing
 Proposing  Defining a version  Defining a  Defining links to
changes identification possible other
scheme requirement requirements
 Analyzing impact
statuses
 Identifying  Defining links to
 Making decisions
requirements  Recording the other system
 Updating document status of each elements
requirements versions requirement
documents
 Identifying  Reporting the
 Updates plans individual status distribution
requirement of all
 Measuring
versions requirements
requirements
volatility
Requirements evolution
Stable and volatile requirements
8

 Requirements changes occur while the requirements are


being elicited, analysed and validated and after the
system has gone into service
 Some requirements are usually more subject to change
than others
 Types of requirement evolution
 Stable requirements are concerned with the essence of a
system and its application domain. They change more slowly
than volatile requirements.
 Volatile requirements are specific to the instantiation of the
system in a particular environment and for a particular
customer.
Types of volatile requirement

 Mutable requirements – These are requirements which change


because of changes to the environment in which the system is
operating
 Emergent requirements – These are requirements which cannot
be completely defined when the system is specified but which
emerge as the system is designed and implemented
 Consequential requirements – These are requirements which
are based on assumptions about how the system will be used.
When the system is put into use, some of these assumptions will
be wrong.
 Compatibility requirements – These are requirements which
depend on other equipment or processes.
Requirements management planning
 Establishes the level of requirements management detail that is
required.
Requirements management decisions:
 Requirements identification:- Each requirement must be uniquely
identified
 Traceability policies :-These policies define the relationships

between each requirement and between the requirements and


the system
 A change management process:- This is the set of activities that

assess the impact and cost of changes.


 Tool support :-Tools that may be used range from specialist

requirements management systems to spreadsheets and simple


Requirements identification
11

 It is essential for requirements management that every


requirement should have a unique identification
 The most common approach is requirements numbering
based on chapter/section in the requirements document
 Problems with this are:
 Numbers cannot be unambiguously assigned until the
document is complete
 Assigning chapter/section numbers is an implicit
classification of the requirement. This can mislead readers of
the document into thinking that the most important
relationships are with requirements in the same section
Requirements identification techniques
12

 Dynamic renumbering
 Some word processing systems allow for automatic renumbering of
paragraphs and the inclusion of cross-references. As you re-organise
your document and add new requirements, the system keeps track of
the cross-reference and automatically renumbers your requirement
depending on its chapter, section and position within the section
 Database record identification
 When a requirement is identified it is entered in a requirements
database and a database record identifier is assigned. This database
identifier is used in all subsequent references to the requirement
 Symbolic identification
 Requirements can be identified by giving them a symbolic name which is
associated with the requirement itself. For example, EFF-1, EFF-2, EFF-3
may be used for requirements which relate to system efficiency
Requirement Traceability
13

 Traceability information is information which helps you


assess the impact of requirements change.
 It links related requirements and the requirements and
other system representations
 It refers to 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 ongoing refinement
and iteration in any of these phases).
 One cannot manage what cannot be traced.
Cont…
14

 A software requirements specification is traceable if the


origin of each of its requirements is clear and if it facilitates
the referencing of each requirement in future development
or enhancement documentation.
 Traceability gives essential assistance in understanding the
relationships that exist within and across software
requirements, design, and implementation.
 link or relationship defined between entities.
 Traceability is a property of a system description technique
that allows changes in one of the three system descriptions –
requirements, specifications, implementation – to be traced
to the corresponding portions of the other descriptions.
Importance of Traceability
15

 Requirements cannot be managed effectively without


requirements traceability
 A requirement is traceable if you can discover who
suggested the requirement, why the requirement
exists, what requirements are related to it, and how
that requirement relates to other information such as
systems designs, implementations and user
documentation
Cont…
16

Benefits of traceability
 Prevents losing knowledge

 Supports the verification process (certification, localization of


defects)
 Impact analysis

 Change control

 Process monitoring

 Improved software quality (make changes correctly and completely)

 Reengineering (define traceability links is a way to record reverse


engineering knowledge)
 Reuse (by identifying what goes with a requirement: design, code…)

 Risk reduction (e.g., if a team member with key knowledge leaves)


Traceability Difficulties
17

 Various stakeholders require different information


 Huge amount of requirements traceability information
must be tracked and maintained
 Manual creation of links is very demanding
 Specialized tools must be used
 Integrating heterogeneous models/information from/to
different sources (requirements, design, tests, code&
documentation)
 Requires organizational commitment (with an
understanding of the potential benefits)
Backward and Forward Traceability
18

 Backward traceability
 To previous stages of development
 Depends upon each element explicitly referencing its source in
earlier documents
 Forward traceability
 To all documents spawned by a document
 Depends upon each element in the document having a unique
name or reference number
Business plan Requirements Document Design Specification
Forward-to traceability Forward-from traceability
Backward-from traceability Backward-to traceability
Cont…
19

Top to bottom from requirements‟ point of view


 Forward-to traceability

 Linksother documents (which may have preceded the


requirements document) to relevant requirements
 Forward-from traceability
 Linksrequirements to the design and implementation
components
 Help assure that all requirements have been satisfied
Cont…
20

Bottom to top from requirements‟ point of view


 Backward-to traceability

 Links design and implementation components back to


requirements
 Help determine why each item is
designed/implemented
 Backward-from traceability
 Help evaluate how changes to requirements impact
stakeholders needs
Types of Traceability
21

 Requirements – source traceability


 Links requirements with a person or document
 Requirements – requirements traceability
 Links requirements with other requirements which are, in some way,
dependent on them
 Requirements – architecture traceability
 Links requirements with the subsystems where these requirements
are implemented (particularly important where subsystems are
being developed by different subcontractors)
 Requirements – design traceability
 Links requirements with specific hardware or software components
in the system which are used to implement the requirement
Cont…
22

 Requirements – interface traceability


 Links requirements with the interfaces of external
systems which are used in the provision of the
requirements
 Requirements – feature traceability
 Requirements – tests traceability
 Links requirements with test cases verifying them
(used to verify that the requirement is implemented)
 Requirements – code traceability
Traceability tables
23

 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
24

Depends -on
R1 R2 R3 R4 R5 R6
R1 * *
R2 * *
R3 * *
R4 *
R5 *
R6
Traceability lists
25

 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
26

Requirement Depends -on


R1 R3, R4
R2 R5, R6
R3 R4, R5
R4 R2
R5 R6
Example of Traceability Links
27

Business
requirement
modifies
Drives specification of

System requirements, influences


Change modifies
use case, external Business rule
request
interface, quality attribute

Is origin of Is origin of
modifies modifies
Software functional
Depends on another
requirement
Is satisfied by
Is verified by Lead to creation of
Architectrue, Project plan
user interface, or System test
task
functional design
Is verified by Is implemented in

Integration test Code

Is verified by

Unit test
Cardinality of Traceability Links
28

 Depending on the traceability information, the


cardinality of traceability links may be
 One-to-one
 e.g., one design element to one code module
 One-to-many
 e.g., one functional requirement verified by multiple test cases
 Many-to-many
 e.g.,a use case may lead to multiple functional requirement,
and a functional requirement may be common to several use
cases
Change Management Process
What is a Change Management
Process
 A Change Management Process is a method by which
changes to the project (e.g. to the scope, deliverables,
timescales or resources) are formally defined, evaluated
and approved prior to implementation
 The process entails completing a variety of control
procedures to ensure that, if implemented, the change will
cause minimal impact to the objectives of the project.
 A Change Management Process is used to ensure that every
change identified is formally:
 Communicated
 Documented
 Reviewed
 Approved
 Implemented
When to use a Change Management
Process
 Any change to the project during the Execution
phase will need to be formally managed as part of
the Change Management Process.
 Without a formal Change Management Process in
place, the objective of delivering a solution within
„time, cost and quality‟ may be compromised.
 The Change Management Process is terminated only
when the Execution phase of the project is
completed (i.e. just prior to Project Closure).
Identify and Submit Change Request
 This process provides the ability for any member of the
project team to submit a request for a change to the project.
The Change Requester:
 Identifies a requirement for change to any aspect of the project (e.g.
scope, deliverables, timescales and organization)
©

 Completes a Change Request Form (CRF) and distributes the form to the
Project Manager. The CRF summarizes the change:
 Description
 Reasons
 Benefits
 Costs
 Impacts
 Any supporting documentation
 Approvals
Review Change Request
 The Project Manager reviews the CRF and determines
whether or not additional information is required for the
Change Control Board to assess the full impact of the
change to the project time, scope and cost. The decision
will be based on factors, such as:
 Number of change options presented
 Feasibility and benefits of the change
 Complexity and/or difficulty of the change options
requested
 Scale of the change solutions proposed.
 The Project Manager will record the CRF details in the
Change Log to track the status of the change request.
Approve Change Request
 The Project Manager will forward the Change Request Form and any
supporting documentation to the Change Control Board (CCB) for
review and final approval. The CCB will determine the feasibility of
this change by examining factors, such as:
 Risk to the project in implementing the change
 Risk to the project in NOT implementing the change
 Impact on the project in implementing the change (time, resources,
finance, quality).
 After a formal review, the CCB may:
 Reject the change
 Request more information related to the change
 Approve the change as requested
 Approve the change subject to specified conditions.
Implement and Close Change Request

 If the change is approved, the following will occur:


 An implementation date of the change will be
identified
 A test of the change will be scheduled and performed
 The change will be implemented
 The implementation of the change will be reviewed and
deemed successful or corrective actions taken
 The success of the change implementation will be
communicated to all parties
 The change request will be closed on the Change Log
Change Management Documents
 Change Request Form
 The „Change Request Form‟ is used to identify and
describe a proposed change to the project.
 Change Log
 The „Change Log‟ is the log where all requests for
changes are registered and tracked through to
resolution.
Baseline for Requirements

 Represents the set of functional and non-functional


requirements that the development team has committed
to implement in a specific release
 Before going into the baseline, the requirements should
be reviewed and approved by stakeholders
 Once in the baseline, all changes should follow a
defined change control process
Baseline
 Different viewpoints  Shared understanding
 No formal documents  Configuration management
 Always changing  Change management
Cont…
40

 Subsequent changes can be made only through the project's


defined change-control process
 Non-modifiable (read-only) version of a document
 May include multiple documents at the same time
 Enables document comparison and management
 Comes with a change history for the document
 Requires access control
 It is advisable to establish a baseline for a new
document that is imported into the document
management system
 In order not to lose any changes
Baseline Usage

 Baselines may be
 Created
 Complete image of requirements state at a given time
 Deleted
 Visualized
 Possibility to go back
 Compared
 To see changes since a certain time
 Copied
 Signed
 For authorization, contract
Requirements Management Tools
 A requirements management tool is a software
system that helps you manage the various manually
intensive tasks in the requirements development and
requirements management processes.
 Good requirements management tools (RM Tools)
can help your team to save time and increase their
productivity among other benefits.
Characteristics of requirements
management tools

 To store the requirement statements.


 To store the information about requirement attributes.
 To check consistency of requirements.
 To identify undefined, missing or „to be defined later‟
requirements.
 To prioritize requirements for testing purposes.
 To trace the requirements to tests and tests to
requirements, functions or features.
 To trace through all the levels of requirements.
When to Use Requirements
Management Tools
 Based on "Number of Requirements
 Small projects with less than 200 requirements can be usually
managed using spreadsheets, wikis or simple databases
 Medium-sized projects with 200-2000 requirements usually need
to look for a commercial tool
 Large projects with over 2000 requirements necessitate the use of
robust commercial requirements management tools
 Based on "Size of Project Team
 For projects with less than 5 personnel all of whom are co-
located, a commercial requirements management tool is often not
needed.
 Larger teams, especially teams distributed across multiple cities
or even countries, can often benefit immensely from using good
requirements management tools.
CASE Tools for Requirements
Management

 Requirements management involves the collection,


storage and maintenance of large amounts of
information
 There are now a number of CASE tools available
which are specifically designed to support
requirements management
 Configuration management tools may be adapted for
requirements engineering
Types of Requirements Management
Tools
 Heavyweight Requirements Management Tools
 IBM Rational RequisitePro
 Middleweight Requirement Management Tools
 Accompa Requirements Management Tool
 Lightweight Requirement Management Tools
 Spread Sheets
Requirements management tool support
47

 A database system for storing requirements.


 Document analysis and generation facilities to help
construct a requirements database and to help
create requirements documents.
 Change management facilities which help ensure
that changes are properly assessed and costed.
 Traceability facilities which help requirements
engineers find dependencies between system
requirements.
Storing requirements
48

 Requirements have to be stored in such a way that


they can be accessed easily and related to other
system requirements
 Possible storage techniques are
 In one or more word processor files - requirements are
stored in the requirements document
 In a specially designed requirements database
Word processor documents
49

 Advantages
 Requirements are all stored in the same place
 Requirements may be accessed by anyone with the right word
processor
 It is easy to produce the final requirements document
 Disadvantages
 Requirements dependencies must be externally maintained
 Search facilities are limited
 Not possible to link requirements with proposed requirements
changes
 Not possible to have version control on individual requirements
 No automated navigation from one requirement to another
Requirements database
50

 Each requirement is represented as one or more


database entities
 Database query language is used to access
requirements
 Advantages
 Good query and navigation facilities
 Support for change and version management
 Disadvantages
 Readers may not have the software/skills to access the
requirements database
 The link between the database and the requirements
document must be maintained
Requirements DB - choice factors
51

 The statement of requirements


 If there is a need to store more than just simple text, a
database with multimedia capabilities may have to be used.
 The number of requirements
 Larger systems usually need a database which is designed
to manage a very large volume of data running on a
specialised database server.
 Teamwork, team distribution and computer support
 If the requirements are developed by a distributed team of
people, perhaps from different organisations, you need a
database which provides for remote, multi-site access.
DOORS(Dynamic Object Oriented Requirement
System)
 Good for management, controlled access, links, analysis,
reports
 Good query and navigation facilities
 Support for change and version management
 But: hard (and costly) to configure, manage, and use
 link between the database and the requirements document
must be maintained (final requirements document must be
generated)
 Ideally: Target the benefits of both
 E.g.,DOORS and RequisitePro offer integrations with Word
(import/export) as well as document-oriented views (for the
“look and feel”…)
52
TWiki

 A generic Wiki tool (TWiki.org)


 Promotes collaboration
 Database-driven
 Access and version control
 Forms and queries
 State-based workflows (processes)
 Text and graphics
 Lightweight, extensible (plug-in architecture)
 Example of Forms and Queries
 Requirements:
http://cserg0.site.uottawa.ca/twiki/bin/view/ProjetSEG/UCMNavRequirements
 Library: http://cserg0.site.uottawa.ca/twiki/bin/view/UCM/UCMVirtualLibrary
 Use Cases: http://cserg0.site.uottawa.ca/seg/bin/view/CSI4900/UseCases
53
Cont…
Benefits of using Requirement
Management tools

 Manage versions and changes


 Store requirement attributes
 Facilitate impact analysis
 Track requirements status
 Control access
 Reuse requirements
Thank You!

You might also like