Tool Mentor: Maintaining User Needs in DOORS
This tool mentor describes how to maintain the user needs in IBM® Rational® DOORS®.
Tool: IBM Rational DOORS
Relationships
Main Description

Introduction

The discussion below describes how to develop and maintain the Stakeholder Requirements Specification held in DOORS®.

Open the Stakeholder Requirements Specification

  1. Open the Stakeholder Requirements Specification. To open the project's specific module, click here. 
  2. Open the Vision

Create Structure for Stakeholder Requirements Specification

Review the structure of the provided template and make changes to create a structure that is appropriate for the current project.

  1. Examine the structure of the Stakeholder Requirements Specification module
  2. Determine if the overall structure is correct and make necessary changes
  3. Make any changes necessary to the Specific Requirements Section
    1. In Section 3.1, create an appropriate structure for the Capability Requirements. This has been left empty deliberately as it is not possible to create a structure that suits all types of project. Good candidates for the structure are to use subsections based on Use Cases or based on Features.
    2. In Section 3.2, determine if all relevant types of constraint are covered and make necessary changes
    3. In Section 3.3, determine if all relevant types of interface are covered and make necessary changes
  4. If you have made any changes, use the view "02 - Types" to check that all objects have the correct Type allocation

Create content for introductory sections

Follow the guidance in the module to populate the introductory sections.

  1. Set the view to "01 - Guidance"
  2. Create content in the introductory sections as indicated by the Guidance column.

Create Capability Requirements

Create objects in the specification to satisfy the features in the Vision

  1. Set the view in the Stakeholder Requirements Specification to "04 - Associated Features"
  2. Set the view in the Vision to "05 - Requirements"
  3. For each Feature in the Vision, create necessary requirements in the appropriate subsections within the Capability Requirements section in the Stakeholder Requirements Specification.
    1. If you edit or copy the objects with "Replace Text" from these sections, the requirements that you create will have the appropriate default attribute values.
    2. Alternatively, use the built-in Copy Objects tool (Tools -> Functions -> Copy Objects...), ensuring that you set the appropriate values for:
      • Target Module (the current Stakeholder Requirements Specification)
      • Copy (as appropriate, generally "Current Object only" or "Current object with children")
      • New position (generally "Below" a Heading or "After" text)
      • Attributes (Comments, Object Heading, Object Short Text, Object Text)
      • Create Links (On, Target to Source)

Note that you may decide not to create Requirements for Features that are planned for future releases, but you must consider them to mitigate against the possibility of developing a system that makes them difficult to implement.

Create Constraint and Interface Requirements

Create objects in the specification to satisfy the other requirements in the Vision

  1. Follow the same procedure as for Capability Requirements except:
    • Generate the requirements from the "User Environment" and "Other Product Requirements" sections of the Vision
    • Place the generated requirements in the appropriate subsections in the Constraint Requirements and Interface Requirements sections.

Note that you may decide not to create Requirements for Features that are planned for future releases, but you must consider them to mitigate against the possibility of developing a system that makes them difficult to implement.

Review Type allocations

  1. Open the Stakeholder Requirements Specification (if not already open).
  2. Set the view to "02 - Types"
  3. Ensure each object in the module has the appropriate value set for the Type attribute. These values should already be set correctly.

Analyze Requirements

  1. Open the Stakeholder Requirements Specification (if not already open).
  2. Set the view to "03 - Analysis"
  3. Ensure each object in the module has the appropriate value set for the displayed attributes.

Create Traceability

Traceability is key to the process, so must be put in place as soon as possible. The best time is when you create the traceable elements.

Traceability to Features

  1. Open the Stakeholder Requirements Specification (if not already open).
  2. Set the view to "04 - Associated Features"
  3. For each Requirement, ensure that it is linked to at least one Feature in the Vision
  4. Use the view "06 - Orphan Requirements" (filtered to show Requirements with no matching Features) to check that all requirements are linked as necessary.

Traceability to Use Cases

Assuming that the Use-Case Model is held primarily in Rhapsody, and the Rhapsody Use-Case Model is synchronized with DOORS to create a surrogate module. In this case, references below to the Use-Case Model are references to the surrogate module.

  1. Open the Stakeholder Requirements Specification (if not already open).
  2. Set the view to "05 - Associated Use Cases"
  3. Open the Use-Case Model 
  4. Locate and open the relevant Use-Case Specification modules
  5. For each Requirement, ensure that, if appropriate, it is linked to Use Cases in the Use-Case Model. Note that not all requirements need to be linked to Use Cases.

Check Coverage

Check that each Requirement in the Stakeholder Requirements Specification has at least one System Requirement allocated to it:

  1. Open the Stakeholder Requirements Specification (if not already open).
  2. Set the view to "09 - Unsatisfied Requirements" (filtered to show only stakeholder requirements with no matching System Requirements)
  3. Ensure each object in the module that represents a Requirement planned for the current iteration has a link from at least one System Requirement.

Note that you may decide not to create Requirements for Features that are planned for future releases, but you must consider them to mitigate against the possibility of developing a system that makes them difficult to implement.

Maintain the Stakeholder Requirements Specification throughout the lifecycle

As change requests are received, update appropriate sections as above. To view the history of changes for the module, use File -> Module Properties -> History. To view the history of changes for a single object, use Edit -> Object -> Properties -> History.

DOORS provides extensive tools to manage traceability, for example for impact and coverage analysis. For more assistance, see "Tracking changes and traceability" in the online DOORS Help file.