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.


Tulevat DOORS-julkistukset ja DOORS Next

17.10.2012

16.10. Rational User Communityn webinaari käsitteli tulevia DOORS-julkistuksia ja erityisesti DOORS Next Generation -tuotetta otsikolla “A preview of IBM Rational DOORS Next Generation”. Webinaariaineisto on nähtävissä osoitteessa http://rational-ug.org/content-library/m/files/466.aspx (vaatii rekisteröinnin).

DOORS-julkistusten aikataulu

IBM julkistaa marraskuussa yhtä aikaa uuden DOORS 9.x-version sekä ensimmäisen virallisen julkaisun DOORS Next-tuotteesta (mikä sen oikea nimi sitten tulee olemaankaan). Julkistus tapahtuu yhtä aikaa koska nämä versiot on suunniteltu toimimaan yhdessä, ts. tietoa voidaan siirtää tuotteiden välillä. DOORS Next tuotteesta viesti oli kuitenkin, että sitä ei ole vielä suunniteltu laajamittaiseen käyttöön.

Marraskuu 2012 julkistukset DOORS 9.x- ja DOORS Next-tuotteille tapahtuvat synkronoidusti vuoden 2013 keskivaiheilla ja taas vuonna 2014. Tällä “vanhalla” 9.x DOORSilla tulee olemaan siis pitkä tulevaisuus edessään, varsinkin ottaen huomioon että DOORS Next-tuotteesta puuttuu tällä hetkellä vielä joitakin ominaisuuksia. Toisaalta taas DOORS Next sisältää monia ominaisuuksia ja toimintoja jota vanhassa DOORSissa ei ole.

DOORS Next teknologia

DOORS Next on käytännössä yhtä kuin nykyinen Jazz-pohjainen Rational Requirements Composer ja siihen kehitetty DOORS rich client, ts. graafinen käyttöliittymä, joka näyttää samalta kuin nykyinen DOORS 9.x. DOORS Next käyttää SQL-pohjaista tietokantaa (esim. Oracle, DB2) eikä enää DOORS-tyyppistä objektipohjaista kantaa.

Jazz-alusta tarkoittaa DOORS Nextin kanssa sitä että kaikki Rational Jazz-tuotteet voivat integroitua keskenään ja kaikki pystyvät hyödyntämään yhtä Jazz-palvelinta. Erityisesti ohjelmistojen väliset integraatiot tulevat hyötymään tästä teknologiasta; integraatioita ei enää tarvitse ostaa erillisinä tuotteina, vaan integraatio-ominaisuudet tulevat jo OSLC-kykyinä tuotteissa mukana.

DOORS Nextin ominaisuudet ensimmäisessä julkistusversiossa

DOORS Next sisältää periaatteessa hyvin samanlaisia ominaisuuksia kuin DOORS 9.x, sanasto tosin on muuttunut Requirements Composerin mukaiseksi, esim. objektikäsitettä ei enää ole, vaan nyt on käytössä “Artifact”. Näkymät, filtterit, linkit ja jäljitettävyys on mukana, tosin toiminnat ovat tietysti hieman erilaisia kuin aikaisemmissa DOORS-tuotteissa.

Merkittäviä positiivisia kehitystuloksia ovat mielestäni seuraavat:

  •  Artifact-tyypit ja attribuuttityypit määritellään nyt projektitasolla, joten attribuuttien pitäminen samanlaisena on paljon helpompaa kuin ennen
  • Vaatimusten uudelleenkäyttö (sama vaatimus useammassa modulissa) on mahdollista relaatiotietokannan myötä
  • Monipuoliset templaattimahdollisuudet: projektitemplaatit, modulitemplaatit
  • “Dashboardit” tuovat mukanaan paljon uusia mahdollisuuksia raportointiin
  • Monipuoliset käyttäjäroolit helpottavat oikeuksien hallintaa
  • OSLC (Open Services for Lifecycle Collaboration)-integraatiot Jazz-kannan kautta.

