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

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

Olioiden yhteistoiminta

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

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

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

Johdatus sovellussuunnitteluun

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

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. Luento 2, pe 5.11.

Ohjelmistotekniikan menetelmät, UML

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

Määrittelyvaihe. Projektinhallinta

Johdatus sovellussuunnitteluun

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistotekniikan menetelmät, kevät 2008

Käyttötapausanalyysi ja testaus tsoft

Vaatimusmääritelystä UML:n avulla

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

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

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistotekniikan menetelmät, kesä 2008

käyttötapaukset mod. testaus

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

TOIMINNALLINEN MÄÄRITTELY MS

UML - unified modeling language

Nimi: Henkilötunnus: {id} {+id}

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

1. Tarkastellaan seuraavaa kaaviota

Määrittely- ja suunnittelumenetelmät

5. Järjestelmämallit. Mallinnus

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

Ohjelmistojen mallintaminen

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

UML:n yleiskatsaus. UML:n osat:

Johdatus sovellussuunnitteluun

Kurssihallinta Päätapahtumat ja Jaksot. Pikaohje

Ohjelmistojen mallintaminen, kesä 2010

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

UML- mallinnus: Tilakaavio

1. Yleistä ohjeistusta

EMCS-järjestelmän sanomarajapinnan toiminnallinen kuvaus asiakkaille Meeri Nieminen

KURSSI-ILMOITTAUTUMISTEN PRIORISOINTIOHJE OPISKELIJOILLE 1.1 versio

ASIO Tilavarausohjelmisto / Peruskäytön ohje

Liiketoimintaprosessin kuvaus (esim. osapuolten välisenä yhteistyökaaviona) Sidosryhmäkaavio. karkea keskeistä tietosisältöä kuvaava luokkakaavio

Yhteistoimintakaavio (Esimerkki)

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

Ohjelmistotuotanto, s

Mallintaminen; kurssipalautejärjestelmä

WebOodin opinto-opas ja ilmoittautuminen

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

1. KÄYTTÖKONTEKSTI. jamkad VAATIMUSMÄÄRITTELY. Liite1_Vaatimusmaarittely_Elainklinikka.doc Filename: Last saved:

Johdatus sovellussuunnitteluun, s99, osa1 Helsingin yliopisto;/tktl Harri Laine 1

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

Luokkakohtaiset eli stattiset metodit ja attribuutit

Tietojärjestelmän osat

1. Kalenterin omistajan käyttöohje

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

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

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Johdatus sovellussuunnitteluun

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

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

Vuosikokoukseen ilmoittautuminen

WebOodin opinto-opas ja ilmoittautuminen

Johdatus sovellussuunnitteluun, s99, osa1 Helsingin yliopisto;/tktl Harri Laine 1. Johdatus sovellussuunnitteluun

Lyhyt oppimäärä sihteerin toimista Korppi-järjestelmässä

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

EUREFin vaikutukset organisaatioiden tietojärjestelmiin

WebOodin opinto-opas ja ilmoittautuminen

PAS-ilmo eli "Xaltotun" Käyttöohje Riku Kalinen

ARVO - verkkomateriaalien arviointiin

Pelaajan ja kilpailun järjestäjän ohjekirja

Ohjelmistojen mallintaminen, mallintaminen ja UML

Olioperustaisuus (object oriented)

Johdatus sovellussuunnitteluun. Johdatus sovellussuunnitteluun

SUOMI LIIKKUU KOULULIIKUNTATAPAHTUMIEN ILMOITTAUTUMISJÄRJESTELMÄ

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset

Ratkaisut harjoitusviikon 2 tehtäviin

sovellussuunnitteluun

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

Ohjelmiston vaatimusmäärittely

Olemme tehneet yhteistyötä asianajotoimistojen kanssa jo yli 20 vuotta. A&M Juristi on alusta pitäen suunniteltu selainkäyttöliittymälle.

Opintokohteiden muokkaus

Käyttötapausten mallintaminen

Ohjelmiston toteutussuunnitelma

Ohjelmoinnin perusteet Y Python

Luku 5 Kertaus. Tehtävä 1 Kerratkaa oppimanne asiat yhdessä keskustellen.

Rekisteröityminen, tilojen varaaminen ja maksaminen WebTimmi varausjärjestelmässä

Toteutukset ja toteutusten hallinnointi Sisussa

Osaamisen hallinta. Kiekun infotilaisuus

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla:

1. ASIAKKAAN OHJEET Varauksen tekeminen Käyttäjätunnuksen luominen Varauksen peruminen... 4

Vuosikokoukseen ilmoittautuminen

