uml - unified modeling language - use cases · uml - unified modeling language - life cycle –...

23
Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998 Harri Laine 1/7 1 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 2 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

Upload: others

Post on 06-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 1/7

1

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

2

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

Page 2: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 2/7

3

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

4

UML - unified modeling language - use cases

• UML:ssä määritelty kaaviotekniikkakä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

Page 3: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 3/7

5

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äkurssipaikanvaraus

extends

tämä laajentaa tätä

6

UML - unified modeling language - use cases

• Hyödyntäminen– käyttötapaus käyttää hyväkseen jotain yleis-

käyttöistä käyttötapausta, siten erikoistamalla sen– käyttötapausten yhteiset osat koottu yhteen

yleiseksi käyttötapaukseksi

kurssipaikan varaus tilisiirto

uses

tämä hyödyntää tätä

Page 4: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 4/7

7

UML - unified modeling language - use cases

• Lentopalloesimerkissä käyttäjiä:– Peliohjelman suunnittelija– Tuomari– Valvoja– Toimistovirkailija– Kirjuri– Urheilutoimittaja, jne

8

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

Page 5: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 5/7

9

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ötapaukseenpelitapahtuman kirjaus

10

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

Page 6: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 6/7

11

UML - unified modeling language - use cases

extends

uses

uses

uses

Peliohjelman suunnittelijaKirjuri

otteluohjlemanlaatiminen

pelaajan rekisteröinti

Seuran perustaminen

jäsenen rekisteröinti

vaihdonkirjaus

pelitapahtuman kirjaus

erätuloksenkirjaus

kirjaus

12

UML - unified modeling language - life cycle

• 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 ontärkeässä asemassa.

– Käyttäytymisen kuvauksella pyritään löytämäänolioiden operaatioita ja toisaalta varmistamaan,että kaikki oleellinen tulee otetuksi mukaan.

Page 7: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 7/7

13

UML - unified modeling language - life cycle

– Käyttäytyminen perustuu siihen että olioelinkaarensa aikana on erilaisissa tiloissa (state).

– Tila (state) =• attribuuttien arvojen ja olion kytkentöjen muodostama

nimetty kokonaisuus, olotila. Tilan määrytymiseen voivaikuttaa 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ä.

14

UML - unified modeling language - life cycle

– 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 maksettumaksaminen

Laskun tiloja, heräte maksaminen vaihtaa tilaa.

Page 8: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 8/7

15

UML - unified modeling language - life cycle

– Siirtymään voidaan liittää ehto, joka sääteleesiirtymismahdollisuutta.

maksamatta maksettu

maksaminen[eräpäiväänalle viikko]

Laskua ei saa maksaa liian aikaisin.

16

UML - unified modeling language - life cycle

• Siirtymään voidaan liittää myös toimintaa tai viestinlähetys toiselle oliolle.

maksamatta maksettu

maksaminen[eräpäivään alle viikko]/ lompakko. anna_rahaa(määrä)

LASKU:

pullottaa tyhjä

LOMPAKKO

anna_rahaa

Page 9: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 9/7

17

UML - unified modeling language - life cycle

• Alkutila ja lopputilat (alla laskun elinkaarta)

luottotappiona

perinnässä

karhuttu

maksettu

nyt_saa_jo_riittää

maksaminen

tuloutus

uffet

/karhua

18

UML - unified modeling language - life cycle

• Tiloihin voidaan liittää toimintaa. Toimintavoidaan liittää– tilaan saapumiseen (entry)– tilasta poistumiseen (exit)– tilassa olemiseen (do)

Page 10: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 10/7

19

peruttu

ei ole

do: ilmoita ettei ole

valmis

exit:anna karkit, nollaa summa

saatu liikaa

entry: palauta vaihtoraha

lisää

entry:lisää summaan

karkit jakoon karkki_valittu

odotus

valitsinta painettu

[lajia on]

[vaihto=0)

[lajia ei ole]

valitsinta painettu

peruttu peruttuperuttu

20

UML - unified modeling language - life cycle

• 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.

Page 11: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 11/7

21

UML - unified modeling language - life cycle

– yleistyshierarkian tiloille - alitila - ylitila (xor-tila)

s15

ylitilaH

