1. Johdanto. Kurssin otsikko. Mistä on kysymys? Mistä on kysymys? Miksi tarvitaan? Miksi tarvitaan? REQ, Juha Taina kevät 2008

Koko: px
Aloita esitys sivulta:

Download "1. Johdanto. Kurssin otsikko. Mistä on kysymys? Mistä on kysymys? Miksi tarvitaan? Miksi tarvitaan? REQ, Juha Taina kevät 2008"

Transkriptio

1 1. Johdanto Bray luvut 1-2 mistä vaatimusmäärittelyssä on kyse? miksi sitä tarvitaan? milloin sitä tarvitaan? aihepiirin keskeiset käsitteet kirjan esimerkkitapaukset kevät 2008 REQ, Juha Taina 1 Kurssin otsikko engineering: insinööritaito, tekniikka (myös: koneoppi, konepajateollisuus) requirement: täsmällisyys, vaatimus, edellytys, tarve systemaattisuus, hallitut työtavat requirements engineering: ja menetelmät vaatimusten muodostaminen epämääräistä! vaatimusten käsittely vaatimusmäärittely huom: ei tarkoita samaa kuin termi requirement specification kevät 2008 REQ, Juha Taina 2 monta sidosryhmää eri näkökulmia Mistä on kysymys? monenlaisia tarpeita ristiriitoja? epätäsmällinen lähtökohta mutta tuloksen pitäisi olla riittävän täsmällinen, että se sopii suunnittelun ja toteutuksen pohjaksi kevät 2008 REQ, Juha Taina 3 Mistä on kysymys? vaatimusmäärittely: mitä? mitä järjestelmä tekee mitkä ovat sen tehtävät vrt. suunnittelu (design): miten? miten järjestelmä tekee tehtävänsä myös: ohjelmiston tekeminen on ongelmanratkaisua mikä on ongelma, joka halutaan ratkaista? miten päästään huonosti määritellystä ongelmasta riittävän täsmälliseen (= ratkaistavissa olevaan)? kevät 2008 REQ, Juha Taina 4 Miksi tarvitaan? väärät tai puuttuvat vaatimukset ovat projektien epäonnistumisen yleisin syy miksi? lähtökohta luonnostaan epätäsmällinen tavoite: asiakkaan ja ohjelmiston kehittäjien yhteistyö ja vuorovaikutus mutta: erilaiset näkökulmat tietääkö asiakas mitä haluaa? ymmärtääkö kehittäjä mitä halutaan? kevät 2008 REQ, Juha Taina 5 Miksi tarvitaan? onko vaatimusten määrittelyn tavoite edes saavutettavissa? eri asiakasryhmien odotukset voivat olla jo lähtiessä keskenään ristiriitaisia vaatimukset muuttuvat elinkaaren aikana mistä tiedetään, onko syntyvä tuote kelvollinen? ei ehkä tiedetäkään, ellei vaatimuksia ole esitetty täsmällisesti! kevät 2008 REQ, Juha Taina 6 1

2 Miksi tarvitaan? halutaan täsmällinen kuvaus, mutta kaikki vaatimukset eivät sovi kuvattaviksi samoilla esitystavoilla: toiminnallisuus vs. laadulliset tarpeet perinteinen kuvaustapa: vapaata tekstiä täsmällisemmät kuvaukset edellyttävät formalismia ymmärtääkö asiakas niitä? vaatimukset muuttuvat: ylläpito? (sopivimman) esitystavan valinta kevät 2008 REQ, Juha Taina 7 Milloin tarvitaan / ei tarvita? vaatimusmäärittelyä ei tarvita, jos tehtävä on pieni ja yksinkertainen samanlainen sovellus on tehty ennenkin (tai jos virheillä ei ole niin väliä!) selvitä: mitkä ovat vaatimuksiin liittyvät riskit? mitkä ovat vaatimusriskin toteutumisesta aiheutuvat kustannukset? välttämätöntä ainakin jos projekti on suuri tai keskikokoinen kevät 2008 REQ, Juha Taina 8 Keskeisiä käsitteitä tehtäväalue (problem domain) ratkaisu(järjestelmä) (solution system) ohjelmistokehityksen päävaiheet: tehtäväalueen analysointi tehtäväalueen ja ratkaisun vuorovaikutus ratkaisun muodostaminen rajapinta vaatimusmäärittely tehtäväalue ratkaisujärjestelmä suunnittelu ja toteutus kevät 2008 REQ, Juha Taina 9 Tehtäväalueiden tyyppejä työväline (workpiece) toiminnan kohde on ratkaisun osa esim. tekstinkäsittely ohjausjärjestelmä (control system) toiminnan kohde on tehtäväalueen osa esim. teollisuusprosessin ohjaus tietojärjestelmä (information system) tehtäväalueen tiedon käsittely muunnosjärjestelmä (transformation system) esitystavan muunnos kytkentäjärjestelmä (connection system) rajapinta osapuolien välillä Tehtäväalueen tyyppiä voi hyödyntää vaatimusten määrittelyssä. kevät 2008 REQ, Juha Taina 10 Lisää käsitteitä sidosryhmä (stakeholder) henkilöt tai ryhmät joihin tuote vaikuttaa esim. asiakkaat, käyttäjät, kehittäjät, ylläpitäjät vaatimuksiin liittyvät dokumentit kirjava käsitteistö: tarkista ennen käyttöä! vaatimusmäärittelyn eri vaiheissa voi syntyä useita erillisiä dokumentteja: tarkemmin vaihejaon yhteydessä kevät 2008 REQ, Juha Taina 11 Vaatimusten luokittelua perinteinen luokittelu: toiminnalliset (functional) vaatimukset mitä järjestelmän pitää tehdä ei-toiminnalliset (non-functional) vaatimukset myös: laatuvaatimukset miten järjestelmän pitää toimia suorituskyky, käytettävyys, luotettavuus, miten järjestelmä pitää toteuttaa ylläpidettävyys, siirrettävyys, kevät 2008 REQ, Juha Taina 12 2

3 Vaatimusten luokittelua Bray: toiminnalliset (functional) vaatimukset mitä järjestelmän pitää tehdä (kuten edellä) suoriutumisvaatimukset (performance) miten järjestelmän pitää toimia: suorituskyky, käytettävyys, luotettavuus, liittyvät yleensä (yhteen tai useampaan, jopa kaikkeen) toiminnallisuuteen rajoitteet (constraints) suunnittelua koskevat rajoitteet liiketoiminnalliset rajoitteet kevät 2008 REQ, Juha Taina 13 Vaatimusten luokittelua välttämättömät vaatimukset edellytyksenä tuotteen hyväksyttävyydelle voivat kuulua mihin tahansa em. luokista valinnaiset vaatimukset toteuttaminen riippuu esim. aikataulusta, kustannuksista jne. edellyttävät priorisointia ratkaistava missä versiossa toteutetaan (jos ollenkaan) luokittelu tärkeyden mukaan kevät 2008 REQ, Juha Taina 14 Vaatimusten luokittelua käyttäjävaatimukset: korkean tason vaatimukset käyttäjän ymmärtämässä muodossa järjestelmävaatimukset: matalan tason vaatimukset täsmällisessä (formaalissa) muodossa vaatimuksen työstämisen työvaiheita kevät 2008 REQ, Juha Taina 15 Vaatimusten luokittelua eksplisiittiset vaatimukset ne vaatimukset jotka kirjataan dokumentteihin vain näistä on sovittu implisiittiset vaatimukset käyttäjän julkilausumattomat odotukset mutta nämäkin voivat olla hyväksyttävyyden kannalta välttämättömiä kevät 2008 REQ, Juha Taina 16 Tekniikoista alalla käytössä lukuisia eri tekniikoita jotkut sopivat vain tiettyyn vaiheeseen osa soveltuu useaan vaiheeseen erityisesti: mallittaminen olennainen osa ohjelmistotyötä tavoitteena ymmärryksen parantaminen käsittely ko. vaiheen yhteydessä yhtenä kokonaisuutena pelkistämällä = karsimalla epäolennaisuuksia mikä on epäolennaista? esitystavat (notation) taulu 8.1 (seuraava kalvo) kevät 2008 REQ, Juha Taina 17 Kuvalla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 18 3

4 Kirjan esimerkkitapaukset purjehduskilpailun tuloslaskenta perinteinen tietojärjestelmä hissin ohjaus sulautettu tosiaikajärjestelmä tiedostoformaatin muunnos työkaluohjelman käyttämän esitysmuodon konversio Petri-verkkojen käsittely CASE-työkalu Esimerkkijärjestelmien vaatimusmäärittelyn päävaiheet on esitelty oppikirjan luvuissa kevät 2008 REQ, Juha Taina Vaatimusmäärittelyn vaiheet Bray luku 2 tavoite: epämääräisistä tarpeista täsmälliseksi vaatimusten kuvaukseksi mistä epämääräiset tarpeet saadaan? miten niitä karsitaan ja muokataan? miten niistä tehdään täsmällisiä? miten varmistutaan, että kaikki tarvittava on mukana? kevät 2008 REQ, Juha Taina 20 Vaiheet päävaiheet: vaatimusten kartutus vaatimusten analysointi ja sovittelu vaatimusten spesifiointi vaatimusten validointi ei yleensä lineaarisesti vaan iteroiden! muita tehtäviä: vaatimusten hallinta jäljittäminen sateenvarjotoimintoja kevät 2008 REQ, Juha Taina 21 Kartutus elicitation muita suomennosehdotuksia: esiinkaivelu, keräily, etsiskely, pyydystäminen, keskeisiä kysymyksiä: mitä tietoa tarvitaan? keneltä/mistä sitä voitaisiin saada? millä keinoin sitä voidaan saada? tulos (elicitation notes): läjä muistiinpanoja, nauhoitteita, kevät 2008 REQ, Juha Taina 22 Analysointi problem domain analysis tavoite: tehtäväalueen ja ongelman olennaisten piirteiden ymmärtäminen vaatii yleensä iterointia kartutuksen kanssa: havaitaan lisätiedon tarve kartutusta osana myös eri näkemysten sovittelu tulos (requirements document): tehtäväalueen kuvaus kevät 2008 REQ, Juha Taina 23 specification Spesifiointi ulkoisen käyttäytymisen suunnittelu (external design) huom. tämäkään vaihe ei ota kantaa siihen miten se tehdään vrt. suunnitteluvaiheessa tehtävä idesign toteutuksen suunnittelu (internal design) tulos: ratkaisujärjestelmän halutun käyttäytymisen täsmällinen kuvaus kevät 2008 REQ, Juha Taina 24 Bray: edesign 4

