Ohjelmistotuotanto, s 2001 1/29/2003



Samankaltaiset tiedostot
Ohjelmistotuotanto, s

Ohjelmiston vaatimusmäärittely. tietoteknisen järjestelmän osat

Tietojärjestelmän osat

Väli- ja loppuraportointi

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta

Matematiikan tukikurssi

Suunnitteluvaihe prosessissa

Raportointi hankkeen tulosten kuvaajana ja toteutuksen tukena

Luento 6. June 1, Luento 6

Ohjelmistojen mallintaminen, mallintaminen ja UML

4. Vaatimusanalyysi. Vaatimusanalyysin tavoitteet

IHTE-1100 Käytettävyyden perusteet syksy 2007 Liite 1: Käsitteellinen suunnittelu

Dynaamisen järjestelmän siirtofunktio

Ohjelmiston vaatimusmäärittely. Systeemianalyysi

Ohjelmiston testaus ja laatu. Testaus yleistä

Ohjelmistojen suunnittelu

Mielestämme hyvä kannustus ja mukava ilmapiiri on opiskelijalle todella tärkeää.

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Induktio kaavan pituuden suhteen

Toimialan ja yritysten uudistuminen

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen

Prosessit etyön kehittämisessä

Johdatus diskreettiin matematiikkaan Harjoitus 7,

Hyvä vesihuoltohanke, suunnittelijan näkökulma

Kummi 2- tarkkaavaisuushäiriöinen oppilas koululuokassa

Numeeriset menetelmät

Epäyhtälön molemmille puolille voidaan lisätä sama luku: kaikilla reaaliluvuilla a, b ja c on voimassa a < b a + c < b + c ja a b a + c b + c.

Bentoniitti- ja tunnelin täyteainetutkimuksen osaamistason kartoitus

Uudistuva RISKINARVIO-ohje

KIVIRANTA, ASEMAKAAVAMUUTOS

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Tietokannan rakenteen suunnittelu

Antti Ylä-Jarkko. Miten oppijan palveluita rakennetaan

PROJEKTIN DOKUMENTOINTI JOUNI HUOTARI, ESA SALMIKANGAS

Lausuntopyyntö STM 2015

Diskreetit rakenteet

IV-kuntotutkimushanke_tutkijat

Kansalaisen taidot 2 (OPH 2011) Opettajan peruskysymykset

360 asteen kuvan tekeminen

Matematiikan tukikurssi 3.4.

Ohjelmiston toteutussuunnitelma

TILASTOLLINEN LAADUNVALVONTA

Terveydenhuollon ATK-päivät

Luottamus ja yrittäjän etiikka

Molemmille yhteistä asiaa tulee kerralla enemmän opeteltavaa on huomattavasti enemmän kuin englannissa

Strategia, johtaminen ja KA. Virpi Einola-Pekkinen

Onnistunut liikkumissuunnitelma - ohjeet liikkumissuunnitelman tekemiseen

Ratkaisuehdotukset Kesäyliopisto Kuvassa on esitetty erään ravintolan lounasbuffetin kysyntäfunktio.

Opiskeluympäristöarviointi yliopiston näkökulmasta. Johanna Naukkarinen Kehittämispäällikkö, LUT Opintopalvelut

4.1 Mitä autopaikalle saa pysäköidä?

Kokemusasiantuntijan tarina. Kasvamista kokemusasiantuntijaksi

Asiakaspalvelun uusi toimintamalli autetaan asiakasta digitaalisten palveluiden käytössä (AUTA)

Käsitteellinen mallintaminen

Yleinen osa - Kuntoutuksessa tukena,

11.4. Rakenteellista käsittelyä tilavuusrenderöintialgoritmeissa

monissa laskimissa luvun x käänteisluku saadaan näyttöön painamalla x - näppäintä.

Perusopetuksen aamu- ja iltapäivätoiminnan laadun arviointi 2016 Västankvarns skola/ Tukiyhdistys Almus ry.

Ajankohtaista laboratoriorintamalla Pasila Emilia Savolainen, Suunnittelu- ja ohjausyksikkö

verkkojakson työskentelyn aloitus

Tutustu merkintöihin! Tärkeää tietoa siitä, miten varmistat pesu- ja puhdistusaineiden käytön turvallisuuden kotona

