UML - unified modeling language - use cases

Samankaltaiset tiedostot
Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Ohjelmistotuotanto, s

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset

Ohjelmistotuotanto, s /3/2003

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistotekniikan menetelmät, UML

Johdatus sovellussuunnitteluun, s2000, osa5 Helsingin yliopisto;/tktl. Harri Laine 1. Luokkakaavion tarkoitus. Luokkakaavion tarkoitus

Luokkakaavion laatiminen

Johdatus sovellussuunnitteluun, s 2001, osa 4b Helsingin yliopisto / TKTL Harri Laine / Inkeri Verkamo 1. Luokkakaavion tarkoitus

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Ohjelmistojen mallintaminen, sekvenssikaaviot

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

UML- mallinnus: Tilakaavio

Ohjelmiston suunnittelu. Olioperustaiset menetelmät

Olioiden yhteistoiminta

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

UML - unified modeling language

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

UML -mallinnus TILAKAAVIO

UML:n yleiskatsaus. UML:n osat:

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

UML-kielen formalisointi Object-Z:lla

5. Järjestelmämallit. Mallinnus

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

1. Tarkastellaan seuraavaa kaaviota

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

käyttötapaukset mod. testaus

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistojen mallintaminen, kesä 2009

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

Ohjelmistojen mallintaminen, mallintaminen ja UML

Olioperustaisuus (object oriented)

Ohjelmistotekniikan menetelmät, kevät 2008

Dynaaminen analyysi II

Johdatus sovellussuunnitteluun, s2001, osa 3 Helsingin yliopisto / TKTL. Harri Laine / Inkeri Verkamo 1. Järjestelmän palvelujen määrittely

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistotekniikan menetelmät, kesä 2008

Luokka- ja oliokaaviot

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Määrittelyvaihe. Projektinhallinta

HAAGA-HELIA Käyttötapaukset 1 Tietojenkäsittely Tietosysteemin määritys. Käyttötapaukset

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Johdatus sovellussuunnitteluun, s2000, osa3 Helsingin yliopisto;/tktl. Harri Laine 1. Järjestelmän palvelujen määrittely

Käyttötapausanalyysi ja testaus tsoft

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Ohjelmistojen mallintaminen, kertausta

Ohjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML

Olioiden yhteistyön mallintaminen

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.

Johdatus sovellussuunnitteluun

Unified Modeling Language

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Johdatus sovellussuunnitteluun

Analyysi on tulkkaamista

UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

3a. Projektin hallinta (lisäys lukuun 3)

Tilan luonnehdinta (yksi tapa)

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Yhteistoimintakaavio (Esimerkki)

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä

Ohjelmistotuotanto, s

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Ohjelmistojen vaatimusmäärittely Helsingin yliopisto, TKTL, s2013. Harri Laine 1. Tietovuokaaviot (data flow diagrams)

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Ohjeistus pöytäkirjan käyttöön. Suomen Lentopalloliitto ry

Lomalista-sovelluksen määrittely

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Yhteenveto. Menettelytavat

Ohjelmistojen mallintaminen. Luento 4,

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Lähestymistavat - toiminnallinen

Johdatus sovellussuunnitteluun

Toimintokaavio. UML-Toimontokaavio 1

Luokkakohtaiset eli stattiset metodit ja attribuutit

Ohjelmistotekniikan menetelmät, koe

Ohjelmistojen suunnittelu

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Käyttötapaukset

Transkriptio:

UML - unified modeling language - use cases Käyttötapausmalli (use case model) kuvaus järjestelmän käytöstä. Käyttötapaus (use case) hyödyllinen toiminnallinen kokonaisuus - tehtäväkokonaisuus tuottaa jonkin tuloksen käyttäjän alullepanema kuvataan luokkina - ei ilmentyminä käyttötapausten ilmentymiä ovat käyttötilanteet -joita kuvataan skenaarioina = toimenpidesarjoina 1 UML - unified modeling language - use cases Käyttötapaus (use case) Mitä palveluita käyttäjät haluavat? Tarvitseeko käyttäjälle tiedottaa joistain ilmiöistä Tarvitseeko käyttäjän tiedottaa järjestelmälle Täytyykö lukea, kirjoittaa, muuttaa, hävittää tietoa Käyttäjä (actor) jokin joka käyttää järjestelmää henkilörooli, järjestelmä, laite edustaa roolia, joka käyttäjällä on toimii järjestelmän kanssa antamalla sille tai saamalla siltä viestejä (mesage) välillinen tai välitön käyttäjien välillä voi olla luokkahierarkia 2 Harri Laine 1/7

UML - unified modeling language - use cases Käyttötapauksen kuvaaminen: Käyttötapauksen tarkoitus - mitä käyttötapauksen avulla halutaan saada aikaan (tämä saattaa riittää määritysvaiheen kuvaukseksi) Miten käynnistyy Vuorovaikutus käyttäjän ja järjestelmän välillä - välitettävät viestit - normaali toimenpidesarja (skenaario) vaihtoehtoiset vuorovaikutukset (skenaariot) Miten päättyy Usein luettelo ja tekstikuvaus riittävät 3 UML - unified modeling language - use cases UML:ssä määritelty kaaviotekniikka käyttötapauskaaviota (use case diagram) varten: Kuka käyttää käyttötapausta, Miten käyttötapaukset liittyvät toisiinsa Kuvattavissa käyttötapausten välisiä yhteyksiä laajennos hyödyntäminen 4 Harri Laine 2/7

UML - unified modeling language - use cases Laajennos käyttötapaus tarjoaa lisätoiminnallisuutta laajennettavaan käyttötapaukseen verrattuna esimerkiksi poikkeustapausten mukaanottaminen laajentaa käyttötapausta kurssi täynnä extends kurssipaikan varaus tämä laajentaa tätä 5 UML - unified modeling language - use cases Hyödyntäminen käyttötapaus käyttää hyväkseen jotain yleiskäyttöistä käyttötapausta, siten erikoistamalla sen käyttötapausten yhteiset osat koottu yhteen yleiseksi käyttötapaukseksi kurssipaikan varaus uses tilisiirto tämä hyödyntää tätä 6 Harri Laine 3/7

UML - unified modeling language - use cases Lentopalloesimerkissä käyttäjiä: Peliohjelman suunnittelija Tuomari Valvoja Toimistovirkailija Kirjuri Urheilutoimittaja, jne 7 UML - unified modeling language - use cases Lentopalloesimerkissä käyttötapauksia: Peliohjelman suunnittelija Otteluohjelman laatiminen Valitaan ottelupäivät ja kyseisenä päivänä vastakkain pelaavat joukkueet Tuomarin valinta Valitaan ottelulle tuomari Valvojan valinta Valitaan ottelulle valvoja 8 Harri Laine 4/7

UML - unified modeling language - use cases Lentopalloesimerkissä käyttötapauksia: Kirjuri vaihdon rekisteröinti Kirjataan pelaajavaihto pöytäkirjaan aloituskokoonpanon kirjaus Kirjataan joukkueen aloituskokoonpano erätuloksen kirjaus Kirjataan erän lopputulos ylläolevista voisi koota yhteisiä osia käyttötapaukseen pelitapahtuman kirjaus 9 UML - unified modeling language - use cases Lentopalloesimerkissä käyttötapauksia: Toimistovirkailija pelaajan rekisteröinti kirjataan pelaajan lisenssitiedot jäsenen rekisteröinti Rekisteröidään seuran jäsenyys Seuran perustaminen 10 Harri Laine 5/7