5 Validointi Yhteys ohjelmistoprosessiin validation varmistettava että tehtäväalue on ymmärretty oikein vaatimukset on kirjattu oikein jos toteutettu järjestelmä toimii kuten on spesifioitu, niin se täyttää vaatimukset keinoja: vaatimusten katselmointi, prototyypit, vrt. validointi myöhemmin projektissa esimerkkejä: vaatimusmäärittely Vesiputousmalli vaatimusten jäljittäminen eritasoiset vaatimukset validointi vaatimuksia vasten V-malli kevät 2008 REQ, Juha Taina 25 kevät 2008 REQ, Juha Taina 26 Käyttöliittymän suunnittelu Bray: käyttöliittymän suunnittelu on osa vaatimusmäärittelyä osa spesifiointia tai oma erillinen vaiheensa (käyttöliittymän yksityiskohtainen suunnittelu) useimmiten katsotaan kuuluvaksi (toteutuksen) suunnitteluvaiheeseen esitetäänkö käyttöliittymälle vaatimuksia? käyttöliittymä vs. (muut) vaatimukset? Vaatimusmäärittelyprosessi Bray: kuva 2.1 (kalvo 31) vaiheet tietovarastot tiedon siirtyminen vaiheesta toiseen vaiheiden aikajärjestys kevät 2008 REQ, Juha Taina 27 huom. ajoitus! kevät 2008 REQ, Juha Taina 28 Dokumentit Bray erottaa toisistaan kartutusmuistiinpanot (elicitation notes) analyysidokumentti (requirements document, analysis document) spesifikaatiodokumentti (specification) käyttöliittymädokumentti (HMI design document) nähdään usein jatkumona: vaatimuksia kartutetaan ja täsmennetään vähitellen Spesifikaatiodokumentti vaatimusmäärittelyvaiheen keskeinen lopputulos sopimus asiakkaan ja kehittäjän välillä tämän perusteella vastuu siirtyy asiakkaalta kehittäjälle dokumentti joka toimii suunnittelun lähtökohtana testauksen ym. validoinnin viitepohjana kevät 2008 REQ, Juha Taina 29 kevät 2008 REQ, Juha Taina 30 5

6 Vaatimuksia vaatimuksille Kuvalla (C) Ian Bray, 2002 virheettömyys yksiselitteisyys kattavuus ristiriidattomuus todennettavuus muokattavuus jäljitettävyys juuri tätäkö asiakas halusi? malli vs. luonnollinen kieli tässäkö kaikki mitä asiakas halusi? vaatimukset suhteessa toisiinsa onko validointi edes mahdollista? käyttö versiosta toiseen eteneminen projektin aikana kevät 2008 REQ, Juha Taina 31 kevät 2008 REQ, Juha Taina 32 Vaatimusmäärittely vs. suunnittelu (design) terminologiaongelmia: vaatimusmäärittely käyttäytymisen suunnittelu vs. toteutuksen suunnittelu tehtäväalueen jäsentäminen vs. suunnittelu ratkaisun jäsentäminen (design) molempien kuvaamiseen sopivat (usein/osittain) samat tekniikat suomessa vielä lisäksi: työskentelyn suunnittelu (planning) vs. toteutuksen suunnittelu (design) kevät 2008 REQ, Juha Taina 33 Vaatimusmäärittely vs. suunnittelu (design) mitä tietoa näissä käsitellään: tehtäväaluetta kuvaava tieto vs. (vain) ratkaisua koskeva tieto vaatimusmäärittelyn yhteydessä laadittava tietomalli vs. toteutuksen osana laadittava tietomalli tyypillisesti vaatimusmäärittelyssä koottava tieto on osa suunnittelun tietokokoelmaa vaatimusmäärittely suunnittelu (design) kevät 2008 REQ, Juha Taina 34 Vaatimusmäärittely vs. suunnittelu (design) olennainen ero: vaatimusmäärittelyssä kerätään ja jäsennetään olemassa olevaa tietoa: tehtäväalue ja tarpeet ovat todellisia, ne pitää vain löytää ja kuvata suunnitteluvaiheessa luodaan uutta: ainoata oikeata tai edes parasta ratkaisua ei välttämättä (yleensä?) ole olemassa! tämä ei suinkaan merkitse, että vaatimusmäärittely olisi helpompaa! kevät 2008 REQ, Juha Taina Vaatimusten kartutus Bray luvut 3, 9 requirements elicitation kartutus ei ole suoraviivaista olemassa olevien vaatimusten poimintaa piilevä tieto (latent) julkilausumaton tieto (tacit) perinteinen kartutusmenetelmä: käytetään tervettä järkeä vrt. asiantuntijajärjestelmien vaatima asiantuntemuksen keruu kevät 2008 REQ, Juha Taina 36 6

7 Mitä tietoa etsitään? tehtäväaluetta koskevat tiedot tehtäväalueen rajaus tehtäväalueen olennaiset ominaisuudet eri sidosryhmät ja niiden näkemys tehtäväalueesta myös: ratkaisun muodostamiseen liittyvät tiedot miksi? tarpeiden priorisointi milloin? Kartutuksen tavoitteena on koota riittävät tiedot, jotta tehtäväalue ja siihen sisältyvä ongelma voidaan ymmärtää. kevät 2008 REQ, Juha Taina 37 asiakkaat käyttäjät entinen järjestelmä tuleva järjestelmä tehtäväalueen asiantuntijat Tietolähteitä aiemmat vastaavat järjestelmät kilpailevat tuotteet dokumentit standardit lait ja määräykset käytä mieluiten useita lähteitä samoillekin asioille valitse oikeat (= parhaat) lähteet tunnista ja ota mukaan kaikki sidosryhmät kevät 2008 REQ, Juha Taina 38 Kartutusstrategia tavallisesti tarvitaan useita kierroksia aluksi sovelluksen tyyppi kuka/ketkä ovat asiakkaat/sidosryhmät? miksi tätä tehdään (= mikä on ongelma)? haetaan yleiskuvaa tehtäväalueesta ja tarpeesta myöhemmillä kierroksilla keskittyminen osa-alueisiin analyysin perusteella muodostetun kuvan oikeellisuuden tarkistaminen kevät 2008 REQ, Juha Taina 39 Annos (henkilöstö)politiikkaa otettava huomioon asiakasyrityksen henkilösuhteet ja organisaatiokulttuuri osallistuvien henkilöiden omat intressit voivat vääristää saatavaa tietoa minähän sanoin jo etukäteen, että sidosryhmien sisällä voi myös olla aidosti erilaisia näkemyksiä: esim. eri osastoilla, eri tehtävissä mitkä ominaisuudet ovat tärkeitä? tarvitaanko järjestelmää ylipäätään? kartuttaja kerää tietoa, ei ota kantaa! kevät 2008 REQ, Juha Taina 40 Ristiriidat erotettava toisistaan faktat ja mielipiteet karsittava virheet useiden lähteiden käyttö ristiriitaisten tietojen tuominen esille todellinen vai vain kuviteltu ristiriita? todellisten ristiriitojen tilanteessa kuka on ylin auktoriteetti? kompromissit useita rinnakkaisia vaihtoehtoja sisältävä ratkaisu kustannus-hyöty-analyysi kevät 2008 REQ, Juha Taina 41 Vaatimusten muuttuminen (ei liity vain kartutukseen vaan kaikkiin vaatimusmäärittelyn vaiheisiin) tehtäväalue vs. vaatimukset tehtäväalue on yleensä stabiili(mpi) vaatimukset voivat helpommin muuttua lisää vaatimuksia entisten vaatimusten muutoksia muutosten ennakointi? kerättävä myös tätä koskevaa tietoa kevät 2008 REQ, Juha Taina 42 7

8 Kartutustekniikoita kirjalliseen materiaaliin perustuvat: tehtäväalueeseen tutustuminen lukemalla taustamateriaalia esim. esitteet, toimintasuunnitelmat dokumenttien tutkiminen erit. aiemman järjestelmän dokumentit vaatimusten poiminta (requirements stripping) esim. asiakkaan vaatimuskuvauksista tai muiden järjestelmien vaatimusdokumenteista kevät 2008 REQ, Juha Taina 43 Kartutustekniikoita henkilöihin perustuvat: haastattelut usein paras (tai jopa ainoa) käyttökelpoinen menetelmä suurin potentiaali tiedonvälitykseen (sanat, piirrokset, mahdollisuus tarkentaa) kyselylomakkeet osittain samat tavoitteet kuin haastatteluissa suurempi kohdejoukko joustamattomuus kevät 2008 REQ, Juha Taina 44 Kartutustekniikoita käyttötilanteisiin perustuvat: käyttäjän tarkkailu (task observation) mitä tapahtuu todellisessa tilanteessa etukäteen suunnitellut tehtävät tarkkailun häiritsevä vaikutus? käyttötapausten tai skenaarioiden käyttö kuvitellun käyttötilanteen simulointi käyttäjän kanssa myös: erilaiset prototyypit mutta: perustuvat jo (yhteen) ratkaisumalliin kevät 2008 REQ, Juha Taina 45 Kartutustekniikoita muita tekniikoita: aivoriihet (brainstorming) joukko ihmisiä pystyy yhdessä tuottamaan ideoita, joita ei yksin tulisi ajatelleeksi lumipalloefekti edellytyksenä vapaa, kritiikitön asenne markkinatutkimukset saadaan paljon (tilastollista) tietoa tarpeista kohderyhmän valikointi? tulosten luotettavuus? kevät 2008 REQ, Juha Taina 46 Muita lähestymistapoja JAD = joint application development kartutus ryhmäsessioissa session kesto useita tunteja tai jopa päiviä eri sidosryhmien edustajat mukana RAD = rapid application development ei vain kartutus vaan koko tuotteen nopea valmistus parhaalla mahdollisella tiimillä lähtökohtana JAD-tyyppinen tiedonkeruu myös: ketterät prosessimallit jatkuva vaatimusten kartutus ja analysointi? kevät 2008 REQ, Juha Taina 47 Haastattelun järjestelyt ennakkosuunnitelma mitä tietoa haetaan? kysymyslista haastateltavien valmistelu valitaan oikeat (= asiaa tuntevat) henkilöt tiedotetaan haastattelun tavoitteesta tiedonkeruuvälineet muistiinpanot (itse vai kirjuri?) nauhoitus, videointi kevät 2008 REQ, Juha Taina 48 8