Arkkitehtitoimistojen Liitto ATL ry Julkisten hankintojen lainsäädännön vaikutus arkkitehtipalveluihin Kesä-elokuu 2010, vastaajia: 66

T&K- HANKKEISIIN ja OPINNÄYTETÖIHIN SOVELTUVIA ANALYYSIMENETELMIÄ

Suomen Lions-liitto ry Käyttäjätunnus ja sisäänkirjautuminen MyLCI - Käyttäjäohje Versio

Laitteet ja komponentit - yksityiskohtaiset kuntotutkimukset

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Ohjelmistotuotanto, vaatimusanalyysi Syksy Vaatimusanalyysi. Implisiittiset vaatimukset. Eksplisiittiset vaatimukset

Lapin innovaatioassistentti -valmennuskokonaisuus 2016

Vanhempien näkemyksiä alle kouluikäisen neurologista kuntoutusta ja ohjausta saavan lapsen kuntoutuksesta sekä heidän osallisuudestaan siihen

lähteitä, mitä kirjoittaja on käyttänyt. Ja meille on helpompi nähdä ne, kun me jatkossa tutkimme evankeliumeja.

Terveiset Ylä-Kainuun lastensuojelun sosiaalityöstä lukioille ja ammattikouluille

3 X 3 pointtia hankinnoista

Käyttöjärjestelmät: Virtuaalimuisti

HE 83/2009 vp. Hallituksen esitys Eduskunnalle kaupallisista tavarankuljetuksista. esityksen (HE 32/2009 vp) täydentämisestä

Esipuhe 8 LIIKETOIMINTAYMPÄRISTÖN MAHDOLLISUUDET 10

ESR-Henkilö. Tunnistautuminen ESR-Henkilö -järjestelmässä

ALUEELLINEN ENNAKOINTI

Nuorten tieto- ja neuvontatyön osaamiskartta Pirjo Kovalainen

Suomi toisena kielenä -ylioppilaskoe. FT Leena Nissilä Opetusneuvos, yksikön päällikkö OPETUSHALLITUS

Osaamisen tunnistaminen/tunnustaminen

Avoindata.fi. Palvelu julkishallinnon avoimen datan ja yhteentoimivuutta edistävien ohjeiden jakamiseen

Ohje hakulomakkeen täyttämiseen yliopistohaku.fi -palvelussa

Kaupunginhallitus pyytää lautakunnilta lausuntoa sisäisten vuokrien uusista määräysperusteista mennessä.

Palvelujen ja prosessien johtaminen olennaisen tiedon avulla

- Valitaan kohta Asetukset / NAT / Ohjelmallinen palvelin - Seuraavassa esimerkki asetuksista: valitaan käytössä oleva ohjelmistorajapinta

Sähköstaattisen potentiaalin laskeminen

c) Määritä paraabelin yhtälö, kun tiedetään, että sen huippu on y-akselilla korkeudella 6 ja sen nollakohdat ovat x-akselin kohdissa x=-2 ja x=2.

Mihin kotityöpalvelu perustuu asiakkaan kanssa tehtyyn sopimukseen

YLIOPISTOJEN YHTEISHAKU JA SÄHKÖINEN HAKUJÄRJESTELMÄ

Ennakkovaroitustoimintojen sekä. uuden teknologian hyödyntäminen. toteutuspöytäkirjamenettelyssä

OULUN SEUDUN AMMATTIKORKEAKOULU TEKNIIKAN YKSIKKÖ TIETOTEKNIIKAN OSASTO OHJELMISTOKEHITYKSEN SUUNTAUTUMISVAIHTOEHTO

Kuntosaliharjoittelun kesto tunteina Kokonaishyöty Rajahyöty

Seuranta ja raportointi KA2-hankkeessa. CIMO, Helsinki Esityksen sisältö. 1. Hankkeen sisäinen seuranta ja raportointi

Mobiiliturva Palvelun käyttöönotto

Päätösliite sivistyslautakunta asia 94

Lähestymistavat - toiminnallinen

Ohjelmistotuotanto, s

Kriittisen polun hallinta CRIPMAN (CRItical Path MANagement) Pekka Maijala & Jaakko Paasi

Windows Live SkyDrive - esittely

Transkriptio:

