TT-Tieto Oy:n oliokeskeinen systeemityömalli Object-TT

Tieto-konsernissa on vuoden 1995 aikana kehitetty Finanssiryhmän ja CarelComp Forestin yhteistyönä uusi oliokeskeinen ja uudelleenkäyttöä tukeva systeemityömalli Object-TT. Tässä artikkelissa kuvataan keskeisimmät osat Object-TT systeemityömallista sekä arvioidaan uuden systeemityötavan vaikutuksia projektityöhön.

Uuden systeemityötavan tavoitteet

Uuden systeemityömallin, Object-TT:n lähtökohtana on tietojärjestelmän kehittäminen iteroiden ja protoilemalla. Tietojärjestelmän kehittämisprojektin alkuvaiheessa asiakkaan liiketoiminta-alueen asiantuntijoiden kanssa rakennetaan yhteistyössä sovelluksen prototyypin ensimmäinen versio, jonka avulla järjestelmän päätoiminnot määritellään. Kehitysprojektin aikana prototyyppiä tarkennetaan, iteroidaan, ja näin saadaan toiminnot määritettyä tarkemmalle tasolle.

Itse systeemityömalli ei saa olla toteutuskieliriippuvainen. Oliokeskeinen systeemityö on pystyttävä toteuttamaan millä hyvänsä oliokeskeistä lähestymistapaa tukevalla ohjelmointikielellä esimerkiksi C++ ja Smalltalk-kielillä.

Object-TT systeemityömallin keskeisenä osana on tehokkaan Case-välineen käyttö. Välineen avulla saadaan sovelluksen dokumentaatio ja ohjelmakoodi tehokkaasti sidottua toisiinsa. Tietojärjestelmän määritysvaiheen ai-kana syntyvän oliomallin, olioiden vuorovaikutuskaavioiden (skenaariot) ja tilakaavioiden pohjalta saadaan generoitua ensimmäinen versio järjestelmästä toteutustyön pohjaksi.

Oliokeskeisen systeemityömallin Object-TT:n merkittävänä etuna on valmiiden komponenttien uudelleenkäytettävyys. Tietojärjestelmän määritysvaiheessa sovellusalue mallinnetaan oliomallin avulla. Mallintamisessa hyödynnetään valmiita suunnittelukaavoja (design patterns) sekä valmiita liiketoimintamalleja. Mallintamisen tavoitteena on pilkkoa järjestelmäalue pieniksi itsenäisiksi osiksi, jotka toteutetaan osin tekemällä itse ja osin kokoamalla valmisosista. Ohjelmiston toteutustyö perustuu luokka- ja komponenttikirjastojen käyttöön.

Uuden systeemityömallin avulla tietojärjestelmän kehittämisvaihe on mahdollista viedä läpi entistä nopeammin ja tehokkaammin.

Object-TT systeemityömalli

Object-TT systeemityömalli perustuu pääosiltaan uusimpaan OMT-menetelmään Unified Method (Rumbaugh, Booch), joka ilmestyy yleisesti saataville vuoden 1996 aikana.

Mallin järjestelmäarkkitehtuuri perustuu MVC-arkkitehtuuriin (Modell-View-Controll), joka erottaa käyttöliittymäluokat, liiketoimintaluokat ja järjestelmän logiikan toisistaan.

Object-TT muodostuu kahdesta eri vaiheesta:

Vaatimusmäärittelyssä kartoitetaan asiakkaan toiminnan nykytila ja kuvataan tavoitetila ja vaatimukset tietojärjestelmälle. Tuloksena tästä vaiheesta on oikaistut liiketoimintaprosessit ja vaatimukset tietojärjestelmälle.

Tietojärjestelmän kehittäminen -vaiheessa ei erotetaan erikseen määritys- ja suunnitteluvaiheita, vaan työ etenee iteroiden karkean tason kuvauksista aina tarkentuviin kuvauksiin. Mallintamisen ja kuvauksen tavoiteltava tarkkuustaso määritellään projektin alussa, samoin kuin projektissa toistettavien iteraatiokierrosten lukumääräkin.

Tietojärjestelmän kehittäminen -vaiheessa edetään seuraavasti:

Liiketoimintaluokkien mallintamisen rinnalla laaditaan prototyyppi käyttöliittymän toiminnasta. Jos käyttöliittymä toteutetaan oliokielellä/välineellä, lisätää myös käyttöliittymäluokat oliomalliin välittäjäolioiden suunnittelu -tehtävässä (Control Object Design). Muussa tapauksessa käyttöliittymän määrittelyt pidetään erillisinä.

Kun oliomalli on valmis ja se on kuvattu, konvertoidaan malli käytettävän Case-välineen avulla SQL-tietokannaksi ja lisäksi generoidaan luokka- ja funktiomääritykset toteutustyön pohjaksi.