9 Haastattelun tekniikasta ymmärrettävyys käytä haastateltavan käsitteitä pysy erossa omasta ammattislangistasi! sitkeys älä luovuta, ellet ymmärrä varmasti kysy uudelleen (eri sanoin, myöhemmin) pyydä (ja käytä) esimerkkejä joustavuus ohjaa haastattelua sen mukaan, missä ongelmat tuntuvat olevan säilytä silti tavoite vastaanottavuus älä takerru omaan ennakkokäsitykseesi älä tarjoa vastauksia haastateltavalle kevät 2008 REQ, Juha Taina 49 Haastattelussa kysyttävää lähtökohta: WHAT, WHO, WHEN, WHERE & WHY kaaviokuva tms. havainnollistava esitys visiot, vaihtoehtoiset ideat priorisointi välttämättömät ominaisuudet (= minimi) tarpeelliset mutta ei niin kiireelliset utopiat myös: itse haastattelun toimivuus kevät 2008 REQ, Juha Taina 50 Kartutuksen muistiinpanot elicitation notes läjä muistiinpanoja, nauhoitteita, kokoelman purkaminen tarkennustarpeet? muistiinpanoihin kirjattava myös mistä tieto on peräisin miksi tällainen vaatimus esitetään mitkä asiat liittyvät toisiinsa jäljitettävyys vaatimusten hallinta kevät 2008 REQ, Juha Taina Vaatimusten analysointi Bray luku 4 problem domain analysis tehtäväalueen ymmärtäminen sovellusalueen käsitteistö ongelma johon etsitään ratkaisua sidosryhmien tarpeet tehtäväalueen tai sidosryhmien asettamat rajoitteet näiden keskinäiset suhteet kevät 2008 REQ, Juha Taina 52 Analyysi vs. spesifiointi tehtäväalue rakenne: osa-alueet ja niiden suhteet ominaisuudet mitä siellä tapahtuu ongelmat, tarpeet mitä ratkaisulta odotetaan = description of the problem domain + a list of problems to be solved vrt. spesifiointi: kuvataan ratkaisujärjestelmää miten ratkaisujärjestelmä toimii millä tavoin se täyttää asetetut vaatimukset = definition of a behaviour of the solution system that will meet the requirements kevät 2008 REQ, Juha Taina 53 Tehtäväalue vs. ratkaisu rajapinta tehtäväalue ratkaisujärjestelmä keskityttävä tehtäväalueen käsitteisiin käytännössä tämä on usein vaikeaa: sekoitetaan tehtäväalueen ja ratkaisun kuvaaminen olennaisia asioita voi jäädä puuttumaan, jos ne eivät sovi ratkaisun käsitteisiin kevät 2008 REQ, Juha Taina 54 9

10 Tehtäväalue vs. vaatimukset kartutusvaiheessa kerätään tietoa tehtäväalueesta tarpeista ja ongelmista (joista tulee vaatimuksia) analyysin tehtävä on jäsentää molemmat: rakenne sisältö yhteydet Analyysidokumentti analysis document, requirements document tiedon välittäminen asiakkaalta (sidosryhmiltä) spesifikaation laatijoille ratkaisujärjestelmän suunnittelijoille kaikkien voitava ymmärtää ja hyväksyä yksikäsitteinen, ristiriidaton, kattava selkeä, järjestelmällinen helppo muokata ja todentaa kevät 2008 REQ, Juha Taina 55 kevät 2008 REQ, Juha Taina 56 Analyysidokumentin rakenne tunnistetiedot tehtäväalueen kuvaus kokonaiskuva osa-alueet vaatimukset toiminnalliset vaatimukset suoriutumisvaatimukset rajoitteet tietohakemisto (data dictionary) lähteet kaaviot usein havainnollisimpia tässä vaiheessa voidaan parhaiten esittää tekstinä kevät 2008 REQ, Juha Taina 57 Analyysin lähestymistapoja rakenteinen analyysi (SA) lähtökohtana tehtäväalueen rakenteen jäsentäminen olioanalyysi (OOA) lähtökohtana tehtäväalueella toimivien olioiden (olioluokkien) tunnistaminen tehtäväaluepohjainen analyysi () lähtökohtana tehtäväaluetyypin/-tyyppien tunnistaminen kevät 2008 REQ, Juha Taina 58 Rakenteinen analyysi SA Rakenteinen analyysi SA tehtäväaluetta jäsennetään tutkimalla tiedon kulkua ja muunnoksia sopii parhaiten tietojärjestelmiin mallituksen lähtökohta: aiempi järjestelmä (voi olla myös manuaalinen) tai uuden järjestelmän ja sen ympäristön vuorovaikutus (konteksti) tiedon käsittely = tietoa muokkaavat prosessit: tietovuokaavio (data flow diagram) tiedon sisältö ja rakenne: tietohakemisto (data dictionary) tietojen keskinäiset suhteet ja riippuvuudet: ER-kaavio (entity relationship diagram) kevät 2008 REQ, Juha Taina 59 kevät 2008 REQ, Juha Taina 60 10

11 Esimerkkijärjestelmä E1 SA purjehduskilpailun tuloslaskenta perustuu kartutuksessa kerättyihin tietoihin nykykäytännöistä (luku 15) tietovuokaavio: kuva 4.1 tietohakemisto relaatiot ER-kaaviona: kuva 4.2 täydennyksiä tietohakemistoon avainkentät kevät 2008 REQ, Juha Taina 61 Kuvilla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 62 Esimerkkijärjestelmä E1 SA lähtökohta voi olla myös korkean tason ratkaisuidean mallitus: konteksti tietovuokaaviona: kuva 4.3 tietohakemisto korkean tason rakenne (esim.): kuva 4.4 tarvittaessa tarkennetaan: esim. kuva 4.5 alin taso kuvataan pseudokoodina huom. tässä on kyse yhden mahdollisen toteutuksen rakenteen mallittamisesta Figure 4.5 Kuvilla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 63 kevät 2008 REQ, Juha Taina 64 Esimerkkijärjestelmä E4 SA Esimerkkijärjestelmä E4 SA Petri-verkkojen piirrostyökalu ei aiempaa järjestelmää mallittamisen lähtökohdaksi kontekstikaavio: kuva 4.14 (kirjassa) käsiteltävät tiedot: ei ole selvää mitä toimintoja tarvitaan tietohakemisto ER-kaavio: kuva 4.15 (kirjassa) kevät 2008 REQ, Juha Taina 65 korkean tason tietovuokaavio: yksi mahdollinen ratkaisu: kuva 4.16 (kirjassa) muita vaihtoehtoja on paljon ongelmia (Bray): kaikki kuvan prosessit eivät kuulu tehtäväalueen käsitteisiin (esim. handle) otettu kantaa siihen, miten eräät halutut toiminnot toteutetaan (esim. undo) ei silti kerrota mitä toiminnoissa tapahtuu kevät 2008 REQ, Juha Taina 66 11

12 Kritiikkiä (Bray) SA Olioanalyysi OOA ero analyysin ja spesifioinnin välillä? usein lähempänä ratkaisun mallittamista aiemman järjestelmän mallittaminen onko se aina hyvä lähtökohta (hyvä malli?) rajanveto toteutuksen suunnitteluun? jäsentelyn tuloksena saatu rakenne ohjaa helposti myös suunnittelua ratkaisuun kuuluvia käsitteitä saattaa tulla mukaan jo tehtäväalueen kuvaukseen kevät 2008 REQ, Juha Taina 67 tehtäväalueella toimivat olioluokat attribuutit ja metodit käyttäytyminen luokkien väliset suhteet olioanalyysi jatkuu luonnostaan oliosuunnitteluna analyysin olioluokat edelleen käytössä uusia luokkia tarvittaessa erikoistamalla jo määritellyistä kevät 2008 REQ, Juha Taina 68 Olioanalyysi erilaisia olioluokkia: käsitteelliset = tehtäväalueen luokat rajapintaluokat toteutusluokat vaatimusten tunnistamiseksi voidaan käyttää käyttötapauksia: vrt. käyttö kartutuksen yhteydessä sopii erityisesti jos tehtäväalue on jo ennestään tuttu, mutta vaatimukset uusia kevät 2008 REQ, Juha Taina 69 OOA analyysivaiheessa spesifiointivaiheessa suunnitteluvaiheessa Olioanalyysi luokkakaavio tehtäväalueen olioluokkien tunnistaminen näiden ominaisuudet = attribuutit luokkien tarpeet toistensa suhteen = niiden tarvitsemat/tarjoamat palvelut luokan käyttäytyminen tilakaavio järjestelmälle asetettavat vaatimukset käyttötapauskaavio kevät 2008 REQ, Juha Taina 70 OOA Esimerkkijärjestelmä E1 purjehduskilpailun tuloslaskenta luokkaehdokkaat (taulu 4.1) luokka ja sen data näistä valitaan ne jotka tarvitsevat tai tarjoavat palveluja kuva 4.17 operaatiot: tyypilliset operaatiot ovat suoraviivaista attribuuttien käsittelyä mitä luokan oliot oikeastaan tekevät? kevät 2008 REQ, Juha Taina 71 OOA Esimerkkijärjestelmä E1 luokkien väliset relaatiot: (kuva 4.17) vrt. ER-kaavio periytyminen luokan käyttäytyminen: tilakaavio: esim. kuva 4.18 (boat) ongelmia: todellisuus vs. malli: käsittelevätkö oliot oikeasti omaa dataansa? (esim. boat) mikään kaavio ei kuvaa vaatimuksia! käyttötapauskaavio? kevät 2008 REQ, Juha Taina 72 OOA 12

13 Esimerkkijärjestelmä E1 OOA enter new boat user calculate results Kuvilla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 73 print report Kuvaa järjestelmän kontekstia, ei niinkään vaatimuksia. race officer kevät 2008 REQ, Juha Taina Esimerkkijärjestelmä E2 OOA Esimerkkijärjestelmä E2 OOA hissin ohjausjärjestelmä luokkaehdokkaat: taulu 4.2 luokka user: ei attribuutteja tai operaatioita mutta käyttää muiden luokkien palveluja kysymyksiä: ovatko luokkien attribuutit myös niiden reaalimaailman attribuutteja? (esim. floor) ovatko luokkien operaatiot myös niiden reaalimaailman operaatioita? (esim. button) kevät 2008 REQ, Juha Taina 75 toiminta: tilakaavio: esim. kuva 4.19 (motor) kaavio kuvaa todellisen olion toimintaa esim. hissi voi vaihtaa suuntaa nopeudesta riippumatta tarvitaan vaatimus, että ennen suunnan vaihtoa pitää pysähtyä haluttua tilannetta voisi kuvata esim. kuvalla 4.20 huom. ei ole osa tehtäväaluetta vaan ratkaisua, joten se ei kuulu analyysiin kevät 2008 REQ, Juha Taina 76 Esimerkkijärjestelmä E2 OOA luokkien väliset relaatiot: assosiaatiot: kuva 4.21 palvelujen käyttö: kuva 4.22 oliot eivät juuri käytä toistensa palveluja! miten kuvataan vaatimusten määrittelyn kannalta kiinnostavat tapahtumat? yksi mahdollinen ratkaisu olisi kuva 4.23 mutta: lift-controller = toteutettava ohjelmisto! kevät 2008 REQ, Juha Taina 77 Kuvilla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 78 13