Ohjelmistotuotanto Ohjelmiston määrittely n tavoitteena on selvittää ohjelmistolle asetettavat vaatimukset niin yksityiskohtaisesti, että niiden perusteella voidaan tuottaa haluttu ohjelmisto. Lineaarisissa malleissa työvaiheen lopputuloksena saadaan täydellinen lista vaatimuksista ja analyysi niiden vaikutuksesta lopputulokseen. Iteratiivisissa malleissa saadaan lista tällä iteraatiokierroksella vaikuttavista vaatimuksista. 1 Harri Laine, Jukka Paakki 2 ideat lähtökohdat rajoitteet reunaehdot ongelman ymmärtäminen, vaatimusten kartoitus toiminnallinen määrittely tietosisältö käyttöohjeet projektisuunnitelma Määrittelyprosessi toteutettavan järjestelmän spesifiointi korjattavaa Tarkastus Harri Laine, Jukka Paakki 3 Ohjelmiston vaatimusanalyysin edeltäjänä tai sen osana voidaan katsoa olevan systeemisuunnittelun (system engineering). Sen tarkoituksenaon kartoittaa ohjelmiston rooli yrityksessä, sen sidosryhmät ja vaikutukset tuottaa malli koko yrityksestä tai tuotealueesta ja ohjelmiston asemasta siinä jakaa mahdollisesti järjestelmä laitteistolla ja ohjelmistolla toteutettaviin osiin (ns. system allocation ) selvittää alueen nykytila ja laatia arvio projektin kaupallisesta ja teknisestä järkevyydestä (ns. feasibility study ) Harri Laine, Jukka Paakki 4 Kartoitus Ohjelmistolle asetettujen vaatimusten kartoitus selvitetään asiakkaan tarpeet mikä ongelma on ohjelmistolla tarkoitus ratkaista selvitetään halutut palvelut MITÄ asiakas haluaa? asiakas ja tuottaja tekevät kartoituksen yhteistyössä Määrittely ( speksaus ) Ohjelmiston määrittely MITÄ ohjelmisto tarjoaa? tuloksena määrittelydokumentti: sopimus asiakkaan ja tuottajan välillä perusta myöhemmille vaiheille asiakkaan hyväksyttävä oltava sekä asiakkaan että tuottajan ymmärtämässä muodossa Harri Laine, Jukka Paakki 5 Harri Laine, Jukka Paakki 6 Harri Laine 1

