Configuring the DOORS client: command line switches and registry settings


Many DOORS client properties can be configured using command line switches and/or Windows registry settings, e.g. what database is to be used, what is the default opening mode for opening modules, specifying the user account to log into DOORS etc.

For a general overview on how to set these properties, see the IBM Help page Configuring the registry and using command-line switches for the Rational DOORS client and on what properties can be configure see: Command-line switches for the Rational DOORS client.

To set the command line switches on Windows client the Windows shortcut properties have to be modified. In the picture below the “Target” field shows already one switch, the “-data 36679@pmsoftqa4” which determines that a DOORS client started through this shortcut (icon) will use some other database than the default.


If I wanted always to open my modules in “Read Only” mode instead of the default Exclusive Edit I could add “-defopenmode READ_ONLY -defopenlinkmode READ_ONLY” to the end of the Target field. After adding that, my switches for this shortcut would read “-data 36679@pmsoftqa4 -defopenmode READ_ONLY -defopenlinkmode READ_ONLY” in total. Note that there is a separate switch for those modules opened directly from DOORS main window and for those opened through link browsing.

The command line switches listing in the Help page lists also short versions of the switches so that the long line above can be shortened to “-d 36679@pmsoftqa4 -o r –O r”. I usually prefer the long versions, because that way it is easier to see what the setting is.

The same settings can be also done by editing Windows registry: start up regedit.exe and browse to the path for the DOORS Config settings – this path will be different for different Windows version. For me on Windows 7 Professional 64-bit it is “HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Telelogic\DOORS\9.5\Config”


To specify registry settings you have to create new registry values in the “Config” key, these should be of type “String Value”. After creation, rename the value to the wanted switch, e.g. “defopenmode”. After renaming you can give data to the value by double-clicking on the value name


In the picture below the registry settings are defined for opening modules


The command line switches in the shortcut will override the registry settings, so even though the registry defines READ_ONLY modes for opening modules, individual shortcuts might have READ_WRITE and the modules are opened in Exclusive Edit.

DOORS link attributes: Link Proposal System and scripts


What are link attributes?

Links in DOORS have attributes similar to objects or modules. DOORS creates the system link attributes “Created On / By”, “Modified On / By” etc. – in addition suspect link handling in DOORS is dependent on link attributes, namely “Suspicion Cleared Backwards / Forwards”. Similar to object attributes we can also create link attributes based on the requirements management process: we might e.g. want to store the priority of the link or the reason for linking the objects.

Link attributes and link attribute types are created in link modules, but most often edited in the source modules. It is possible to edit to link attributes in the source modules by using the Object Properties / Links dialog. Select a specific link and press the “Details” button to see or edit link attribute values for that link.


Because this editing action needs many clicks, link attributes are not quite often used. It is possible to edit link attributes also in link modules, but it is even more complicated than in source modules. To display link attribute values in a column is more easier than editing if you create traceability columns using the Analysis Wizard – step 3 allows to select which link attributes are displayed in columns.


Link Proposal System

As an example on how to use link attributes I implemented  a “Link Proposal System”. The main idea is that as users create links the status of those links are maintained by a link attribute.

E.g. we could have an enumerated link attribute Link Status with values of  “Proposed”, “Accepted” and “To be deleted” and set the “Proposed” value to be the default value. Every link created will then have a Link Status of “Proposed”. Thus even though the link exists it is not accepted in this process.

A person reviewing traceability can check the links in a review trace view and set those which are accepted to have “Accepted” Link Status. If a link is not accepted, then it is marked as “To be deleted” – and deleted either manually or with a DXL script.

Standard DOORS usage would use traceability views showing only the links which have been accepted, i.e. links with status of “Proposed” or “To be deleted” are not shown in these views. Of course all the links are visible in DOORS UI and users can browse those, but within this kind of process they are not links which should be used for traceability.


Support scripts

The make the modification of links attributes easier I also wrote a prototype DXL script for modifying single-value enumerated link attributes, such as might be for example used in the Link Proposal System.

The script dialog has two selection lists. The upper shows what outgoing or incoming links the currently selected object has and the lower shows what single-value enumerated link attributes have been created in the link module containing the link and the attribute.

The link selection list shows in addition to the link attribute name also the attribute value. The value can be changed by double-clicking on the selected link attribute name – as this script deals with enumerated attributes, it will cycle through the values for that attribute for each double-click.


The DXL script can be downloaded from