UML - unified modeling language - use cases Peliohjelman suunnittelija Kirjuri pelitapahtuman kirjaus otteluohjleman laatiminen Seuran perustaminen uses vaihdon kirjaus uses uses jäsenen rekisteröinti erätuloksen kirjaus extends pelaajan rekisteröinti kirjaus 11 Dynaaminen malli (dynamic model) Olioiden elinkaaret (life cycle) Olioiden yhteistyö (collaboration) Olion elinkaari kuvaa olion käyttäytymistä (behaviour) Useissa oliomalleissa käyttäytymisen kuvaus on tärkeässä asemassa. Käyttäytymisen kuvauksella pyritään löytämään olioiden operaatioita ja toisaalta varmistamaan, että kaikki oleellinen tulee otetuksi mukaan. 12 Harri Laine 6/7

Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa (state). Tila (state) = attribuuttien arvojen ja olion kytkentöjen muodostama nimetty kokonaisuus, olotila. Tilan määrytymiseen voi vaikuttaa vai yksi attribuutti tai useampien yhdistelmä. Tuoppi on tilassa täysi Lasku on tilassa maksettu Lompakko on tilassa tyhjä Perinteisessä tila-automaattimallissa automaatti (tässä olio) voi olla vain yhdessä tilassa tietyllä hetkellä. 13 Siirtymä (transition) = Siirtyminen tilasta toiseen. Siirtymän saa aikaan jokin heräte (event, message). Heräte on jokin tapahtuma. Siirtymiseen tilasta toiseen liittyy olion suorittamaa toimintaa. maksamatta maksaminen maksettu Laskun tiloja, heräte maksaminen vaihtaa tilaa. 14 Harri Laine 7/7

Siirtymään voidaan liittää ehto, joka säätelee siirtymismahdollisuutta. maksamatta maksaminen [eräpäivään alle viikko] maksettu Laskua ei saa maksaa liian aikaisin. 15 Siirtymään voidaan liittää myös toimintaa tai viestin lähetys toiselle oliolle. LASKU: maksaminen [eräpäivään alle viikko] / lompakko. anna_rahaa(määrä) maksamatta maksettu LOMPAKKO pullottaa anna_rahaa tyhjä 16 Harri Laine 8/7

Alkutila ja lopputilat (alla laskun elinkaarta) maksettu /karhua karhuttu maksaminen nyt_saa_jo_riittää perinnässä tuloutus uffet luottotappiona 17 Tiloihin voidaan liittää toimintaa. Toiminta voidaan liittää tilaan saapumiseen (entry) tilasta poistumiseen (exit) tilassa olemiseen (do) 18 Harri Laine 9/7

odotus karkit jakoon [lajia on] valitsinta painettu karkki_valittu valitsinta painettu [lajia ei ole] lisää saatu liikaa ei ole entry:lisää summaan entry: palauta vaihtoraha do: ilmoita ettei ole valmis exit:anna karkit, nollaa summa [vaihto=0) peruttu peruttu peruttu peruttu 19 Rakenteinen tilaautomaatti (statechart) Harel: Statecharts: A visual formalism for complex systems, Science of computer programming, 8, 1987, 231-274 Poikkeaa perinteisestä tila-automaatista esim. tarjoamalla rinnakkaiset tilakoneet kokonaisuus voi olla samanaikaisesti useassa rinnakkaisessa tilassa - seuraus pienennät tilakoneet rinnakkaiset tilakoneet voivat olla toisistaan riippumattomia tai riippuvia esim olion tilaa tarkastellaan eri ominaisuuksien suhteen. 20 Harri Laine 10/7

yleistyshierarkian tiloille - alitila - ylitila (xor-tila) ylitila H ali_1 ali_2 ali_3 help s13 s15 21 Edellisen kalvon automaatissa 'help' siirtää mistä tahansa alitilasta ali_1, ali_2, ali_3 tilaan s13. Automaatti voi olla joko tilassa ali_1, ali_2, ali_3, s13 tai s15. Jos ulkopuolelta siirrytään ylitilaan valitaan alitilaksi aloitustilaksi merkitty eli s15.sta siirrytään ali_1:een. Tässä automaatissa on historiatila H, joka tarkoittaa paluuta siihen alitilaan, josta viimeeksi poistuttiin, eli tässä palataan help-toiminnon jälkeen samaan tilaan, josta lähdettiin 22 Harri Laine 11/7