Kartoituksen lähtökohtia kukaon asiakas? onko käynnissä tarjouskilpailu? millaista hyötyä odotetaan? millaista tietoa pitäisi käsitellä? millaisessa käyttöympäristössä ohjelmiston tulisi toimia? onko suorituskykyä mietitty? onko asiakkaalla toiveita tai vaatimuksia projektin aikataulusta tai miehityksestä (esimerkiksi projektipäälliköstä)? Vaatimuksia vaatimuksille Dokumentoitavien vaatimusten on oltava: Virheettömiä (correct) eli asiakkaan käsitysten mukaisia. Isoissa järjestelmissä virheettömyyden todentaminen on vaikeaa. Ristiriidattomia (consistent). Vaatimuksia pitää analysoida, jotta löydetään niihin sisältyvät ristiriidat. Ristiriitaisuutta saattaa syntyä kielen moniselitteisyydestä, mutta usein vaatimukset ovat aidosti ristiriitaisia (esimerkiksi mahdollisimman siirrettävä ja tehokas asiakkaan ympäristössä ). Täydellisiä (complete). Ei jätetä kirjaamatta tiedossa olevia vaatimuksia. Vaatimukset muuttuvat aina projektin elinkaaren aikana. Kun muutokset kohdistuvat jo jäädytettyyn vaatimusdokumenttiin, tarvitaan konfiguraationhallintaa. Harri Laine, Jukka Paakki 7 Harri Laine, Jukka Paakki 8 Vaatimuksia vaatimuksille Jatkuu... Realistisia (realistic). Vaatimusten pitää olla toteutuskelpoisia. Selvitettävä käyttöympäristön ja sidosryhmien asettamat rajoitukset ja suorituskykyvaatimukset. Tarpeellisia (needed). Tarpeellisten vaatimusten määrittely on yllättävän vaikea tehtävä. Vaatimukset kannattaa priorisoida, jolloin on helpompaa vetää raja tarpeellisten ja vähemmän tarpeellisten vaatimusten välille. Todellinen tarve ei välttämättä ole se, minkä asiakas esittää. Todennettavissa (verifiable). Vaatimuksen toteutuminen tuotteessa täytyy olla osoitettavissa. Mitattavuus ja konkreettiset numeroarvoihin perustuvat vaatimukset ovat helpoimmin todennettavissa. Vaatimuksia vaatimuksille Jatkuu Jäljitettävissä (tracable). Jokaisen vaatimuksen kohdalla tulee kirjata ylös henkilö tai ryhmä, joka on asettanut tämän vaatimuksen. Näin voidaan tarpeen vaatiessa palata vaatimusketjua takaisin päin vaatimuksen esittäjään. Harri Laine, Jukka Paakki 9 Harri Laine, Jukka Paakki 10 n vaiheet Kartoitus Tässä vaiheessa selvitetään ongelma-alueet ja yleiset tuotteen komponentit. Osa tästä työstä on tehty jo projektija systeemisuunnitelman yhteydessä. Arviointi Kartoituksen perusteella saadaan selkeä kuva tuotteen yleisistä vaatimuksista. Vaatimukset dokumentoidaan ja analysoidaan yksityiskohtaisesti. Uusia vaatimuksia voi ilmetä tässä vaiheessa. Palataan takaisin kartoitukseen, kunnes uusia vaatimuksia ei löydy. Priorisointi ja kokoaminen Kun vaatimukset on löydetty, niille annetaan yksikäsitteinen tunniste ja ne luokitellaan prioriteettiryhmiin. n vaiheet Mallinnus Kun tuotteesta on kerätty riittävästi tietoa, siitä rakennetaan abstrakti malli (jollakin mallinnusmenetelmällä / -kielellä). Mallinnus on selkeä keino kuvata tuotteen tietosisältö, tiedon kulku järjestelmässä sekä järjestelmän yleiset algoritmit ja sidosryhmät. Mallin avulla voidaan edelleen tarkentaa vaatimuksia. Mallinnusvaiheessa saatetaan palata kartoitukseen, jos mallin avulla löydetään puutteita tai virheellisiä vaatimuksia. Määrittely Kun edelliset vaiheet on hyväksytty, vaatimusdokumentti voidaan viimeistellä. Tällöin määritellään yksityiskohtaisesti kaikki vaatimukset prioriteetteineen ja vaatimuksista saatu malli. Harri Laine, Jukka Paakki 11 Harri Laine, Jukka Paakki 12 Harri Laine 2