Mallintamisen jälkeen, ennen toteutustyön alkamista analysoidaan oliomallin osat ja pyritän löytämään ne osat/luokat, jotka voidaan toteuttaa yleisiksi kompo-nenteiksi sekä ne osat, jotka voidaan korvata jo olemassa olevalla komponentilla.

Oliokeskeisen systeemityön viimeisenä vaiheena toteutetaan luokat valitulla ohjelmointikielellä ja -välineellä.

Uudelleenkäyttö

Keskeinen osa uutta systeemityötapaa on uudelleenkäyttö. Uudelleenkäytöllä tarkoitetaan kerran tehdyn työn hyödyntämistä. Uudelleenkäytön kohteena ovat kaikki systeemityön eri osat ja kuvaukset; olio- ja käsitemallit, dokumentit, design patternit, framework-kehikot sekä varsinaiset ohjelmakoodit.

Tool-level on varsinaisten luokkien ja yleismoduulien uudelleenkäyttöä. Tällä tasolla ollaan kuitenkin hyvin sidottuja ohjelmointikieleen ja uudelleenkäyttö on mahdollista vain yhden kielen sisällä.

Binary-level on kieliriippumatonta binäärikomponenttien uudelleenkäyttöä, joka on mahdollista OLE:n, Corban tai muiden vastaavien standardien kautta.

Design-level on dokumentaatiotason uudelleenkäyttöä, jossa uudelleenkäytön kohteina ovat design patternit, mallit ja dokumentit.

Mitä korkeammalla tasolla uudelleenkäyttöön päästään, sitä yleisempiä ja siirrettävämpiä käytettävät komponentit ovat.

Uuden systeemityötavan vaikutukset

Yleisisenä vaikutuksena oliokeskeisestä työskentelytavasta todettakoon, että perinteisessä systeemityössä olevat vaihe-rajat hämärtyvät. Erillisä suunnittelu- ja määrittelyvaiheita ei ole, vaan työ etenee tarkentamalla, iteroiden. Tästä johtuen projektin jäsenten on hallittava entistä laaja-alaisemmin kaikki projektin vaiheet mallintamisesta toteutukseen.

Uudelleenkäytön laajamittainen onistuminen edellyttää yhteistyötä sekä konsernin eri tulosyksiköiden välillä että muiden yhteistyökumppaneiden kesken. Yhteistyön avulla on mahdollista saada laajempi hyöty kerran tehdystä työstä yrityksen sisällä esim. hyödyntämällä muissa yksiköissä tehtyjä komponentteja. Lisäksi kaupallisten komponenttien ostaminen ja hyödyntäminen on oltava mahdollista; kaikkea ei kannata tehdä itse.

Projektin hallinnan ja läpiviemisen uusiksi tehtäviksi on otettava uudelleenkäytön hallinta sekä valmisosien käyttö ja tuottaminen laatutarkastuksessa sovitulla tavalla.

Järjestelmien kehittämisen luonne muuttuu kaiken räätälintyönä tekemisestä ennemminkin järjestelmien kokoamiseksi komponenteista.

Asiakkaan näkökulmasta uuden systeemityötavan vaikutukset ovat halvempi kokonaishinta, nopeammat toimitusajat sekä parempi laatu toimituksissa. Näihin päästään valmiskomponentteja hyödyntämällä, sillä käytettävät osat on jo aikaisemmin testattu ja niiden toimivuuteen voidaan luottaa.

On kuitenkin muistettava, että uudelleenkäytön käyttöönotto yrityksessä vaatii aikaa. Alkuvaiheessa järjestelmien kehittäminen komponentti-lähtökohdista on työläämpää ja hitaampaa kuin perinteinen tapa tehdä systeemityötä.

Yhteenveto

Oliokeskeistä systeemityötapaa ja uudelleenkäyttöä tavoiteltaessa on yksi asia pidettävä kirkkaana mielessä: oliokeskeinen systeemityö ei ole itseisarvo ja tavoite. Sen sijaan oliokeskeinen systeemityö on väline, jolla varsinainen tavoite; tuottavuus, ylläpidettävyys ja laatu, voidaan saavuttaa.

Uudelleenkäyttö ei välttämättä vaadi oliolähestymistapaa, vaan se voidaan saavuttaa tiettyyn rajaan asti myös vanhoilla tekniikoilla, mutta uudelleenkäyttö helpottuu olioteknologian avulla. Onnistuneen uudelleenkäytön saavuttamiseksi, uudelleenkäyttö myös organisoitava yrityksessä.

Yhteystiedot

Artikkelin kirjoittaja Tiina Kurki toimii järjestelmäpäällikkönä TT-Tieto-konsernin Finanssiryhmässä.

Tiina Kurki,
TT-Tieto Oy, Finanssiryhmä
Kutojantie 10, 02631 ESPOO,
puh. 90-526 2440,
fax 90-526 2590
tiina.kurki@ttgroup.fi,
WWW.tietogroup.fi