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

Samankaltaiset tiedostot
käyttötapaukset mod. testaus

Vaatimukset mitä ne ovat

MagicDraw-pikaohje (VH5)

Määrittelyvaihe. Projektinhallinta

Vaatimusmäärittelyistä

Vaatimusmäärittelyistä

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

VH5, JOTU, MagicDraw:n käyttö

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

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

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

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Vaatimusmääritelystä UML:n avulla

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Formaalit menetelmät: Kirjaston formalisointi Z-kuvauskielellä

Käyttötapausanalyysi ja testaus tsoft

Ohjelmistotekniikan menetelmät, koe

TIE = JOTU. VH5 - MagicDraw

Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2

Lomalista-sovelluksen määrittely

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

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

ASIO Tilavarausohjelmisto / Peruskäytön ohje

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

Ohjelmistotekniikan menetelmät, kesä 2008

GroupDesk Toiminnallinen määrittely

1. Tarkastellaan seuraavaa kaaviota

5. Järjestelmämallit. Mallinnus

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotekniikan menetelmät, kevät 2008

Respa tilanvaraussovellus

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

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

UML- mallinnus: Tilakaavio

Ohjelmistojen suunnittelu

TOIMINNALLINEN MÄÄRITTELY MS

Webforum. Version 14.4 uudet ominaisuudet. Viimeisin päivitys:

Visual Case 2. Miika Kasnio (C9767)

ACUTE. Kalenteri Käyttöohje

Johdantoluento. Ohjelmien ylläpito

KIRJASTOJÄRJESTELMÄ Tietojenkäsittelytieteiden laitos Jyväskylän Yliopisto

Ohjelmistojen mallintaminen, kesä 2010

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

Opetussuunnitteluprosessi WebOodissa - OpasOodi

Suomi.fi-palvelutietovaranto. Info: Digituen kuvaaminen palveluna Palvelutietovarantoon (PTV)

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

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmiston toteutussuunnitelma

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

Yhteistoimintakaavio (Esimerkki)

Suomi.fi-palvelutietovaranto

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen

KÄYTTÄJÄKOULUTUS HARJOITUKSET IMS 2010

Oppilaan opas. Visuaaliviestinnän Instituutti VVI Oy. Versio 0.2 ( )

Ohjelmistojen mallintaminen kertausta Harri Laine 1

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

Hallintaliittymän käyttöohje

ASIO KENTTÄVARAUSOHJELMISTO. Asio Data Oy

Pikaopas työjärjestystietojen viemiseen uuteen Outlook -kalenteriin

SFS ONLINE. palvelu verkkokaupassa. helppo ja tehokas tapa hallita standardien tietoja

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Ohjeet vanhan venepaikan uudelleen varaamiseen

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

UML:n yleiskatsaus. UML:n osat:

Luokka- ja oliokaaviot

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

Tuotemallipohjaisen toimintaprosessin mallintaminen

1 PIKAOHJE SELAA AIKOJA PALAUTE AJANVARAUS VARAUKSEN TARKASTELU VAHVISTA LÄHTÖÖN OSALLISTUMINEN...

Porin yliopistokeskuksen tilavarausjärjestelmä. htila.ucpori.fi/ KÄYTTÖOHJE

TTY:n kirjaston kuulumiset 2008

ASIO-OHJE HENKILÖSTÖLLE.

Integrated Management System. Ossi Ritola

Työpalvelupaikat. Xwiki Admin 2016/07/06 16:35

Suomi.fi-palvelutietovaranto. Klinikka: Digituen kuvaaminen palveluna Palvelutietovarantoon (PTV)

Ohjeita Heili-kirjastojen Rockway.fi-palvelun käyttäjälle

Ical-kalenterisovellus

Tilavaraushakemuksen teko:

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Määrittely- ja suunnittelumenetelmät

KÄYTTÖOHJEET. TIMMI-tilavarausjärjestelmä. Digipolis Kemin Teknologiakylä ja Kemin kulttuurikeskus

TENNISVARAUSJÄRJESTELMÄ. OHJEKIRJA v.1.0

kertaa samat järjestykseen lukkarissa.

IT2015 EKT-ehtojen käyttö

Kuusio konseptikuvaukset askelia tehokkaampaan oppimiseen. oulun seudun ammattikorkeakoulu :: oamk.fi

Ohjeet psykoterapeuteille

1 Kirjautuminen ja Käyttöliittymä Kirjautuminen Käyttöliittymä Uuden varauksen tekeminen Normaali varaus...