n vaiheet Jäädytys Vaatimusdokumentti tarkastetaan, hyväksytään ja jäädytetään (minkä jälkeen siihen ei saa tehdä muutoksia ilman eksplisiittistä sopimusta asiakkkaan kanssa). Jos dokumentti ei ole riittävän täydellinen, palataan takaisin aikaisempiin osavaiheisiin. Iteratiivisissa, inkrementaalisissa tai XP-projekteissa vaatimusdokumentti elää koko ajan eikä sitä jäädytetä koskaan kokonaisuutena vaan pala palalta. Vaatimuksia voidaan kartoittaa haastatteluilla, tutkimalla dokumentteja, perehtymällä ohjelmiston ajateltuun toimintaympäristöön, tutustumalla oppikirjoihin ja työoppaisiin, jne. On tärkeää huolehtia kommunikoinnin toimivuudesta asiakkaan ja tuottajien välillä. Esitysten havainnollisuuteen ja ymmärrettävyyteen tulee kiinnittää erityistä huomiota. Prototyyppi tai alustava käytön opas voi olla hyvä pohja kommunikoinnille. Harri Laine, Jukka Paakki 13 Harri Laine, Jukka Paakki 14 Eräs tapa analysoida vaatimuksia on tarkastella tietojärjestelmää reaktiivisena järjestelmänä. Järjestelmän toiminnot ovat tällöin reaktioita johonkin toimintaympäristön tapahtumaan. Vaatimukset kohdistuvat näihin reaktioihin. Kunkin reaktion kohdalla selvitetään mikä tapahtuma aiheuttaa sen, millaisia aiheuttajat ovat miten se vaikuttaa järjestelmään aktivoiko se muita reaktioita mitä sääntöjä siihen liittyy mitä vaatimuksia siihen liittyy Vaatimusten löytämisen jälkeen ne priorisoidaan. Myöhemmässä vaiheessa päätetään, kuinka korkean prioriteetin vaatimukset tullaan toteuttamaan ensimmäisessä ohjelmistoversiossa ja kuinka matalan prioriteetin vaatimukset voidaan mahdollisesti jättää lopulta kokonaan toteuttamatta. Analyysissa kannattaa varoa spiraali-ilmiötä, jolloin samaa ongelma-aluetta käsitellään uudestaan ja uudestaan yhä pienenevissä kehissä ilman että vaatimusten määrittely etenee oleellisesti. ssa kannattaa huomata, että myös sellaiset vaatimukset tulisi saada esille, jotka jäävät yleensä pois "itsestään selvyyksinä". Harri Laine, Jukka Paakki 15 Harri Laine, Jukka Paakki 16 Vaatimukset voidaan jakaa kolmeen luokkaan : 1. Normaalit vaatimukset. Nämä tulevat esille vaatimusanalyysissa ja ne kirjataan vaatimusdokumenttiin. Asiakas tietää, että nämä vaatimukset toteutetaan. 2. Odotetut vaatimukset. Nämä ovat implisiittisesti mukana vaatimuksissa, mutta niitä ei yleensä kirjata. Asiakas olettaa, että nämä vaatimukset toteutetaan. 3. Ekstrat. Näitä ei ole kirjattu vaatimuksiksi, mutta ne ovat mukana lopputuotteessa. Asiakas ei oleta, että näitä tehdään. Mallinnus Järjestelmää kuvaavan käsitteellisen mallin (conceptual model) muodostaminen on määrittelynkeskeinen tehtävä yksinkertaistettu malli käyttäjien ja suunnittelijoiden kommunikoinnin perusta toisaalta täsmällisyys ja toisaalta ymmärrettävyys tärkeää (Huom! Osin ristiriitaiset tehtävät) Mallissa pitäisi käsitellä ainakin toimintoja (function) dataa (data) ohjausta (control) käyttäytymistä (behaviour) Harri Laine, Jukka Paakki 17 Harri Laine, Jukka Paakki 18 Harri Laine 3

Mallinnus Järjestelmän mallintamiseen on kehitetty monia menetelmiä perusajatus siitä, mikä mallintamisessa on oleellista, on eri menetelmissä erilainen; menetelmät keskittyvät esimerkiksi joko toimintojen, datan, ohjauksen tai käyttäytymisen kuvaamiseen ja jättävät muut näkökulmat vähemmälle huomiolle kukin menetelmä vaatii käytettävien käsitteiden, symbolien ja merkintätapojen hallitsemisen mikään menetelmistä ei sovellu kaikkiin tilanteisiin, joten jokaisessa projektissa on valittava juuri siihen sopiva mallinnusmenetelmä Mallinnus Menetelmät käyttävät yleensä graafisia kuvaustapoja kaavioiden ylläpito voi olla hankalaa (automatisointi?) suurien kokonaisuuksien hahmottaminen? yhteen kuvaan ei mahdu kovin paljon asiaa yleiskuvan ja yksityiskohtien esittäminen samassa kuvassa ei toimi kaaviot usein moniselitteisiä ja epätäsmällisiä, jolloin ne jättävät (liian) paljon tulkinnanvaraa myöhemmille projektin vaiheille Harri Laine, Jukka Paakki 19 Harri Laine, Jukka Paakki 20 Formaalit spesifikaatiot Formaali näkemys: ohjelmisto tuotetaan jonona asteittain tarkentuvia spesifikaatioita formaali määrittely A oikeaksi todistettu formaali määrittely B... ohjelma Formaalit spesifikaatiot Formaali määrittely = ohjelmiston ominaisuudet määrittelevä matemaattinen kaava Esim: järjestäminen järjestetty([x,l]) = ( y L): x y järjestetty(l). järjestetty([]). oikeaksi todistettu muunnos Harri Laine, Jukka Paakki 21 Harri Laine, Jukka Paakki 22 Formaalit spesifikaatiot plussia täsmällisyys tuotettu ohjelmisto vastaa alkuperäistä määrittelyä eli tekee sen, mitä vaaditaan (jolloin ei periaatteessa tarvita testaamista lainkaan) automatisointi: spesifikaatiota voidaan analysoida ja havaita sisäiset loogiset virheet spesifikaatiota voi osittain suorittaa tai simuloida jo ketjun alussa abstraktiotason voi säätää sopivaksi erikoiskieliä (VDM, Z, LOTOS, Prolog, ) erikoisprosesseja (Cleanroom) Formaalit spesifikaatiot miinuksia miten varmistetaan, että ketjun 1. spesifikaatio on oikein (suhteessa epäformaaliin asiakkaaseen)? miten todistetaan, että muunnosten oikeaksitodistukset ovat oikein? entä oikeaksitodistuksen oikeaksitodistukset, jne. Harri Laine, Jukka Paakki 23 Harri Laine, Jukka Paakki 24 Harri Laine 4