Google Docs: Importing and exporting DOORS requirements


One of the most used export formats in DOORS is the Spreadsheet format (or direct export to Microsoft Excel). This is also the only easily available file format which allows for offline editing as the corresponding Spreadsheet import (from Comma or Tabulator Separated Values files, CSV/TSV) can update existing DOORS data. These exports can also be imported to cloud-based Google Docs allowing for collaborating on DOORS requirements

If it is planned to re-import the modified data to DOORS it is useful to prepare an export view in DOORS. This export view mainly breaks up the main column to separate columns for Object Heading and Object Text so that individual attributes can be updated on re-import. The view should also include the Object Identifier column as this is needed during import.


After exporting from DOORS (File / Export / Microsoft / Excel (and then maybe save as CSV from Excel) or File / Export / Spreadsheet to CSV) the resulting CSV file can be imported to a Google Spreadsheet.


As see from the preview window, Google import for CSV file does not read the column names correctly from the first line of the CSV file. For this reason  it is more useful to do the import to Google Docs straight from an Excel file in XLS / XLSX format, as this file seems to be formatted correctly: gregs

After import the file can be formatted in Google as needed: in the above example I have frozen the first row, set word wrap on for Object Text column and  displayed in bold the Object Heading column and column titles in first row.

As the Google Docs is a cloud based service this file can be now published to specific users. The shared file can also have user settings: how can read the file, who can comment, who can edit the data.


The commenting option in Google Docs can be useful within Google while discussing the requirements, but these comments cannot be exported or printed. gcomment

Modifications done in Google Docs are stored in the Revision history, allowing also to roll-back changes, if needed.


New requirements (new objects) can be added in Google by inserting new rows to the spreadsheet. No Object Identifier details are needed for these as DOORS will give the identifiers on import.

After modifications the file can be exported from Google to DOORS by selecting File / Download as / Comma Separated Values (DOORS can update data only from CSV / TSV files).


The generated CSV file can be imported to DOORS in the original module by selecting File / Import / Spreadsheet. The updated objects can be identified by DOORS by using the Object Identifier as unique key.


After import DOORS will display the result for the import: how many object updated and how many created. If there is a main column in the current view, the modified or created objects are shown as modified by a red change bar before saving the changes.


If your modifications or additions include characters outside of the normal ASCII symbol set (e.g. Finnish text) then it might be useful before importing check the import preview by pressing the Advanced button in the Spreadsheet import dialog and selecting correct “Encoding” for the characters – I used UTF-8 to import the ÄÖ-characters correctly.

For more information on Google Docs see Wikipedia article (also good to read the “Data safety and privacy” chapter here) or Google Drive help

DOORS 9.5.1


