Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Samankaltaiset tiedostot
Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistotekniikan menetelmät, UML

Johdatus sovellussuunnitteluun, s2001, osa 3 Helsingin yliopisto / TKTL. Harri Laine / Inkeri Verkamo 1. Järjestelmän palvelujen määrittely

Johdatus sovellussuunnitteluun, s2000, osa3 Helsingin yliopisto;/tktl. Harri Laine 1. Järjestelmän palvelujen määrittely

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistojen mallintaminen, kesä 2009

Käyttäjien tunnistaminen on ensimmäinen tehtävä järjestelmän palveluja määriteltäessä. Käyttäjien löytämiseksi voidaan esittää kysymykset:

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistojen mallintaminen, kesä 2010

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistojen mallintaminen, kertausta

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML

Määrittelyvaihe. Projektinhallinta

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

5. Järjestelmämallit. Mallinnus

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

Olioiden yhteistoiminta

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

Liite 2, Todennetun osaamisen rekisteri, käyttötapausten. Todennetun osaamisen rekisterin kohdearkkitehtuuri

Dynaaminen analyysi II

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Käyttötapaukset

Vaatimusmääritelystä UML:n avulla

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Käyttötapausten mallintaminen

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Testaussuunnitelma Labra

Ohjelmistotekniikan menetelmät, koe

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Käyttötapausanalyysi ja testaus tsoft

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä

Ratkaisut harjoitusviikon 2 tehtäviin

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Ohjelmistojen mallintaminen

Ohjelmistotuotanto, s

Ohjelmistojen suunnittelu

Joku hauska otu-aiheinen kuva (no ei oo pakko olla hauska) OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

MagicDraw-pikaohje (VH5)

Ohjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Testaaminen ohjelmiston kehitysprosessin aikana

UML:n yleiskatsaus. UML:n osat:

Ohjelmistojen mallintaminen luokkamallin laatiminen

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

HAAGA-HELIA Käyttötapaukset 1 Tietojenkäsittely Tietosysteemin määritys. Käyttötapaukset

Vaatimusdokumentti Labra

OpasOodi. Ilmari Hyvönen Opiskelijarekisteri

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Johdatus sovellussuunnitteluun

Ohjelmistojen mallintaminen

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Luokkakohtaiset eli stattiset metodit ja attribuutit

3a. Projektin hallinta (lisäys lukuun 3)

Raportointi >> Perusraportti Palautepyyntö: ICT palvelujen kehittäminen: Vaatimusmäärittely

käyttötapaukset mod. testaus

Ohjelmistotekniikka - Luento 2

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet.

Analyysi on tulkkaamista

Paikkatietojen tietotuotemäärittely

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Paikkatietojen tietotuotemäärittely

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

Ohjelmistojen mallintaminen. Matti Luukkainen

Määrittely- ja suunnittelumenetelmät

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Ohjelmistojen mallintaminen. Luento 3, 9.11.

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

Ohjelmiston toteutussuunnitelma

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

ICT-palvelujen kehittäminen - suositussarja Suvi Pietikäinen Netum Oy

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Oppijan palvelukokonaisuus. Tietomallinnuksen laaja katselmointi


Projektityö

Ohjelmistojen mallintaminen luokkamallin laatiminen

TTY:n kirjaston kuulumiset 2008

3. Käsiteanalyysi ja käsitekaavio

MALLINNUSTAPA v.0.8. STM:n kokonaisarkkitehtuuri. Mallinnustapa

etunimi, sukunimi ja opiskelijanumero ja näillä

Johdantoluento. Ohjelmien ylläpito

VH5, JOTU, MagicDraw:n käyttö

Transkriptio:

582101 - Ohjelmistotekniikan menetelmät, 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 kaavio Käyttötapausmallin laatiminen 2

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:ää) Kuvaa yrityksen tai järjestelmän tarjoamat keskeisimmät palvelut ja suhteet keskeisiin sidosryhmiin Ilmaisee kehitettävän järjestelmän rajauksen 4

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

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 6

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 7

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 8

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 9

Yhteydet ja yleistykset 10

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 11

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 12

Käyttötapauksen sanallinen kuvaus: 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 ruuhkahuippu 13

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 14

Ilmoittautumisjärjestelmän käyttötapauksia 15

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 16

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 17

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

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 19

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 20

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 21