Mahdollisia ongelmakohtia DOORS Nextissä ovat (varsinkin vanhoille DOORS-käyttäjille):

  • Nykyisessä DOORS-tuotteessa päätuote on graafinen rich client DOORS ja Web Access on sitä tukeva. Ainakin tässä ensimmäisessä DOORS Next -julkistuksessa on toisinpäin, DOORS Next rich client sisältää vähemmän ominaisuuksia kuin web-käyttöliittymä
  • Tuttu vanha sanasto muuttuu, pitää opetella uudet termit
  • Ilmeisesti toteamus että DOORS Nextiä ei vielä kannata käyttää laajoihin projekteihin tarkoittaa että tuotteessa on vielä paljon kehitystä tehtävänä
  • Laajemmassa käyttöönotossa vaaditaan konfigurointia ja ylläpitoa monella tasolla (DOORS Next, Jazz, relaatiokanta)
  • DOORS Next ei sisällä ensimmäisissä tuoteversioissa mitään kustomointimahdollisuuksia, mutta tulevaisuudessa DXL-kieli on tulossa myös DOORS Nextiin.

DOORS Next lisensiointi

Hämmästyttävää kyllä IBM myöntää nykyisille DOORS-käyttäjille myös DOORS Next-lisenssin. Jos oikein ymmärsin kysymyksessä on uusi lisenssi(avain), mutta DOORS-käyttäjä voi valita haluaako käyttää DOORS 9.x- vai DOORS Next-tuotetta. Oikeastaan tämä mahdollistaisi käyttää DOORS-lisenssejä tuplasti sen mitä omistaa, johon webinaarin esittäjä Richard Watson totesi että vaikka näin on mahdollista on toivomus että kuitenkaan käyttäjät eivät näin tekisi.

Mitä tehdä?

DOORS Next ei ole vielä mielestäni valmis tuote. Koska se sitten tulee olemaan nykyisen DOORSin veroinen, sitä on vaikea sanoa, itse veikkaisin että vuonna 2014 tuote täyttää sen lupauksen joka siinä nyt on. Ehdottomasti mielenkiintoinen kehityssuunta ja toivottavasti IBM:n tuotekehitys saa hyvän tuotteen tehtyä.

