tapahtumasekvenssit = käyttötapausten realisointi
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 PresentationTRANSCRIPT
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)
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
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()
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()
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)
8. Tapahtumasekvenssit 6
Kauppapaikka: uuden asiakkaan rekisteröityminen, luokat
Tuote
nimimäärä
Asiakas
nimiosoitepuhelinemailusernamepasswd
Ostoskori
paivays
Tilaus
paivaystoimitustieto
Tuoteluettelo
1..*
*
*
* *
11
*
1 1
8. Tapahtumasekvenssit 7
Kauppapaikka: uuden asiakkaan rekisteröityminen
Actor
UIKauppa UIRekisteröityminen
:Asiakas
kirjautuminenKauppaan()
lisääAsiakas() tarkista()
create()
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()
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
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
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
8. Tapahtumasekvenssit 12
Vielä notaatiosta: viestiyhteys eli sekvenssikaavio
:Luokka1aika
luokan olion elinkaari
palvelu
:Luokka2
olionluonti-viesti
olion oman palvelunkäyttö
[ehto] viesti (parametrit)
8. Tapahtumasekvenssit 13
Vielä notaatiosta:yhteistyökaavio
Luokka1 Luokka2
Luokka3
1. [ehto] viesti (parameterit)
1.2. alipalvelu2. uusipalvelu
8. Tapahtumasekvenssit 14
Esitä yhteistyökaaviona:
Actor
UIKauppa AsiakasHallinta
:Asiakas
kirjautuminenKauppaan()
lisääAsiakas() tarkista()
uusiAsiakase()
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ä
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
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()
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
8. Tapahtumasekvenssit 19
Tuotteen selaaminen sekvenssikaaviona?