tapahtumasekvenssit = käyttötapausten realisointi

19
8. Tapahtumasekvenssit 1 Tapahtumasekvenssit = Käyttötapausten realisointi luokat määrittävät rakennettavan järjestelmän staattisen rakenteen käyttötapausten realisoinnissa kunkin käyttötapauksen toiminta kuvataan luokkien välisenä vuorovaikutuksena, tapahtumasekvenssinä luokkien välinen vuorovaikutus voidaan esittää vuorovaikutuskaavioilla viestiyhteyskaavio (sekvenssikaavio, sequence diagram) yhteistyökaavio (collaboration diagram)

Upload: lareina-mccarty

Post on 30-Dec-2015

22 views

Category:

Documents


1 download

DESCRIPTION

Tapahtumasekvenssit = Käyttötapausten realisointi. luokat määrittävät rakennettavan järjestelmän staattisen rakenteen käyttötapausten realisoinnissa kunkin käyttötapauksen toiminta kuvataan luokkien välisenä vuorovaikutuksena, tapahtumasekvenssinä - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 1

Tapahtumasekvenssit = Käyttötapausten realisointi

luokat määrittävät rakennettavan järjestelmän staattisen rakenteen

käyttötapausten realisoinnissa kunkin käyttötapauksen toiminta kuvataan luokkien välisenä vuorovaikutuksena, tapahtumasekvenssinä

luokkien välinen vuorovaikutus voidaan esittää vuorovaikutuskaavioilla viestiyhteyskaavio (sekvenssikaavio, sequence diagram) yhteistyökaavio (collaboration diagram)

Page 2: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 2

esim. käyttötapaus Näytösten selaaminen

luokat Ohjelmakartta

aika

Asiakas

nimiosoitepuhelin

Elokuva

nimipituusgenre

Teatteri

nimiosoite

Näytös

aikahinta

Paikat

rivipenkki

Varaus

nurmeopvm

Lippu

numero

1*

*

1 *

*

1

*1

11

*1

Page 3: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 3

Näytösten selaaminen

Asiakas

:Ohjelmakartta :Näytös :Elokuva :Teatteri :Paikka

selaaNäytös() haeNäytos()

naytäEsitypaikka()

naytaNimi()

valitseNäytös()

:PaikanHallinta

näytäVapaatPaikat()

*[niin kauan kuin löytyy]

vapaatPaikat()

Page 4: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 4

Luokkakaavio täydentyy…

Asiakas

nimiosoitepuhelin

Elokuva

nimipituusgenre

näytäNImi()

Paikat

rivipenkki

haePaikka()

Varaus

nurmeopvm

Lippu

numero

1

*

*

1 *

*

1

*1

11

*1

PaikanHallinta

näytäVapaatPaikat()

Ohjelmakartta

aika

selaaNäytös()valitseNäytös()

Näytös

aikahinta

haeNäytös()

Teatteri

nimiosoite

näytäNImi()

Page 5: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 5

Viestiyhteyskaavio

kuvaa käyttäjän ja tietojärjestelmän välisen yhteistyön jonkin käyttötapauksen (tai luokan palvelun) toteutumiseksi käyttäjä käyttöliittymäluokka (olio) käyttötapauksen toteutumiseksi tarvittavien luokkien palvelut järjestys

aikajana uudet (käyttöliittymä)luokat luokkien metodit (ts. luokkakaavio täydentyy)

Page 6: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 6

Kauppapaikka: uuden asiakkaan rekisteröityminen, luokat

Tuote

nimimäärä

Asiakas

nimiosoitepuhelinemailusernamepasswd

Ostoskori

paivays

Tilaus

paivaystoimitustieto

Tuoteluettelo

1..*

*

*

* *

11

*

1 1

Page 7: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 7

Kauppapaikka: uuden asiakkaan rekisteröityminen

Actor

UIKauppa UIRekisteröityminen

:Asiakas

kirjautuminenKauppaan()

lisääAsiakas() tarkista()

create()

Page 8: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 8

Päivitetty luokkakaavio

Tuote

nimimäärä

Asiakas

nimiosoitepuhelinemailusernamepasswd

Ostoskori

paivays

Tilaus

paivaystoimitustieto

Tuoteluettelo

1..*

*

*

* *

11

*

1 1

UIKauppa

rekisteröityminenKauppaan()

UIRekiteröityminen

lisääAsiakas() tarkista()

Page 9: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 9

Yhteistyökaavio

