Olioajattelu - kolmas murros
(Pääkirjoitus 95-1)

Ohjelmoinnissa on viimeisen kolmenkymmenen vuoden aikana nähtävissä kolme murrosta. Ensimmäinen muutos oli siirtyminen assemblereistä lausekieliin. Toinen murros oli rakenteellisen ohjelmoinnin läpimurto. Opittiin rakentamaan ohjelmistot peräkkäis-, valinta- ja toistorakenteista. Gurut vainosivat goto-käskyjä. Täydellinen tuki rakenteelliselle ohjelmoinnille tuli yleisesti käytettyihin ohjelmointikieliin 80-luvulla. Nyt tämä kaikki on itsestään selvää. Kolmas murros on olio-ohjelmoinnin ja suunnittelun käyttöönotto.

Itse tutustuin rakenteelliseen ohjelmointiin ensimmäisen kerran kurssien ulkopuolisessa esitelmätilaisuudessa 1975. Relaatiotietokanta-ajattelua tentin Oulun yliopistossa jo vuonna 1975. Olio-ohjelmointiin tutustuin 1989 pitäessäni kolmen tunnin esitelmän olio-ohjelmoinnin perintäkäsitteestä Teknillisen korkeakoulun lisensiaattiseminaarissa. Nyt kirjoitetaan olio- suunnittelun lisensiaattityöt ja tohtorin väitöskirjat.

Ohjelmoinnissa teorian käyttöönoton aikaviive tuntuu olevan jonkin verran lyhyempi kuin suunnittelussa. Esimerkiksi siirtyminen relaatiotietokantoihin, johon liittyi oleellisesti myös siirtyminen toimintokeskeisestä suunnittelusta tietokeskeiseen, kesti parikymmentä vuotta. Olioajattelukin on yleistynyt käyttöliittymäkeskeisten sovellusten ohjelmoinnissa standarditekniikaksi, kun taas sovelluksen oliomallintamisesta tai oliotietokannoista vasta puhutaan.

Suomessa siirryttiin 80-luvulla kaupallis-hallinnollisissa järjestelmäkehityksessä toimintokeskeisestä (ISAC, SA/SD) tietokeskeiseen suunnitteluun (käsiteanalyysit, tietomallit). Tätä siirtymisprosessia on kuvattu mm. Sakari Lehtosen artikkelissa (SYTYKE-sanomat 89/2). Sulautettujen järjestelmien suunnittelu ja siten myös esimerkiksi teletekniikka jäi tilamallituksella täydennettyyn toimintokeskeiseen ajatteluun. Olioajattelu pyrkii tavallaan yhdistämään nämä kaksi suunnittelun pääsuuntausta. Ehkä insinöörimäinen ja hallinnollinen suunnittelukulttuuri löytävät olioissa taas yhteisen mallintamismenetelmän.

Olioajattelun juuret ovat kuitenkin syvemmällä tietokeskeisessä kuin toimintokeskeisessä suunnittelussa. Varsinainen vallankumous oliot tulevat olemaan teknisten järjestelmien suunnittelussa, jossa tieto- ja kohdeanalyysikeskeinen perinne on vähäistä. Tosin muutos tapahtunee siellä kerran alkuun päästyään nopeampi kuin suuria olemassa olevia tietomääriä käsittelevissä kaupallis-hallinnollisissa järjestelmissä. Siirtymistä helpottaa vielä se, että olio-ohjelmointi on jo ohjelmoinnin perusmalli myös Teknillisissä korkeakouluissa.

Tässä numerossa esitellyssä Anne Putkosen SOOA-menetelmässä on oliosuunnittelua kehitetty toimintokeskeiseen suuntaan. SOOA:ssa olioiden keskeinen muodostusperiaate on toimintojen hierarkkinen osittaminen. Myös toista tässä lehdessä käsiteltyä menetelmää Rumbaughin OMT:tä on sovellettu nimenomaan teknisellisten järjestelmien suunniteluun (esimerkiksi Nokian OMT++).

Nyt kun oliosanoman levittäminen perussuunnittelijoille on alkamassa, tulisi yliopistoissa ja tutkimuslaitoksissa olla jo idullaan neljäs murros. Tutkijoilla pitäisi jo olla näkemyksiä niistä vaihtoehdoista, joista kehittyy seuraava murros 2000- luvulla. Yleisesti voidaan kai sanoa osan oppiaineestaan innostuneiden opiskelijoiden kahviokeskusteluista olevan arkipäivän käytäntöä noin kymmenen vuoden kuluttua. Itse asiassa olen hiukan huolissani systeemisuunnittelun ja ohjelmoinnin menetelmäkehityksen tulevaisuudesta. En nimittäin tiedä, mitä olioiden jälkeen tulee. En tosin enää vietä aikaani keskustellen yliopistojen käytävillä.

Ehkä Systeemityölehden ja SYTYKE ry:n seuraavien työryhmien aiheina ovat “Olioiden käyttöönotto”, “90-luku - olioiden vuosikymmen”, “Oliosuunnittelun käytännön ongelmia” ja “Mitä olioiden jälkeen?”. Tuskin olioajattelu on kuitenkaan systeemisuunnittelun “lopullinen ratkaisu”.

Lauri Laitinen, Systeemityölehden päätoimittaja, Nokia Tutkimuskeskus


Lauri Laitinen lauri.laitinen@research.nokia.fi

Systeemityölehti - PK 95-1 - Oliot