Kurssin sisältö. Kurssilla vähemmän. Johdatus ohjelmistotekniikkaan. Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan?

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Asio. Ohjelma on selainpohjainen, joten ohjelmaa varten tarvitaan internet-selain. Ohjelmaan pääsee osoitteella

Varaamon kautta kirjaston laitteet, tilat ja palvelut löytyvät helposti

PROSESSIMALLINNUS. Ari Wahlstedt, KTT

Transkriptio:

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

Päivän ohjelma - Mythical Man Month: keskustelua - Pieni projektineuvotteluharjoitus - Käyttötapaukset ja niihin liittyvä harjoitus - Seminaariaiheiden ja -aikojen varauslista jälleen tarjolla - Kotitehtävä: Case VR, MagicDraw OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Mythical Man Month OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Mythical Man Month 1975 - Projektin aika-arvio ylittyy usein. - Arviointitekniikat ovat epätarkkoja ja huonoja. - Henkilötyökuukausi ei ole hyvä mitta projektin koolle. - Ohjelmoijien optimismi. - Testaukseen ei varata riittävästi aikaa. - Henkilöstön lisääminen myöhässä olevaan projektiin myöhästyttää sitä lisää. - Tutkimustuloksia ja tilastoja tulisi julkaista (Nykyään alan tutkimus on melko vilkasta...) - Jos aikataulua joudutaan muuttamaan, muutetaan sitä kerralla riittävästi. OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Mythical Man Month 1975 - Projektiin kuluva aika ei mene suhteessa sen kokoon. - Vain 50% työajasta käytetään oikeasti projektia eteenpäin vieviin asioihin. - Ohjelmoijen tuottavuus vaihtelee suuresti ohjelman monimutkaisuuden mukaan. - Korkeamman tason ohjelmointikielillä voidaan saavuttaa merkittävästi parempi tuottavuus. - Myöhästyminen johtuu pikkutekijöiden summasta. - Aikataulun pitäminen tarkasti määritettyjen välietappien kanssa on tärkeää. - Kannattaa laatia kriitisen polun kaavio. - Projektin johtajan rooli ja suhtautuminen alempiin johtajiin on tärkeää. - Kannattaa työskennellä koko ajan hieman etuajassa, kompensoiden väistämättömiä pieniä myöhästymisiä OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Tehtävä 1: projekt ineuvot t eluharjoit us Jaettuna ovat tekemänne asiakasvaatimukset. Pohtikaa ryhmissä asiakkaan näkökulmasta esimerkiksi seuraavia asioita: - Miten voitte varmistua siitä, että saatte varmasti sitä mitä haluatte? Ominaisuudet, sovelluksen ulkoinen olemus, jne. - Minkälaisia seikkoja sopimuksessa tulisi ottaa huomioon? - Miten turvaatte oman asemanne? - Miten rahoitusasiat kannattaisi sopia? - Mitä sidosryhmiä projektiin liittyy? - Tuleeko mieleenne reunaehtoja tai rajoitteita? OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Käyttötapaukset Kalvot: Ilkka Haikala 2009 OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Dipparekist eri - Ohjelmistotekniikan laitoksella valmistuu noin 100 diplomityötä vuodessa - D-työn tekemiseen kuluu aikaa muutamista kuukausista useisiin vuosiin - D-töitä ohjaavat laitoksen professorit, kukin hieman toisista poikkeavalla tavalla - D-työstä ylläpidetään aina tiettyjä perustietoja, lisäksi ohjaajilla on henkilökohtaisia tapoja pitää muistiinpanoja - D-töiden etenemistä seurataan: diplomityön rajaus valmis, aihe hyväksytty tk-neuvostossa, x sivua kirjoitettu, työ tuotu tarkastettavaksi, työ hyväksytty, seminaariesitelmän pvm, jne.) - Järjestelmän pitää siis sisältää yhteinen tietovarasto, jossa on kaikkien diplomitöiden perustiedot ja toisaalta yksittäisen ohjaajan tietovaraston pitää olla henkilökohtaisiin tarpeisiin mukautettavissa (ja käytettävissä ilman verkkoyhteyttä?).

Käyttötapauskaavio, versio 1 Dipparekisteri Lisää uusi opiskelija Lisää uusi kenttä Ohjaaja Etsi ehdot täyttävät opiskelijat tee palaverimuisti o kirjoita lausunto Pohja järjestelmän hahmottamiselle ja siitä keskustelemiselle

Käyt t öt apauskaavio, versio 2 Dipparekisteri Lisää uusi opiskelija Lisää uusi kenttä Ohjaaja Etsi ehdot täyttävät opiskelijat tee palaverimuisti o lisää/poista ohjaaja kirjoita lausunto Laitoksen johtaja tarkastele tilastoja

