Introduction
This tool mentor describes how to develop and maintain the System Requirements Specification held in
DOORS®.
Open the System Requirements Specification
-
Open the Stakeholder Requirements Specification. To open the project's specific module, click here.
-
Open the System Requirements Specification. To open the project's specific module, click here.
Create Structure for System Requirements Specification
Review the structure of the provided template and make changes to create a structure that is appropriate for the
current project.
-
Examine the structure of the System Requirements Specification module
-
Determine if the overall structure is correct and make necessary changes
-
Make any changes necessary to the Specific Requirements Section
-
In Section 3, create an appropriate structure for the Functional Requirements. By default this
section is structured by System Function. Other good candidates for the structure of this section are
to use subsections based on Use Cases or based on Features.
-
Add and remove subsections to the other sections as appropriate for the current project.
-
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.
-
Set the view to "01 - Guidance"
-
Create content in the introductory sections as indicated by the Guidance column.
Create Functional Requirements
Create objects in the specification to satisfy the requirements in the Stakeholder Requirements Specification.
-
Open the System Requirements Specification (if not already open).
-
Set the view in the System Requirements Specification to "04 - Associated Stakeholder Requirements"
-
Open the Stakeholder Requirements Specification (if not already open).
-
Set the view in the Stakeholder Requirements Specification to "07 - Requirements"
-
For each Capability Requirement in the Stakeholder Requirements Specification, create necessary
requirements in the appropriate subsections within the Functional Requirements section in the System
Requirements Specification.
-
-
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.
-
Alternatively, use the built-in Copy Objects tool (Tools -> Functions -> Copy Objects...), which
allows you to copy a stakeholder requirement to the system requirements module and create a link to the
source requirement at the same time. Launch the Copy Objects tool and ensure that you set the
appropriate values for:
-
-
Target Module (the current System 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, Type)
-
Create Links (On, Target to Source)
-
Whichever approach you use, ensure that the resulting requirements are correctly formed system
requirements, that they satisfy the stakeholder requirements and that they are linked to the
source stakeholder requirements.
Note that you may decide not to create Requirements for Features that are planned for future releases, but you must
consider them to avoid developing a system that makes them difficult to implement later.
Create Non-functional and Other Requirements
Create objects in the system requirements specification to satisfy the other requirements in the Stakeholder
Requirements Specification.
-
Open the System Requirements Specification (if not already open).
-
Follow the same procedure as for Functional Requirements except:
-
-
Generate requirements based on those in the "Constraint Requirements" and "Interfaces" sections of the
Stakeholder Requirements Specification
-
Place the generated requirements in the appropriate subsections in the System Requirements
Specification.
Note that you may decide not to create Requirements for Features that are planned for future releases, but you must
consider them to avoid developing a system that makes them difficult to implement later.
Review Type allocations
-
Open the System Requirements Specification (if not already open).
-
Set the view to "02 - Types"
-
Ensure each object in the module has the appropriate value set for the Type attribute
Analyze Requirements
-
Open the System Requirements Specification (if not already open).
-
Set the view to "03 - Analysis"
-
Ensure each object in the module has the appropriate value set for the displayed attributes.
Create Traceability
Traceability is critical to the process, so it must be put in place as soon as possible. When better than at the
time you create the traceable elements?
Traceability to Stakeholder Requirements
-
Open the System Requirements Specification (if not already open).
-
Set the view to "04 - Associated Stakeholder Requirements"
-
Open the Stakeholder Requirements Specification (if not already open).
-
Set the view to "08 - Associated System Requirements"
-
For each System Requirement, ensure that it is linked to at least one Stakeholder Requirement in the Stakeholder
Requirement Specification
-
Use the view "05 - Orphan Requirements" (filtered to show System Requirements with no matching Stakeholder
Requirement) to check that all requirements are linked as necessary.
Traceability to Use Cases
-
Open the System Requirements Specification (if not already open).
-
Set the view to "10 - Associated Use Cases"
-
For each System Requirement, ensure that it is linked to at least one Use Case in the Use-Case Model.
Traceability to Executable Use Cases
-
Open the System Requirements Specification (if not already open).
-
Set the view to "11 - Associated Executable Use Cases"
-
For each Requirement, ensure that it is linked from at least one Use-Case Block elements in the Executable
Use-Case Model.
Traceability to Architectural Elements
-
Open the System Requirements Specification (if not already open).
-
Set the view to "08 - Associated Architectural Elements"
-
For each Requirement, ensure that, if appropriate, it is linked from at least one Subsystem block in the
System Architectural Model.
Maintain the System 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.
|