ali_3ali_1 ali_2

s13help

22

UML - unified modeling language - life cycle

• 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, s13tai s15.

• Jos ulkopuolelta siirrytään ylitilaan valitaan alitilaksialoitustilaksi merkitty eli s15.sta siirrytään ali_1:een.

• Tässä automaatissa on historiatila H, joka tarkoittaapaluuta siihen alitilaan, josta viimeeksi poistuttiin, elitässä palataan help-toiminnon jälkeen samaan tilaan,josta lähdettiin

Page 12: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 12/7

23

UML - unified modeling language - life cycle

• Tila-automaateilla on käyttöä muuallakin kuinolioiden elinkaarissa, esim.– syöttötiedon jäsennys, saapuva merkki

hyväksytään, hylätään, automaatti voi vaihtaatilaa, joka taas vaikuttaa seuraavaksihyväksyttävään merkkiin, ...

– käyttöliittymän toiminnan kuvaaminen, tietyttoiminnot mahdollisia vain joissain tiloissa

24

UML - unified modeling language - life cycle

• Olioiden elinkaarten kuvaaminen on keino löytääolioihin liittyviä palveluita. Se on myös hyödyllinenhaluttaessa varmistaa, että elinkaari toteutuujärjestelmässä.

• elinkaaria on tarpeen määritellä vain sellaisiin luokkiinliittyen, joiden ilmentymillä on selkeä, monitilainen jamerkityksellinen elinkaari:– tunnista elinkaareen vaikuttavat tapahtumat

(ulkoiset)– laadi elinkaarimalli

Page 13: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 13/7

25

4. korjattavana

1. valmisteilla

3. käsiteltävänä

2. lausunnolla

7. viimeisteltävänä 6. hyväksytty

8. oikoluettavana

Artikkelin saapuminen

Lähetys lausunnoille

Lausuntojen saapuminen

Uuden version saapuminen

hylkäyspäätöksen teko

hylkäyspäätöksen teko

Korjattavaksi lähettäminen

Viimeistelyyn lähetys

Viimeistelty versio saapuu

Sijoitetaan lehteen

time out

26

UML - yhteistyö

• Olioiden yhteistoiminta:– Oliojärjestelmän toiminta perustuu olioiden yhtei-

styöhön. Olioiden yhteistyön selvittäminen onkiinteästi sidoksissa olioiden palveluiden määrit-telyyn, sillä yhteistyö toteutuu palvelujen kautta.

– Yhteistoimintakuvauksilla kuvataan miten palvelujakäytetään.

– Olioiden yhteistoiminnan kuvaaminen ei oikeas-taan kuulu ohjelmiston määrittelyyn, sillä palve-lujen jakaminen olioille on varsinaisesti suunnit-teluvaiheen tehtävä (monet menelmät, esim. OMTtarjoavat sitä kuitenkin määrittelyvaiheeseen)

Page 14: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 14/7

27

UML - yhteistyö

• Joissain menetelmissä esim. 'Yourdon, et all. :Mainstream objects, ' ja Haapa-aho, et al: Olioidenmaihinnousu, Suomen atk-kustannus, 1997'yhteistoimintakuvausta käytetään määrittelytasollakuvaamaan liiketoimintaprossessia.Liiketoimintaprosessin osapuolista kuitenkin vain osatulee vastaamaan järjestelmän olioita.

28

UML - yhteistyö

• Olioiden yhteistoimintaa kuvataan yhteistoiminta-kaaviolla.– UML esittelee kaksi tekniikkaa yhteistoiminnan

kuvaamiseen.• Sekvenssikaavion (sequence diagram), jossa

keskitytään erityisesti kuvaamaan operaatioidentapahtumajärjestystä ja toimintaan liittyvien viestienkulkua. Sekvenssikaavion toinen ulottuvuus on aika.

• Yhteistyökaavion (collaboration diagram), jossakeskitytään kuvaaman, sitä miten yhteistyö hyödyntääolioiden välisiä kytkentöjä

Page 15: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 15/7

29

UML - yhteistyö

• Sekvenssikaavio– Tämä kuvaustekniikka joskin hyvin monella eri nimellä on

