DOORS link attributes: Link Proposal System and scripts

9.7.2013

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.

linkattr1

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.

linkattr2

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.

linkattr3

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.

linkattr4

The DXL script can be downloaded from http://www.softqa.fi/dxl/edit_link_attr.dxl


DOORS NASAn Mars-mönkijän kehitysprojektissa

22.2.2013

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ä



nasarover


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.


nasa2


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 9.5 julkistettu

13.12.2012

IBM on julkistanut DOORS-version 9.5 joka toimii yhdessä samaan aikaan julkistetun DOORS Next Generation-tuotteen version 4.0.1 kanssa. DOORS Next on siis nyt ihan oikea tuote.

Ja siinäpä se sitten olikin. DOORS-versiossa 9.5 on joitakin uusia ominaisuuksia (listattuna sivulla Rational DOORS and Web Access 9.5), mutta suurimmalle osalle käyttäjäkunnasta näillä ei ole merkitystä. Kuten “What’s New” osuus toteaa:

“The principal objective of Rational DOORS version 9.5 is to provide a release vehicle for Rational DOORS Next Generation version 4.0.1. The improvements in Rational DOORS version 9.5 are consistent with those of a fix pack, and customers using Rational DOORS version 9.4.0.1 are advised to upgrade to version 9.5.0.0 for the latest fixes.”

Osittain 9.5-julkistus on toimintojen osalta jopa ottanut takapakkia, DOORSin aktiivikäyttäjille tarpeellinen DXL-kielen dokumentaatio on nyt muutettu IBM:n Eclipsen kautta toimivaksi PDF-versioksi ja samalla saatu ainakin minun asennuksessani täysin toimimattomaksi. Jotta sain itselleni toimivan DXL Reference Manualin, jouduin asentamaan takaisin version 9.4:n, kopioimaan siitä DOORS\9.x\help\dxl.chm -tiedoston (DXL Help) ja asentamaan uudelleen versio 9.5:n.


Kuinka ajan DXL-skriptin DOORSissa

19.10.2012

DOORS DXL on ohjelmointikieli jolla voidaan tehdä DOORSin toimintaa laajentavia “skriptejä” pienistä makrotyyppisistä komennoista kokonaisiin vaatimustenhallintakokonaisuuksiin. DOORSin laajennettavuus ja muokattavuus on DXL-kielen ansiosta ainutlaatuista, mikään muu vaatimustenhallintaohjelmisto ei pysty samaan.

Netissä DXL-skriptejä on tarjolla monilla sivulla, mm. SoftQA, SmartDXL, Galactic Solutions Group, Baselines Inc, IBM DOORS DXL Wiki ja Beaver Computer Consultants.

DXL-skripti voidaan DOORSissa suorittaa valikkokomennolla “Edit DXL”, joka löytyy sekä tietokantaikkunan (DOORSin pääikkuna) ja moduli-ikkunan Tools-valikosta.

Erona näillä on se, että kun DXL-skripti käynnistetään tietokantaikkunan “Edit DXL”-toiminnan kautta, niin silloin tyypillisesti ajetaan jotakin toimintoa joka koskettaa koko tietokantaa tai useita moduleita. Jos DXL-skripti taas käynnistetään modulin “Edit DXL”-valikosta, niin silloin useimmiten toiminta koskee vain ko. avoinna olevaa modulia. Usein skriptin dokumentaatio (jos sellaista on) kertoo kummassa ympäristössä skripti pitää käynnistää.

Edit DXL-ikkuna

Edit DXL-ikkunassa on seuraavat toiminnot

  • Run – aja ladattu skripti
  • Next error – virhetilanteissa siirtyy lähdekoodin virheelliselle riville
  • Print – tulostaa skriptin lähdekoodin
  • Load – lataa DXL-skriptin levyltä muokkaustilaan (muokkaustilaan voi myös liittää koodia Paste/Ctrl-V-toiminnoilla)
  • Save As – tallentaa DXL-skriptin levylle
  • Browse – avaa DXL Libraryn, jossa on luetetultuna kaikki DOORSin mukana tulevat DXL-skriptit (katso lisää esityksestä DOORS DXL Library ja DXL-kielen olemus)
  • Close – sulkee Edit DXL-ikkunan
  • Help – avaa DXL Reference Manual’in (DXL Help), joka on ainoa dokumentaatio DXL-kielestä

DXL input on muokattava alue, johon kirjoitetaan tai ladataan skripti. DXL output on alue johon tulostuvat skriptin virheet tai viestit.

DXL-skriptin voidaan ajaa DOORSissa joko lataamalla ko. skripti jostakin levyhakemistosta tai liittämällä skripti leikepöydältä Edit DXL-ikkunan muokkausaluelle.

Tämän jälkeen “Run” ja skripti on tehnyt tehtävänsä. Jos skripti on hyvin laadittu se kertoo mitä on tekemässä ja koska suoritus on loppunut – samoin mahdolliset virhetilanteet skriptin pitäisi käsitellä itse. Usein kuitenkin virheet ja/tai muu skriptin tulostus tulee “DXL output” -ikkunaan.