Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Vaatimukset ja käyttötapaukset

Samankaltaiset esitykset


Esitys aiheesta: "Vaatimukset ja käyttötapaukset"— Esityksen transkriptio:

1 582104 – Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely

2 Vaatimukset ja käyttötapaukset
Vaiheittainen mallintaminen ja abstraktiotasot Käyttötapausmalli ja –kaavio Käyttötapausmallin laatiminen

3 Vaiheittainen mallintaminen ja abstraktiotasot
UML-mallinnusta voidaan tehdä usealla abstraktiotasolla, esimerkiksi Liiketoimintatason malli Kohdealuetason malli Molemmilla tasoilla voidaan laatia käyttötapaus- ja luokkamallit osana vaatimusmäärittelyä Kohdealueen perussanasto (glossary of terms) Mallinnuksen alkuvaiheessa Olennainen erityisesti luokkamallin laadinnassa

4 Toiminnalliset ja ei-toiminnalliset vaatimukset
Toiminnalliset vaatimukset - Mitä toimintoja ohjelmassa on? Esim. kurssihallintojärjestelmä: Opetushallinto voi syöttää kurssin tiedot järjestelmään Opiskelija voi ilmoittautua valitsemalleen kurssille Opettaja voi syöttää opiskelijan suoritustiedot Opettaja voi tulostaa kurssin tulokset Ei-toiminnalliset vaatimukset (eli ympäristön rajoitteet) Toteutusympäristö, suorituskykyvaatimukset, ...

5 Vaatimusmäärittelyn rajaus
Vaatimusmäärittelyssä ei oteta kantaa ohjelman sisäisiin teknisiin ratkaisuihin, ainoastaan siihen miten toiminta näkyy käyttäjälle Miten toiminnalliset vaatimukset tulisi ilmaista?

6 Käyttötapausmalli Tietojärjestelmän käytön ja päätoimintojen kuvaaminen Kuvaa järjestelmän tarjoamat palvelut Järjestelmän palveluilla on käyttäjä UML tarjoaa symbolit käyttötapauksille Itse kaaviotekniikkaa olennaisempi asia on kuitenkin kunkin käyttötapauksen sanallinen kuvaus Sekä käyttötapausten välinen harmonia

7 Käyttötapaus (use case)
Järjestelmän avulla suoritettava looginen tavoitteellinen tehtäväkokonaisuus, jolla on lähtökohta ja lopputulos Kuvaa usein järjestelmälle asetettavaa toiminnallista vaatimusta

8 Käyttäjä (actor) Kuvaa roolia, jota järjestelmään liittyvä taho esittää Usein ihminen, mutta voi olla myös toinen ohjelma / ohjelmisto Välitön rooli - suora osallistuminen (esim. toimihenkilö, joka käynnistää raportin tekemisen) Välillinen käyttäjä - epäsuora osallistuminen (viranomainen, joka saa raportin) Haluaa saavuttaa käyttötapaukseen liittyvän tavoitteen Toimii vuorovaikutteisesti järjestelmän kanssa toteuttaakseen tavoitteensa

9 Kurssi-ilmoittautumisjärjestelmä
Käyttäjärooleja Opiskelija, Opettaja, Opetushallinto, Suunnittelija Laitoksen johtoryhmä, Tilahallintojärjestelmä, Henkilöstöhallintajärjestelmä… Osa käyttäjistä yhteydessä järjestelmään vain epäsuorasti (esim. Johtoryhmä) Osa “käyttäjistä” on muita järjestelmiä Sana käyttäjä ei ole terminä tässä tilanteessa paras mahdollinen

10 Käyttötapauksen kuvaus
Graafisen elementin lisäksi sanallinen kuvaus, vain vähän muotovaatimuksia Esitetään tyypillisesti toimintosarjana käyttäjän kannalta tarkasteltuna Mitä käyttäjä tekee tavoitteensa saavuttamiseksi, mitä palvelua saa Riittävän yksityiskohtainen Ei sisällä käyttöliittymäasioita eikä toteutukseen liittyviä yksityiskohtia

