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



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

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

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

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

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

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:

Nuorten tieto- ja neuvontatyön osaamiskartta Pirjo Kovalainen

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

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen

5. Järjestelmämallit. Mallinnus

OHJ-1151 Ohjelmointi IIe

Käsitteellinen mallintaminen

Kriittisen polun hallinta CRIPMAN (CRItical Path MANagement) Pekka Maijala & Jaakko Paasi

Määrittelyvaihe. Projektinhallinta

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

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

Raportointi hankkeen tulosten kuvaajana ja toteutuksen tukena

Ohjelmistojen mallintaminen, mallintaminen ja UML

SÄHKÖISEN LIIKETOIMINNAN AMMATILLISET ERIKOISTUMIS- OPINNOT (30 op)

IHTE-1100 Käytettävyyden perusteet syksy 2007 Liite 1: Käsitteellinen suunnittelu

Väli- ja loppuraportointi

Tietokannan rakenteen suunnittelu

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Katso-palvelun siirto VRK:lle

Käyttövaltuushallintaa kehitetään (SAP IDM -projekti), hyödyt virastoille

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

Testisarja Materiaali- ja valaistusparametrit

Palvelulinjakohtaisen standardin mahdollisuudet kuntoutuksen toteutuksessa Pirjo K Tikka

LaCRIS-ohjeet tiedekuntien ja yksiköiden henkilöstöhallinnolle Liisa Hallikainen

Palvelusetelin uudet. Lääkäripalveluyritykset ry Ismo Partanen

Hyvä vesihuoltohanke, suunnittelijan näkökulma

Muutoksenhakuohje. Muutoksenhakukiellot. Oikaisuvaatimus. Valitusosoitus

Suomen Lions-liitto ry Käyttäjätunnus ja sisäänkirjautuminen MyLCI - Käyttäjäohje Versio

JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 4. Soveltamisohje perustason kuvauksien tuottamiseen

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Maahanmuuttajien osaamisen tunnistamisen tulevaisuudennäkymiä. Turku, Nanna Wilhelmsson, KL 1

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistojen mallintaminen. Luento 5,

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

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

Ohjelmistojen mallintaminen, kesä 2010

LIIKETOIMINNAN TIETOTURVALLISUUS - ASIANTUNTIJAN ERIKOISTUMISOPINNOT (30 op)

Discgolf scorekeeper - Fisbeegolf pistetilasto. Ville-Veikko Saari 12. tammikuuta 2016

ARAn palvelut sähköistyvät

Ohjelmistojen mallintaminen, kesä 2009

Toimialan ja yritysten uudistuminen

T U K E A T A R V I T S E V A O P I S K E L I J A L U K I O S S A.

Kesäkuu Synkka Tuote Pakkaushierarkia yksittäin ja monipakkauksissa myytäville tuotteille

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

Johdatus diskreettiin matematiikkaan Harjoitus 7,

Menetelmätieteiden opintokokonaisuudessa on kaikissa tapauksissa oltava vähintään 10 op matematiikkaa ja vähintään 10 op tilastotiedettä.

Opiskelija esittää oman työnsä suullisesti toisille opiskelijoille ja osallistuu aktiivisesti muiden opinnäytteiden käsittelyyn.

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmiston testaus ja laatu. Testaus yleistä

VAPAASTI VALITTAVAT TUTKINNON OSAT. Autoalan perustutkinto

Laitteet ja komponentit - yksityiskohtaiset kuntotutkimukset

MagicDraw-pikaohje (VH5)

Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston rakenteen ja laatia ohjelmiston teknisen spesifikaation.

UML:n perustekniikat ja Rational Rose Enterprise Edition -työkalu

ESR-Henkilö. Tunnistautuminen ESR-Henkilö -järjestelmässä

Miksi kysyttäisiin sosiaalityön asiakkailta?

Ajankohtaista tukien maksamisesta

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS

Mikkeli Luonnos MEDIA MEDIATAITOJEN OPINTOKOKONAISUUS. Mikkelin Yhteiskoulun lukio Etelä-Savon ammattiopisto, kulttuuriala

Sähköpostiosoite: Postiosoite: PL HELSINGIN KAUPUNKI

KIVIRANTA, ASEMAKAAVAMUUTOS

1. Lomakkeet löytyvät asiointiportaalista osoitteesta

Jämsän kaupungin työllisyysyksikkö ja tehtäväkuvaukset

Katso-tunnistautuminen. Jyrki Laitinen ja Johanna Kallio Järjestelmän koulutus syksy 2015 Suomen ympäristökeskus SYKE

EVASERVE Moduuli: Tekninen toteutettavuus

Asemakaavan muutos nro , Kuninkaanmäki (97)

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

- Kommentoi koodisi. Koodin kommentointiin kuuluu kuvata metodien toiminta ja pääohjelmassa tapahtuvat tärkeimmät toiminnat. Esim.

Asiakaspalvelun uusi toimintamalli autetaan asiakasta digitaalisten palveluiden käytössä (AUTA)

Ampumahiihdon sinettiseurakriteerit

Kuusamon kaupungin ohjeistus PALVELUSETELI- JA OSTOPALVELUJÄRJESTELMÄN KÄYTTÖÖN

KOULUTUSVIENTI JA RAHOITUS. Jouni Kangasniemi, opetus- ja kulttuuriministeriö

Ohjelmistojen mallintaminen, kertausta

Dynaaminen analyysi II

Ohjelmistojen suunnittelu


Ennakkovaroitustoimintojen sekä. uuden teknologian hyödyntäminen. toteutuspöytäkirjamenettelyssä

KÄYTTÖOHJEET

TÖYSÄ Liite 1

HAVAINTO KIUSAAMISESTA KIUSAAMISEN KARTOITUS

Viite: Perusopetuksen tavoitteiden ja tuntijaon uudistamista valmisteleva työryhmä

Suomi.fi-tunnistaminen Julkishallinto, valtion ja kuntien yhtiöt Versio 2.0, JTO142

Verkkokaupan perustaminen - CASE NANSO GROUP OY. Thea Forstén

Käyttöohje. HenTyLi. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Opettajalle ohje opintojakson toteutuksen tekemiselle mallipohjana ja mallipohjan tuominen opintojakson toteutukseen.

etunimi, sukunimi ja opiskelijanumero ja näillä

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

Elinkeinoverolaki käytännössä. Matti Kukkonen Risto Walden

Ohjelmistotuotanto, s

Transkriptio:

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

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

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

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 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 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 käyttötapauksiin Mahdollistaa tunnistautumiseen liittyvien yksityiskohtien abstrahoinnin 20

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, 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 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 3. Käyttötapauksen kuvaus 24

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

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

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