14 Kritiikkiä (Bray) OOA Kuvilla (C) Ian Bray, 2002 tämä ei ole analyysia! ei yritetäkään tehdä eroa vaatimusten määrittelyn ja (toteutuksen) suunnittelun välillä toimii jos lähtökohtana tehtäväalueen tuntemus vaatimusten kuvaaminen käyttötapauksina korkean tason ratkaisun mallittaminen entä jos tehtäväalue on vieras? kevät 2008 REQ, Juha Taina 79 kevät 2008 REQ, Juha Taina 80 Tehtäväaluepohjainen analyysi pidetään analyysi ja spesifiointi erillään: tuloksena täysin erilliset dokumentit analyysin esitystapoina graafiset mallit sanallinen kuvaus mallitusstrategia: tehtäväkehykset (problem frames) kevät 2008 REQ, Juha Taina 81 Tehtäväkehykset tehtäväalue koostuu osa-alueista mikä tahansa mielekkäästi rajattavissa oleva osa vrt. konteksti (rajapinta ratkaisuun päin) kaikki osa-alueet eivät ole suoraan yhteydessä ratkaisujärjestelmään analyysin lähtökohta: tunnistetaan jako osa-alueisiin analysoidaan kukin osa-alue sen mukaan, millaisesta kehyksestä on kysymys kevät 2008 REQ, Juha Taina 82 Tehtäväaluetyypit työväline (workpiece) ohjaus (control system) sääntöihin perustuva ohjaus tai operaattorin komennot tietojärjestelmä (information system) jatkuva tiedon välitys tai raportointi pyynnöstä muunnos (transformation system) kytkentä (connection system) Kuvaustekniikka kaavioilla voidaan kuvata osa-alueita ratkaisujärjestelmää alueiden välisiä nimettyjä yhteyksiä alueiden välisiä nimettömiä yhteyksiä vaatimusten viittauksia alueisiin vaatimusten rajoitteita alueisiin alueen sisältymistä toiseen esimerkkinä Petri-verkkotyökalua kuvaava kehysrakenne: kuva 4.29 kevät 2008 REQ, Juha Taina 83 kevät 2008 REQ, Juha Taina 84 14

15 Sanallinen kuvaaminen Tehtäväalueen luokittelu sanamuodon perusteella voidaan erottaa tehtäväaluetta koskevat faktat ja ratkaisuun vaikuttavat tarpeet (vaatimukset) esim. tapaluokat (mood): faktat: on, tekee, lasketaan, tarpeet: pitää olla, täytyy tehdä, joskus käytetään sanamuotoa myös kuvaamaan vaatimuksen voimakkuutta: täytyy olla vs. voi olla kevät 2008 REQ, Juha Taina 85 osa-alueen kehystyypin tunnistaminen alueiden ominaisuuksia: staattisuus vs. dynaamisuus muutoksia aiheuttavat tekijät ennustettavuus konkreettisuus kuva 4.30 näiden perusteella tehtäväalueet voidaan luokitella eri kehystyyppeihin kevät 2008 REQ, Juha Taina 86 Analyysin eteneminen Työkalu tunnistetaan tehtäväalueen (osaalueiden) kehystyyppi/-tyypit kuvataan tehtäväalueen kehysrakenne: osa-alueiden ominaisuudet alueiden väliset relaatiot ja viittaukset analyysidokumenttiin sisältyy erilaisia osia riippuen kehystyypistä tehtäväalueen kuvaukseen kuuluvia osia vaatimuksia kevät 2008 REQ, Juha Taina 87 kehysrakenne: kuva 4.31 työkalu on osa ratkaisua epäkonkreettinen työkalun tila muuttuu ainoastaan käyttäjän toiminnan seurauksena esim. piirrostyökalut, tekstinkäsittelyjärjestelmät, taulukkolaskentaohjelmat käyttäjän pyynnöt spontaaneja eivät ole (täysin) ennustettavissa taulu 4.5 tehtäväalue: ulospäin näkyvä tiedon rakenne vaatimukset: miten käyttäjän pyyntöihin pitää reagoida kevät 2008 REQ, Juha Taina 88 Ohjaus Kuvilla (C) Ian Bray, 2002 ohjaus voi perustua sääntöihin: kuva 4.32 käyttäjän käskyihin: kuva 4.33 ohjauksen kohde ei ainakaan täysin autonominen usein konkreettinen esim. hissi, palohälytin, teollisuusprosessin ohjaus käyttäjän käskyt ei ennustettavissa taulu 4.6 tehtäväalue: tietomalli ohjattavan järjest. käyttäytyminen vaatimukset: mitä komentoja voidaan antaa miten järjestelmän pitää reagoida niihin kevät 2008 REQ, Juha Taina 89 kevät 2008 REQ, Juha Taina 90 15

16 Tietojärjestelmä Kuvilla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 91 raportointi voi olla jatkuva: kuva 4.34 pyynnöstä: kuva 4.35 raportoitava todellisuus (real world) järjestelmä sisältää tietoa (tietomallin) kuva 4.36 päivitystietoja raportointipyyntöjä todellisuus autonominen kuvataan järjestelmässä usein mallina kuva 4.37 taulu 4.7 tehtäväalue: tietomalli, tapahtumat, tilat vaatimukset: mitä raportteja ym. pitää tuottaa esim. opiskelijarekisteri, lennonohjaus kevät 2008 REQ, Juha Taina 92 Kuvilla (C) Ian Bray, 2002 Kuvalla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 93 kevät 2008 REQ, Juha Taina 94 Muunnos Kytkentä kuva 4.38 syötetieto staattista ei yleensä konkreettista joskus konkreettinen lähtökohta, josta muokataan syöte esim. skanneri, kassapääte, työkalujen välinen esitystapamuunnos tulostieto ei muutu itsekseen vaan järjestelmän toiminnan tuloksena taulu 4.8 tehtäväalue: syötteiden rakenne tulosteiden rakenne vaatimukset: kuvaus syötteistä tulosteiksi kevät 2008 REQ, Juha Taina 95 kytkentä alueiden välillä, jotka eivät suoraan ymmärrä toisiaan välittäjänä voi olla laadittava ohjelma itse: kuva 4.39 laite: kuva 4.40 tehtäväalue konkreettinen laite konkreettinen itsenäinen tehtäväalueen ja laitteen tietojen yhteensopivuus taulu 4.9 tehtäväalue: tilat, tapahtumat vaatimukset: itsenäinen kuvaus alueiden esim. käyttöliittymä, välillä potilaan tarkkailu kevät 2008 REQ, Juha Taina 96 16

17 Kuvilla (C) Ian Bray, 2002 Monta kehystä kaikki tehtäväalueet eivät ole kuvattavissa yhdellä kehyksellä erotetaan osa-alueet käsitellään kutakin osa-aluetta tyyppinsä mukaan päällekkäisten osien käsittely? molemmat yhdessä vai kumpikin erikseen? esimerkkejä kuvissa kevät 2008 REQ, Juha Taina 97 kevät 2008 REQ, Juha Taina 98 Kuvilla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 99 Esimerkkijärjestelmä E1 purjehduskilpailun tulokset tietojärjestelmä raportteja tuotetaan pyydettäessä vrt. kuva 4.35: pyynnöt = raporttipyyntöjä raportit = kilpailutulokset jne. tietomalli ER-kaavio: kuva 4.45 (kirjassa) tietohakemisto osa-alueiden kuvaus esimerkki (teksti) entity life history: kuva 4.46 (kirjassa) tiedon syöttö käyttäjältä vaatimukset esimerkkejä (teksti) kevät 2008 REQ, Juha Taina 100 Esimerkkijärjestelmä E2 Esimerkkijärjestelmä E2 hissin ohjaus kontekstikaavio: kuva 4.47 (kirjassa) ei sisällä kaikkia osaalueita (esim. itse hissi puuttuu) kehysrakenne kuva 4.48 (kirjassa) huom. osa-alueiden väliset yhteydet käyttäjien toiminta osittain ennustett. muut osa-alueet laitteisto on tiedossa joten toiminta täysin ennustettavissa jos suunniteltavana olisi myös laitteisto, tehtäväalue olisi hyvin erilainen: ihmiset, rakennus, tietomalli kuva 16.4 (kirjassa) osa-alueiden kuvaus mitä tietoa tarvitaan suunnitteluvaiheessa eri kuvaustapoja esim. moottorin toiminta: päätöstaulut 4.14 ja 4.15 (kirjassa) sanalliset kuvaukset havaittavissa olevat tapahtumat tai toiminnot taulut 4.16 ja 4.17 (kirjassa) viiveet yms. esimerkki (teksti) vaatimukset esimerkkejä (teksti) kevät 2008 REQ, Juha Taina 101 kevät 2008 REQ, Juha Taina

18 Esimerkkijärjestelmä E3 Esimerkkijärjestelmä E4 työkaluohjelman esitystapamuunnos kehysrakenne kuva 4.49 (kirjassa) syötteiden ja tulosteiden kuvaus syntaksiesitys rakennekaavioina tai BNF esimerkki (BNF) syötteen alkuperä, tuloksen päämäärä esimerkki (teksti) vaatimukset kuvaussäännöt: taulu 4.19 (kirjassa) lisäksi voi olla tarpeen esittää esim. suoriutumisvaatimuksia (teksti) sekä työkaluun että ohjaukseen liittyviä piirteitä kuva 4.50 (kirjassa) työkalu: lähtökohtana ulos näkyvä (tiedon) rakenne ohjaus: lähtökohtana järj. käyttäytyminen tiedon rakenne ER-kaavio: kuva 4.51 (kirjassa) tietohakemisto vaatimukset: operaatiot ja niiden vaikutus esimerkki (teksti) huom. kuvaus on tässä vaiheessa vielä varsin abstrakti kevät 2008 REQ, Juha Taina 103 kevät 2008 REQ, Juha Taina 104 Arviointia tämä lähestymistapa ei ole vielä vakiintunut idea on houkutteleva: samantyyppiset kehykset tarvitaan samantyyppistä tietoa tehtäväalueesta vaatimusmäärittelyn osaamisen uudelleenkäyttöä vrt. suunnittelumallit löytyykö lisää kehystyyppejä? Vaatimusten sovittelu requirements negotiation sidosryhmien tarpeiden yhteensovitus sisältää: ristiriitaisten vaatimusten käsittelyä priorisointia mihin vaiheeseen sovittelu kuuluu? kartutusta vai analyysia vaatimuksia ei voida sovitella, ennen kuin ne on ymmärretty riittävän hyvin kevät 2008 REQ, Juha Taina 105 kevät 2008 REQ, Juha Taina Vaatimusten spesifiointi Spesifiointivaiheen tehtävät Bray luku 5 rajapinta requirements specification tehtäväalue ratkaisujärjestelmä ratkaisun ja tehtäväalueen rajapinta miten ratkaisun pitää toimia, jotta se täyttäisi asetetut vaatimukset ulkoisen toiminnallisuuden suunnittelu (external design) kohteena toiminnalliset vaatimukset suoriutumisvaatimukset em. suunnitelman kuvaaminen (=dokumentointi) täsmällisessä muodossa (specification) lopputuloksena spesifiointidokumentti kevät 2008 REQ, Juha Taina 107 kevät 2008 REQ, Juha Taina