11 Käyttötapauksien hahmottelua
Käyttötapaus voi kuvata liiketoimintaa (liiketoimintatehtävä) tai Käyttötapaus voi kuvata järjestelmän käyttöä (system use case) Tavallisesti käyttötapauksien välinen kytkentä jää heikosti määritellyksi ja epämääräiseksi UML ei tarjoa välineistöä eri tasoisten käyttötapausmallien yhdistämiseen Liiketoimintatehtävään (-prosessiin) liittyy tyypillisesti useita järjestelmän käyttöä kuvaavia käyttötapauksia

12 Esimerkki: “Kurssi-ilmoittautuminen”

13 Käyttötapauksen kuvauksen elementtejä
Nimi (tekemistä, esim. lainaus, palautus) (name), versio Tavoite (goal) – mitä tarkoitus saavuttaa Yhteenveto (summary) – tiivis kuvaus Käyttäjät (actors) – osallistujat, välitön / välillinen Lähtötilanne (pre-conditions) – millä edellytyksin toimii Käynnistyminen (triggers) – mikä laukaisee toiminnan Peruskulku (basic course of events) – miten etenee normaalisti Vaihtoehtoiset kulut (alternative paths), eteneminen poikkeustilanteissa Lopputilanne (post-conditions) – mihin päädytään Liiketoimintasäännöt (business rules) – säännöt, joita toimintaan liittyy

14 Kurssi-ilmoittautuminen tarkemmalla tasolla

15 Graafinen kuvaustekniikka
Käyttötapausmalliin liittyy graafinen kuvaustekniikka, jolla voidaan kuvata Käyttäjän yhteys käyttötapauksiin, Käyttäjien suhteita toisiinsa • Käyttäjä voi olla erikoistapaus toisesta (tai päinvastoin toisen yleistys) [generalization] Käyttötapausten suhteita toisiinsa • Käyttötapaus voi olla erikoistapaus tai yleistys • Käyttötapaus voi olla toisen laajennus (esim. poikkeustilannetoiminnot) [extends] • Käyttötapaus voi sisältää toisen tapauksen [include]

16 Käyttötapauskaavioiden elementtejä
Yhteydet (associations) Yhteys käyttäjän ja käyttötapauksen välillä Yhteys käyttötapausten välillä Yleistyssuhde (generalizations) Joko käyttäjien tai käyttötapausten välinen Erikoistapaus tarkentaa yleisempää tapausta tai lisää siihen ominaisuuksia Verrattavissa periytymiseen luokkahierarkiassa

17 Vaatimusten esittäminen käyttötapausmallina
Joukko käyttötapauskaavioita ja niiden tekstikuvauksia Usein tarvitaan useita kaavioita Käyttötapausten organisointi ja niiden väliset suhteet nousevat keskeiseen rooliin

18 Käyttötapauksen tekstikuvaus
Vaatimusten kannalta olennaista on käyttötapausten tekstuaaliset kuvaukset Tekstikuvaus sisältää tyypillisesti ainakin Käyttötapauksen nimi ja numero Käyttötapaukseen liittyvät käyttäjät Tyypillinen kulku askeleittain Usein annetaan myös Annettavat syötteet ja saatavat tulosteet Tapaukseen liittyvät säännöt, vaatimukset, määrät.. Suhteet muihin tapauksiin, erikois- ja poikkeustilanteet

19 Käyttötapausten välisten suhteiden ilmaiseminen
Käyttötapausten välisiä suhteita on usein tarpeen ilmaista tarkemmin Erityisiä suhdetyyppejä includes ja extends Useamman käyttötapauksen osatehtävänä aina esiintyvä käyttötapaus voidaan sisällyttää sitä tarvitseviin käyttötapauksiin Esimerkiksi kirjautuminen on monesti tällainen Käyttötapauksen perussisältöä laajentavat osat voidaan liittää yleiseen käyttötapaukseen, esim. Vaihtoehtoiset tai valinnaiset käyttötapaukset Virhe- ja poikkeustilanteet