Tila-automaateilla on käyttöä muuallakin kuin olioiden elinkaarissa, esim. syöttötiedon jäsennys, saapuva merkki hyväksytään, hylätään, automaatti voi vaihtaa tilaa, joka taas vaikuttaa seuraavaksi hyväksyttävään merkkiin,... käyttöliittymän toiminnan kuvaaminen, tietyt toiminnot mahdollisia vain joissain tiloissa 23 Olioiden elinkaarten kuvaaminen on keino löytää olioihin liittyviä palveluita. Se on myös hyödyllinen haluttaessa varmistaa, että elinkaari toteutuu järjestelmässä. elinkaaria on tarpeen määritellä vain sellaisiin luokkiin liittyen, joiden ilmentymillä on selkeä, monitilainen ja merkityksellinen elinkaari: tunnista elinkaareen vaikuttavat tapahtumat (ulkoiset) laadi elinkaarimalli 24 Harri Laine 12/7

Artikkelin saapuminen Uuden version saapuminen 4. korjattavana time out 1. valmisteilla hylkäyspäätöksen teko Korjattavaksi lähettäminen Lähetys lausunnoille 3. käsiteltävänä hylkäyspäätöksen teko 2. lausunnolla Lausuntojen saapuminen Viimeistelyyn lähetys 7. viimeisteltävänä 6. hyväksytty Viimeistelty versio saapuu 8. oikoluettavana Sijoitetaan lehteen 25 Olioiden yhteistoiminta: Oliojärjestelmän toiminta perustuu olioiden yhteistyöhön. Olioiden yhteistyön selvittäminen on kiinteästi sidoksissa olioiden palveluiden määrittelyyn, sillä yhteistyö toteutuu palvelujen kautta. Yhteistoimintakuvauksilla kuvataan miten palveluja käytetään. Olioiden yhteistoiminnan kuvaaminen ei oikeastaan kuulu ohjelmiston määrittelyyn, sillä palvelujen jakaminen olioille on varsinaisesti suunnitteluvaiheen tehtävä (monet menelmät, esim. OMT tarjoavat sitä kuitenkin määrittelyvaiheeseen) 26 Harri Laine 13/7

Joissain menetelmissä esim. 'Yourdon, et all. : Mainstream objects, ' ja Haapa-aho, et al: Olioiden maihinnousu, Suomen atk-kustannus, 1997' yhteistoimintakuvausta käytetään määrittelytasolla kuvaamaan liiketoimintaprossessia. Liiketoimintaprosessin osapuolista kuitenkin vain osa tulee vastaamaan järjestelmän olioita. 27 Olioiden yhteistoimintaa kuvataan yhteistoimintakaaviolla. UML esittelee kaksi tekniikkaa yhteistoiminnan kuvaamiseen. Sekvenssikaavion (sequence diagram), jossa keskitytään erityisesti kuvaamaan operaatioiden tapahtumajärjestystä ja toimintaan liittyvien viestien kulkua. Sekvenssikaavion toinen ulottuvuus on aika. Yhteistyökaavion (collaboration diagram), jossa keskitytään kuvaaman, sitä miten yhteistyö hyödyntää olioiden välisiä kytkentöjä 28 Harri Laine 14/7

Sekvenssikaavio Tämä kuvaustekniikka joskin hyvin monella eri nimellä on tarjolla lähes kaikissa oliomenetelmissä (OMT: event trace, OOSE: interaction diagram, Mainstream objects: transaction sequence, Olioiden maihinnousu: yhteistoimintakaavio) Sekvenssikaavio kuvaa: käyttötapauksen ilmentymään liittyvän olioiden yhteistyön käyttötapauksen ilmentymästä käytetään esim. OMTmenetelmässä nimitystä skenaario (scenary) = tietty asioiden kulku olion palvelun suoritukseen liittyvän olioiden yhteistyön 29 aloitus viesti olio:luokka olio:luokka [ehto] viesti (parametrit) nimeää käytettävän palvelun operaatio / palvelu aika 30 Harri Laine 15/7