19 Toiminnallisuuden suunnittelu luovaa suunnittelutyötä vrt. analyysi: todellisuuden kuvaus yleensä on mahdollista keksiä useita vaihtoehtoisia käyttäytymistapoja, jotka täyttävät vaatimukset valitaan näistä yksi (paras?) huom. ei oteta kantaa ratkaisun tekniseen puoleen (enempää kuin on välttämätöntä) kevät 2008 REQ, Juha Taina 109 Ulkoinen vs. sisäinen suunnittelu toiminnallisuuden suunnittelu (edesign) suunnittelua ohjaa analyysidokumentti dokumenttia lukevat sekä asiakkaat että järjestelmän kehittäjät oltava sidosryhmien ymmärrettävissä ja hyväksyttävissä osa vaatimusmäärittelyä toteutuksen rakennesuunnittelu (idesign) kokonaisuus jaetaan osajärjestelmiin alemman tason suunnittelua ohjaa ylemmän tason suunnitelma dokumenttia lukevat vain järjestelmän kehittäjät osa suunnitteluvaihetta kevät 2008 REQ, Juha Taina 110 Vaatimusta vastaava toiminta yksi vaatimus vastaavan toiminnallisuuden kuvaus esim.: A lift will only reverse direction when stopped at a floor. yksi vaatimus suuri joukko toiminnallisuuksia esim.: Each lift should be used an approximately equal amount. miten valitaan mikä hissi lähetetään? kevät 2008 REQ, Juha Taina 111 Vaatimusta vastaava toiminta useita mahdollisia ratkaisuja esim.: Subject to constrants detailed below, the user can enter, amend and delete details of: boat-class, boat, series, race, series-entry, race-entry. miten valitaan paras ratkaisu? vaatimusten priorisointi mitä tehdään usein? mikä on tärkeintä? suoriutumisvaatimukset kevät 2008 REQ, Juha Taina 112 Käyttöliittymän suunnittelu käyttäjärajapinta sisältää usein eniten ratkaisuvaihtoehtoja: erilaiset i/o-laitteet komennot vs. graafinen käyttöliittymä käli-suunnittelu on oma osa-alueensa: käyttäjän toimintojen optimointi muistirasituksen minimointi (ml. valittujen ratkaisujen yhdenmukaisuus) palaute ja peruutusmahdollisuus kevät 2008 REQ, Juha Taina 113 Ratkaisun rajapinnat rajapinnan toisena osapuolena ihmiset muut järjestelmät laitteet voidaanko eri rajapinnat erottaa? joskus voi olla selvä hissin käyttäjä vs. huoltomies voi olla paljonkin päällekkäisyyttä kuinka tarkasti rajapinta täytyy määritellä? ainakin looginen toiminnallisuus on määriteltävä entä fyysinen taso? riippuu tehtävästä riippuu liittymän monimutkaisuudesta riippuu asiakkaasta kevät 2008 REQ, Juha Taina

20 Suoriutumisvaatimukset myös suoriutumisvaatimukset voivat vaatia täsmentämistä kapasiteettivaatimukset aikavaatimukset erityisesti tosiaikajärjestelmissä tehokkuus? käytettävyys? luotettavuus? kyllä! kyllä! ei! Bray jos ne riippuvat toiminnallisuuden suunnittelusta kevät 2008 REQ, Juha Taina 115 Asiakkaan osallistuminen vaihtelevia käytäntöjä: ääripäät: ei lainkaan koko ajan mukana onko asiakkaan osallistumisesta hyötyä? prototyypit välivaiheiden evaluointi voi paljastaa puutteita vaatimuksissa mutta: kuinka hyvin asiakas tietää, mitkä ovat mahdollisia ratkaisuja? kaikissa tapauksissa asiakkaan täytyy hyväksyä lopputuote kevät 2008 REQ, Juha Taina 116 Käyttäytymisen dokumentointi 1. ratkaisujärjestelmän saamat syötteet syntaksi ja semantiikka 2. ratkaisujärjestelmän tuottamat tulosteet syntaksi ja semantiikka 3. syötteiden ja tulosteiden väliset yhteydet (relationships) reagointi syötteisiin ajalliset riippuvuudet huom. kirjan lyhenne: ER = event response kevät 2008 REQ, Juha Taina 117 Syötteet ja tulosteet analyysivaiheesta saadaan suoraan: tehtäväalueen kuvaus usein myös (suurin) osa syötteistä ja tulosteista riippuu paljon tehtäväalueesta kuvaustapa: tietohakemisto järjestelmä- ja laiterajapinnat usein valmiiksi määriteltyjä käyttäjärajapinnat voi olla paljonkin suunniteltavaa esim. kyselyt, virheilmoitukset jne. kevät 2008 REQ, Juha Taina 118 Miten tietoa välitetään Ratkaisun tietomalli syöttö-/tulosvirta (data stream) tyypillinen siirtotapa esim. kahden järjestelmän välillä käsittely saapumisjärjestyksessä (FIFO) puskurointi tieto on luettavissa vain kerran tietoallas (data pool) moniulotteinen data data käytettävissä, kunnes sen päälle kirjoitetaan samanaikainen käsittely parametrit ohjelmointikielen mukainen tuki periaatteessa ei kuulu kuvattaviksi vaatimusmäärittelyssä syötteet ja tulosteet kertovat kaiken vaatimuksiin liittyvän tiedon yleensä on tapana laatia ratkaisun looginen tietomalli perustana tehtäväalueen tietomalli (laadittu analyysivaiheessa) lisäksi ratkaisun edellyttämä data kevät 2008 REQ, Juha Taina 119 kevät 2008 REQ, Juha Taina

21 Ratkaisujärjestelmän reaktiot Syöte-reaktioparit syöte = tapahtuma (event) järjestelmän reaktio syötteeseen (response) voi olla tuloste järjestelmän sisäisen tilan muuttuminen ei mitään reaktiota reaktio voi riippua yhdestä syötteestä useista syötteistä järjestelmään kertyneestä tiedosta järjestelmän tila = tähänastinen syötehistoria reaktio riippuu vain tilasta ja syötteestä auttavat spesifioinnin jäsentämisessä rajapintojen luokittelu laite käyttäjä operaattori ohjelmisto (API) reaktioiden luokittelu kelvollinen syöte tuloste kelvollinen syöte tilanmuutos kelvoton syöte kevät 2008 REQ, Juha Taina 121 kevät 2008 REQ, Juha Taina 122 laite usein ohjaus- tai yhteysjärjestelmien osana, joskus myös tietojärjestelmissä syöttövirta tai tietoallas ohjelmisto tyypillisimmin alijärjestelmissä syöttövirta tai parametrit Rajapintatyypit käyttäjä usein työkaluissa ja tietojärjestelmissä erityislaitteet (hiiri, näppäimistö, näyttö) syöttövirta lomakkeet, näyttö = tietoallas operaattori ihminen, mutta joustavampi kuin tavallinen käyttäjä kevät 2008 REQ, Juha Taina 123 Tulosteen muodostaminen suunnitellaan vastaavien vaatimusten mukaan tehtäväalueen kuvauksen pitäisi sisältää tarvittavat tiedot esim. hissin pysäytys hissin nopeus sensoreilta tuleva syöte moottorille annettavat komennot pysähtymiseen kuluva aika kevät 2008 REQ, Juha Taina 124 Tilanmuutos ratkaisujärjestelmän käytös kuvattu usein jo analyysivaiheessa tarkennetaan suhteessa tietomallin sisältöön esim. hissijärjestelmän asetukset ominaisuudet määritelty analyysissa tilanmuutoksia aiheuttavat tapahtumat voidaan esittää kaaviona Virhetilanteet ratkaisun toiminnan reunaehdot on määritelty analyysissa vaatimukset voivat liittyä esim. hyväksyttävien syötteiden rajoihin esim. hissijärjestelmän asetukset virheelliset arvot jätetään huomiotta tai annetaan käyttäjälle virheilmoitus kuvaus esim. tekstinä tai päätöstauluna kevät 2008 REQ, Juha Taina 125 kevät 2008 REQ, Juha Taina

22 Miten käyttäytyminen kuvataan funktionaalinen kuvaus kuvaa lopputuloksen ei kerro miten siihen päästään helpompi laatia helpompi ymmärtää suositeltava! proseduraalinen kuvaus kuvaa toiminnot joiden avulla lopputulokseen päästään ottaa kantaa toteutustapaan kevät 2008 REQ, Juha Taina 127 Spesifiointidokumentti tunnistetiedot yleiskuvaus tehtäväalue + ratkaisu vaatimukset järjestelmän käyttäytyminen tietohakemisto tehtäväalueen + ratkaisun käsitteet lähteet analyysidokumentista kevät 2008 REQ, Juha Taina 128 Vaatimuksia spesifiointidokumentille ymmärrettävä kaikki sidosryhmät selkeästi jäsennelty hierarkkisuus osien numerointi viittaukset muokattavuus jäljitettävyys laadukas yksiselitteinen kattava ristiriidaton automaattista käsittelyä tukeva tarkastus testien generointi animointi Spesifiointidokumentin käyttö vaatimusten kuvaus katselmointi hyväksyminen suunnittelun ja toteutuksen perusta testauksen perusta hyväksymisen vertailukohta tiedon välitys kehittäjille käyttöohjeen laatijoille ylläpitäjille myöhemmät projektit uudelleenkäyttö työmäärän arviointi kevät 2008 REQ, Juha Taina 129 kevät 2008 REQ, Juha Taina 130 Formaali spesifiointi spesifiointi käyttäen täsmällistä matem. notaatiota tavoitteena spesifikaation looginen ristiriidattomuus ratkaisun oikeaksi todistaminen kirjassa on esimerkki formaalista spesifioinnista (VDM) edellyttää käytetyn formalismin hyvää hallintaa käyttäjät ym. sidosryhmät? sopii vain tietyille sovellusalueille esimerkkejä Vienna Development Method (VDM) Z kevät 2008 REQ, Juha Taina 131 Spesifiointitekniikat syötteet ja tulosteet analysoinnissa käytettyjen kuvausten laajentaminen käyttöliittymä piirrokset, prototyypit ratkaisujärjestelmän käyttäytyminen monia erilaisia mallitustapoja ratkaisujärjestelmän tilat ja tilan muutokset tilakaaviot suoriutumisvaatimukset sanalliset kuvaukset (kaaviot) kevät 2008 REQ, Juha Taina

