Requirement Enginering Software Requirement Tutorial 19

download Requirement Enginering  Software Requirement Tutorial 19

of 39

Transcript of Requirement Enginering Software Requirement Tutorial 19

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    1/39

    1

    Requirements Management - II

    Lecture # 19

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    2/39

    2

    Recap of Last Lecture

    We talked about requirements

    management and why is it necessary to

    manage requirements changes rather

    than disallow changes in requirements

    Well continue our discussion onrequirements management today

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    3/39

    3

    Requirements Identification - 1 It is essential for requirements

    management that every requirement

    should have a unique identification

    The most common approach is

    requirements numbering based onchapter/section in the requirements

    document

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    4/39

    4

    Requirements Identification - 2

    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 the requirements in the same section

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    5/39

    5

    Requirements Identification

    Techniques Dynamic renumbering

    Database record identification Symbolic identification

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    6/39

    6

    Dynamic Renumbering

    Some word processing systems allow for

    automatic renumbering of paragraphs and the

    inclusion of cross-references. As you re-organize 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

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    7/39

    7

    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

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    8/39

    8

    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

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    9/39

    9

    Storing Requirements Requirements have to be stored in such

    a way that they can be accessed easily

    and related to other system

    requirements

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    10/39

    10

    Requirements Storage

    Techniques In one or more word processor files

    In a specially designed requirements

    database

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    11/39

    11

    Word Processor Documents:

    Advantages

    Requirements are all stored in the same

    place

    Requirements may be accessed byanyone with the right word processor

    It is easy to produce the final

    requirements document

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    12/39

    12

    Word Processor Documents:

    Disadvantages - 1 Requirements dependencies must be

    externally maintained

    Search facilities are limited

    Not possible to link requirements with

    proposed requirements changes

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    13/39

    13

    Word Processor Documents:

    Disadvantages - 2 Not possible to have version control on

    individual requirements

    No automated navigation from one

    requirement to another

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    14/39

    14

    Requirements Database - 1 Each requirement is represented as

    one or more database entities

    Database query language is used to

    access requirements

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    15/39

    15

    Requirements Database:

    Advantages Good query and navigation facilities

    Support for change and version

    management

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    16/39

    16

    Requirements Database:

    Disadvantages Readers may not have the

    software/skills to access the

    requirements database

    The link between the database and the

    requirements document must bemaintained

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    17/39

    17

    Requirements Database Choice

    Factors - 1 The statement of requirements

    The number of requirements

    Teamwork, team distribution and

    computer support

    CASE tool use Existing database usage

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    18/39

    18

    Requirements DB - Choice

    Factors - 1 The statement of requirements

    If there is a need to store more than just simple

    text, a database with multimedia capabilitiesmay have to be used

    The number of requirements

    Larger systems usually need a database whichis designed to manage a very large volume of

    data running on a specialized database server

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    19/39

    19

    Requirements DB - Choice

    Factors - 2 Teamwork, team distribution and

    computer support

    If the requirements are developed by a

    distributed team of people, perhaps from

    different organizations, you need a

    database which provides for remote,multi-site access

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    20/39

    20

    Requirements DB - Choice

    Factors - 3 CASE tool use

    The database should be the same as or

    compatible with CASE tool databases.However, this can be a problem with someCASE tools which use their own proprietarydatabase

    Existing database usageIf a database for software engineering support

    is already in use, this should be used forrequirements management

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    21/39

    21

    Change Management Change management is concerned with the

    procedures, processes and standards which

    are used to manage changes to systemrequirements

    Without formal change management, it is

    impossible to ensure that proposed changessupport business goals

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    22/39

    22

    Change Management Policies - 1

    The change request process and the

    information required to process each

    change request

    The process used to analyze the impact

    and costs of change and the associatedtraceability information

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    23/39

    23

    Change Management Policies - 2

    The membership of the body which

    formally considers change requests

    The software support (if any) for the

    change control process

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    24/39

    24

    Change Management Stages

    Problem analysis and

    change specification

    Change analysis and

    costing

    Change

    implementation

    Identified

    problem

    Revised

    requirements

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    25/39

    25

    Problem Analysis and Change

    Specification Some requirements problem is identified

    This could come from an analysis of the

    requirements, new customer needs, oroperational problems with the system. The

    requirements are analyzed using problem

    information and requirements changes areproposed

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    26/39

    26

    Change Analysis and Costing

    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

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    27/39

    27

    Change Implementation

    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

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    28/39

    28

    Change Analysis and Costing

    Process

    Check request

    validity

    Find directly

    affected

    requirements

    Find

    dependent

    Proposerequirements

    changes

    Assess costsof change

    Assess costsacceptability

    Requirements change list

    Change

    request

    Rejected request

    Validrequest

    Req. list

    Rejected request

    Rejected

    request

    Accepted

    changes

    Cost

    info

    Cost

    info

    Requirements

    changes

    Customer

    information

    Customer

    information

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    29/39

    29

    Change Analysis Activities - 1

    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 finddependent requirements affected by thechange

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    30/39

    30

    Change Analysis Activities - 2

    The actual changes which must bemade to the requirements are proposed

    The costs of making the changes areestimated.

    Negotiations with customers are held

    to check if the costs of the proposedchanges are acceptable

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    31/39

    31

    Change Request Rejection

    Reasons - 1 If the change request is invalid. This

    normally arises if a customer has

    misunderstood something about the

    requirements and proposed a change

    which isnt necessary

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    32/39

    32

    Change Request Rejection

    Reasons - 2 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

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    33/39

    33

    Change Processing

    Proposed changes are usually recorded on achange request form which is then passed to

    all of the people involved in the analysis ofthe change. It may include

    Fields to document the change analysis

    Data fields

    Responsibility fields

    Status field

    Comments field

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    34/39

    34

    Tool Support for Change Management

    May be provided through

    requirements management tools or

    through configuration management

    tools

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    35/39

    35

    Tools Features - 1

    Electronic change request forms which arefilled in by different participants in the

    process A database to store and manage these forms

    A change model which may be instantiatedso that people responsible for one stage ofthe process know who is responsible for thenext process activity

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    36/39

    36

    Tools Features - 2

    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

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    37/39

    37

    Summary - 1

    Requirements management requires that

    each requirement should be uniquely

    identified If a large number of requirements have to

    be managed, the requirements should be

    stored in a database and links betweenrelated requirements should be maintained

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    38/39

    38

    Summary - 2 Change management policies define the

    processes used for change management and

    necessary information Automated support for change

    management should come through

    specialized requirements management toolsor by configuring existing tools to support

    change management

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 19

    39/39

    39

    References

    Software Engineering: A Practitioners

    Approach by Roger S. Pressman

    Requirements Engineering: Processes

    and Techniques by G. Kotonya and I.

    Sommerville, John Wiley & Sons,

    1998