Introduction
This tool mentor describes how to develop and maintain the Subsystem Requirements Specification held in DOORS.
Open the Relevant Subsystem Requirements Specification
Note that there will most likely be several Subsystem Requirement Specifications for the various systems. Open the
relevant Subsystem Requirements Specification and open the System Requirements Specification.
Create Structure for Subsystem 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 Subsystem 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. This has been left empty
deliberately as it is not possible to create a structure that suits all types of project.
-
In Sections 4 and 5, add and remove subsections 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 System Requirements Specification.
-
Open the Subsystem Requirements Specification (if not already open).
-
Set the view in the Subsystem Requirements Specification to "04 - Associated System Requirements"
-
Open the System Requirements Specification (if not already open).
-
Set the view in the System Requirements Specification to "09 – Associated Subsystem Requirements"
-
For each Functional Requirement in the System Requirements Specification that is relevant to the current subsystem,
create necessary requirements in the appropriate subsections within Section 3 in the Subsystem 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...), ensuring
that you set the appropriate values for:
-
Target Module (the current Subsystem 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 and
they satisfy the source System requirements.
Create Other Non-functional Requirements
Create objects in the specification to satisfy the other requirements in the System Requirements Specification and
System Architecture Model
-
Open the Subsystem Requirements Specification (if not already open).
-
Follow the same procedure as for Functional Requirements except:
-
Generate non-functional requirements based on the system architecture model and those in the "Other
Non-Functional Requirements" sections of the System Requirements Specification.
-
Place the generated requirements in the appropriate subsections in the Other Non-functional Requirements
sections.
Review Type allocations
-
Open the Subsystem 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 Subsystem 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 key to the process, so must be put in place as soon as possible. When better than at the time you
create the traceable elements?
Traceability to System Requirements
-
Open the Subsystem Requirements Specification (if not already open).
-
Set the view to "04 - Associated System Requirements"
-
Open the System Requirements Specification (if not already open).
-
Set the view to "09 - Associated Subsystem Requirements"
-
For each Subsystem Requirement, ensure that it is linked to at least one System Requirement in the System
Requirement Specification
-
Use the view "05 - Orphan Requirements" in the Subsystem Requirements Specification (filtered to show Subsystem
Requirements with no matching System Requirement) to check that all requirements are linked as necessary.
Traceability to Subsystem Blocks
-
Open the Subsystem Requirements Specification (if not already open).
-
Set the view to "07 - Associated Subsystem Blocks"
-
For each Requirement, ensure that, if appropriate, it is linked to system elements in the System Architectural
Model.
Maintain the Subsystem 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.
|