582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely
Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla Käyttötapausmalli ja –kaavio Käyttötapausmallin laatiminen
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
Liiketoiminnallinen sidosryhmäkaavio Yksinkertainen korkean tason kaavio, joka on lainattu DFD-tekniikoista (ei varsinaista UML:ää) Kuvaa yrityksen tai järjestelmän tarjoamat keskeisimmät palvelut ja suhteet keskeisiin sidosryhmiin Ilmaisee kehitettävän järjestelmän rajauksen
Sidosryhmäkaavion tarkoituksesta Sidosryhmäkaavion tarkoituksena on tunnistaa tahot, jotka tulevat olemaan ohjelmiston kanssa tekemisissä Lisäksi tietovirtoihin liitetään tyyppi, jolla hahmotellaan toimintaa Sidosryhmien dokumentoimisella myös rajataan järjestelmän käyttäjäkuntaa Sidosryhmäkaaviossa tarkoituksellisesti ei mietitä mitä palvelut pitävät sisällään Vaatimukset ohjelman toiminteille kuvataan tarkemmin käyttötapauksina.
Käyttötapausmalli Tietojärjestelmän käytön ja päätoimintojen kuvaaminen Kuvaa organisaation, yrityksen tai järjestelmän palvelut tarkemmin kuin sidosryhmäkaavio 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
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
Käyttäjä (actor) Kuvaa roolia, jota järjestelmään liittyvä taho esittää Usein ihminen, mutta voi olla myös toinen ohjelma / ohjelmisto Haluaa saavuttaa käyttötapaukseen liittyvän tavoitteen Toimii vuorovaikutteisesti järjestelmän kanssa toteuttaakseen tavoitteensa
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
Yhteydet ja yleistykset
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
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
Käyttötapauksen sanallinen kuvaus: 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
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
Ilmoittautumisjärjestelmän käyttötapauksia
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
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
Esimerkki laajentamisesta Vaihtoehtoisuus: Tunnistautuminen tehdään henkilötunnuksella tai opiskelijanumerolla Virhetilanne: Verkkoyhteys opiskelijarekisteriin ei toimi, jolloin ilmoittautumista ei voida kirjata
Kurssikirjan 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
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
Lopuksi Käyttötapaukset ovat de facto-tapa ilmaista vaatimuksia Kaaviotekniikka opittavissa nopeasti, hypoteesin mukaan kommunikoi myös asiakkaille Yksinkertainen ulkokuori sälyttää vastuun tekijälle: konsistessi ja järkevyys riippuu kontekstista Käyttötapausten muokkaaminen vaatii jatkuvaa tarkkailua ja katselmointia, jotta kokonaiskuva ei rapaudu