Toinen esimerkki KT-kaaviost a S a l i n v a r a u s j ä r j e s t e l m ä Varausten poistaminen Vastuu - henkilö Luentosalin varaaminen <<include>> <<include>> Perustietojen ylläpito ylläpitäjä <<include>> assistentti Harjoitussalin varaaminen <<include>> Käyttäjän identifiointi Salivuokran laskutus <<actor>> vuokrajärjestelmä

esimerkki Nimi: Luentosalin varaaminen, versio 1.0 / ijh Osallistujat: Vastuuhenkilö Tuloehdot: Vastuuhenkilö ja kurssi on syötetty järjestelmään (KT henkilötietojen ylläpito) Kuvaus: Vastuuhenkilö seuraa WWW-linkkiä, joka johtaa järjestelmän pääsivulle. Hän syöttää järjestelmään käyttäjätunnuksensa ja salasanansa (include: KT käyttäjän identifiointi). Käyttäjä pyytää järjestelmää näyttämään salin varaustilanteen haluamaltaan aikaväliltä. Hän saa eteensä salin lukujärjestysnäytön (ks. liite). Käyttäjä näkee näytöstä vapaat ajat sekä myös, mille kursseille sali on milloinkin varattu ja kuinka monelle viikolle. Käyttäjä tekee varauksen joltain vapaaksi havaitsemaltaan ajankohdalta. [Poikkeus: varaus ei onnistu]. Poikkeukset: Varaus ei onnistu: Varaustilanne on voinut muuttua sillä aikaa kun varaaja tekee varausta. Järjestelmä ilmoittaa tilanteesta käyttäjälle ja käyttäjä yrittää uudelleen. Lopputulos:Varaukset kurssin luentoajoiksi on tehty. Muut vaatimukset:päivittäin käsitellään kiireisimpänäkin aikana enintään n. 100 varausta. Vastausajan on oltava alle 1 sekuntia, lukujärjestysnäytön päivitys saa kestää 5 sekuntia.

Käyt t öt apauksen kuvaaminen UML ei standardoi mitenkään esitystapaa, eikä oikeastaan juuri muutakaan niihin liittyvää => paljon erilaisia tulkintoja Käyttötapauksen sisältö voidaan kuvata esimerkiksi: Käyttötapauksen nimi: Kuvaava nimi Osallistujat: Mitkä aktorit osallistuvat Tuloehdot: Mitkä ehdot ovat voimassa, kun käyttötapaus aloitetaan Kuvaus: Epäformaali, voidaan käyttää myös sekvenssikaavioita Poikkeukset: Poikkeustilanteet (mainitaan myös kuvauksessa) Lopputulos: Mitkä ehdot ovat voimassa, kun käyttötapaus lopetetaan Muut vaatimukset: käyttötapaukseen liittyvät ei-toiminnalliset vaatimukset

Käyttötapauskaavio: notaatio Aktori: käyttötapaukseen osallistuva käyttäjärooli Järjestelmä Käyttötapaus Käyttötapaus sisältää laajennuskohtia, joihin toinen käyttötapaus voidaan sijoittaa <<extend>> Käyttötapaus Käyttötapaus Aktori Käyttötapaus sisältää toisen osanaan <<include>> Käyttötapaus Käyttötapaus on erikoistapaus toisesta

Vältä käyttötapausten välisiä suht eita Accounting System Pay invoice Byer <<extend>> Pay overdraft fee Perform interaction Seller Älä käytä erikoistamista ja laajentamista ja sisällyttämistäkin vain säästeliäästi. 15

Käyttötapausten laatimisesta - Käyttötapauskaavio tukee käyttötapojen suhteiden kuvaamista, ei niiden sisällön kuvaamista. UML ei määrittele sisällön esitystapaa. - Käyttötapausten tulee olla ymmärrettävissä sekä asiakkaan että suunnittelijan kannalta. - Käyttötapauksen abstraktiotason on oltava sopiva (ei esim. yleensä käyttöliittymän yksityiskohtia). - Kaikkia käyttötilanteita/asiakasvaatimuksia ei voi/kannata antaa käyttötapauksina. - Käyttötapauksella tulee olla selkeä aloitustilanne ja lopetustilanne. - Käyttötapauksen "suuruudesta" päättäminen voi olla vaikeaa: Käyttötapauksen tulisi olla suhteellisen lyhyt (yhden sivun kuvaus). Käyttötapaus tuottaa käyttäjälle lisäarvoa (ei yleensä yksittäinen ohjelmiston toiminto, vaan kokonainen tuloksen tuottava ketju toimintoja). Käyttötapaus ei siis yleensä ole yksittäinen ohjelmalla suoritettava toiminto (ei siis esimerkiksi: tekstin kopiointi leikkuupöydälle).