tarjolla lähes kaikissa oliomenetelmissä (OMT: event trace,OOSE: interaction diagram, Mainstream objects: transactionsequence, Olioiden maihinnousu: yhteistoimintakaavio)

• Sekvenssikaavio kuvaa:– käyttötapauksen ilmentymään liittyvän olioiden

yhteistyön• käyttötapauksen ilmentymästä käytetään esim. OMT-

menetelmässä nimitystä skenaario (scenary) = tiettyasioiden kulku

– olion palvelun suoritukseen liittyvän olioidenyhteistyön

30

UML - yhteistyö

olio:luokka olio:luokka

[ehto] viesti (parametrit)

operaatio /palvelu

nimeää käytettävänpalvelun

aika

aloitusviesti

Page 16: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 16/7

31

UML - yhteistyö

• 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)

32

UML - yhteistyö

• UML:ssä nuolen ulkoasuun voi liittääsemantiikkaa

täsmentämätön

synkroninenpyytäjä jää odottamaan

asynkroninenpyytäjä ei odota

synkroninenvälitön palaute

Page 17: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 17/7

33

UML - yhteistyö

valmentaja sisään:pelaaja ulos:pelaaja verkko:tuomari pää: tuomari

valmistaudu

mene(numerolätkä)vaihtopyyntö vaihto

kuka ulos

mene poisanna lätkä

miksi?

34

UML - yhteistyö

• 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, osoittaaulosmenijän

• heiluttelee lätkää

• kävelee laidalle, ottaa lätkän sisääntulijalta, ihmettelee• antaa lätkän , kävelee

kentälle• haukut

Page 18: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 18/7

35

UML - yhteistyö

penkillä

kentällävaihto sisään

vaihto ulos

valmistaudu

peli päättyy

= anna lätkä

pelaajan elinkaari ottelun aikana

36

UML - yhteistyö

• UML:n yhteistyökaavio– Pohjana oliokaavio. Yhteyksiin liitetään niiden

kautta kulkevat viestit. Kuvausta käytetäänsamaan tarkoitukseen kuin sekvenssikaaviota.

– kaaviolla voidaan varmistaa, että oliomalli tarjoaatarvittavat kytkennät palvelujen saamiseksi(viestien välittämiseksi)

Page 19: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 19/7

37

:Valmentaja

Sisään:pelaaja

Ulos:Pelaaja

verkko:Tuomari

1. valmistaudu

3. vaihtopyyntö

Pää:tuomari

4. vaihto

5. mene ulos

6. anna lätkä

Vaihto

7. miksi

2.mene

38

UML - yhteistyö

• Edellisellä kalvolla kuvattiin ‘Pelaajan vaihto’UML:n yhteistyökaaviona.

• Tässä esimerkissä yhteydet olioden välillätarkoittavat sitä, että pelaajat, valmentaja jatuomarit näkevät toisensa kentällä. Oliot ovatsiis tavallaan globaalisti tunnettuja.

• Palvelua voi pyytää vain tunnetulta oliolta.• Numero viestin edessä kuvaa viestin

järjestyksen yhteistyöketjussa.

Page 20: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 20/7

39

Dynaamisten kuvausten yhteydet

• tapahtuma-analyysi– tapahtuma-analyysi voidaan suorittaa jo ennen

käyttötapausten määrittelyä, useat käyttö-tapauksista liittyvät nimenomaan jonkinreaalimaailman tapahtuman käsittelyyn.

• liiketoiminta tapahtumat = keskeisiä kohdealueentapahtumia

• tapahtuman vaikutukset– olioiden elinkaareen,

• sama tapahtuma voi vaikuttaa monen olion elinkaareen

40

Dynaamisten kuvausten yhteydet

• tapahtuman vaikutukset– käyttötapauksiin

• käyttötapaus liittyy usein jonkin liiketoiminta tapahtumankä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 iteraatiokierroksenoliomallinnuksessa. Tämäntasoisia elinkaaria tarvitaanyleensä vasta suunnitteluvaiheessa.

Page 21: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 21/7

41

Määrittelyvaiheen kuvausten liittyminen toisiinsa

• Tarkastellaan luokkakaaviota, käyttötapausmallia jaolioiden elinkaaria.