Viestit ovat yleensä palvelujen kutsuja = pavelun nimi (parametrit) käytännössä aliohjelmakutsu tai metodikutsu oliohjelmassa ehto ei ole välttämätön palveluun liittyvä paluunuoli saatetaan jättää piirtämättä vaikka palaute saataisiinkin (kaavio yksinkertaisemmaksi) 31 UML:ssä nuolen ulkoasuun voi liittää semantiikkaa täsmentämätön synkroninen pyytäjä jää odottamaan asynkroninen pyytäjä ei odota synkroninen välitön palaute 32 Harri Laine 16/7

valmentaja sisään:pelaaja ulos:pelaaja verkko:tuomari pää: tuomari valmistaudu mene(numerolätkä) anna lätkä miksi? vaihtopyyntö vaihto kuka ulos mene pois 33 valmistaudu mene(numerolätkä) vaihtopyyntö vaihto kuka ulos mene pois anna lätkä miksi: riisuu veryttelypuvun ottaa numerolätkän, kävelee kentän laidalle puhaltaa pilliin, antaa käsimerkin päätuomarille, tarkistaa pöytäkirjan katsoo sisääntulijan lätkästä kuka ulos, osoittaa ulosmenijän heiluttelee lätkää kävelee laidalle, ottaa lätkän sisääntulijalta, ihmettelee antaa lätkän, kävelee kentälle haukut 34 Harri Laine 17/7

vaihto sisään kentällä = anna lätkä valmistaudu vaihto ulos peli päättyy penkillä pelaajan elinkaari ottelun aikana 35 UML:n yhteistyökaavio Pohjana oliokaavio. Yhteyksiin liitetään niiden kautta kulkevat viestit. Kuvausta käytetään samaan tarkoitukseen kuin sekvenssikaaviota. kaaviolla voidaan varmistaa, että oliomalli tarjoaa tarvittavat kytkennät palvelujen saamiseksi (viestien välittämiseksi) 36 Harri Laine 18/7

Vaihto :Valmentaja 1. valmistaudu 3. vaihtopyyntö 7. miksi 2.mene verkko:tuomari Sisään:pelaaja 4. vaihto 6. anna lätkä Pää:tuomari 5. mene ulos Ulos:Pelaaja 37 Edellisellä kalvolla kuvattiin Pelaajan vaihto UML:n yhteistyökaaviona. Tässä esimerkissä yhteydet olioden välillä tarkoittavat sitä, että pelaajat, valmentaja ja tuomarit näkevät toisensa kentällä. Oliot ovat siis tavallaan globaalisti tunnettuja. Palvelua voi pyytää vain tunnetulta oliolta. Numero viestin edessä kuvaa viestin järjestyksen yhteistyöketjussa. 38 Harri Laine 19/7

Dynaamisten kuvausten yhteydet tapahtuma-analyysi tapahtuma-analyysi voidaan suorittaa jo ennen käyttötapausten määrittelyä, useat käyttötapauksista liittyvät nimenomaan jonkin reaalimaailman tapahtuman käsittelyyn. liiketoiminta tapahtumat = keskeisiä kohdealueen tapahtumia tapahtuman vaikutukset olioiden elinkaareen, sama tapahtuma voi vaikuttaa monen olion elinkaareen 39 Dynaamisten kuvausten yhteydet tapahtuman vaikutukset käyttötapauksiin käyttötapaus liittyy usein jonkin liiketoiminta tapahtuman käsittelyyn skenaariot: skenaariossa tunnistetaan yleensä eri tasoisia tapahtumia kuin tapahtuma-analyysissä (tietojenkäsittelytapahtumat) yhteistoimintakaavio = tapa esittää skenaario Olioiden elinkaarten tarkentaminen skenaarioiden myötä löytyneillä tapahtumilla aiheuttaa iteraatiokierroksen oliomallinnuksessa. Tämäntasoisia elinkaaria tarvitaan yleensä vasta suunnitteluvaiheessa. 40 Harri Laine 20/7

