250 likes | 455 Views
7. Käyttötapausmallinnus (kirjassa 8.4). Käyttötapausmallinnus sopii vaatimusten keräämiseen ja määrittelemiseen itse asiassa ryhmittelee vaatimukset ja tietotarpeet järjestelmän kokonaisiksi toiminnoiksi kuvaa MITÄ (uusi) järjestelmä tekee
E N D
7. Käyttötapausmallinnus(kirjassa 8.4) • Käyttötapausmallinnus sopii vaatimusten keräämiseen ja määrittelemiseen • itse asiassa ryhmittelee vaatimukset ja tietotarpeet järjestelmän kokonaisiksi toiminnoiksi • kuvaa MITÄ (uusi) järjestelmä tekee • kuvaa siis käyttäjän tietotarpeiden toteutumisen järjestelmän toimintojen avulla • yhteistyönä asiakkaan kanssa • koostuu • käyttötapaukset (use case) • käyttötapaus on yksi käyttäjälle merkityksellinen, kokonainen toiminto • toimijat (actors) • ihminen, järjestelmän käyttäjä; toinen järjestelmä • järjestelmä (system) 7. Käyttötapaukset
Käyttötapauksen päätarkoitus • ei kuvaa MITEN toteutetaan • toimintavaatimusten kirjaaminen ja ryhmittely järjestelmän palveluiksi • toimintojen yhtenäinen kuvaus • perusta (käyttötapauskeskeisyys!) • Tekemisen vaiheet • järjestelmän määrittely, rajaus • toimijoiden löytäminen • käyttötapausten löytäminen • määrittele ja rajaa käyttötapaus • kuvaa käyttötapauksen toiminta • jatkuva vuorovaikutus asiakkaan kanssa 7. Käyttötapaukset
Selvitä käyttäjät ja käyttötapaukset • Järjestelmän rajaus • mitä kuuluu mukaan toteutettavaan järjestelmään ja mitä jää sen ulkopuolelle • Toimijat (actors) • järjestelmän ulkopuolisia; käyttäjärooli • kuka käyttää järjestelmän päätoimintoja • kuka tarvitsee järjestelmää päivittäin • kuka tarvitaan ylläpitämään, hallinnoimaan ja huoltamaan • millaisia laitteita järjestelmän on käsiteltävä • yhteydet muihin järjestelmiin • ketä kiinnostaa järjestelmän tuottamat tulokset tai sen antama hyöty 7. Käyttötapaukset
Selvitä käyttäjät ja käyttötapaukset • Toimijoita mallintaessasi muista • toimijat ovat järjestelmän ulkopuolella • toimijat käyttävät itse suoraan tietojärjestelmää • toimijat edustavat käyttörooleja; ei tietty ihminen (tai esine) • yksi tietty ihminen voi olla useammassa roolissa tietojärjestelmään nähden • jokaisesta toimijasta on syytä tehdä lyhyt kuvaus, jossa kuvataan käyttäjä liiketoiminnan näkökulmasta; • anna toimijalle lyhyt kuvaava nimi ja piirrä se tikku-ukkona 7. Käyttötapaukset
Selvitä käyttäjät ja käyttötapaukset • Käyttötapaus (use case) • yksi toimijalle merkityksellinen, kokonainen toiminto • se on jotakin, jota toimija haluaa järjestelmän tekevän • toimija käynnistää • kuvattava aina toimijan näkökulmasta • piirretään ellipsinä • käyttötapaus löytyy • mitä toimintoja toimija tarvitsee järjestelmältä • täytyykö toimijan lukea, luoda, tuhota, muokata tai tallentaa jotain järjestelmän tietoa • tarvitseeko toimija tietoa jostain järjestelmän tapahtumista • voiko päivittäistä työtä helpottaa jollain lisätoiminnoilla 7. Käyttötapaukset
rooli Käyttötapaus Notaatio, kuvaustapa • perusnotaatio 7. Käyttötapaukset
Selvitä käyttäjät ja käyttötapaukset • Käyttötapauskaavio (use case diagram) Pankkiautomaatti NostaRahaa Lisää Rahaa TarkistaSaldo Asiakas Automaatin hoitaja NäytäTili- tapahtumat 7. Käyttötapaukset
Selvitä käyttäjät ja käyttötapaukset • kuvaus siitä, miten käyttäjä(t) on vuorovaikutuksessa käyttötapauksen kanssa • keskittyy järjestelmän ulkoiseen käytökseen (ei ota kantaa toteutukseen) • käyttäjän termeillä • sisältö (varsinaista standardia ei ole) • käyttötapauksen tarkoitus • käyttötapauksen käynnistys • viestien kulku käyttäjän ja käyttötapauksen välillä • käyttötapauksen vaihtoehtoiset suoritukset • käyttötapauksen valmistuminen 7. Käyttötapaukset
Käyttötapauksen kuvausesimerkki Käyttötapaus Rahan nosto Toimija (t) Asiakas Esiehto Pankkiautomaatti (PA) on toiminnassa Tapahtumien kulku PA pyytää käyttäjää syöttämään kortin; käyttäjä syöttää kortin. PA ottaa kortin, tarkistaa kortin kelpoisuuden ja lukee sarjanumeron. PA pyytää käyttäjää antamaan tunnuksen; käyttäjä syöttää tunnuksen. PA tarkistaa, että kortin sarjanumero ja käyttäjän antama tunnus vastaavat toisiaan. PA pyytää käyttäjää valitsemaan toiminnon. Käyttäjä valitsee rahan noston. PA kysyy nostettavaa rahasummaa. Käyttäjä valitsee summan tai kirjoittaa haluamansa summan. PA tarkistaa tilin saldon ja sen rajoissa antaa nostetun rahamäärän. PA antaa kortin takaisin asiakkaalle. Lopetusehto PA palaa valmiustilaan ottamaan vastaan uutta korttia. Valinnaiset reitit Käyttäjä antaa tunnuksen väärin => kysytään kolme kertaa =>imaistaan kortti. Käyttäjä ei anna tunnusta ajoissa => uusiksi meni. 7. Käyttötapaukset
Nimi: Luentosalin varaaminen, versio 1.0 / ijh Suorittajat: Kurssin vastuuhenkilö Esiehdot: Vastuuhenkilö ja kurssi on syötetty järjestelmään (KT henkilötietojen ylläpito) Kuvaus: Vastuuhenkilö seuraa WWW-linkkiä, joka johtaa järjestelmän pääsivulle. Hän syöttää järjestelmään käyttäjätunnuksensa ja salasanansa (include: KT käyttäjän identifiointi). Käyttäjä pyytää järjestelmää näyttämään salin varaustilanteen haluamaltaan aikaväliltä. Hän saa eteensä salin lukujärjestysnäytön (ks. liite). Käyttäjä näkee näytöstä vapaat ajat sekä myös, mille kursseille sali on milloinkin varattu ja kuinka monelle viikolle. Käyttäjä tekee varauksen joltain vapaaksi havaitsemaltaan ajankohdalta. [Poikkeus: varaus ei onnistu]. Poikkeukset: Varaus ei onnistu:Varaustilanne on voinut muuttua sillä aikaa kun varaaja tekee varausta. Järjestelmä ilmoittaa tilanteesta käyttäjälle ja käyttäjä yrittää uudelleen. Lopputulos: Varaukset kurssin luentoajoiksi on tehty. Muut vaatim.: Päivittäin käsitellään kiireisimpänäkin aikana enintään n. 100 varausta. Vastausajan on oltava alle 1 sekuntia, lukujärjestysnäytön päivitys saa kestää 5 sekuntia. 7. Käyttötapaukset
Tekstikuvauksen muodosta vielä • Tapahtumien kulku- osassa voidaan esittää • ehtoja (jos – niin – muutoin -) • toistolauseita (niin kauan kuin – niin -) • for –lauseita • Aloitus ja lopetusehto • kuvaa järjestelmän tilaa ennen toiminnon suorittamista/ suorittamisen jälkeen • Voivat jäädä tyhjiksi (alkuvaiheessa) • Vaihtoehtoiset reitit • kaikkia yksityiskohtaisia vaihtoehtoja ei kannata kirjata Tapahtumien kulku –osioon • Poikkeustapaukset, harvoin tapahtuvat toimintoreitit voidaan koota tänne omaksi kohdakseen 7. Käyttötapaukset
<<include>> • Joihinkin käyttötapauksiin sisältyy samoja toimintoja ja tehtäviä • kuvaa tällainen toiminto omana käyttötapauksenaan ja sisällytä se tarvittaessa muihin käyttötapauksiin • täydennettävä käyttötapaus ei ole täydellinen ilman include-laajennustaan • esim. MuutaAsiakas <<include>> EtsiAsiakas SelaaAsiakas <<include>> <<include>> PoistaAsiakas 7. Käyttötapaukset
<<extend>> • joissakin tapauksissa olemassa olevaan käyttötapaukseen on lisättävä toiminnallisuutta (esim. jonkin erikoistapauksen yhteydessä) • peruskäyttötapaus on siis täydellinen käyttötapaus ilman laajennustakin • esim. palautaKirja <<extend>> (kirja myöhässä) sakko 7. Käyttötapaukset
Käyttötapausten yhteydet • laajennussuhde (extend) • yleistyssuhde, käyttötapaus laajentaa yleistä käyttötapausta lisäämällä siihen toimintoja • sisällytyssuhde (include) • yleistyssuhde, jossa yksi käyttötapaus käyttää tosita; osa yleistä käyttötapausta 7. Käyttötapaukset
Rahannosto Tapahtuman kysely Saldon kysely Käyttötapauskaavio, esimerkki • Pankin käyttötapauskaavio, paranneltu versio <<include>> <<include>> 7. Käyttötapaukset
asiakas <<extend>> <<extend>> <<extend>> <<include>> Rahannosto <<include>> Tapahtuman kysely Saldon kysely Käyttökerta/istunto Käyttötapauskaavio, esimerkki • Pankin käyttötapauskaavio, edelleen parannettu versio 7. Käyttötapaukset
Käyttötapausten käyttäminen ohjelmistotuotannossa • Käyttötapausten avulla määritellään järjestelmän palvelut • Selvitetään järjestelmän sidosryhmät • Sisäiset ja ulkoiset tietojärjestelmää käyttävät tahot, voivat olla myös toisia tietojärjestelmiä • Kuvataan sidosryhmät ja yhteydet toteutettavaan tietojärjestelmään • Luetellaan sidosryhmien vaatimukset järjestelmältä • Kuvataan vaatimukset loogisina palvelukokonaisuuksina, käyttötapauksina 7. Käyttötapaukset
Sidosryhmät • selvitettävä järjestelmän ulkopuoliset tahot, jotka ovat palvelujen kautta yhteydessä tietojärjestelmään • yleensä liiketoiminnan osapuolia: organisaatioyksiköt, henkilöroolit, ulkoiset järjestelmät,… • tiedon tuottajat ja hyväksikäyttäjät tiedustelu laskutus LIPUNVÄLITYS Pankkijärjestelmät Asiakas varaus varaus kysely Varausjärjestelmät 7. Käyttötapaukset
Vaatimusten luettelointi • palvelujen määrittely voi alkaa/jatkua luettelolla järjestelmälle asetetuista yksittäisistä vaatimuksista: mitä järjestelmän pitää tehdä • luettelo voi tarkentaa sidosryhmäkaavion tietotarpeita • esim. pankkiautomaattijärjestelmä • järjestelmän täytyy tarkistaa syötetyn pankkikortin kelpoisuus • järjestelmän täytyy tarkistaa asiakkaan syöttämän pin-koodin kelpoisuus • automaatti antaa nostaa rahaa vain 100€ saman vuorokauden sisällä samalta tililtä • järjestelmä on toteutettava C++:lla • järjestelmän on tunnistettava annettu kortti 3 s:n kuluessa 7. Käyttötapaukset
Esim. vaatimuksia myyntijärjestelmälle • Toiminnallisia vaatimuksia? • Järjestelmän täytyy tuottaa lista myytävistä tuotteista • Tuotelista täytyy saada tuoteryhmän mukaan aakkostettuna • Tuotteista täytyy saada tarkemmat tiedot (tuotenimi, hinta, kuva ja tarvittaessa lisätietoa) • Kaikki yleisimmät luottokortit on hyväksyttävä maksettaessa • Järjestelmän on tarkistettava luottokortin kelvollisuus (ao. yhtiöstä) • Järjestelmän on laskettava ostoksen kokonaishinta tilauksia lisättäessä ja tehtävä automaattisesti tilauksesta toimituslähete. • Ei-toiminnallisia vaatimuksia? • Järjestelmän käyttöliittymänä täytyy toimia selain. • Asiakkaan täytyy voida loggautua järjestelmään 5 s:ssa • järjestelmän täytyy tukea viimeisimpiä IE ja NN –versioita 7. Käyttötapaukset
Käyttötapauskaavio ? • Vaatimuksista ryhmitellään palveluja, käyttötapauksia niin, että yksi käyttötapaus voi vastata useampaan vaatimukseen • Sidosryhmät näkyvät kaaviossa toimijoina RI: tuotelista R2: aakkostettu Tuotelistan tulostus 7. Käyttötapaukset
Vaatimusten ”jäljittäminen” • Käyttötapausmalli voidaan tarkistaa vaatimusten osalta • käydään läpi jokainen vaatimuslause ja tutkitaan, löytyykö se jostakin kuvatusta käyttötapauksesta • voidaan dokumentoida taulukkona: 7. Käyttötapaukset