Käsitemallinnuksesta tietomalleihin

Viimeksi avasin sitä, miten tietomalli synnyttää tietoalkioita. Nyt puhutaan siitä, mistä tietomallit tulevat. Tässä tehdään siis metamallinnusta eli mallia mallista.

Käsitemallinnuksesta tietomalleihin

#tietomallimies jupisee osa 4

Metamallinnus ja metametamallit

Viimeksi avasin sitä, miten tietomalli synnyttää tietoalkioita. Nyt puhutaan siitä, mistä tietomallit tulevat. Tässä tehdään siis metamallinnusta eli mallia mallista. Tavallaan ollaan metametamallissa, koska tietomallin ilmentymät eli organisaatiot ja henkilötehtävät ovat itsekin malleja todellisuudesta tai jostain muusta.

Ohessa eräiltä ammattilaisilta lainattu käsitteiden kuvaamisen malli, jonka ilmentymiä avaamme kohti jo aiemmin muodostettuja rakenteita ja kohteita.

Käsitemalli koostuu käsitteistä, alikäsitteistä ja niiden suhteista. Muut luokat täsmentävät kuvauksia.

Lyhyesti avattuna kokonaisuus voidaan avata seuraavasti. Käsitemalli sisältää Käsitteitä ja niiden välisiä Suhteita. Alikäsite on erityinen käsitteeen tyyppi. Käsitteellä ja Suhteella on ominaisuudet Nimi, Kuvaus sekä Elinkaarikuvaus, jolla tarkennetaan käsitteen aikaperspektiiviä.

Organisaatioiden ja henkilötehtävien ilmentymät luodaan siis tietomallista, jossa tietokokonaisuuksille on määritelty ominaisuuksia ja suhteita. Hiukan päivtetty yhteinen luokkamalli näyttää tältä.

Edelleen halutaan kuvata henkilöitä, henkilötehtäviä organisaatioita ja rooleja, jotka ovat henkilötehtävien erikoistapauksia. Suhteet luokkien välillä on kuvattava metamallin ilmentyminä.

Metamallin ilmentymät ovat juuri näitä luokkia ja suhteita. Esimerkiksi organisaatio on käsite, jonka kuvaus voisi olla "Organisaatio on toimiva kokonaisuus, jolla on tarkoitus ja rakenne." Samoin määritellään "Henkilötehtävä on luonnolliselle henkilölle johonkin organisaatioon sijoitettu tehtävä, jota hän hoitaa."

Vastaavasti organisaatiohierarkia syntyy suhteen On osa avulla, jonka määritelmä on "Organisaation ylempi organisaatio, jos sellainen on, määritellään tällä suhteella." Vastaavasti Henkilötehtävän alikäsite Rooli on "henkilötehtävää suppeampi kokonaisuus, joka syntyy organisaation toiminnan ja kuvauksen tarpeista."

Tässä vaiheessa tulee myös määritellä myös se, millaisia suhteet ovat eli kulkevatko ne kohteesta toiseen vai määrittelevät tarkempia joukkoja saman käsitteen alla. Samoin on täsmennettävä, kuinka montaa kohdetta suhde voi koskea.

Käsitemallista muodostetut käsitteet ja suhteet, jotka myöhemmin ilmenevät tietomalleissa.

Tässä on siis määritelty edellä kuvattu tietomallin skeema, mutta tietomallin tarkentaminen on mallinnuksen seuraavaa vaihetta. Kaikki käsitteet eivät tietenkään muodosta sellaisia tietokokonaisuuksia, jotka ilmentyvät lopullisessa tietomallissa suoraan.

Käsitteillä pitää pystyä kuvaamaan  todellisuutta, joten alikäsitteet ja niiden hierarkian on oltava yhdistettävissä siihen, miten me ymmärrämme kokonaisuutta kollektiivisesti. Malleilla myös kommunikoidaan eri yhteisöjen välillä, joten seuraavissa tarinoissa luomme näistä käsitteistä rakenteita.

Rinnakkaistodellisuuteemme on juuri perustettu Monimutkaistamisvirasto, jonka tehtävä on järjestellä Valtion asioita parempaan suuntaan. Seuraavaksi käyn läpi käsitteet ja luon niille vastineet virastossa. Asiaan palataan pian.

Paluu alkuun muistin virkistykseksi

Aluksi on organisaatioita, joissa on ihmisiä. Niistä luodaan hierakkinen kuvaus organisaatiokaavion ja liittyvien ihmisten kautta.  Tämä on malli. Yleisempi tietomalli eli metamalli syntyy, kun sovitaan organisaatioiden ja henkilöiden välisistä suhteista ja luodaan tietopaketit molemmille.

Tässä vaiheessa joissain organisaatioissa tunnistettiin tarve välikohteelle eli henkilötehtävälle. Siten tietomalliin tulee kolme tietotyyppiä ja joitakin suhteita niiden välille. Se voidaan myös kuvata tietokannaksi, joten tietomalli on metamalli eli malli mallista.

Käsitemalli, jossa käsitteet ja niiden väliset suhteet määritellään on tietomallin yleistys eli metametamalli. Käsitteiden ilmentymät ohjaavat tietomalli perusrakenteita, mutta tietomallin viimeistelyssä joudutaan huomioimaan jo sen esittämisen helppous ilmentymien kautta sekä tehokkuus tietokannan käsittelyssä.

Tämä siitäkin huolimatta, että loogisen tietomallin pitäisi olla toteutusriippumaton. Tämä onkin totta, mutta toteutuksen reunaehdot vaikuttavat siihen, miten ei kannata mallintaa. Yleensä yksinkertainen perusrakenne on järkevin valinta. Mallia voi tarvittaessa laajentaa modulaarisesti.