• Järjestelmän tulisi toteuttaa olioiden elinkaari, ts.simuloida todellista elinkaarta. Tällöin järjestelmäänpitäisi sisältyä käyttötapaukset, joilla siirtymätsaadaan aikaan.

• Kunkin olion elinkaareen, vaikkei sitä erityisestikuvattaisikaan sisältyy olion synty ja mahdollisestikuolema. Usein myös erilaisia attribuuttien arvojenmuunnoksia. Järjestelmään pitäisi sisältyäkäyttötapaukset, joilla siirtymät saadaan aikaan.

42

Määrittelyvaiheen kuvausten liittyminen toisiinsa

• Jos luokan olioilla on jokin merkittävä tilaelinkaaressan tämän tilan on toteuduttava luokanattribuuttien ja/tai yhteyksien avulla (erityinentilamuuttuja tai useiden attribuuttien yhdistelmä)

• Jos luokan attribuutin arvo voi muuttua,järjestelmässä pitäisi olla käyttötapaus, jolla muutossaadaan aikaan.

• Jos luokkaan on liitetty yhteyksia, järjestelmässäpitäisi olla käyttötapaukset, joilla olio saadaankytketyksi yhteyteen ja mahdollisesti irroitetuksi siitä.

Page 22: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 22/7

43

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.

44

Määrittelyvaiheen kuvausten liittyminen toisiinsa

Käyttötapaukset

Olioluokat Uus

i art

ikke

li

Uus

i art

ikke

liver

sio

Tie

dust

elu

artik

kelin

tila

sta

Mui

stut

us la

usun

nost

a

Puu

ttum

aan

jään

yt la

usun

to

Julk

aisu

päät

ökse

n ki

rjaus

Pal

autu

s ko

rjatta

vaks

i

Julk

aist

avak

si h

yväk

sym

inen

Hyl

kääm

inen

Viim

eist

elly

n sa

apum

inen

Oik

oved

okse

n lä

hettä

min

en

Kor

jaus

ten

vast

aano

tto

Erip

aino

sten

tila

us

Hen

kilö

tieto

jen

reki

ster

öint

i

ww

w-s

ivut

Rap

ortit

Article L M K K K K K K M M M M M M M K K K K KArticle version L L K M K K K M M M M M KPerson X X X K K K K K K K K X KReference K L M M M M KJournal L K K K

K= Käyttää, L = Luo, M= Muuttaa, P= Poistaa, X=Luo tai muuttaa

Luokat/käyttötapaukset - tieteellinen lehti

Page 23: UML - unified modeling language - use cases · UML - unified modeling language - life cycle – Käyttäytyminen perustuu siihen että olio elinkaarensa aikana on erilaisissa tiloissa

Ohjelmistotuotanto, syksy 1998, oloiot -3 14.10.1998

Harri Laine 23/7

45

Käyttötapaukset

Kommunikointitapahtuma Uus

i art

ikke

li

Uus

i art

ikke

liver

sio

Tie

dust

elu

artik

kelin

tila

sta

Mui

stut

us la

usun

nost

a

Puu

ttum

aan

jään

yt la

usun

to

Julk

aisu

päät

ökse

n ki

rjaus

Pal

autu

s ko

rjatta

vaks

i

Julk

aist

avak

si h

yväk

sym

inen

Hyl

kääm

inen

Viim

eist

elly

n sa

apum

inen

Oik

oved

okse

n lä

hettä

min

en

Kor

jaus

ten

vast

aano

tto

Erip

aino

sten

tila

us

Hen

kilö

tieto

jen

reki

ster

öint

i

ww

w-s

ivut

Rap

ortit

artikkeli x xkuittauskirje x xreferoijien valinta x x xlausuntopyyntö x x xmuistutus x xlausunto xkorjausehdotukset xkorjattu artikkeli x xuusintatarkastuspyyntö x julkaisuehdotus x xhyv/hyl päätös x x x xvalitus xviimeistelty artikkeli xoikolukuvedos xkorjaukset xeripainostilaus xpaino-originnalit ja kannet x x xeripainosten tilaukset x MUU TARVE:markkinointi x x x xtoiminnan seuranta x x x x x

Liiketoiminta-tapahtuma/käyttötapaus