Tuotemallipohjaisen toimintaprosessin mallintaminen

Opintopolun esteettömyyshaasteet

Transkriptio:

Tietojärjestelmät tarjoavat tietoa sekä käyttäjille että epäsuorasti muille tahoille Tahoja, jotka ovat järjestelmän ulkopuolella, mutta kuitenkin palvelujen kautta kytkeytyneitä järjestelmään kutsutaan järjestelmän sidosryhmiksi Tällainen taho voi toimia tiedon tuottajana järjestelmään tiedon hyväksikäyttäjänä Tietojärjestelmät tarjoavat tietoa sekä käyttäjille että epäsuorasti muille tahoille. Tahoja, jotka ovat järjestelmän ulkopuolella, mutta kuitenkin palvelujen kautta kytkeytyneitä järjestelmään kutsutaan järjestelmän sidosryhmiksi Tällainen taho voi toimia tiedon tuottajana järjestelmään tiedon hyväksikäyttäjänä Järjestelmän sidosryhmät ovat tyypillisesti järjestelmän tukeman liiketoiminnan osan osapuolia organisaatioyksiköt, henkilöt, henkilöroolit tai ulkoiset järjestelmät, jotka joko toimittavat syötteitä järjestelmään tai saavat siltä tulosteita. Sidosryhmien yhteyttä järjestelmään voidaan karkeimmalla tasolla kuvata sidosryhmäkaaviolla (context diagram) Sidosryhmäkaavio rajaa järjestelmän suhteessa ympäristöönsä Sidosryhmäkaavio ei ole UML-tekniikka, vaan vanhempi Sidosryhmäkaavio näyttää sidosryhmien lisäksi järjestelmän tärkeimmät yhteydet sidosryhmiin sidosryhmille suunnatut tai niiltä saatavat keskeiset palvelut tai palvelukokonaisuudet Tarkastellaan esimerkkiä, jossa lipunvälitys-tietojärjestelmä rakennetaan välittäjäksii asiakkaan, elokuvayhtiökohtaisten varausjärjestelmien ja pankkijärjestelmien välille tiedustelu inquiry varaus LIPUNVÄLITYS reservation Ticket system Asiakas kysely laskutus varaus maksuilmoitus Customer inquiry billing reservation Payment notification Varausjärjestelmät Pankkijärjestelmät Seats reservation Bank system Harri Laine 1

Sidosryhmän järjestelmään yhdistävät nuolet kuvaavat palvelukokonaisuuksia Sidosryhmiä kuvaavat symbolit ovat vapaamuotoisia Nuolen kärki osoittaa palvelun tarjoajaan varausjärjestelmät tarjoavat lipunvälitysjärjestelmälle varaus- ja kysely-palvelut, pankkijärjestelmät tarjoavat laskutus- ja maksuilmoituspalvelut Huom. Ihmiset eivät koskaan tarjoa järjestelmälle palveluita vaan järjestelmä ihmisille. Täten ihmisiä järjestelmään yhdistävät nuolet osoittavat aina järjestelmään. Kaavio edellyttää aina tuekseen sanallisen kuvauksen järjestelmän tehtävä selitys järjestelmän ja sidosryhmien välisistä yhteyksistä aluksi riittää lyhyt lauseen mittainen kuvaus tarkentuu myöhemmin määrittelyn kuluessa täsmälliseksi järjestelmän palvelujen kuvaukseksi Tietojärjestelmä tarjoaa käyttäjilleen palveluita, jotka perustuvat järjestelmän tietosisältöön (use case model) on viime aikoina suosioon tullut tapa järjestelmän palvelujen määrittelyyn. (Jacobson: Object-Oriented Software Engineering: A use case driven approach, Addison-Wesley,1992) UML tarjoaa kuvaustekniikan käyttötapausmallin esittämiseen (tekniikka on kuitenkin aika turha, oleellista on käyttötapausmallin ajatus järjestelmän palvelujen määrittelystä) Käyttötapauksella (use case) tarkoitetaan järjestelmän avulla suoritettavaa tavoitteellista tehtäväkokonaisuutta. Termiä käyttötapaus käytetään yleisesti sekä luokkatason käsitteenä että ilmentymätason käsitteenä. Jatkossa käyttämme mahdollisissa epäselvissä tilanteissa luokkatasolla termiä käyttötapausluokka ja ilmentymätasolla termiä käyttötapausilmentymä. Käyttötapausluokka: Paikan varaaminen elokuvanäytökseen Käyttötapausilmentymä: Kalle Kenkkunen varaa paikan 308 Tennispalatsi 12:n näytökseen 20.11.1999 klo 21. Käyttötapauksella on käyttäjä joka käyttötapauksessa toimii vuorovaikutteisesti järjestelmän kanssa toteuttaakseen tavoitteensa antaa syötteitä, saa palautetta usein käyttäjä on ihminen, mutta se voi olla myös ulkoinen järjestelmä Käyttötapaukseen liittyy aina tavoite = asia, jonka käyttäjä haluaa saada aikaan käyttötapauksen avulla Harri Laine 2