23 Esimerkkijärjestelmistä esimerkeissä esitellään samalla tekniikoita tekstiä, kaavioita kehysrakenne ja vaatimusluettelo minkä osa-alueiden kanssa ratkaisujärjestelmällä on rajapintoja? mitkä ovat vaatimukset? tarvittaessa tärkeysjärjestyksessä ensin looginen käyttäytyminen, sen jälkeen fyysiset yksityiskohdat kevät 2008 REQ, Juha Taina 133 lähtökohtana vaatimukset R1, R8, R15 suunnittelun ratkaisuja: käyttöliittymä WIMP (R15) oma ikkuna kullekin editointitavalle raportti tilataan editointi-ikkunasta Esimerkki E1 esimerkki: veneluokan käsittely näytön kuva (paperiproto) kuva 5.12 käyttäytymisen selostaminen esimerkki: liikkuminen ikkunoiden välillä tilakaavio kuva 5.14 kevät 2008 REQ, Juha Taina 134 Esimerkki E1: valikoidut vaatimukset R1: Subject to the constraints detailed below, the user can enter, amend and delete details of: boatclass, boat, race, series, race-entry, series-entry. R8: Upon command from the user, the system will produce the following reports: R8.1 boat-class-list R8.2 boat-list R8.3 series-list R8.4 series-details R8.5 series-outcome R8.6 race-outcome R15: A WIMP type interface is required (WIMP = Windows, Icons, Mouse, Pointer) kevät 2008 REQ, Juha Taina 135 Kuvilla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 136 Esimerkki E2 rajapinnat: kehysrakenteesta ja kontekstikaaviosta kuva 4.48 laitteet (napit, sensorit, moottorit) toimivat yhteen epäsuorasti myös hissit ja käyttäjät laitteet muodostavat käyttäjärajapinnan huoltomies (R16) muusta toiminnasta (enimmäkseen) erillinen rajapinta kuvat 5.4, 5.5 myös R17, R18 huom. myös yhteys muun järjestelmän käyttäytymiseen: hissit pysähtyvät huollon ajaksi Kuvilla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 137 kevät 2008 REQ, Juha Taina

24 käyttäjälle näkyvä rajapinta Esimerkki E2 käydään läpi kaikki vaatimukset laitteisto käyttäytyminen? laiterajapinnan kaaviossa R8, R11, R12: teksti R5: (esim. aiemmin) kuvaus taulu 5.5 suoriutumisvaatimukset: laitteiden toiminta: mitä tapahtumia mitä tiloja mitä riippuvuuksia usein tekstinä käyttötapaukset havainnollistaminen tilakaavio kuvat 5.15, 5.16 validointi kevät 2008 REQ, Juha Taina 139 Esimerkki E2: valikoidut vaatimukset R5: With the stop delay correctly configured the lift should stop within +/- 1.5 cm of the floor being serviced. R8: To service a send-button call, the relevant lift must stop at that floor. A call-button call may be serviced by any lift that is travelling in the correct direction stopping at that floor. R11: Where there is more than one lift: Call-button calls should be serviced by the lift that is likely to arrive there soonest. (It is appreciated that this cannot be guaranteed because the selected lift might be requested to service a new call whilst en route.) R12: Where there is more than one lift: Each lift should be used an approximately equal amount. R16: The service technician must be able to set: R16.1 number of lifts R16.2 number of floors R16.3 stop signal delay, for each lift (in the range 0.10 to 0.40 seconds) R17: The maximum number of lifts is 4, the minimum 1. R18: The maximum number of floors is 20, the minimum 2. kevät 2008 REQ, Juha Taina Vaatimusten validointi Kuvilla (C) Ian Bray, 2002 kevät 2008 REQ, Juha Taina 141 Bray luku 6 requirements validation etsitään ja korjataan vaatimusten määrittelyn virheitä ja puutteita analyysidokumentti: virhe = kohta jossa kuvaus ei vastaa todellisuutta spesifiointidokumentti: puute = kohta jossa kuvaus ei toteuta haluttuja vaatimuksia rinnakkain muiden vaiheiden kanssa myös menetelmät osittain päällekkäisiä kevät 2008 REQ, Juha Taina 142 Tarkistukset onko kaikki tarvittava otettu huomioon kartutus: kaikki sidosryhmät analyysi: kaikki osa-alueet spesifiointi: kaikki rajapinnat kaikki vaatimukset periaatteessa näiden pitäisi olla kunnossa, käytännössä useinkin unohduksia kevät 2008 REQ, Juha Taina 143 = kaikki kartutusmuistiinpanot = koko analyysidokumentti Vertaaminen standardeihin verrataan dokumenttia standardeihin poikkeamat kootaan ja korjataan dokumentin laatijat korjaavat korjaukset hoidettava ennen katselmointia (elleivät ole aivan vähäisiä) korjaaminen voi aiheuttaa uusia virheitä standardit on tarkoitettu helpottamaan lukemista: (turhien) muotovirheiden puuttuminen tehostaa katselmointia (sama koskee myös kielivirheitä) kevät 2008 REQ, Juha Taina

25 inspection review walk-through riippuu formaaliuden asteesta osallistujat: esittelijä kirjuri vetäjä tehtäväalueen asiantuntijat Katselmointi etsitään, ei korjata havainnot kirjataan korjausten seuranta suoritettava ajoissa suunnittelu etenee joka tapauksessa kallista, mutta tehokasta (jos on hyvin valmisteltu) kaikilta tarvittavilta osa-alueilta kevät 2008 REQ, Juha Taina 145 Looginen tarkastus vaatimusmäärittelyn syntaksin ja semantiikan tarkastus edellyttää sääntöpohjaisuutta formaalit menetelmät myös: muut kuvaustavat joissa on käytössä täsmälliset säännöt esim. monet kaaviot automatisointi? syntaksiohjatut CASE-työkalut erillinen tarkastustoiminto kevät 2008 REQ, Juha Taina 146 Prototyypit spesifikaatio proto kuvataan sama asia kahdella erilaisella tavalla havainnollistaa määrittelyä esim. animointi myös paperiprotot automatisointi? mahdollisia ongelmia: onko proto yhtäpitävä määrittelyn kanssa? onko määrittely oikea? kevät 2008 REQ, Juha Taina 147 Testitapausten suunnittelu vaatimusmäärittelyn tulee olla testattava hyväksymistestit pitää suunnitella (dokumentoitujen) vaatimusten perusteella jos testejä ei voi suunnitella, tuotetta ei voi testata! testejä suunniteltaessa voi paljastua ongelmia: puutteita ratkaisun suunnittelussa puutteellisesti dokumentoidut vaatimukset Ilmaista : testit täytyy joka tapauksessa suunnitella! kevät 2008 REQ, Juha Taina 148 Käyttöohjeen suunnittelu myös käyttöohjeen pitäisi olla tehtävissä vaatimusten kuvauksen perusteella edellyttää että käyttöliittymä on kuvattu erityisesti voidaan löytää käytettävyysongelmia rinnakkaisuuden hyödyt suunnittelun ja käyttöohjeen laatimisen vuorovaikutus lisäksi: asiakkaat ovat tässä vaiheessa usein paremmin tavoitettavissa kuin myöhemmin Ilmaista : käyttöohje täytyy joka tapauksessa suunnitella! kevät 2008 REQ, Juha Taina 149 Tarkistuslistat tukevat monia validoinnin osatehtäviä esim. puuttuuko joitakin vaatimuksia onko vaatimusten välillä ristiriitoja onko teksti ymmärrettävää (kaikille) voiko jonkin vaatimuksen ymmärtää monella eri tavalla onko dokumentin rakenne selkeä ja jäsennelty onko dokumenteissa jäljitystä ajatellen riittävät viitteet noudattaako dokumentti sovittuja standardeja kevät 2008 REQ, Juha Taina

26 Validointi osana prosessia vaatimusten validoinnin pitäisi olla osa vaatimusmäärittelyn elinkaarta huom. ei erillisenä vaiheena vaan kaikkien vaiheiden osana validointimenetelmien pitäisi taata että vaatimukset ovat kunnossa onko tämä edes mahdollista? (kaikissa oppikirjoissa ei edes mainita vaatimusten validointia!) kevät 2008 REQ, Juha Taina Laatuvaatimukset quality requirements myös: ei-toiminnalliset vaatimukset (non-functional requirements, NFR) suoriutumisvaatimukset (performance requirements) tavoitteet (goals) lähde: Chung, Nixon, Yu, Mylopoulos, Non-functional Requirements in Software Engineering, luvut 1-2, Kluwer 2000 perustuu artikkeliin Chung, Nixon, Yu 1994 kevät 2008 REQ, Juha Taina 152 Laatuvaatimusten jaottelua Lisää jaottelua (Sommerville) laatuvaatimukset (Rome Laboratory) Non-functional requ ir em ent s suoriutumisvaatimukset suunnitteluyms. rajoitteet käyttäjälähtöiset (consumer-oriented) tekniset (technically-oriented) P ro du ct requir em ents Or gan izational requ ir em ent s External requirements suoriutuminen (performance) suunnittelun laatu (design) sopeutuvuus (adaptation) laajennettavuus (expandability) joustavuus (flexibility) yhteentoimivuus (interoperability) siirrettävyys (portability) uudelleenkäytettävyys (reusability) tehokkuus (efficiency) turvallisuus (integrity) luotettavuus (reliability) säilyvyys (survivability) käytettävyys (usability) virheettömyys (correctness) ylläpidettävyys (maintainability) todennettavuus (verifiability) kevät 2008 REQ, Juha Taina 153 Efficiency Reliability Portability Interoperability Ethical requir em ents requirements requirements requirements requirements Usability Delivery Implementation Standards Leg islat ive requirements requirements requir em ents requirements requ irements Perform ance Sp ace Privacy Safety requirements requir em ents requirements requ irements Kuva I. Sommerville 2000 kevät 2008 REQ, Juha Taina 154 Lisää jaottelua (Chung et al) tuotelähtöiset (product-oriented) mitataan tuotteen ominaisuuksia edellyttää että on tuote jota mitata! prosessilähtöiset (process-oriented) tarkastellaan laatuominaisuuksien yhteyttä prosessiin mikä on suunnittelupäätösten vaikutus laatuun tarkastelu lähinnä kvalitatiivista (myös kvantitatiivinen lähestymistapa on mahdollinen: tätä on sivuttu mm. laitoksen MAISA-projektissa) miten nämä sopivat vaatimusmäärittelyyn? kevät 2008 REQ, Juha Taina 155 Laatuvaatimusten piirteitä subjektiivisuus suhteellisuus keskinäiset riippuvuudet /ristiriidat ei voida lisätä jälkeenpäin vaikeasti tunnistettavissa tavoitteen täyttyminen: voi täyttyä: täysin suurimmaksi osaksi kohtuullisesti hieman ei ollenkaan hyväksyttävyys kevät 2008 REQ, Juha Taina

