«SEG3101» S. Somé U. Ottawa SEG 3101 Requirements Management with DOORS Adapted from presentations from Telelogic and Amyot
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS2 Preparation for this lab Make sure you can run DOORS Download DOORS_101.dpa from TWiki and save it to your desktop
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS3 Benefits of Requirements Management Traceability from highest level requirements to implementation Established via links through a requirements database Links between requirements and design models, tests, code… Impact assessments of proposed changes Analysis tools let you see which other requirements (and other linked artefacts) will be affected by a change Controlled access to current project information A shared database ensures that all users are working with current data A central repository allows all users to see the information that they need to see Change control A change proposal system implements a controlled process for managing change
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS4 DOORS database view (v8.x) Deleted Folder Link modules Folders Projects Formal Modules
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS5 Column Heading Current Object Object Identifier “No change since baseline” change-bar (green / blue) “Changed this session” change-bar, unsaved (red / red) Object or Section Number “Changed since baseline” change-bar, saved (yellow / yellow) Object Heading Object Text Link Indicator (incoming and outgoing) Displayed Information (v8.2 / v8.3)
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS6 Heading Objects and Text Objects Hierarchical organization of objects Heading Object Has a value for Object Heading, but not for Object Text Provides context for the objects below it Text Object Has a value for Object Text, but not for Object Heading Requirements are entered in text objects Should be leaf objects in the module hierarchy No more than one requirement in a text object
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS7 Shortcuts Ctrl-N … insert object at same level Ctrl-L … insert object below current level Ctrl-H … edit object in object heading mode Ctrl-T … edit object in object text mode Ctrl-C … copy current object only (without hierarchy) Ctrl-V … paste after current object Ctrl-X … cut current object with hierarchy Ctrl-Z …undo
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS8 Attributes for Objects, Links, and Modules Attributes allow additional information to be associated with each requirement (object), link, or module
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS9 Examples for Object Attributes Absolute Number, Created By, Last Modified On Automatically created by DOORS Source Who specified the requirement? Priority What is the priority of this requirement? Verifiability, Safety, … Is this requirement verifiable, safety-critical, …? Review Review status of this requirement Rationale
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS10 Link Concepts A relationship between two objects in the DOORS database is established using a link Source and Target Objects Source is the “from” object, target is the “to” object Links can be followed in either direction
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS11 Link Concepts Links are stored in link modules Name of link module indicates type of link Some link information is stored with source object (i.e. cannot delete object with incoming links) Linkset Links are grouped into linksets A linkset contains all links of a specific type which exist for one pair of formal modules Link modules may contain several linksets
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS12 Schema for Basic Project How many formal modules? link modules? linksets? What are the names of the link modules? Stakeholder Requirements System Requirements Design Specification Acceptance Tests Functional Tests Satisfies Unit Tests Standards Constrained By
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS13 Link Direction Considerations Primary reason for choice of link direction is access rights User needs write access to source object (e.g. standards document cannot be source because designer does not have write access) User needs only read access to target object Secondary reason for choice of link direction is consistency and built-in reporting capabilities Consistent bottom-up (recommended) or top-down link direction allows convenient multi-level traceability reporting
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS14 Enforcing Schema by Restricting Links Set the following options in File - Module Properties – Linksets to ON (for all formal modules) Only allow outgoing links as specified in the above list Mandatory If these options are not set, DOORS will create a default link module (DOORS Links) Using this catch-all link module is not recommended Stakeholder Requirements System Requirements Acceptance Tests Satisfies STOP
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS15 Exercise – Enforcing Schema Create three formal modules: A, B, C Create two objects in each module (A1, A2; B1, …) Create a link from A1 to B1 (use drag & drop) Which link modules were created? Which linksets were created? Create link module Test Create a mandatory linkset in module A (File – Module Properties – Linksets) for links to module B using link module Test Create a link from A2 to B2 – what happened? Create a link from A1 to C1 – what happened? Set option “Only allow outgoing links as specified in the above list” to ON in module A (File – Module Properties – Linksets) Create a link from A2 to C2 – what happened?
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS16 Traceability View User ReqtsTechnical ReqtsTest CasesDesign
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS17 Link Analysis Traceability Analysis Follows incoming links (i.e. from high-level to low- level assuming bottom-up link direction) Impact Analysis Follows outgoing links (i.e. from low-level to high-level assuming bottom-up link direction) Analysis Wizard Suspect Links Suspect link indicator Clear suspect link
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS18 Exercise – Link Analysis Use Trace Analysis for “S333” in Standards (depth 3). Which unit tests are in the trace? Use Impact Analysis for the “Second Unit Test” (depth 3). Which stakeholder requirements are affected? Use the Analysis Wizard to show which stakeholder requirements are not verified by unit tests? Stakeholder Requirements System Requirements Design Specification Acceptance Tests Functional Tests Satisfies Unit Tests Standards Constrained By
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS19 Exercise – Suspect Links Make a change to the “Third Design Specification” Where would you expect suspect links to appear? Clear the suspect links Stakeholder Requirements System Requirements Design Specification Acceptance Tests Functional Tests Satisfies Unit Tests Standards Constrained By
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS20 Filter, Sort, View, Report Filter objects According to properties of an object’s attributes, links, position in hierarchy (leaf or not leaf), and columns Sort objects According to an object’s attribute values View Defines display layout (columns, filters, sorts, …) Module-specific (saved with module) Report Combines a view with a page setup for printing Report Wizard
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS21 Exercises – Filter, Sort, and View Filter “Design Specifications” so that all headings are not shown Clear filter Filter “Design Specifications” to find out all objects without a link to “Unit Tests” Insert a column for the Priority attribute Sort the result by priority. Save as view “My view” Load the standard view Load “My view”
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS22 DOORS/Analyst: Integration with UML 2.0 Linkable UML 2.0 diagrams and element objects, via the Analyst plug-in (Tau G2 UML 2.0 editor)
«SEG3101» S. Somé U. Ottawa DOORS/Analyst If DOORS/Analyst is installed, you can: Explore the Analyst menu in DOORS Create a module and then select Analyst --> Enable Analyst You should then be allowed to embed UML diagrams via the Analyst menu Gestion des exigences avec DOORS23
«SEG3101» S. Somé U. Ottawa Requirements Management with DOORS24 URNtoDOORS: Integration with URN Linkable GRL/UCM diagrams and element objects, via the DXL export function in the jUCMNav tool
«SEG3101» S. Somé U. Ottawa jUCMNav-URN Integration See the documentation and demos on Twiki: oorsExport oorsExport You must install a new DOORS library to import URN models: tallingTheDXLLibrary tallingTheDXLLibrary Gestion des exigences avec DOORS25
«SEG3101» S. Somé U. Ottawa For Your Project… You can have a simpler approach: Export your diagrams (with jUCMNav or another tool) Include them in a new DOORS module. Manually enumerate the important elements (goals, scenarios, etc.) included in these diagrams. Create traceability links between your requirements and these elements. Gestion des exigences avec DOORS26
«SEG3101» S. Somé U. Ottawa See Also Seilevel’s Evaluations of Requirements Management Tools: Summaries and Scores content/uploads/RequirementsManagementToolWP_2.pdf content/uploads/RequirementsManagementToolWP_2.pdf DOORS ranks in the middle of the list, according to their needs and criteria. We can do everything in DOORS, it is a popular and robust tool, but its usability is weak, especially in terms of modelling. Gestion des exigences avec DOORS27