TKTL:n ilmoittautumisjärjestelmään liittyviä käyttötapauksia ovat, esim: kurssille ilmoittautuminen <-- opiskelija NN ilmoittautuu JSS/s00 kurssin harjoitusryhmään 3 ilmoittaumisen peruminen <-- opiskelija NN peruu ilmoittautumisensa JSS/s00 kurssin harjoitusryhmään 3 kurssille ilmoittautuneiden määrän selvitys <-- opettaja HL selvittää kurssille JSS/s00 ilmoittautuneiden opiskelijoiden lukumäärän Lipunvälitysjärjestelmän käyttötapauksia: elokuvan tietyllä aikajaksolla olevien näytösaikojen ja paikkojen selvitys <-- asiakas NN haluaa saada selville tänään välillä 17-22 alkavien Star Wars Episode 1 näytösten ajat ja paikat Helsingissä lipun varaus <-- asiakas Kalle Kenkkunen varaa paikan 308 Tennispalatsi 12:n näytökseen 20.11.1999 klo 21. Käyttötapauksia voidaan kuvata monelta eri kannalta sekä luokka että ilmentymätasolla Käyttötapauksen sisällön kuvauksessa kuvataan käyttäjän kannalta mitä käyttötapauksen avulla halutaan saada aikaan Mitä syötteitä annetaan ja mitä tuloksia saadaan Mitä sääntöjä käyttötapaukseen liittyy Mitä vaatimukset, määriä tapaukseen liittyy Kuvauksessa ei pidä ottaa kantaa mihinkään käyttöliittymäteknisiin asioihin. Se ei saisi rajoittaa toteutusmahdollisuuksia. Puhtaasti sisällöllistä kuvausta voi olla vaikea muotoilla. Ajatus toimintatavasta voi ainakin piilevänä näkyä kuvauksessa. Käyttötapauksesta pitäisi määrittelyssä kuvata sen tyypillinen kulku, kuitenkin siten ettei se rajoita aiheettomasti käyttöliittymää. Käyttötapausten ei tulisi olla liian pieniä tai yksityiskohtaisia. kurssille ilmoittautuminen <-- opiskelija Opiskelija antaa tunnistustietonsa ja valitsee kurssin sekä kurssin harjoitusryhmän. Opiskelija saa tiedon ilmoittautumisen onnistumisesta. Opiskelija ei voi ilmoittautua täynnä olevaan ryhmään Opiskelija ei voi ilmoittautua, jos hänelle on kirjattu osallistumiseste. 2 ruuhkahuippua vuodessa, n. 1400 ilmoittautumista tunnissa, muulloin vähän elokuvan tietyllä aikajaksolla olevien näytösaikojen ja paikkojen selvitys <-- asiakas Asiakas valitsee elokuvan sekä aikavälin alku- ja loppupäivät ja aikarajat näytöksen alkamisajalle. Lisäksi asiakas voi määritellä näytetäänkö tulos teattereittain vaiko alkamisaikojen perusteella järjestettynä. Tuloksena asiakas saa luettelon näytöksistä määrittelemässään järjestyksessä Harri Laine 3