20 Esimerkki sisällyttämisestä
Tunnistautuminen on sisällytetty käyttötapaukseen ilmoittautuminen Mutta on sisällytettävissä myös muihin käyttötapauksiin Mahdollistaa tunnistautumiseen liittyvien yksityiskohtien abstrahoinnin

21 Esimerkki laajentamisesta
Vaihtoehtoisuus: Tunnistautuminen tehdään henkilötunnuksella tai opiskelijanumerolla Virhetilanne: Verkkoyhteys opiskelijarekisteriin ei toimi, jolloin ilmoittautumista ei voida kirjata

22 Esimerkinomainen käyttötapausformaatti
Otsaketiedot nimi, numero, laatija, päiväys, versio, status, … Lyhyt, parin virkkeen kuvaus käyttötapauksesta Käyttötapaukseen liittyvät käyttäjät Ehdot Kuvaus tilanteesta, jossa käyttötapaus voidaan suorittaa Kuvaus järjestelmän tilasta normaalin tai poikkeuksellisen suorituksen jälkeen Askeleet Käyttötapauksen tyypillinen kulku Poikkeuksellisten tilanteiden kulku

23 Käyttötapaukset ohjelmiston elinkaaressa
Vaatimusmäärittelyvaiheessa Voidaan lähteä liikkeelle esimerkiksi käyttäjien työtehtäviin perustuvista käyttötapauksista Listataan perussisällöt, joita tarkennetaan vaiheittain Suunnitteluvaiheessa Käyttöliittymäsuunnittelu Tietosisällön ja algoritmien riittävyyden ja toimivuuden tarkistus Toteutuksessa ja järjestelmän valmistuttua Testauksen pohjana Käyttöohjeen laatimisen apuna

24 Esimerkki: TKTL:n ilmo-järjestelmä
TKTL:n ilmo-järjestelmästä käytännön esimerkki Käyttötapauskaavio Käyttötapauksen kuvaus

25 Ilmoittautumisjärjestelmän käyttötapaukset

26 Ilmo-järjestelmän opiskelijan käyttötapauksia

27 TKTL:n ilmo-järjestelmän käyttötapauksen sanallinen kuvaus (tiivis)
Käyttötapaus: Kurssille ilmoittautuminen Käyttötapauksen tyypillinen kulku: Opiskelija antaa tunnistustietonsa Opiskelija valitsee kurssin ja harjoitusryhmän Opiskelija kirjataan ryhmään ja hän saa tiedon ilmoittautumisen onnistumisesta Sääntöjä Täyteen ryhmään ei voi ilmoittautua Tietyn opiskelijan ilmoittautuminen voidaan estää Muuta Periodin alussa ilmoittautumisessa on ruuhkahuippu

28 Käyttötapauksen ilmentymä
Esimerkki esitti käyttötapauksen tyypillistä kulkua Havainnollisuuden vuoksi on usein syytä antaa esimerkkejä Opiskelija ”Aatami” antaa tunnistetietonsa ’052955’ ja valitsee kurssin ’582101’ sekä harjoitusryhmän numero 3. Aatami kirjataan ryhmään 3 ilmoittautuneeksi ja hänelle annetaan tieto ilmoittautumisen onnistumisesta. Käyttötapauksen käsitteet linkittyvät laadittuun sanastoon

29 Ilmo-järjestelmän suunnittelijan käyttötapaukset

30 Yleistetty ja erikoistettu käyttötapaus
Suunnittelijan käyttötapauksista opetustarjonnan ylläpito on hyvin laaja tehtäväkokonaisuus Voidaankin ajatella, että kyseessä on yleistetty käyttötapaus, joka oikeasti pitääkin sisällään useita konkreettisia käyttötapauksia, kuten Uuden kurssin perustus Uuden harjoitusryhmän perustus Harjoitusryhmän peruutus Kurssin peruutus Mukana myös ulkoisia järjestelmiä, kuten tilanhallintajärjestelmä ja henkilöstöhallintajärjestelmä