Jos haluaa kokeilla DOORS Next-tuotetta se on vielä ladattavissa betatuotteena IBM sivuilta (Beta 4 16.08.2012, https://jazz.net/products/rational-doors/). Paketti sisältää mukana Derby-tietokannan kymmenelle käyttäjälle, joten mitään tietokantakonfiguraatiota asennuksen lisäksi ei tarvitse tehdä. DOORS Next Beta toimii myös mukavan tehokkasti perus-Windows-PC:llä joten testausalusta löytyy helposti.

DOORS Next

Oheinen kuva esittää DOORS Next Beta 4 web-käyttöliittymää taustalla ja edessä rich client, DOORS-tietokantanäkymä ja yksi moduli.

Hyvä yleiskuvaus siirrosta DOORS 9.x-tasolta DOORS Nextiin löytyy DOORS Next Helpistä http://publib.boulder.ibm.com/infocenter/dnghelp/v4r1/index.jsp?topic=%2Fcom.ibm.rational.dng.help.doc%2Ftopics%2Fc_differences_doors_dng.html


DOORS-versio 9.4

15.10.2012

DOORS 9.4-versio julkistettiin kesällä ja ensimmäinen korjauspaketti 9.4.0.1 nyt syyskuussa 2012. 9.4-versio keskittyy ominaisuuksien puolesta eniten integraatioiden, mm. Web Services-pohjaisen OSLC (Open Services for Lifecycle Collaboration) teknologian kehittämiseen. DOORSin jäljitettävyyttä on kehitetty näyttämään näiden OSLC-pohjaisten integraatioiden tiedon External linkkejä sisältävissä jäljitettävyyssarakkeissa. External Links on lisätty myös filtteröintidialogiin, joten näiden integraatiolinkkien pohjalta voidaan suodattaa tietoa.

Käyttöliittymän puolella merkittäviä muutoksia on Export-toimintojen laajentaminen Document Generation-osiossa (eli ns. RPE Light). DOORSin mukana tulee nyt 16 dokumenttitemplaattia, joiden mallin mukaisesti voidaan tehdä exportteja Microsoft Word-, PDF- ja HTML-muotoihin. Näiden templaattien toiminta on kuvattu DOORSin opastustoiminnassa ja jos käyttäjällä on varsinaisen RPE (Rational Publishing Engine) lisenssi niitä voidaan myös muokata. Alkuperäisissä Export-valikon toiminnoissa on myös tullut joitakin pieniä muutoksia, Excel-exportissa saadaan nyt myös mukaan muotoiluja (RTF, lihavointi yms.) ja HMTL-export osaa säilyttää pääsarakkeen sisennyksen. Samalla on kehitetty XML:aan pohjautuvan ReqIF-tiedonsiirtoa, joka mahdollistaa yhteistoiminnan muiden DOORS-kantojen sekä DOORS Next-tietokantojen kanssa.

Eräs DOORSin käytön harvoista rajoitteista on muuttunut versiossa 9.4: näkymiin saa nyt entisen 32 sarakkeen sijasta 128 saraketta. 32 saraketta oli jo aika paljon, mutta joskus esimerkiksi tietoa vietäessä toisiin tiedostomuotoihin on hyödyllistä saada näkymään enemmänkin. Näkymiin on tullut myös mahdollisuus asettaa sarakkeelle taustaväri: aikaisemminhan sarakkeessa oli mahdollista asettaa tekstin väri, mutta 9.4 mahdollistaa nyt sekä tekstin että taustan värin asettamisen jonkun valitun attribuutin mukaisesti.

Valitettavasti koneelle paikallisesti asennettava Eclipse-pohjainen DOORS Help on yhtä huono edelleen kuin versiossa 9.3. Omassa asennuksessani se kaatuilee Java-virheisiin eikä aina suostu käynnistymään ollenkaan. Vanha DOORS-opastustoiminta sentään toimi…

Shareable Edit-toimintaa on helpotettu lisäämällä sen asetukseen (Setup for Sharing) mahdollisuus laittaa kaikki näkyvissä olevat objektit lukittaviksi osioiksi, eli siis entisen valinnan taso 1, taso 2 sijasta kaikki tasot onkin asetettu lukittaviksi. Muuta parannusta tähän toiminnallisuuteen ei ole tullut ja edelleen kaikki uudet objektit pitää erikseen asettaa jaettuun muokkaustilaan. Jos isossa modulissa käytetään tätä uutta “All objects in current view” -asetusta on olettavaa, että ko. modulin avautuminen hidastuu koska samalla moduli voi pilkkoutua tuhansiin osiin.

9.4-version mukana tuleva DXL Reference Manual on jostain syystä edelleen version 9.3 mukainen, vaikka verkosta löytyy 9.4 DXL opas PDF-muodossa http://publib.boulder.ibm.com/infocenter/doorshlp/v9/index.jsp?topic=/com.ibm.doors.requirements.doc/topics/dxl_reference_manual.pdf.

Version 9.4.0.1 Readme-tiedosto löytyy tällä hetkellä osoitteesta http://publib.boulder.ibm.com/infocenter/doorshlp/v9/index.jsp?topic=/com.ibm.doors.requirements.doc/topics/doors_readme_9_4.htm.

Arvio: versioon 9.4.0.1 kannattaa päivittää uusien integraatiomahdollisuuksien vuoksi tai Export-toimintojen kehittymisen vuoksi. Jos näitä ei tarvitse, niin päivittämisellä ei ole kiirettä.