Paikkojen varaus näytökseen Vain rekisteröitynyt asiakas voi tehdä varauksia Asiakas valitsee näytöksen ja saa tiedot vapaina olevista paikoista. Hän valitsee näistä mieleisensä (yhden tai useampia) ja antaa tunnistetietonsa. Järjestelmä vahvistaa varauksen antamalla asiakkaalle varausnumeron sekä tuottamalla laskun, jonka asiakas maksaa pankkijärjestelmänsä avulla. Lasku jää odottamaan maksamista. Kun asiakas on maksanut laskun hän tulostaa itselleen liput. Edellä esitetyt kuvaukset käyttötapauksista ovat luokkatason yleiskuvauksia, esim kaikkia paikkavarauksia kuvaavia. Käyttötapausten havainnollistamiseksi voidaan (ja on yleensä syytäkin) käyttää ilmentymätason esimerkkitapausten kuvauksia. Ville valitsee elokuvan X-fileet III naytöksen teatterissa Kinopalatsi 6 30.11.1999 klo 19. Vapaista paikoista hän valitsee paikat 6/8 ja 6/9. Tunnustietona hän antaa rekisteröintitunnuksensa. Hän saa varausnumeron 1234567-8 ja laskun, jonka hän maksaa Merita- Solo maksupalvelun kautta. Liput hän tulostaa omalla kirjoittimellaan. Käyttötapauksilla kuvataan järjestelmän toiminnallisia vaatimuksia. Käyttötapaus on looginen kokonaisuus, jolla on lähtökohta merkityksen omaava lopputulos Käyttötapauksen kuvauksessa esitetään käyttötapauksen perussisältö Käyttötapaukset eivät välttämättä toteudu aina perussisältönsä mukaisesti vaan esiintyy: virhetilanteita, poikkeuksia, vaihtoehtoisia tai valinnaisia tapoja toimia Nämä kuvataan erilisinä laajennoksina tai täydennyksinä Paikkojen varaus näytökseen - esimerkkejä poikkeuksista ja virhetilanteista: Valittuun näytökseen ei ole haluttua määrää vapaita paikkoja Asiakas ei ole rekisteröitynyt Asiakas on unohtanut tunnistetietonsa Asiakkaalla ei ole käyttöoikeutta pankkitietojärjestelmään Asiakkaalla ei ole kirjoitinta Yhteys järjestelmään katkeaa (eri vaiheissa) Laajoissa järjestelmissä voidaan lähteä liikkeelle käyttäjien työtehtäviin perustuvista käyttötapauksista. Käyttötapauksia analysoitaessa löydetään yhteisiä osia, jotka voidaan erottaa omiksi käyttötapauksiksi. virhe- ja poikkeustilanteita vaihtoehtoisia sisältöjä Harri Laine 4

Käyttötapauksen perussisältöä muuttavat tehtävät voidaan liittää käyttötapaukseen sen laajennoksina (extent). Esim: Henkilötietojen antaminen voisi olla ilmoittautumisen laajennos, joka suoritetaan siinä tapauksessa, että opiskelija ei ole aiemmin antanut henkilötietojaan. Paikkojen varauksen viimeisellä osatehtävällä Lipun toimitus voisi olla kaksi vaihtoehtoa tulostus asiakkaan kirjoittimella toimitus teatterin lippupisteestä tätä käytettäisiin, jos tulostus asiakkaan kirjoittimella ei jostain syystä onnistu Toimitus teatterin lippupisteestä: Lippu kirjataan noudettavaksi teatterin lippupisteestä. Asiakkaan on lippua noutaessaan annettava varausnumeronsa. Kun asiakas on noutanut lipun se kirjataan noudetuksi. Toimitus asiakkaan kirjoittimella: Järjestelmä selvittää, tarvittaessa asiakkaalta kysymällä, millainen kirjoitin asiakkaalla on. Jos kirjoitin on tulostukseen soveltuva muodostetaan lippujen kuvat ja toimitetaan ne asiakkaan työasemaan. Asiakas tulostaa liput ja kuittaa tulostuksen onnistuneeksi. Poikkeuksia (näissä tilanteissa käytetään lippupisteestä toimitusta): kirjoitin ei ole tulostukseen soveltuva Tulostus ei onnistu uses paikkojen varaus toimitus lippupisteestä toimitus asiakkaan kirjoittimella epäonnistunut toimitus (use case model) on kattava, täydellinen luokkatason kuvaus järjestelmän käytöstä (palveluista) kaikki käyttötapaukset mukana käyttötapausten väliset yhteydet selvitetty esitetään kaavioina ja sanallisina kuvauksena UML-tarjoaa kaaviotekniikan käyttötapausmallin esittämiseen. Sanalliset kuvaukset ovat kuitenkin oleellisempia käyttäjä (actor) käyttötapaus Harri Laine 5

use case a käyttötapaus a hyödyntää b:tä Viivojen pitäisi olla katkoviivoja student register_on_course cancel_registration establish_new_course study_ administrator uses c laajentaa b:tä change_student_data study_exam_results determine_tasks determine_grades register_task-points use case b use case c teacher lecturer Edellä on tarkasteltu käyttötapauksen sisällön määrittelyä Käyttötapauksen toteutuksen suunnittelussa perustana on käyttöliittymän yleissuunnitelma suunnitellaan yksityiskohtaisesti käyttötapauksen läpivienti käyttöliittymän avulla määritellään käyttöliittymäolioille käyttötapauksen tarvitsemia palveluita Harri Laine 6