DOORS 9.x –sarjan uusin versio 9.5.1 (ja jopa sen 1. korjauspaketti on julkistettu. Vaikka kysymyksessä on versionumerosta päätellen pieni päivitys, on 9.5.1 –versiossa mukana uusiakin ominaisuuksia ja toimintoja, sekä DOORS-clientissa että DOORS Web Access –selainliittymässä.

Rational Publishing Engine-teknologiaan pohjautuva Document Generation –toiminta on päivittynyt. Aikaisemmat erilliset export-valinnat on yhdistetty samaan dialogiin ja nyt on mahdollista esim. exportoida samaan aikaa Word-dokumentti ja PDF-tiedosto. Jotenkin tämä uusi käyttöliittymä kyllä vaikuttaa hieman harjoittelijan tekemältä ja lisäksi Document Generation toiminnallisuus on oikeastaan huonontunut verrattuna aikaisempaan 9.5 –versioon: nyt mukana on vain kaksi RPE-templaattimallia: book tai table. Eikä näitä templaatteja voi itse muokata ilman täyttä Rational Publishing Engine-tuotetta.


Merkittävä muutos DOORS-tietokannan hallinnassa liittyy linkkien hallintaan: ensinnäkin tietokannan ominaisuuksissa voi kieltää automaattisen linkkimodulien luomisen – tämä tarkoittaa sitä että tietokanta ei enää täyty ”DOORS Links” –linkkimoduleilla, vaan käyttäjien on pakko käyttää määriteltyjä linkkimoduleita. Lisäksi asetuksissa voidaan myös asettaa käyttöön varoitus jos poistetaan objekteja joissa on ulospäin meneviä linkkejä  (vakiostihan DOORSissa objekteja joissa on sisäänpäin tuleva linkki ei saa poistettua ennen linkin poistamista).

DOORS-taulukkojen hallintaa on kehitetty, uudessa dialogissa pystyy helpommin muokkaamaan taulukon rakennetta ja esim. yhdistämään soluja sekä samalla valitsemaan yksittäisessä taulukossa esitetyn attribuutin, joka taulukko voi siis esittää eri attribuutteja.


9.5.1-versiossa uuden projektin voi alustaa olemassa olevasta DOORS Project Archive (DPA)-paketista. DOORSin mukana on ohjelmahakemiston ssea_templates-alihakemistossa neljä mallitemplaattia. Templaattihakemiston paikan voi myös tietokannan ominaisuuksissa määritellä haluamakseen, jolloin templaatit ovat käyttäjien helposti löydettävissä. Asensin Medical Devices-projektitemplaatin ja se oli sisällöltään hyvin kattava: kansiot, modulit, attribuutit, linkkisuhteet, linkkimodulit ja näkymät olivat valmiina. Sanoisin että tämä on erinomainen lisä DOORSiin! Valitettavasti DOORS Help ei ole ajan tasalla tämän toiminnallisuuden kannalta, koska malliprojekteista ei ole dokumentaatiota.

DOORSin historiatiedoissa pystyy nyt kaivautumaan current-version muutoksista baseline-tietoihin, eli aikaisempiin moduliversioihin – ennen tätä DOORShan näytti historiassa vain ne muutokset, jotka ovat tapahtuneet viimeisimmän baselinen jälkeen.


Näiden muutosten lisäksi 9.5.1 release note toteaa  “You can configure your system to display a preview window when you hover over an internal link that shows a summary of the linked object, similar to the preview window that is displayed for collaboration links”. En ole vielä löytänyt miten tai mistä tälläisen linkkitietojen näyttöasetuksen saisi päälle, joten tätä en ole pystynyt testaamaan. Lisäys 11.07.2013 IBM julkaisi ohjeet miten tämä konfigurointi tehdään, jotta toiminto onnistuisi pitää olla asennettuna myös DOORS Web Access, pelkkä DOORS ei siis pysty tähän, ks. linkki.

DOORS Web Access versio 9.5.1 sisältää käyttöliittymän parannuksia: mm. käyttäjäasetukset tallentuvat käyttäjäkohtaisesti, joten ei haittaa vaikka vaihtaisi selainta tai työasemaa. Lisäksi nyt voi valita halutaanko näkymälistaa tai baselinelistaa esittää.

Version 9.5.1 julkistustiedot IBM sivustolla

DOORS-myyttejä ja vastauksia


IBM Rationalin vaatimustenhallinnan työkalujen tuotepäällikkö Richard Watson julkaisi äskettäin blogikirjoituksen “The reports of my death are greatly exaggerated: DOORS is alive and well”, jossa hän käy lävitse markkinoilla liikkuvia huhuja DOORSin tulevaisuudesta.

Myyttejä on mm.

  • DOORS 9.x tuotesarjan kehitys ja tuki on loppumassa – IBM: päinvastoin, DOORS 9.5 tuotekehitystä jatkuu, esim. 2013 tulee uusia ominaisuuksia
  • Asiakkaiden pitää siirtyä 9.x-tuotteesta korvaavaan DOORS NG:hen – IBM: ei pidä, eikä kannata, koska tällä hetkellä DOORS Next Generationin ominaisuudet eivät vielä vastaa DOORS 9.5 ominaisuuksia
  • Jos haluaa käyttää DOORS NG:tä, pitää ostaa uusi lisenssi – IBM: DOORS 9.5 lisenssin omistajat saavat myös DOORS NG:n lisenssin, tuotteita voi käyttää rinnakkain

Alkuperäinen blogikirjoitus.

DOORS NASAn Mars-mönkijän kehitysprojektissa


Todelliset käyttöesimerkit vaatimustenhallinnasta ja vaatimustenhallinnan työkalujen käytöstä ovat aika harvinaisia. 21.2.  illalla Suomen aikaa Rational User Communityn weblähetyksessä ”Curious about How DOORS Supported the Curiosity Rover?” käytiin lävitse DOORSin käyttöä NASAn Mars-mönkijän kehitysprojektissa. Tätä esitystä ei valitettavasti tallennettu nettiin jaettavaksi.

Esitys keskittyi enemmän vaatimusten toteutumisen todentamiseen (V&V)  kuin puhtaaseen vaatimustenhallintaan. Vaatimuksia tässä projektissa hallittiin seuraavasti:

  • projektin pituus noin 4 vuotta, alkaen vuonna 2008
  • DOORS-käyttäjiä tänä aikana noin tuhat
  • käyttäjät kävivät lävitse kahden päivän vaatimustenhallintakoulutuksen, joka sisälsi myös DOORSin käyttökoulutuksen
  • käytössä DOORS-versio 8.3
  • vaatimusrakenne neliportainen, alkaen Mission Success Criteriasta ja projektin vaatimuksista päätyen alijärjestelmien vaatimuksiin
  • vaatimusmoduleita useita kymmeniä, lisäksi testitapauksiin liittyvät modulit
  • vaatimuksia DOORSissa noin 16 000 joiden välillä noin 11 000 linkkiä


Projektin tulosten raportointia varten erityisesti testauksen edistymisen osalta kehitettiin DXL-skriptejä, joilla saatiin hallittua vaatimusten toteutusaikataulua sekä tuotettua aineistoa burndown chart’in tuottamiseen. Burndown chart’in osalta ideana oli esittää yksittäisten testiosioiden toteutuma, suunnitellut alku- ja loppupäivät sekä todellisuus. Huom: ilmeisesti aikaisemmissa projekteissa tämä sama data oli käsitelty manuaalisesti.


Projektin kokema merkittävin puute DOORSin toiminnallisuudessa oli virtuaalisten objektien puute, samaa vaatimusta ei voi sijoittaa useampaan moduliin vaan jokainen objekti on oma olionsa. Tällä hetkellä NASA pilotoi DOORS Next Generation-tuotetta, jossa tämä puute on korjattu ja sama vaatimusolio voi esiintyä useammassa modulissa.

Todetut hyödyt DOORSin käytöstä olivat seuraavat:

  • DOORS mahdollisti yhteistyön erittäin suurelle kehitystiimille
  • Kaikilla käyttäjillä oli käytössä viimeisimmät vaatimusversiot
  • V-mallin toteutus käytännössä: jäljitettävyys vaatimuksista testaukseen ja testituloksiin
  • DOORSin kustomoitavuus auttoi jäljitettävyysraporttien tuottamisessa ja projektin seurannassa

(kuvakaappaukset NASAn esityksestä)

DOORS Project Startup Wizard – creating a project template


A project template in DOORS database is useful for starting up new projects. The idea behind this is that the template contains all the modules, link modules and link relationships predefined in addition to common attributes and views.

Typically this kind of template is created based on analysis of requirements management process, but as a simpler option DOORS contains a tool to create a project template (menu selection File / New / Project Startup Wizard). As this function creates a new project, the user using the Project Startup Wizard and copying the resulting template project should be of Database Manage user type.

The first step in the template creation is to name the project and give a description.


In the second step you start to define your template project properties. Firstly the project type can be either “System” or “Software” and the project approach can be “Formal”, “Informal” of “Very Informal”. If you select a software project, the function will add software requirements or design to the module list, if a system project is selected then no software modules are created.

If the approach is informal, then only the Requirements module is added and as you go upwards in formality, more modules are added. You can also insert custom modules defined by your own needs and remove some modules not needed.


After the set of modules has been selected, you can add attributes to the definition.


First, select to which module attributes will be added and then select which type of attribute set to include. In the picture I have selected the “Requirements” module and then chose to insert attributes typical for “System Requirements”. Of course these attribute definition sets might not be sufficient for all needs, so you can also add custom attributes which will use those attribute types available in the modules.

Views for modules can be defined after attribute creation. Again, select which module you want to define views in and choose from the “Typical views” list which views you want to include in the selected module. Also custom views can be added in this step.


The second-to-last step is to give a name to the wizard definition, so that the same definition can be re-used.


In the last wizard dialog just press “Finish” to create your project.

The created project will contain those modules defined, with the attributes and views defined. To use this template, just copy and rename it in the database or use the Project Startup Wizard again as the definition has been saved.


Note that the project template created by the wizard does not include any link modules, link relationship definitions (linksets) or traceability views. These should be added to the project template so that the users shall not have problems in linking objects.


The modules created by the wizard might also need modifications: e.g. module header structure, additional attributes, attribute types and views. If the template project created by the wizard is modified heavily the stored definition might not anymore be usable, but the wizard function is a fast way to kick start your template creation.

(the DOORS version used for this blog entry was DOORS 9.5)