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
Notaatio, kuvaustapa perusnotaatio rooli Käyttötapaus 7. Käyttötapaukset
Selvitä käyttäjät ja käyttötapaukset Käyttötapauskaavio (use case diagram) Pankkiautomaatti NostaRahaa Lisää Rahaa Asiakas TarkistaSaldo 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
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
Käyttötapausmallinnuksen lisäpiirteitä Toimijoiden yleistys Myyntijärjestelmä ListaaTuotteet TIlaaTuotteet Asiakas HyväksyMaksu LaskeProvikka Myynti-edustaja 7. Käyttötapaukset
Toimijan yleistäminen Myyntijärjestelmä abstrakti toimija ListaaTuotteet Ostaja TIlaaTuotteet HyväksyMaksu LaskeProvikka Asiakas Myynti-edustaja 7. Käyttötapaukset
Käyttötapausten yleistäminen Kun kahdella käyttötapauksella on osittain yhteisiä piirteitä toiminnassaan, voidaan yhteinen osa yleistää ja esittää eroavuudet erikoistavissa käyttötapauksissa esim. EtsiTuote etsiKirja etsiCD 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
Käyttötapauskaavio, esimerkki Pankin käyttötapauskaavio, paranneltu versio Rahannosto Tapahtuman kysely Saldon kysely <<include>> <<include>> 7. Käyttötapaukset
Käyttötapauskaavio, esimerkki Pankin käyttötapauskaavio, edelleen parannettu versio Tapahtuman kysely Saldon kysely Rahannosto Käyttökerta/istunto <<extend>> <<include>> asiakas 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 7. Käyttötapaukset Varausjärjestelmät
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: käyttötapaus1 käyttötapaus2 käyttötapaus3 Vaatimus1 x Vaatimus2 Vaatimus3 Vaatimus4 Vaatimus5 7. Käyttötapaukset