582104 Ohjelmistojen mallintaminen kytttapauksiin perustuva vaatimusmrittely 1 Vaatimukset

  • Slides: 30
Download presentation
582104 – Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely 1

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

Vaatimukset ja käyttötapaukset • • Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla Käyttötapausmalli ja

Vaatimukset ja käyttötapaukset • • Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla Käyttötapausmalli ja –kaavio Käyttötapausmallin laatiminen 2

Vaiheittainen mallintaminen ja abstraktiotasot • UML-mallinnusta voidaan tehdä usealla abstraktiotasolla, esimerkiksi – Liiketoimintatason malli

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 3

Liiketoiminnallinen sidosryhmäkaavio • Yksinkertainen korkean tason kaavio, joka on lainattu DFD-tekniikoista (ei varsinaista UML:

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 • Yhteydet sidosryhmien ja liiketoiminnan välillä esittävät sidosryhmiltä liiketoimintaan saatavia tai niille toimitettavia tietoja 4

Esimerkki liiketoiminnallisesta sidosryhmäkaaviosta • Kirjan esimerkkikuva: 6. 1 (markkinoinnin vaikutusten ja kustannusten analysointia) 5

Esimerkki liiketoiminnallisesta sidosryhmäkaaviosta • Kirjan esimerkkikuva: 6. 1 (markkinoinnin vaikutusten ja kustannusten analysointia) 5

Sidosryhmäkaavion tarkoituksesta • Sidosryhmäkaavion tarkoituksena on tunnistaa tahot, jotka tulevat olemaan ohjelmiston kanssa tekemisissä

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. 6

Käyttötapausmalli • Tietojärjestelmän käytön ja päätoimintojen kuvaaminen • Kuvaa organisaation, yrityksen tai järjestelmän palvelut

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 7

Käyttötapausmalli • Liiketoiminnan tarkempi kuvaus liiketoimintatehtävämallin (business use case model) avulla. • Ylimmän tason

Käyttötapausmalli • Liiketoiminnan tarkempi kuvaus liiketoimintatehtävämallin (business use case model) avulla. • Ylimmän tason mallissa kuvataan tärkeimmät liiketoiminnan osaprosessit ja niihin osallistuvat tahot. • Erikoistapaus UML: n käyttötapausmallista (use case model) 8

Käyttötapaus (use case) • Järjestelmän avulla suoritettava looginen tavoitteellinen tehtäväkokonaisuus, jolla on lähtökohta ja

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 9

Käyttäjä (actor) • Kuvaa roolia, jota järjestelmään liittyvä taho esittää – Usein ihminen, mutta

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 10

Käyttötapauksen kuvaus • Graafisen elementin lisäksi sanallinen kuvaus, vain vähän muotovaatimuksia • Esitetään tyypillisesti

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ö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

Käyttötapauksen kuvauksen elementtejä • • Nimi (tekemistä, esim. lainaus, palautus) (name), versio Tavoite (goal)

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 13

Graafinen kuvaustekniikka • Käyttötapausmalliin liittyy graafinen kuvaustekniikka, jolla voidaan kuvata – Käyttäjän yhteys käyttötapauksiin,

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] 14

Käyttötapauskaavioiden elementtejä • Yhteydet (associations) – Yhteys käyttäjän ja käyttötapauksen välillä – Yhteys käyttötapausten

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 15

Yhteydet ja yleistykset 16

Yhteydet ja yleistykset 16

Vaatimusten esittäminen käyttötapausmallina • Joukko käyttötapauskaavioita ja niiden tekstikuvauksia • Usein tarvitaan useita kaavioita

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 17

Käyttötapauksen tekstikuvaus • Vaatimusten kannalta olennaista on käyttötapausten tekstuaaliset kuvaukset • Tekstikuvaus sisältää tyypillisesti

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 18

Käyttötapausten välisten suhteiden ilmaiseminen • Käyttötapausten välisiä suhteita on usein tarpeen ilmaista tarkemmin •

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 19

Esimerkki sisällyttämisestä • Tunnistautuminen on sisällytetty käyttötapaukseen ilmoittautuminen • Mutta on sisällytettävissä myös muihin

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 20

Esimerkki laajentamisesta • Vaihtoehtoisuus: Tunnistautuminen tehdään henkilötunnuksella tai opiskelijanumerolla • Virhetilanne: Verkkoyhteys opiskelijarekisteriin ei

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

Kurssikirjan käyttötapausformaatti • Otsaketiedot – nimi, numero, laatija, päiväys, versio, status, … • Lyhyt,

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 22

Käyttötapaukset ohjelmiston elinkaaressa • Vaatimusmäärittelyvaiheessa – Voidaan lähteä liikkeelle esimerkiksi käyttäjien työtehtäviin perustuvista käyttötapauksista

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 23

Esimerkki: TKTL: n ilmo-järjestelmä • TKTL: n ilmo-järjestelmästä käytännön esimerkki 1. Sidosryhmäkaavio 2. Käyttötapauskaavio

Esimerkki: TKTL: n ilmo-järjestelmä • TKTL: n ilmo-järjestelmästä käytännön esimerkki 1. Sidosryhmäkaavio 2. Käyttötapauskaavio 3. Käyttötapauksen kuvaus 24

TKTL ilmo-järjestelmän sidosryhmäkaavio 25

TKTL ilmo-järjestelmän sidosryhmäkaavio 25

TKTL: n ilmo-järjestelmän käyttötapauskaavio 26

TKTL: n ilmo-järjestelmän käyttötapauskaavio 26

TKTL: n ilmo-järjestelmän toisia käyttötapauksia 27

TKTL: n ilmo-järjestelmän toisia 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

TKTL: n ilmo-järjestelmän käyttötapauksen sanallinen kuvaus (tiivis) • Käyttötapaus: Kurssille ilmoittautuminen • Käyttötapauksen tyypillinen kulku: 1. Opiskelija antaa tunnistustietonsa 2. Opiskelija valitsee kurssin ja harjoitusryhmän 3. 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 28 ruuhkahuippu

Käyttötapauksen ilmentymä • Esimerkki esitti käyttötapauksen tyypillistä kulkua • Havainnollisuuden vuoksi on usein syytä

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

Lopuksi • Käyttötapaukset ovat de facto-tapa ilmaista vaatimuksia • Toimii parhaiten interaktiivisille järjestelmille •

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 30