Määrittelyvaiheen kuvausten liittyminen toisiinsa Tarkastellaan luokkakaaviota, käyttötapausmallia ja olioiden elinkaaria. Järjestelmän tulisi toteuttaa olioiden elinkaari, ts. simuloida todellista elinkaarta. Tällöin järjestelmään pitäisi sisältyä käyttötapaukset, joilla siirtymät saadaan aikaan. Kunkin olion elinkaareen, vaikkei sitä erityisesti kuvattaisikaan sisältyy olion synty ja mahdollisesti kuolema. Usein myös erilaisia attribuuttien arvojen muunnoksia. Järjestelmään pitäisi sisältyä käyttötapaukset, joilla siirtymät saadaan aikaan. 41 Määrittelyvaiheen kuvausten liittyminen toisiinsa Jos luokan olioilla on jokin merkittävä tila elinkaaressan tämän tilan on toteuduttava luokan attribuuttien ja/tai yhteyksien avulla (erityinen tilamuuttuja tai useiden attribuuttien yhdistelmä) Jos luokan attribuutin arvo voi muuttua, järjestelmässä pitäisi olla käyttötapaus, jolla muutos saadaan aikaan. Jos luokkaan on liitetty yhteyksia, järjestelmässä pitäisi olla käyttötapaukset, joilla olio saadaan kytketyksi yhteyteen ja mahdollisesti irroitetuksi siitä. 42 Harri Laine 21/7

Määrittelyvaiheen kuvausten liittyminen toisiinsa Laadukas kuvauskokonaisuus täyttää edellä esitetyt vaatimukset. Laadunvarmistustekniikkana voi käyttää riippuvuusmatriiseja: Luokat ja yhteydet / käyttötapaukset Luo, muuttaa, poistaa Tapahtumat / käyttötapaukset Matriisit voidaan esittää myös luokkakohtaina, jolloin riippuvuudet näkyisivät attribuuttitasolla. 43 Määrittelyvaiheen kuvausten liittyminen toisiinsa Käyttötapaukset Uusi artikkeli Uusi artikkeliversio Olioluokat Article L M K K K K K K M M M M M M M K K K K K Article version L L K M K K K M M M M M K Person X X X K K K K K K K K X K Reference K L M M M M K Journal L K K K K= Käyttää, L = Luo, M= Muuttaa, P= Poistaa, X=Luo tai muuttaa Tiedustelu artikkelin tilasta Muistutus lausunnosta Puuttumaan jäänyt lausunt Julkaisupäätöksen kirjaus Palautus korjattavaksi Julkaistavaksi hyväksymine Hylkääminen Viimeistellyn saapuminen Oikovedoksen lähettäminen Korjausten vastaanotto Eripainosten tilaus Henkilötietojen rekisteröinti www-sivut Raportit Luokat/käyttötapaukset - tieteellinen lehti 44 Harri Laine 22/7

Liiketoimintatapahtuma/ käyttötapaus Käyttötapaukset Uusi artikkeli Uusi artikkeliversio Tiedustelu artikkelin tilasta Muistutus lausunnosta Puuttumaan jäänyt lausunto Kommunikointitapahtuma artikkeli x x kuittauskirje x x referoijien valinta x x x lausuntopyyntö x x x muistutus x x lausunto x korjausehdotukset x korjattu artikkeli x x uusintatarkastuspyyntö x julkaisuehdotus x x hyv/hyl päätös x x x x valitus x viimeistelty artikkeli x oikolukuvedos x korjaukset x eripainostilaus x paino-originnalit ja kannet x x x eripainosten tilaukset x MUU TARVE: markkinointi x x x x 45 toiminnan seuranta x x x x x Julkaisupäätöksen kirjaus Palautus korjattavaksi Julkaistavaksi hyväksymine Hylkääminen Viimeistellyn saapuminen Oikovedoksen lähettäminen Korjausten vastaanotto Eripainosten tilaus Henkilötietojen rekisteröinti www-sivut Raportit Harri Laine 23/7