310 likes | 692 Views
SEG 3101 Requirements Management with DOORS. Adapted from presentations from Telelogic and Amyot 2005-2012. Preparation for this lab Make sure you can run DOORS Download DOORS_101.dpa from TWiki and save it to your desktop http://cserg0.site.uottawa.ca/seg/bin/view/SEG3201/WebHome.
E N D
SEG 3101Requirements Management with DOORS Adapted from presentations from Telelogic and Amyot 2005-2012
Preparation for this lab • Make sure you can run DOORS • Download DOORS_101.dpa from TWiki and save it to your desktop • http://cserg0.site.uottawa.ca/seg/bin/view/SEG3201/WebHome Requirements Management with DOORS
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 Requirements Management with DOORS
DOORS database view (v8.x) Deleted Folder Folders Formal Modules Projects Link modules Requirements Management with DOORS
Displayed Information (v8.2 / v8.3) Object or Section Number Column Heading “No change since baseline” change-bar (green / blue) Object Heading Link Indicator(incoming and outgoing) Object Identifier Object Text “Changed this session” change-bar, unsaved (red / red) Current Object “Changed since baseline” change-bar, saved (yellow / yellow) Requirements Management with DOORS
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 Requirements Management with DOORS
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 Requirements Management with DOORS
Attributes for Objects, Links, and Modules • Attributes allow additional information to be associated with each requirement (object), link, or module Requirements Management with DOORS
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 Requirements Management with DOORS
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 Requirements Management with DOORS
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 Requirements Management with DOORS
Schema for Basic Project • How many • formal modules? • link modules? • linksets? • What are the namesof the link modules? Stakeholder Requirements Acceptance Tests Tests Satisfies System Requirements Functional Tests Tests Standards Satisfies Design Specification Unit Tests Tests Constrained By Requirements Management with DOORS
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 Requirements Management with DOORS
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 STOP Requirements Management with DOORS
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? Requirements Management with DOORS
Traceability View User Reqts Technical Reqts Design Test Cases Requirements Management with DOORS
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 Requirements Management with DOORS
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 showwhich stakeholder requirements are not verified by unit tests? Stakeholder Requirements Acceptance Tests Tests Satisfies System Requirements Functional Tests Tests Satisfies Design Specification Unit Tests Tests Standards Constrained By Requirements Management with DOORS
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 Acceptance Tests Tests Satisfies System Requirements Functional Tests Tests Satisfies Design Specification Unit Tests Tests Standards Constrained By Requirements Management with DOORS
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 Requirements Management with DOORS
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” Requirements Management with DOORS
Linkable UML 2.0 diagrams and element objects, via the Analyst plug-in (Tau G2 UML 2.0 editor) DOORS/Analyst: Integration with UML 2.0 Requirements Management with DOORS
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 DOORS
URNtoDOORS: Integration with URN Linkable GRL/UCM diagrams and element objects, via the DXL export function in the jUCMNav tool Requirements Management with DOORS
jUCMNav-URN Integration • See the documentation and demos on Twiki: • http://jucmnav.softwareengineering.ca/twiki/bin/view/ProjetSEG/DoorsExport • You must install a new DOORS library to import URN models: • http://jucmnav.softwareengineering.ca/ucm/bin/view/ProjetSEG/InstallingTheDXLLibrary Gestion des exigences avec DOORS
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 DOORS
See Also • Seilevel’s Evaluations of Requirements Management Tools: Summaries and Scores • http://www.seilevel.com/wp-content/uploads/RequirementsManagementToolWP_2.pdf • DOORS ranks in the middle of the list, according to theirneeds and criteria. • Wecan do everything in DOORS, itis a popular and robusttool, but itsusabilityisweak, especially in terms of modelling. Gestion des exigences avec DOORS