1. Johdanto. Kurssin otsikko

1. Johdanto. Kurssin otsikko Bray luvut 1-2 1. Johdanto mistä vaatimusmäärittelyssä on kyse? miksi sitä tarvitaan? milloin sitä tarvitaan? aihepiirin keskeiset käsitteet kirjan esimerkkitapaukset kevät 2008 REQ, Juha Taina 1 Kurssin

Lisätiedot

1. Johdanto. Kurssin otsikko

1. Johdanto. Kurssin otsikko Bray luvut 1-2 1. Johdanto mistä vaatimusmäärittelyssä on kyse? miksi sitä tarvitaan? milloin sitä tarvitaan? aihepiirin keskeiset käsitteet kirjan esimerkkitapaukset kevät 2008 REQ, Juha Taina 1 Kurssin

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY MS

TOIMINNALLINEN MÄÄRITTELY MS TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

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

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

ITK130 Ohjelmistojen luonne

ITK130 Ohjelmistojen luonne ITK130 Ohjelmistojen luonne Luennon sisältö Ohjelmistotekniikka ja vaatimukset Ohjelmistotuote Ei-toiminnallisten vaatimusten luokittelu Sisäiset ja ulkoiset vaatimukset Oikeellisuus Luotettavuus Kestävyys

Lisätiedot

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

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 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

Lisätiedot

2. Ohjelmistotuotantoprosessi

2. Ohjelmistotuotantoprosessi 2. Ohjelmistotuotantoprosessi Peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue

Lisätiedot

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1 Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista

Lisätiedot

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

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005 5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.

Lisätiedot

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely 2. Ohjelmistotuotantoprosessi Peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa

Lisätiedot

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 8. kesäkuuta, 2018 Agenda Ohjelmistokehitys Ohjelmistokehitys vs. konsultointi Vaatimukset Tietosuoja Tietosuoja ohjelmistokehityksessä kiteytettynä

Lisätiedot

5. Järjestelmämallit. Mallinnus

5. Järjestelmämallit. Mallinnus 5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.

Lisätiedot

Luokka- ja oliokaaviot

Luokka- ja oliokaaviot Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka

Lisätiedot

Lähestymistavat - toiminnallinen

Lähestymistavat - toiminnallinen Lähestymistavat - toiminnallinen Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa jakaa osasysteemeihin tietojärjestelmissä

Lisätiedot

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä Käyttäjäkeskeinen suunnittelu Käyttäjän huomiointi suunnitteluprosessissa Iteroitu versio 1.1 muutettu klo12.10 - paljon kirjoitusvirheitä Käyttäjäkeskeinen suunnittelu Perusidea: käyttäjät huomioidaan

Lisätiedot

Käyttäjäkeskeinen suunnittelu

Käyttäjäkeskeinen suunnittelu Käyttäjäkeskeinen suunnittelu Käyttäjän huomiointi suunnitteluprosessissa Iteroitu versio 1.1 muutettu klo12.10 - paljon kirjoitusvirheitä Käyttäjäkeskeinen suunnittelu Perusidea: käyttäjät huomioidaan

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

UML- mallinnus: Tilakaavio

UML- mallinnus: Tilakaavio UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista

Lisätiedot

Ohjelmistotuotanto, s

Ohjelmistotuotanto, s Toiminnan osiinjako Ohjelmistotuotanto Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT Vaatimusanalyysin menetelmiä systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa

Lisätiedot

Käyttötapausanalyysi ja testaus tsoft

Käyttötapausanalyysi ja testaus tsoft Käyttötapausanalyysi ja testaus tsoft 15.09.2004 http://cs.joensuu.fi/tsoft/ Johdanto Use Case analyysi (käyttötapausanalyysi) on yleisesti käytetty järjestelmälle asetettujen toiminnallisten vaatimusten

Lisätiedot

Käytettävyys verkko-opetuksessa Jussi Mantere

Käytettävyys verkko-opetuksessa Jussi Mantere Käytettävyys verkko-opetuksessa 21.8.2002 Jussi Mantere Mitä käytettävyys on? Learnability (opittavuus) Efficiency (tehokkuus) Memorability (muistettavuus) Errors prevented (virheiden tekeminen estetty)

Lisätiedot

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto jen mallinnus, s2008 jen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Tietokoneohjelma (computer program) toimintaohje, jonka mukaan toimien tietokone suorittaa jonkin tietojenkäsittelytehtävän suoritettava

Lisätiedot

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! eli... Hyvä kaava sanoo enemmän kuin,... tuhat riviä koodia!... sata riviä tekstiä!... kymmenen diagrammia! YLEISTÄ FORMAALEISTA

Lisätiedot

Testaaminen ohjelmiston kehitysprosessin aikana

Testaaminen ohjelmiston kehitysprosessin aikana Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/

Lisätiedot

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Ohjelmistotekniikka - Luento 2 Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento 2: Prosessimallit

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1 Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon 31.10.2008 Harri Laine 1 Ohjelmisto Tietokoneohjelma (computer program) toimintaohje, jonka mukaan toimien tietokone suorittaa jonkin tietojenkäsittelytehtävän

Lisätiedot

Analyysi on tulkkaamista

Analyysi on tulkkaamista Analyysi on tulkkaamista Petri: Pitää osata menetelmiä, arkkitehtuureja, suunnittelumalleja, eli miten [ohjelmistoja] ylipäänsä kehitetään. Pitää olla viestintätaitoja. Perttu: Pitää ymmärtää miten projekti

Lisätiedot

Tietokannan suunnittelu

Tietokannan suunnittelu HELIA TIKO-05 1 (12) ICT03D Tieto ja tiedon varastointi Tietokannan suunnittelu Tietokannan suunnitteluprosessi... 2 Tavoitteet...2 Tietojärjestelmän suunnitteluprosessi...3 Abstraktiotasot tietokannan

Lisätiedot

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotekniikan menetelmät, UML 582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

Ohjelmiston vaatimusmäärittely. tietoteknisen järjestelmän osat

Ohjelmiston vaatimusmäärittely. tietoteknisen järjestelmän osat Ohjelmiston vaatimusmäärittely tietoteknisen järjestelmän osat toiminta dokumentit laitteisto järjestelmä tietokanta ihmiset ohjelmisto 1 Määrittelyprosessi Määrittelyprosessi ideat lähtökohdat rajoitteet

Lisätiedot

2. päivä. Etätehtävien purku Poikkeamat. Poikkeamat Auditoinnin raportointi Hyvän auditoijan ominaisuudet Harjoituksia

2. päivä. Etätehtävien purku Poikkeamat. Poikkeamat Auditoinnin raportointi Hyvän auditoijan ominaisuudet Harjoituksia OAMK / Luova 4.5. ja 11.5. Sisäinen auditointi osa Oamkin ympäristöohjelmatyötä Sisältö 1. päivä Johdanto Auditoinnin tavoitteet Ympäristöstandardin (ISO 14001) pääkohdat Alustava ympäristökatselmus Auditoinnin

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen 23 April 2018 1 Tavoitteet Yleiskuva seuraavista aiheista Testauksen organisointi Testaussuunnittelma Testauksen kustannukset Testausstrategia

Lisätiedot

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento

Lisätiedot

Luento 3 Tietokannan tietosisällön suunnittelu

Luento 3 Tietokannan tietosisällön suunnittelu HAAGA-HELIA / Heti-09 1 (17) Luento 3 Tietokannan tietosisällön suunnittelu Tietojärjestelmän suunnitteluprosessi... 2 Tietokannan suunnittelun tavoitteet... 3 Tietokannan suunnitteluprosessi... 4 Käsitteellinen

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton 2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.

Lisätiedot

TIETOKANNAN SUUNNITTELU

TIETOKANNAN SUUNNITTELU TIETOKANNAN SUUNNITTELU HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 2 JOUNI HUOTARI & ARI HOVI TIETOJEN MALLINNUS TIETOJEN MALLINNUKSESTA TIETOKANTAAN Käsiteanalyysin

Lisätiedot

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit

Lisätiedot

Tuotemallipohjaisen toimintaprosessin mallintaminen

Tuotemallipohjaisen toimintaprosessin mallintaminen Tuotemallipohjaisen toimintaprosessin mallintaminen Miksi? Miten? Mitä? Mitä sitten? Kari Karstila Eurostepsys Oy kari.karstila@eurostep.com www.eurostep.com Pro IT-seminaari, 2004-01 01-1919 PROSESSIMALLINTAMISEN

Lisätiedot

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

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla: a) käytettävyys b) käyttäjäkeskeinen suunnittelu c) luonnollinen kieli

Lisätiedot

UML-kielen formalisointi Object-Z:lla

UML-kielen formalisointi Object-Z:lla UML-kielen formalisointi Object-Z:lla Kalvot ja seminaarityö WWW:ssä: http://users.jyu.fi/~minurmin/opiskelu/form/ UML UML == Unified Modelling Language. OMG:n standardoima kieli ohjelmistojärjestelmien,

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

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

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä 582104 Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä 1 Sisältö Oliomenetelmien taustaa Kirjastojärjestelmän käyttötapaukset Kirjastojärjestelmän luokkamalli 2 Oliosuuntautunut suunnittelumenetelmä

Lisätiedot

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.

Lisätiedot

Mitä käytettävyys on? Käytettävyys verkko-opetuksessa. Miksi käytettävyys on tärkeää? Mitä käytettävyys on? Nielsen: käytettävyysheuristiikat

Mitä käytettävyys on? Käytettävyys verkko-opetuksessa. Miksi käytettävyys on tärkeää? Mitä käytettävyys on? Nielsen: käytettävyysheuristiikat Mitä käytettävyys on? Käytettävyys verkko-opetuksessa 21.8.2002 Jussi Mantere Learnability (opittavuus) Efficiency (tehokkuus) Memorability (muistettavuus) Errors prevented (virheiden tekeminen estetty)

Lisätiedot

Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen

Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen Toiminnallinen määrittely: Työsuunnitelma TYÖSUUNNITELMAN TIEDOT Versio 0.1 Laatija Ulla Angervo Laatimispäivämäärä Hyväksyjä Hyväksymispäivämäärä

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Yleiskuvaus - LVpalvelukerroksen. laadulliset vaatimukset Jari Kokko & Vesa Mettovaara LUVAT JA VALVONTA -KÄRKIHANKE

Yleiskuvaus - LVpalvelukerroksen. laadulliset vaatimukset Jari Kokko & Vesa Mettovaara LUVAT JA VALVONTA -KÄRKIHANKE Yleiskuvaus - LVpalvelukerroksen laadulliset vaatimukset 07.11.2018 Jari Kokko & Vesa Mettovaara ICT-ratkaisujen tulee olla asiakkaille toimivia, tarpeellisia ja tuottavia liiketoiminnan jatkuvuuden, kannattavuuden