Formaalit spesifikaatiot miinuksia prosessin raskaus lyhyt ketju -> suuria semanttisia välejä spesifikaatioiden välillä -> todistaminen vaikeaa pitkä ketju -> paljon spesifikaatioita, muunnoksia ja todistuksia epähavainnollisuus huono kommunikaatioväline onko tämä sittenkin vain notaation ongelma? teollisuudelta puuttuva formaali osaaminen vähän vakuuttavia näyttöjä käytössä erityisaloilla: tietoliikenne, kääntäjät, avaruusluotaimet Menetelmien synty käytäntö teoria kaupalliset menetelmät kirjat, artikkelit Harri Laine, Jukka Paakki 25 Harri Laine, Jukka Paakki 26 Menetelmien synty Menetelmien synty mutu metu myyty Tarvitaan välineet 1. tiedon analysointiin 2. toimintojen esittämiseen 3. liittymien kuvaamiseen 4. ongelman osittamiseen 5. abstrahoinnin tukemiseen Harri Laine, Jukka Paakki 27 Harri Laine, Jukka Paakki 28 Ositus kokonaisuus jaetaan osiin, toiminnallisuuden perusteella osa voidaan edelleen jakaa pienempiin osiin Ositus kokonaisuus jaetaan osiin, toiminnallisuuden perusteella osa voidaan edelleen jakaa pienempiin osiin 1 2 3 Harri Laine, Jukka Paakki 29 Harri Laine, Jukka Paakki 30 Harri Laine 5

Ositus kokonaisuus jaetaan osiin, toiminnallisuuden perusteella osa voidaan edelleen jakaa pienempiin osiin Muodostuu jakohierarkia kullakin tasolla sama tarkastelukulma ja kuvaustapa, mutta suppeampi kohde 0 1.1 1.2 1.3 2 3 1 2 3 1.1 1.2 1.3 Harri Laine, Jukka Paakki 31 Harri Laine, Jukka Paakki 32 Ongelman osiinjako abstrahointi Ongelman osiinjako abstrahointi Abstrahointi järjestelmää tarkastellaan aluksi karkeammalla tasolla lisätään yksityiskohtaisuutta siirryttäessä seuraavalle tasolle tarkastelun kohteena kullakin tasolla koko järjestelmä esim. käsitetaso rakennetaso fyysinen taso kuvaustapa tasoilla voi vaihdella Harri Laine, Jukka Paakki 33 Eri käsitteet Eri käsitteet karkea taso lisää yksityiskohtia... hyvin yksityiskohtaista Harri Laine, Jukka Paakki 34 Ongelman osiinjako projisointi Projisointi järjestelmää tarkastellaan jostain tietystä näkökulmasta (esim. arkkitehtuuri, suojaus, käytettävyys,..) eri näkökulmat kuvataan yleensä eri mallinnusmenetelmillä kohde Näkökulmia mallinnukseen toimintokeskeinen syötteistä tulosteita muokkaava systeemi tietokeskeinen kohdealueeseen liittyvää tietämystä ylläpitävä ja tarjoava systeemi oliokeskeinen olioiden joukkio, joka yhteistyössä toimien tuottaa halutut palvelut (vrt. organisaatioyksikkö) Harri Laine, Jukka Paakki 35 Harri Laine, Jukka Paakki 36 Harri Laine 6