Yhteistyökaavio (collaboration diagramm) esittää olioiden välisen yhteistyön käyttäen hyväksi olioiden välisiä yhteyksiä.

Oliohan voi pyytää palveluja vain sellaiselta oliolta, jonka olemassaolon se tietää

yhteistyökaavio piirretään luokkakaavion pohjalle palvelujen suoritusjärjestys kuvataan palvelun eteen

sijoitettavalla numerolla

Page 10: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 10

Näytösten selaaminen yhteistyökaaviona

1. * [löytyy]haeNäytös()

1.1 haeNimi()

1.2. näytäEsityspakka()

2. näytäVapaatPaikat()

2.1. vapaatPaikat()

:Ohjelmakartta

:Näytös:Elokuva :Teatteri

:PaikkaHallinta

Page 11: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 11

Viestiyhteys- vai yhteistyökaavio?

viestiyhteyskaavio korostaa aikajärjestystä; yhteistyökaaviossa näkyy suoraan olioiden välinen staattinen yhteys

molemmat kuvaavat hyvin yksinkertaisia perustoimintoja

sopivat hyvin kokonaisen (yksinkertaisen) käyttötapauksen eli

järjestelmän palvelun kuvaamiseen (monimutkaisen) luokan palvelun kuvaamiseen

Page 12: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 12

Vielä notaatiosta: viestiyhteys eli sekvenssikaavio

:Luokka1aika

luokan olion elinkaari

palvelu

:Luokka2

olionluonti-viesti

olion oman palvelunkäyttö

[ehto] viesti (parametrit)

Page 13: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 13

Vielä notaatiosta:yhteistyökaavio

Luokka1 Luokka2

Luokka3

1. [ehto] viesti (parameterit)

1.2. alipalvelu2. uusipalvelu

Page 14: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 14

Esitä yhteistyökaaviona:

Actor

UIKauppa AsiakasHallinta

:Asiakas

kirjautuminenKauppaan()

lisääAsiakas() tarkista()

uusiAsiakase()

Page 15: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 15

Palvelujen määrittelemisestä

Yhteistyön määrittelyn aloituskohta ovat järjestelmän palvelut (käyttötapaukset)

järjestelmän palvelujen toteutukseen osallistuvat käyttöliittymäoliot (ikkunat, valikot, napit,…)

hoitavat yhteyden käyttäjän ja sisältöolioiden välillä sisältöoliot, jotka toteuttavat tehtävät tekniset apuoliot (tietorakenteet, tietoliikenne)

sisältöoliot ja käyttöliittymä erotellaan useimmiten sisältöoliot tarjoavat käyttöliittymästä riippumattomia

palveluja palvelut aktivoidaan käyttöliittymästä

Page 16: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 16

Palveluista vielä

oliot tarjoavat omaan tietosisältöönsä perustuvia palveluja; yhteyksien kautta toiset oliot voivat pyytää näitä palveluja

usein ongelmana, mihin luokkaan jokin palvelu sisällytetään

luokilla on tietysti ns. peruspalvelut (get, set-metodit) joilla tietosisällön arvoja voidaan muuttaa ja kysellä

palveluja määriteltäessä löytyy usein uusia (teknisen tason) luokkia, luokille uusia attribuutteja tai uusia luokkien välisiä yhteyksiä

luokkamalli siis täydentyy koko ajan

Page 17: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 17

Webbikauppa, luokkakaavio

Tuote

nimimäärä

Asiakas

nimiosoitepuhelinemailusernamepasswd

Ostoskori

paivays

Tilaus

paivaystoimitustieto

Tuoteluettelo

1..*

*

*

* *

11

*

1 1

UIKauppa

rekisteröityminenKauppaan()

UIRekiteröityminen

lisääAsiakas() tarkista()

Page 18: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 18

Webbikauppa, osa käyttötapauksista

Rekisteröi-tyminen

Ostoskorinhallinta

Tuotteidenselaaminen

Maksami-nen

Asiakas<<Ext>>

<<Ext>>

<<Inc>>

Verkko-pankki

Tuotteiden selaaminen:Järjestelmä näyttää tuoteluettelon. Asiakas voi selata luetteloa. Haluamansa tuotteen kohdalla asiakas kaksoisklikkaa tuotteen, jolloin tuote tulee valituksi ja siirretään ostoskoriin

Page 19: Tapahtumasekvenssit = Käyttötapausten realisointi

8. Tapahtumasekvenssit 19

Tuotteen selaaminen sekvenssikaaviona?