Miksi käyt t öt apauksia? - Toimii apuna hahmotettaessa järjestelmää (yhteinen näkemys järjestelmästä) - Liittää asiakasvaatimukset järjestelmän toimintoihin - Mahdollistaa vaatimusten täsmentämisen - Rajaa järjestelmän ympäristöstään - Auttaa tunnistamaan kuka tai mikä käyttää järjestelmää - Määrittää järjestelmän korkean tason toiminnallisuuden - Auttaa jakamaan toiminnallisuuden osajärjestelmiin. - Määrittää järjestelmän perustermit - Apuna olioiden (keskeisten käsitteiden) tunnistamisessa - Voidaan käyttää ohjelmistokehityksen organisointiin (iteraatioiden suunnittelu) - Testauksen suunnittelu

Vaatimusten liittäminen toisiinsa KT:n avulla Asiakasvaatimukset Ohjelmistovaatimukset tekstin kopiointi maalaa kopioi KT kopioi teksti leikkaa tekstin siirtäminen siirrä kohdistin KT siirrä teksti liitä........................

Käyttäjätarina (user story) - Ketterissä menetelmissä yleisesti käytetty termi. - Muutamaan lauseeseen typistetty "käyttötapaus" - Tarinasta selviää: rooli (aktori) mitä tehdään ja mahdollisesti mitä lisäarvoa tekeminen tuottaa käyttäjälle (usein tämä on kuitenkin ilmeistä) Esimerkiksi: Kurssin vastuuhenkilönä pystyn tekemään kaikki yhden kurssin luentosalivaraukset yhdellä varausoperaatiolla (silloin kun luentoajat ovat koko kurssin ajan samoina viikonpäivinä samaan kellonaikaan).

Prepay Voucher -palvelu (Jyväkorpi 2001)

Harjoitellaanpa!

Tehtävä 2: Koulun kirjasto Asiakasvaatimuksia: Koululla on oma kirjasto, josta opiskelijat saavat lainata kirjoja. Opiskelijakortti toimii lainauskorttina. Lainaajalla voi olla korkeintaan 5 kirjaa kerrallaan lainassa. Kirjaa saa pitää lainassa korkeintaan yhden kuukauden. Kirjoja voi varata. Tehkää noin neljän hengen ryhmässä järjestelmästä: käyttötapauskaavio (aktorit, käyttötapaukset, yhteydet) yksi käyttötapaus (nimi, suorittajat, esiehdot, kuvaus, poikkeukset, lopputulos, muut vaatimukset)

Läpikäynti

Esimerkkivastaus: käyt t öt apauskaavio

Esimerkkivastaus: käyt t öt apaus Käyttötapaus: Lainaa kirjoja (versio 1.0 / ijh) Suorittaja(t): Asiakas Esiehdot: Kirjat ovat käsillä (lainaaja on hakenut itse, tai varattu kirja on otettu varaushyllystä). Kuvaus: Asiakas esittää opiskelijakorttinsa, josta saadaan opiskelijanumero. Järjestelmä tarkastaa, että asiakas ei ole syystä tai toisesta lainauskiellossa. Kirjat kirjataan asiakkaalle lainatuksi yksi kerrallaan [poikkeus 1: lainaajakohtainen yläraja ylittyy] [poikkeus 2: kirjan lainaus estyy kirjan varaustilanteen takia] Lopputulos: Kirjat on lainattu. Poikkeus 1: Järjestelmä ei anna lainata enempää kirjoja. Tämän tilanteen estämiseksi ennalta järjestelmä näyttää koko lainaustapahtuman ajan, kuinka monta kirjaa on vielä lainattavissa. Poikkeus 2: Kirjaan voi kohdistua yksi tai useampia varauksia. Ylimääräisiä kirjoja ei ole, kirjaa ei saa antaa lainaan. Muut vaatimukset: Lainaustapahtuman vasteajan on oltava alle 1 sekuntia.

MagicDraw-demo

Kotitehtävä: Case VR Luettavaksi jaetaan Suomen kuvalehdessä 30.1.2012 ilmestynyt artikkeli. OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Ensi viikolla - VR:n tapauksen käsittely - Luokkakaaviot - Esimerkki käyttöliittymäkuvien piirtelystä harjoitustyötä varten - Torstaina 14.6.2012 ei harjoituksia, vaan tarkoitus on valmistautua ryhmissä seuraavan viikon asiakastapaamisiin. OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012