31 Yleistetyt käyttötapaukset kaaviona

32 Käyttötapauksen modularisointi
Useaan tapaukseen saattaa liittyä yhteinen osa Yhteisestä osasta voidaan tehdä “alikäyttötapaus”, joka sisällytetään (include) pääkäyttötapaukseen Käyttötapauskaaviossa tätä varten oma merkintänsä katkoviivanuoli pääkäyttötapauksesta apukäyttötapaukseen Esim. käyttötapaus kirjautuminen suoritetaan aina kun tehdään ilmoittautuminen tai peruutus

33 Yhteiset osat ja include
Apukäyttötapauksen sisällytys on tärkeä ilmaista käyttötapauksen tekstuaalisessa kuvauksessa Muuten ei tietoa missä kohtaan sisällytys tapahtuu

34 Yhteydet ja yleistykset

35 Poikkeustilanteet ja laajennukset
Sisällytettävä käyttötapaus suoritetaan aina pääkäyttötapauksen suorituksen yhteydessä Myös tarvittaessa suoritettava laajennus tai poikkeustilanne voidaan kuvata apukäyttötapauksena, joka laajentaa (extend) pääkäyttötapausta Laajennus suoritetaan siis vaan tarvittaessa Esim. Ilmoittautuessa saatetaan huomata esitietopuute, jonka käsittely on oma käyttötapauksensa

36 Poikkeustilanteet ja laajennukset esimerkki

37 Esimerkki: kassapäätejärjestelmä
Esimerkki Craig Larmanin kirjasta Applying UML and Patterns Kirjan käyttötapausluku löytyy verkosta Aluksi etsitään järjestelmän käyttäjät: mitä käyttäjä haluaa saada järjestelmällä tehtyä Käyttäjän tavoitteellisista toiminnoista (esim. käsittele ostos) tulee tyypillisesti käyttötapauksia Samalla saatetaan löytää uusia käyttäjiä (erityisesti ulkoisia järjestelmiä joihin järjestelmä yhteydessä) Hahmotellaan alustava käyttötapausdiagrammi

38 Kassapäätejärjestelmän kaavio

39 Kuvauksen tekeminen karkealla tasolla
Ensin kannattanee tehdä vapaamuotoinen kuvaus käyttötapauksista (“brief use case”) POS, point of sales terminal eli kassapääte

40 Tarkempi kuvaus kirjoitetaan sovitussa määrämuodossa

41 Käyttötapauksen normaalikulku

42 Laajennukset, tarkennukset ja poikkeukset

43 Tarkennuksia

44 Huomioita tarkkaan kuvatusta käyttötapauksesta
Esimerkin mallin mukaan käyttötapauksen pääkulku kannattaa kuvata tiiviisti Eri askeleiden sisältöä voi tarvittaessa tarkentaa Kuten edellisellä sivulla tarkennettu askel 7 “customer pays...” Huomioi tapa, miten poikkeusten ja laajennusten sijainti pääkulussa merkitään 7a => laajentaa/tarkentaa pääkulun kohtaa 7 Osa jossa laajennukset, tarkennukset ja poikkeukset dokumentoidaan, on usein paljon pidempi kuin normaali kulku

45 Lopuksi Käyttötapaukset ovat de facto-tapa ilmaista vaatimuksia
Toimii parhaiten interaktiivisille järjestelmille Kaaviotekniikka opittavissa nopeasti, hypoteesin mukaan kommunikoi myös asiakkaille Yksinkertainen ulkokuori sälyttää vastuun tekijälle: konsistessi ja järkevyys riippuu kontekstista Kattavuuden varmentamiseen ei ole välineitä, sillä sisältö on käyttötapausten tekstin varassa Käyttötapausten muokkaaminen vaatii jatkuvaa tarkkailua ja katselmointia, jotta kokonaiskuva ei rapaudu


Lataa ppt "Vaatimukset ja käyttötapaukset"

Samankaltaiset esitykset


Iklan oleh Google