Lisätiedot

Dokumentointi ketterissä menetelmissä

Dokumentointi ketterissä menetelmissä Dokumentointi ketterissä menetelmissä Dokumentointi kuuluu ketteriin menetelmiin niin kuin kaikkeen ohjelmistotuotantoon Dokumentointi itsessään yksi vaatimus, jonka prioriteetti pitää arvioida (asiakkaan

Lisätiedot

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?

Lisätiedot

Pisteytysohje loppuraporttien vertaisarviointiin

Pisteytysohje loppuraporttien vertaisarviointiin Pisteytysohje loppuraporttien vertaisarviointiin Pisteytys olettaa kaikkien kuvattujen vaatimusten täyttymistä pistemäärän saavuttamiseksi. Esimerkiksi: Raportti täyttää rakenteen ja kieliasun osalta kaikki

Lisätiedot

Hieman lisää malleista ja niiden hyödyntämisestä

Hieman lisää malleista ja niiden hyödyntämisestä Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu

Lisätiedot

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen kertausta Harri Laine 1 kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit

Lisätiedot

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Käytettävyyslaatumallin rakentaminen verkkosivustolle Käytettävyyslaatumallin rakentaminen verkkosivustolle Tapaus kirjoittajan ABC-kortti Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -tutkielma Timo Laapotti 9.6.2005 Esityksen sisältö Kirjoittajan

Lisätiedot

Toimilohkojen turvallisuus tulevaisuudessa

Toimilohkojen turvallisuus tulevaisuudessa Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot

Lisätiedot

Ohjelmistoprojektien hallinta Vaihejakomallit

Ohjelmistoprojektien hallinta Vaihejakomallit Ohjelmistoprojektien hallinta Vaihejakomallit Vaihejakomallit TAVOITE: YMMÄRTÄÄ eri vaihejakomallien etujajahaittoja 2 Erilaisia malleja Tee ja korjaa (Code-and-Fix) Vesiputousmalli (Waterfall) Vesiputousmalli

Lisätiedot

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI Vesa Tenhunen Tarkastusmenettelyt Keino etsiä puutteita ohjelmakoodeista, dokumenteista ym. ohjelmistoprosessissa syntyvästä materiaalista Voidaan käyttää kaikissa

Lisätiedot

Oppijan palvelukokonaisuus. Tietomallinnuksen laaja katselmointi 7.12.2011

Oppijan palvelukokonaisuus. Tietomallinnuksen laaja katselmointi 7.12.2011 Oppijan palvelukokonaisuus Tietomallinnuksen laaja katselmointi 7.12.2011 Sisältö Tietoarkkitehtuuri Tietomallit ja sanastot Tietomallinnus Tietomallinnus hankkeessa (Hankkeessa käytetyt keskeisimmät mallinnuselementit)

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

SoberIT Software Business and Engineering institute

SoberIT Software Business and Engineering institute T-121.700 Käyttäjäkeskeinen konseptisuunnittelu Konseptien havainnollistaminen Mika P. Nieminen mika.nieminen@hut.fi 23.3.2005 Vaihe Amount of active components Briefing Project plan User research User

Lisätiedot

Yrittäjäkasvatuksen polku - sivusto. Yksityiskohtainen suunnittelu Huhtikuu 2018

Yrittäjäkasvatuksen polku - sivusto. Yksityiskohtainen suunnittelu Huhtikuu 2018 Yrittäjäkasvatuksen polku - sivusto Yksityiskohtainen suunnittelu Huhtikuu 2018 Sisällys 1. Sivuston tavoitteet 2. Tausta 3. Näkemys työn tekemisestä ja etenemisestä 4. Roolit ja vastuut -ehdotus 5. Ylätason

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tämä on dokumentti esittelee tietokonegrafiikkaalgoritmien visualisointijärjestelmän kehitysprojektissa käytettävän vaatimustenhallintamenetelmän. Päivämäärä

Lisätiedot

Oleelliset vaikeudet OT:ssa 1/2

Oleelliset vaikeudet OT:ssa 1/2 Oleelliset vaikeudet OT:ssa 1/2 Monimutkaisuus: Mahdoton ymmärtää kaikki ohjelman tilat Uusien toimintojen lisääminen voi olla vaikeaa Ohjelmista helposti vaikeakäyttöisiä Projektiryhmän sisäiset kommunikointivaikeudet

Lisätiedot

Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään?

Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään? Prosessien kehittäminen Prosessien parantaminen Sami Kollanus TJTA330 Ohjelmistotuotanto 21.2.2007 Mitä kehitetään? CMMI, SPICE yms. Miten kehittämishanke saadaan toteutettua? Organisaation kehittämisen

Lisätiedot

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

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki Haaga-Helia / TIKO-05 1 (12) Tietotarpeet Tietotarpeiden määrittely... 2 Tietotarveanalyysi... 3 Lähtökohtana tietojenkäsittelytehtävät... 3 Määrittelyn sisältö... 4 Vaiheistus... 5 Tietolähteet... 5 Lähestymistapa...

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

Lisätiedot

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS 20.4.2015 IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA 1 1.1 SOVELTAMINEN Näitä erityisehtoja sovelletaan ohjelmistojen tai niiden osien toimituksiin ketterien

Lisätiedot

4. Vaatimusanalyysi. Vaatimusanalyysin tavoitteet

4. Vaatimusanalyysi. Vaatimusanalyysin tavoitteet 4. Vaatimusanalyysi Laadukkaiden ohjelmistojen tuottaminen ei ole helppo tehtävä. Sen lisäksi, että ohjelman täytyy toimia virheettömästi, sen täytyy täyttää sille asetetut implisiittiset ja eksplisiittiset

Lisätiedot

Projektityö

Projektityö Projektityö 21.10.2005 Projektisuunnitelma Työn ositus Projektisuunnitelman sisältö Kurssin luennoitsija ja projektiryhmien ohjaaja: Timo Poranen (email: tp@cs.uta.fi, työhuone: B1042) Kurssin kotisivut:

Lisätiedot

Ohjelmistotuotanto, prosessit Syksy Ohjelmistotuotantoprosessi. Prosessimalli. Prosessimallien perustehtävät. Prosessimallin vaihejako

Ohjelmistotuotanto, prosessit Syksy Ohjelmistotuotantoprosessi. Prosessimalli. Prosessimallien perustehtävät. Prosessimallin vaihejako 2. Ohjelmistotuotantoprosessi peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa

Lisätiedot

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU Fujitsu SPICE Lite Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat Copyright 2010 FUJITSU Laatu ja prosessit Fujitsussa Laatujärjestelmän rakentaminen ja systemaattinen prosessijohtaminen

Lisätiedot

Ketterä vaatimustenhallinta

Ketterä vaatimustenhallinta Ketterä vaatimustenhallinta ja miksi se on useimmiten hyvä asia K A R I A L HO C E O I M P R OV EIT OY Sisältö ImproveIt Oy Perinteinen vaatimushallinta Ketterä vaatimustenhallinta Monenlaista softakehitystä

Lisätiedot

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen KONEAUTOMAATION LAATU JA TURVALLISUUS 4.6.2015 Marko Varpunen TLJ ja automaatio Rautatie, metro, teollisuus-laitokset, kaivoskoneet, vesi, n. 90 henkeä Mikkeli Turvallisuusjohtaminen konsultointi riskienarviointi

Lisätiedot

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu HELIA 1 (14) Luento 7 Käyttöliittymäolio... 2 Olioajattelun perusteet... 3 Tavoitteet... 3 Peruskäsitteet... 4 Olio / Olioinstanssi / Olion esiintymä... 4 Ominaisuudet... 4 Toiminnot... 4 Olioluokka /

Lisätiedot

Asiakaspalautteen merkitys laboratoriovirheiden paljastamisessa. Taustaa

Asiakaspalautteen merkitys laboratoriovirheiden paljastamisessa. Taustaa Asiakaspalautteen merkitys laboratoriovirheiden paljastamisessa Paula Oja, TtT Laboratorio, Oulun yliopistollinen sairaala Potilasturvallisuustutkimuksen päivät 26. 27.1.2011 1 Taustaa Laboratorion tulee

Lisätiedot

Onnistunut Vaatimuspohjainen Testaus

Onnistunut Vaatimuspohjainen Testaus Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen

Lisätiedot

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000 HELIA 1 (15) Luento 2.7 Toiminnallisuutta tietokantaan... 2 Deklaratiivinen eheysvalvonta... 2 Proseduraalinen eheysvalvonta... 3 Eheysvalvonnan suunnittelusta... 4 Sääntöjen määrittely... 4 Toteutusvaihtoehdot...

Lisätiedot

Vaatimustenhallinta. Exit

Vaatimustenhallinta. Exit Vaatimustenhallinta Asiakasvaatimusten hallinnan tarkoitus on analysoida ja priorisoida kerätyt asiakasvaatimukset sekä hallita niitä ohjelmistokehityksen eri vaiheissa. Olennaista on jäljitettävyys: on

Lisätiedot

Miten löydän Sen Oikean? 22.11.2012 Senaattoritilaisuus Liisa Paasiala, Senior Consultant

Miten löydän Sen Oikean? 22.11.2012 Senaattoritilaisuus Liisa Paasiala, Senior Consultant Miten löydän Sen Oikean? 22.11.2012 Senaattoritilaisuus Liisa Paasiala, Senior Consultant On mahdollista löytää Se Oikea! Luotanko sattumaan? Onnistuminen on aloitettava heti Onnistumisen kaava on 4 x

Lisätiedot

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto OHJ-3200 Ohjelmistoarkkitehtuurit 1 Arkkitehtuurien tutkimus Outi Räihä 2 Darwin-projekti Darwin-projekti: Akatemian rahoitus 2009-2011 Arkkitehtuurisuunnittelu etsintäongelmana Geneettiset algoritmit

Lisätiedot

BaRE Käyttövalmis vaatimusmäärittelymenetelmä

BaRE Käyttövalmis vaatimusmäärittelymenetelmä BaRE Käyttövalmis vaatimusmäärittelymenetelmä Uolevi Nikula, Tietotekniikan osasto, LTKK, Uolevi.Nikula@lut.fi 13.11.2002 un/tsoft 1 Esityksen sisältö Jatko-opinnot Lisensiaatintutkimus BaRE menetelmä

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)

Lisätiedot

Ohjelmistotuotanto, s

Ohjelmistotuotanto, s Ohjelmistotuotanto Ohjelmiston määrittely n tavoitteena on selvittää ohjelmistolle asetettavat vaatimukset niin yksityiskohtaisesti, että niiden perusteella voidaan tuottaa haluttu ohjelmisto. Lineaarisissa

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Muutamia peruskäsitteitä

Muutamia peruskäsitteitä Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä

Lisätiedot