HAAGA-HELIA Käyttötapaukset 1 Käyttötapaukset 1. Käyttötapausmalli 2. Käyttötapaus (Use Case) 3. Toimija (Actor) 4. Käyttötapausmallin sisältö ja rakenne 5. Käyttötapausmalli vs. luokkamalli 6. Käyttötapausmalli vs. vuorovaikutusmalli 7. Käyttötapauskaavio - Use Case Diagram 8. Käyttötapauskaavion termit 9. Käyttötapauskaavion sisältö 10. Käyttötapausten väliset riippuvuudet 11. Esimerkki käyttötapauskaaviosta 12. Inclution use case - sisältyvä käyttötapaus 13. Extension use case - laajentava käyttötapaus 14. Käyttötapauksen tietotarpeet näyttöhahmotelmana 15. Käyttötapauksen näyttörakennekaavio 16. Käyttötapauksen kuvaaminen määritysvaiheessa 17. Käyttötapauksen kuvaaminen toteutusvaiheessa 18. Skenaario ja viestiyhteyskaaviokaavio 19. Käyttötapaus - käyttötilanne - tapahtumasarja 20. Tilausten käsittely - käyttötilanne viestiyhteyskaaviona 21. Esimerkki: On-line tietosysteemin ympäristökaavio (käyttätapauskartta)
HAAGA-HELIA Käyttötapaukset 2 1. Käyttötapausmalli Käyttötapausmalli muodostuu tietosysteemin käyttötapauksista ja toimijoista ja ilmaisee miten toimijat käyttävät järjestelmää. Käyttötapaus on linkki liiketoimintamallin ja kohdemallin välillä. BUSINESS AREA Business Model Class Model Use Case Model liiketoiminnan prosessit liiketoiminnan kohteet tk-tehtävät ja niiden tietotarpeet
HAAGA-HELIA Käyttötapaukset 3 2. Käyttötapaus (Use Case) käyttötapauksilla (use cases) ilmaistaan systeemitasolla järjestelmän palvelut (functional requirements) käyttötapaukset kuvaavat tietosysteemin toiminnallisuutta ilmaisten systeemin ulkopuoliset vuorovaikutukseen osallistujat eli toimijat (actors) käyttötapauksen nimen tulee ilmaista mitä järjestelmä tekee, kuvata siis toimintaa käyttötapaus koostuu peräkkäisten tapahtumien sarjoista (a set of sequences of actions) ja näiden muunnelmista, joilla tietosysteemi kommunikoi ulkopuolisen toimijan ja sisäisten abstraktioittensa kanssa yksi tapahtumasarja edustaa käyttötapauksen käyttötilannetta; käyttötilanne on käyttötapauksen ilmentymä käyttötapaus on luokittelija (classifier), sillä on attribuutit ja operaatiot ja suhteet muihin luokkittelijoihin. Siksi käyttötapauksen nimi kirjoitetaan isolla alkukirjaimella (UML).
HAAGA-HELIA Käyttötapaukset 4 3. Toimija (Actor) toimija kommunikoi systeemin kanssa käyttötapausten kautta ja osallistuu käyttötapauksen suorittamaan palveluun jokainen käyttötapaus kommunikoi jonkun toimijan kanssa toimija voi olla ihminen, atk-systeemi, toinen osasysteemi tms
HAAGA-HELIA Käyttötapaukset 5 4. Käyttötapausmallin sisältö ja rakenne Käyttötapauskaaviot käyttötapausmalli muodostuu asteittain tarkentuvista käyttötapauskaavioista ylimmän tason käyttötapauskaavio kuvaa tietojärjestelmän tarjoamat palvelut ja niihin osallistuvat toimijat (käyttötapauskartta) seuraavat tasot tarkentavat käyttötapaukset osakäyttötapauksiksi ja kuvaavat näiden väliset suhteet (riippuvuuskaaviot) Käyttötapausten kuvaukset käyttötapausten sanalliset kuvaukset sisältävät käyttötapauksen käyttötilanteet ja niiden kuvaukset eli tapahtumien kulku, muunnelmat ja poikkeustilanteet Näyttö- ja raporttimallit käyttötapausten näyttörakennekaaviot näyttö- ja raporttimallit
HAAGA-HELIA Käyttötapaukset 6 5. Käyttötapausmalli vs. luokkamalli Käyttötapausmalli tarjoaa ulkoisen näkymän järjestelmään. Se esittää mitä palveluja järjestelmä tarjoaa ja miten palveluja käytetään (skenaariot). Järjestelmän luokkamalli kuvaa määritystasolla järjestelmän sisältöä, tarvittavia liiketoiminnan kohteita ja niiden tietojenkäsittelyä. Käyttötapauksen tietyn käyttötilanteen tietotarpeen aikaansaamiseksi tarvitaan määrätty joukko luokkamallin olioita.
HAAGA-HELIA Käyttötapaukset 7 6. Käyttötapausmalli vs. vuorovaikutusmalli Vuorovaikutuskaaviot kuvaavat käyttötilannekohtaisen tietotarpeen ja tietojen saantipolut tapahtumien ja toimenpiteiden ketjuna sekä tarvittavaan yhteistyöhön osallistuvat liiketoiminnan kohteet. Vuorovaikutuskaavioita ovat yhteistyökaavio (collaboration diagram) viestiyhteyskaavio (sequence diagram). Yhteistyökaaviossa näkyvät tietotarpeet, tiedon saantipolut, tiedon käsittely ja yhteistyöhön osallistujat ja niiden väliset riippuvuudet. Viestiyhteyskaaviossa näkyvät tiedon saantipolut ja yhteistyöhön osallistujat. Käyttötapauksen käyttötilanteen edellyttämä tapahtumasarja kuvataan tekstimuotoisesti skenaariona: toimijan ja käyttötapauksen välisenä vuoropuheluna kaikkien yhtiestyöhön osallistuvien välisenä dialogina (sequence diagram = viestiyhteyskaavio, tapahtumasarjakaavio)
HAAGA-HELIA Käyttötapaukset 8 7. Käyttötapauskaavio - Use Case Diagram Tässä ylimmän tason käyttötapauskaavio ts.käyttötapauskartta Järjestelmän tarjoamat palvelut Telephone Telephone Check status Check status Salesperson Salesperson Customer Place order Customer Place order Fill orders Shipping Clerk Shipping Clerk Fill orders Establish credit <<actor>> Supervisor Supervisor Establish credit (UML Reference manual)
HAAGA-HELIA Käyttötapaukset 9 8. Käyttötapauskaavion termit use case käyttötapaus actor toimija communication association kommunikointiassosiaatio system boundary systeemin raamit generalization yleistäminen, luokittelu dependency riippuvuus extend laajentuu include sisältää extension use case laajentava käyttötapaus inclusion use case sisältyvä käyttötapaus extension point laajennuskohta scenario skenaario
HAAGA-HELIA Käyttötapaukset 10 9. Käyttötapauskaavion sisältö toimijoiden välisiä suhteita toimijoiden ja käyttötapausten välisiä suhteita käyttötapausten välisiä suhteita Tilauksen käsittely <<extend>> Tuoteluettelon selaus Myyntisihteeri <<include>> Tilattavan tuotteen käsittely Myyntipäällikkö
HAAGA-HELIA Käyttötapaukset 11 10. Käyttötapausten väliset riippuvuudet (UML reference guide, kuva 5-1) Suhde Toiminta Esitystapa assosiaatio kommunikointipolku toimijan ja käyttötapauksen välillä laajentuu peruskäyttötapauksen toimintaa laajennetaan toisen käyttötapauksen tai sen osan toiminnalla; peruskäyttötapauksen ilmentymä suorittaa laajentavan toiminnan; laajentuminen voi olla ehdollista tai pakollista <<extend>> yleistäminen käyttötapauksen ja sen tarkennoksen välinen luokitteleva suhde kuten luokkahierarkia; tarkentava käyttötapaus perii yleisemmän käyttötapauksen piirteet ja lisää siihen omia piirteitä; käyttötapauksen suorituksen aikana tarkennos korvaa yleisemmän käyttötapauksen sisältää peruskäyttötapaukseen kiinteästi kuuluva osakäyttötapaus, joka suorittaa tietyn peruskäyttötapaukseen sisältyvän toiminnon; osakäyttötapauksen toiminnasta huolehtii oma ilmentymä <<include>>
HAAGA-HELIA Käyttötapaukset 12 11. Esimerkki käyttötapauskaaviosta peruskäyttötapaus osakäyttötapaukset Tilausten käsittely -käyttötapaus dependency toimija assosiaatio base use case Tilauksen käsittely <<extend>> valitse tuote Tuoteluettelon selaus extension use case myyntisihteeri <<include>> <<include>> <<include>> Maksu käsittely generalization Tilattavan tuotteen käsittely myyntipäällikkö Asiakastietojen käsittely inclution use cases Käteismaksun käsittely Luoton käsittely child use case Osoita kaaviossa peruskäyttötapaus aina selvästi yhdistämällä toimija siihen. Osakäyttötapausten ja toimijoiden välistä kommunikointia älä merkitse näkyviin, mutta muista, että se on aina olemassa.
HAAGA-HELIA Käyttötapaukset 13 12. Inclution use case - sisältyvä käyttötapaus sisältyvä käyttötapaus ei koskaan toimi "stand alone" käyttötapauksena, se on aina osa jotain muuta käyttötapausta analogisesti vastaa osaa koostumussuhteessa ja koostumukseen sisältyvää delekointia / perinteistä yleismodulia sisältää tietyn samankaltaisen useassa eri käyttötapauksessa toistuvan tieto-toiminto kokonaisuuden käyttötapauksen suoritus siirtyy peruskäyttötapauksesta osakäyttötapaukseen ja "palaa takaisin" (client-server); perus- ja osakäyttötapauksilla on omat ilmentymät toteuttajina attribuutit ja tulokset välittyvät siirtymävaiheessa sisältyvän käyttötapauksen attribuuttien arvot eivät ole kutsuvan pääkäyttötapauksen saatavilla ao. käyttötapauksen toiminnan päätyttyä inclution use case on "black box" komponentti
HAAGA-HELIA Käyttötapaukset 14 13. Extension use case - laajentava käyttötapaus sen toiminnoilla voidaan tietyissä tilanteissa ja ehdoilla laajentaa peruskäyttötapauksen toimintaa, joka yleensä on ehdollista peruskäyttötapauksen toimintaa, mutta voi myös olla pakollista kun peruskäyttötapauksen kuuluu jokin ehdollinen toiminta, käytetään laajentavaa käyttötapausta laajentavan käyttötapauksen toiminta on segmentoitu ja näitä osia peruskäyttötapaus voi käyttää sovitulla tavalla laajentava käyttötapaus ei luo uutta ilmentymää vaan lisää peruskäyttötapauksen ilmentymän toimintaa omilla palveluillaan laajennuksen yhteydessä voidaan käsitellä peruskäyttötapauksen attribuutteja extension use case on "glass box" komponentti laajentava käyttötapaus voi myös toimia "stand alone" käyttötapauksena. Tällöin sen toiminnasta vastaa sen oma ilmentymä eivätkä attribuutit ole muiden ilmentymien käytettävissä
HAAGA-HELIA Käyttötapaukset 15 14. Käyttötapauksen tietotarpeet näyttöhahmotelmana Tilausten käsittely -käyttötapaus Tilauksen käsittely Tilauksen tiedot tilauspäivä toimituspäivä toimitusosoite laskutusosoite yms hae/lisää/muuta/peruuta Tilauksen asiakas as.nro ja nimi hae asiakas Tuotenumero hae tuote valiste tuote Maksutapa käteismaksu luotto Käteismaksun käsittely maksuhehdot valitse/muuta Luoton käsittely asiakkaan luottotiedot maksuehdot hyväksy/muuta Asiakastietojen käsittely Tilattavan tuotteen käsittely asiakkaan kaikki tiedot ja maksuhäiriötiedot lisää/muuta/poista tuotteen tiedot tunnus ja nimi kuvaus hinta varastosaldo tilattava määrä Tuoteluettelon selaus tuotenumero, nimi lisää/muuta/poista valitse tuote
HAAGA-HELIA Käyttötapaukset 16 15. Käyttötapauksen näyttörakennekaavio Tilausten käsittely -käyttötapaus valitse maksutapa <<inclution>> tilauksen tiedot tilauspäivä toimituspäivä toimitusosoite laskutusosoite asiakastiedot tunnus ja nimi maskutapa tuotenumero <<use case>> Tilauksen käsittely <<extention>> valitse tuote <<use case>> Tuoteluettelon selaus tuotteet tunnus nimi hinta selaa tuotteita valitse tuote <<use case>> Käteismaksun käsittely <<use case>> Maksun käsittely maksuehdot << use case>> Luoton käsittely hae tilaus hae asiakas lisää tilaus valitse tuote muuta tilaus hae tuote peruuta tilaus valiste maksutapa hae tuote (valittu) maksuhehdot valitse/muuta asiakkaan luottotiedot maksuehdot hyväksy/muuta <<use case>> Asiakastietojen käsittely asiakkaan tiedot maksuhäiriötiedot hae asiakas lisää muuta poista hae asiakas <<inclution>> <<use case>> Tilattavan tuotteen käsittely tuotteen tiedot tunnus ja nimi kuvaus hinta varastosaldo tilattava määrä hae tuote(valittu) lisää/muuta/poista
HAAGA-HELIA Käyttötapaukset 17 16. Käyttötapauksen kuvaaminen määritysvaiheessa Tiedot ja palvelut tekstinä käyttötapauksen kuvaus ja eri käyttötilanteet muunnelmineen näyttöhahmotelmina Sisäinen toiminta suorasanaisena tekstinä tapahtumasarjana (flow of events) tekstimuodossa (UML:n suositus määritysvaiheessa) ts. toimenpiteet ja niiden järjestys = skenaario Palvelun edellyttämän tietotarpeen saantipolut skenaariona, joka esittää kaikkien osallistujien välisenä dialogina viestiyhteyskaaviona (sequence diagram), joka on vuoropuhelun formaali kuvaustapa UML:ssa Näyttörakenteet luokkina - attribuutit, operaatiot ja stereotyyppitunnus näytön stereotyyppitunnus määritysvaiheessa <<use case>> tai <<view>> riippuvussuhteet muihin näyttöihin
HAAGA-HELIA Käyttötapaukset 18 17. Käyttötapauksen kuvaaminen toteutusvaiheessa käyttötapauksen toteutus on yhteistyö (a collaboration), joka sisältää käyttöliittymäluokat, rajapinnat, yhteistyöluokan ja kohdeluokat sekä näiden suhteet jokainen käyttötilanne toteutetaan omana yhteistyönä (a use case realization = a collaboration) tarvittava vuorovaikutus kuvataan yhteistyökaaviona (collaboration diagram) tai helpommin viestiyhteyskaaviona (sequence diagram) yhteistyöluokan (a collaboration class) sisäinen toiminta kuvataan tilakaaviona
HAAGA-HELIA Tietojenkäsittely Käyttötapaukset 19 Tietosysteemin määritys 18 Skenaario ja viestiyhteyskaavio (Rumbaugh at al. OMT) Skenaario Viestiyhteyskaaavio/Tapahtumasarjakaavio (sequence diagram) caller lifts receiver dial tone begins caller dials digit (5) dial tone ends caller dials digit (3) caller dials digit (2).. called phone begins ringing ringing tone appears in calling phone called party answer called phone stops ringing ringing tone disappears in calling phone phones are connected called party hangs up phones are disconnected caller hangs up Caller caller lifts receiver dial tone begins dials (5). dials (4) ringing tone tone stops phones connected Phone line phone rings answers phone ringing stops phones connected Callee jne
HAAGA-HELIA Käyttötapaukset 20 Tietojenkäsittely Tietosysteemin määritys 19. Käyttötapaus - käyttötilanne - tapahtumasarja Kuvauskohde Pääkäyttötapaus - ylimmän tason käyttötapaus Kuvaus 1 Tilauksen käsittely Tilauksen käsittely -käyttötapauksella voit lisätä uuden tilauksen perustiedot ja tilaukseen liittyvät tuotteet järjestelmään, päivittää tilauksen tietoja sekä peruuttaa tilauksen. Tilattavat tuotteet voidaan hakea tuotelistasta. Tilauksen käsittelyn yhteydessä käsitellään asiakastietoja (lisätään tai muutetaan). Käyttötapaukseen sisältyvät palvelut 1.1 Tilauksen lisääminen 1.2 Tilaustietojen päivitys 1.3 Tilauksen peruutus Käyttötapauksen käyttötilanne (käyttötapauksen ilmentymä) - käytön perustilanne - muut tilanteet 1.1 Tilauksen lisääminen Perustilanne Lisätään uusi tilaus ja kaikki tilatut tuotteet löytyvät. Jos asiakas on uusi, listään asiakkaan tiedot ennen varsinaisten tilaustietojen käsittelyä. Muut tilanteet Muunnelma1. Lisätään tilaus, mutta asiakas on myyntikiellossa. Toimijan harkinnan mukaan keskeytetään tai jatketaan. Muunnelma 2. Jos tilattavaa tuottetta ei löydy varastosta, ei sitä voi ottaa mukaan tilaukseen. Poikkeus 1 Toimija voi keskeyttää session milloin tahansa ja käynnistää käyttötapauksen uudelleen. Kaikki tehdyt toimepiteet hylätään.
HAAGA-HELIA Käyttötapaukset 21 Tietojenkäsittely Tietosysteemin määritys Käyttötilanteen tapahtumien eteneminen 1.1 Tilauksen lisääminen -käyttötilanne Perustilanne Lisätään uusi tilaus ja kaikki tilatut tuotteet löytyvät. Jos asiakas on uusi, lisätään asiakkaan tiedot ennen varsinaisten tilaustietojen käsittelyä. - käynnistyminen - tapahtumat ja niiden eteneminen, muutokset olioihin - päättyminen Käynnistys Käyttötapaus käynnistyy, kun toimija on valinnut tilauksen lisäys toiminnon. Toiminta 1. Toimija syöttää asiakkaan numeron ja pyytää hakemaan asiakkaan tiedot. 2. Järjestelmä tarkistaa, että asiakkaan tiedot löytyvät ja tuo tiedot näytölle. 3. Jos asiakastietoja ei löydy, toimija syöttää uuden asiakkaan tiedot ja antaa lisäys-pyynnön järjestelmälle.. 4. jne. Lopetus Toimija valitseen uuden tilauksen käsittelyn tai paluutoiminnon. - poikkeus- ja virhetilanteet Muunnelma 1 Jos annettu asiakas on myyntikiellossa, järjestelmä antaa virheilmoituksen ja pyytää vahvistamaan tilauksen käsittelyn jatkumisen. Jos toimija hyväksyy jatkamisen, edetään normaaliin tapaan, muussa tapauksessa käsittely keskeytetään ja käyttötapaus käynnistyy uudelleen. Muunnelma 2 Jos tilattavaa tuotetta ei löydy varastosta, järjestelmä antaa ilmoituksen asiasta, eikä tuotetta voi liittää kyseiseen tilaukseen.
HAAGA-HELIA Käyttötapaukset 22 20. Tilausten käsittely / Tilauksen lisäys -käyttötilanne viestiyhteyskaaviona (vain osa) Tietotarpeen näkökulma: Tilauksen lisäys, kun asiakastiedot jo olemassa. Myyntisihteeri <<use case>> :Tilauksen lisäys <<use case>> <<use case>> <<use case>> <<use case>> :Asiakastietojen :Tilattavan tuotteen :Käteismaksun Tuoteluettelon käsittely käsittely käsittely selaus (valitse tuote) hae asiakas (tunnus) hae asiakas (tunnus) asiakkaan tiedot näytölle tilauksen asiakas valitse tuote valintalista ja valinta tuotelista/valinta hae tuote(valittu) hae tuote (valittu tuote) tuoteen tiedot seuraava tuote lisää tuote(määrä) käteismaksu käteismaksu valittu maksuehto lisää uusi tilaus valittu maksuehto
HAAGA-HELIA Tietojenkäsittely Käyttötapaukset 23 Tietosysteemin määritys 21. Esimerkki: On-line tilausjärjestelmän ympäristökaavio (käyttötapauskarttana) (UML-kieltä mukaellen álá Jalasoja) Asiakas soittaa myyntisihteerille tilauksensa Myyntitilausjärjestelmä Toimituksen lähettäjä lähettää toimituksen mukana tilausvahvistuksen ja laskun Myyntisihteeri Tilauksen vastaanotto Asiakas <<actor>> Internet Tilauksen toimitus Toimituksen lähettäjä Asiakas <<actor>> Puhelin Tiliöinti ja siirto kirjanpitoon Järjestelmävastaava <<actor>> Kirjanpitosysteemi