Spesifikaatioiden laatiminen

Koko: px
Aloita esitys sivulta:

Download "Spesifikaatioiden laatiminen"

Transkriptio

1 Spesifikaatioiden laatiminen Luku tarkastelee ohjelmistotuotantoprosessia spesifikaatioiden ketjuna. Ohjelmistotuotannossa korostuvat jäljitettävissä olevat hyvin dokumentoidut ratkaisut, joiden perustan luovat tarkoituksenmukaisesti valitut kuvaustekniikat ja menetelmät. Dokumentointi on suunnitelmallista, laatujärjestelmän periaatteita toteuttavaa toimintaa. Tuotedokumentaatio muodostuu erityyppisiä tarpeita palvelevista dokumenteista, jotka syntyvät prosessin eri vaiheissa iteratiivisesti tarkentuen. Luvussa esitetään malli dokumentointijärjestelmälle sekä määrittely- ja suunnitteludokumentaation perusrakenne. Aihetta käsitellään myös työkalujen ja standardien näkökulmasta. Exit

2 Sisällys Spesifikaatioiden laatiminen Hyvä spesifikaatio Esimerkki 1. Esimerkki 2. Kuvaustekniikat Spesifiointimenetelmät Kuvaustekniikat Spesifiointimenetelmät Menetelmien luokittelu SA-määrittelymenetelmä OMT++ Simplified method 4+1 View UML-kuvausmenetelmien ilmaisuvoima Dokumentointi Tuotedokumentit Laatujärjestelmän dokumentit Dokumentointi EVO-mallissa Ylläpitodokumentaatio Esimerkki Dokumentointimallit Määrittely Suunnittelu Arkkitehtuurisuunnittelu Moduulisuunnittelu Tekninen määrittely Työkalut Standardit Kertauskysymykset Spesifikaatioiden laatiminen 2

3 Spesifikaatioiden laatiminen Käsitellään spesifikaatioiden (dokumentaation) merkitystä ohjelmistotuotannossa kuvaustekniikoiden soveltamista (kuvausmenetelmät) dokumentoinissa ohjelmistotuotanto on jalostuvien spesifikaatioiden muodostama vaiheittain etenevä prosessi mitä-miten problematiikka alimman tason spesifikaatio: ohjelmakoodi Ohjelmistotyö Ohjelmistotyö on on dokumenttien dokumenttien tuottamista tuottamista Spesifikaatioiden laatiminen 3

4 spesifikaatioden laatiminen Menetelmät, kuvaustekniikat käyttäjien tarpeet, ideat, rajoitukset reunaehdot mitä esitutkimus määrittely miten mitä miten mitä miten mitä miten mitä toiminnallinen määrittely tekninen määrittely asiakasvaatimukset arkkitehtuurisuunnittelu moduulisuunnittelu moduulisuunnitelmat verifiointi verifiointi verifiointi verifiointi hyväksymistestaus järjestelmätestaus integrointitestaus moduulitestaus ohjelmointi miten ohjelmakoodi verifiointi Spesifikaatioiden laatiminen 4

5 spesifikaatioden laatiminen ohjelmistokehityksen elinkaaressa määrittely vastaa kysymykseen mitä? suunnittelu vastaa kysytmykseen miten? yleisesti ohjelmistotyön tehtävänä on jalostaa spesifikaatiota vaiheittain kohti lopullista toimivaa järjestelmää» jokaisen vaiheen voidaan katsoa tuottavan spesifikaation mitä seuraavassa vaiheessa on ratkaistava» kukin vaihe jalostaa spesifikaatiosta ratkaisun ko. elinkaarivaiheen tasolla kuvataan mitä tiedetään» oleellinen kiteyttäen (kuvausvälineen primitiivisyys)» täsmällisesti ratkaisua jäykistäviä päätöksiä pyritään lykkäämään elinkaaressa mahdollisimman pitkälle (tarkentuvat kuvaustasot) Spesifikaatioiden laatiminen 5

6 spesifikaatioden laatiminen Spesifikaatio N Spesifikaatio N+1 reunaehdot ja rajoitteet reunaehdot ja rajoitteet ei-toiminnalliset vaatimukset vaatimukset spesifiointi ei-toiminnalliset vaatimukset toiminnalliset vaatimukset toiminnalliset vaatimukset Verifiointi esimerkiksi tarkastamalla Prosessissa Prosessissa kussakin kussakin vaiheessa vaiheessa edellisen edellisen vaiheen vaiheen vaatimukset vaatimukset muuttuvat muuttuvat seuraavan seuraavan vaiheen vaiheen vaatimuksiksi. vaatimuksiksi. Spesifikaatioiden laatiminen 6

7 spesifikaatioden laatiminen Toiminnalliset ominaisuudet: järjestelmän toimintaa kuvaavat sekä käyttäytymisen ja liitynnät määrittävät ominaisuudet rajapinnat ulkomaailmaan, tiedot, käsittelysäännöt,... Ei-toiminnalliset ominaisuudet: suorituskyky, liitettävyys, siirrettävyys, turvallisuus,... Reunaehdot ja rajoitteet: mm. laitteisto- ja ohjelmistorajoitteet, hinta, aikataulu, työkalut, tyylioppaat, lait, standardit Spesifikaatioiden laatiminen 7

8 spesifikaatioden laatiminen työ käytännössä: spesifikaatiossa olevat virheet puutteet ristiriitaisuudet epätäsmällisyydet aiheuttavat tarpeen kehitystyö iterointiin spesifikaatioita tukevat dokumentit testaussuunnitelmat laatusuunnitelma, projektisuunnitelma... Spesifikaatioiden laatiminen 8

9 Hyvä spesifikaatio ymmärrettävä selkeät sanamuodot, lukijan huomioonottava kuvaustapa, yksinkertainen kaikkien tarvitsijoiden yhteinen näkemys kuvattavasta kohteesta miten saavutettavissa? täydellinen määrittelee kaikki tarvittavat asiat ja vain ne myös ympäristö kuvataan tarvittavassa laajuudessa miten saavutettavissa? tarkka tarkkuus vs. ymmärrettävyys vs. luettavuus miten saavutettavissa? Spesifikaatioiden laatiminen 9

10 hyvä spesifikaatio virheetön miten arvioitavissa? testattava sisältää ilmaisuita, joita vastaan vaihetuote voidaan verifioida yksiselitteisesti jäljitettävä katkeamaton ketju asiakasvaatimuksista toteutukseen ylöspäin / alaspäin jäljitettävyys toteutettavissa rajaehtojen puitteissa Spesifikaatioiden laatiminen 10

11 hyvä spesifikaatio muita ominaisuuksia kuvaa toiminnan, ei toteutusta toteutettavissa reunaehtojen puitteissa ristiriidaton, yksikäsitteinen ylläpidettävä, ei sisällä tarpeetonta redundanssia ongelmia vaatimukset ovat keskenään ristiriidassa lukijoiden erilaiset taustat - erilainen tulkinta samalle asialle (esim. termit) asiakas-toimittaja kommunikaatio todellisten tarpeiden selvittäminen saattaa olla vaikeaa Spesifikaatioiden laatiminen 11

12 hyvä spesifikaatio kaikki asiaan liittyvät tiedot eivät välttämättä ole tiedossa ja ne voivat muuttua poikkeustilanteiden huomioonottaminen kiire määrittelyssä (miksi?) määrittelymuutokset ovat kalliita (miksi?) analysis paralysis (määrittelyn loputon jatkuminen) railroad paradox (suunnan muuttamisen vaikeus) lopullisen onnistumisen mittari asiakkaan saama hyöty Spesifikaatioiden laatiminen 12

13 hyvä spesifikaatio Esimerkkejä (oppikirjasta) järjestelmän käytössä on 64 kb muistia» muistin luonnetta ei ole määritelty (ROM, RAM) luokalla voi olla vain yksi luokanvalvoja» voiko tehtävä olla jaettu (vaikuttaa tietokantaratkaisuun oleellisesti) jos kuukauden toteutunut myynti alittaa tavoitteet, tulostetaan raportti, ellei toteutuneen myynnin ja tavoitteen ero ole vähemmän kuin puolet edellisen kuukauden tavoitteen ja toteutuneen myynnin erosta, tai toteutunut myynti alittaa tavoitteen alle 5%» täsmällisyys ja ymmärrettävyys? keskimääräinen vastausaika on alle 5 sek» onko käyttäjän mitattavissa? mahdollistaa suuretkin poikkeamat! kun reset-nappulaa painetaan punainen merkkivalo saattaa syttyä» ei määritä toimintaa täsmällisesti Spesifikaatioiden laatiminen 13

14 Esimerkki: kirjastojärjestelmä Kirjastojärjestelmään sisältyy mm. seuraavia tapahtumia 1. Lainaa / palauta kirja 2. Lisää / poista kirja kirjastosta 3. Anna luettelo tietyn tekijän tai aiheluokan kirjoista 4. Anna luettelo tietyn lainaajan lainaamista kirjoista 5. Anna tiettyjen kirjojen viimeisimmät lainaajat Arvioi Arvioi määrittelyn määrittelyn hyvyyttä. hyvyyttä. Seuraavalla Seuraavalla kalvolla kalvolla on on joitain joitain kysymyksiä, kysymyksiä, joita joita tässä tässä yhteydessä yhteydessä ainakin ainakin aluksi aluksi kannattaa kannattaa pohtia pohtia Tapahtumat 1,2,5 ovat sallittuja vain henkilökuntaan kuuluville. Muut voivat käyttää tapahtumaa 4 saadakseen selville itsellään olevat kirjat. Lisäksi 1. Kaikkien kirjojen tulee olla joko lainattavissa tai lainassa 2. Kirja ei voi olla samaan aikaan lainattavissa ja lainassa 3. Lainaajalla voi olla korkeintaan ennalta määrätyn rajan määräämä määrä kirjoja lainassa Spesifikaatioiden laatiminen 14

15 esimerkki: kirjastojärjestelmä Kysymyksiä, joihin määrittely ei ota selvää kantaa saavatko henkilökuntaan kuulumattomat lainata kirjoja ollenkaan onko kirja fyysinen kirja vai teos yleensä tapahtuma 5: onko kyse yksi / kirja vai halutaanko ylläpitää historiaa mitä kirjan poistaminen tarkoittaa voiko poistettu kirja palata (esim. korjauksen jälkeen) määritetäänkö lainatavien kirjojen maksimimäärä kirjastolle, henkilölle vai kirjalle miten kirjat luokitellaan voiko samalla kirjalla olla monta luokkaa Spesifikaatioiden laatiminen 15

16 Esimerkki: lentokoneen laskutelineet Laskutelineet sisään -nappia painettaessa vedetään laskutelineet sisään F16: F16: nappia nappiapainettaessa painettaessalaskutelineet laskutelineetvedettiin vedettiinsisään sisään- -koneen koneenollessa ollessakentällä Spesifikaatioiden laatiminen 16

17 Kuvaustekniikat kuvaustekniikka, notaatio: kuvauksen kieli kommunikaatio työn apuväline syntaksi muodot, kielen rakenne; semantiikka merkitys ja esitetyn tulkinta kuvausmenetelmä: tapa soveltaa kuvaustekniikkaa kehitysmenetelmät, määrittelymenetelmät, suunnittelumenetelmät säännöstö kuvausmenetelmien soveltamiseksi tarvittavan kokonaiskuvauksen aikaansaamiseksi» mitä kuvausmenetelmiä tarvitaan, jotta kaikki hyvän kuvauksen vaatimukset täyttyvät tehtävänä olevan dokumentaation näkökulmasta esim. SA, RUP, OMT++, Spesifikaatioiden laatiminen 17

18 Spesifiointimenetelmät kuvaustekniikoiden käytön ja yhdistelyn ohjeistus tarkoituksenmukainen tapa soveltaa tekniikoita vaatimukset täyttävän spesifikaatioketjun aikaansaamiseksi kehitysmenetelmiä: SA: tarkoitettu vaatimusten analysointiin ja määrittelyyyn (määrittelymenetelmä)» kuvausmenetelmät: luonnollinen kieli, tietovirtakaaviot, käsitekaaviot, OMT++: kattaa oliopohjaisen järjestelmän koko elinkaaren (määrittely, suunnittelu, toteutus, testaus)» kuvausmenetelmät: luonnollinen kieli, käyttötapaukset, luokkakaavio, RUP: UML-tekniikan soveltamisen määrittävä oliopohjainen menetelmä; kattaa järjestelmän koko elinkaaren kehitysmenetelmät eivät kuitenkaan rajaa kuvausmenetelmien käyttömahdollisuutta (tarkoituksenmukaisuus) "Methodology? "Methodology? We We don't don'tneed need any anystinkin' methodology." methodology." "cowboy "cowboy coders" coders" or or the the no-methodology no-methodology methodology methodology Spesifikaatioiden laatiminen 18

19 spesifiointimenetelmät laatujärjestelmä määrittää menetelmien soveltamistavan dokumentit ja kuvaustekniikat sekä dokumentaation rakenne yleisiä, kaikkiin tilanteisiin ja ympäristöihin soveltuvia menetelmiä ei ole menetelmä määrittelee käytön puitteet ja käytettävät tekniikat; näitä sovelletaan tarpeen mukaan kohdeympäristöön dokumenttimallit antavat muistilistamaista ja ulkoasua standardoivaa tukea työlle Maalaisjärjen Maalaisjärjen käyttö käyttö on on sallittu sallittu dokumentoinnissakin Anon Anon Spesifikaatioiden laatiminen 19

20 Menetelmien luokittelu informaalit kuvausmenetelmät ja tekniikat käyttäjälle luonnollinen tapa ilman formalismin kuvaamista» luonnollinen kieli» seinätaulutekniikka: avoin kuvausympäristö, teknisesti yksinkertaiset kuvaukset, vapaata vuorovaikutusta tukeva käytäntö puoliformaalit menetelmät ja -tekniikat formalismi on määritelty, mutta se ei ole täsmällinen» esimerkiksi SA, OMT++» jako: tietokeskeiset / toimintokeskeiset / sekamenetelmät soveltamistapa voi olla informaalista formaaliin formaalit menetelmät ja -tekniikat matemaattisia, tarkkoja notaatioita (kieliä)» esimerkiksi Z, VDM, DisCo, Lotos, tilakaaviot, Petriverkot täsmällinen formaali kuvausmenetelmän määrittely Spesifikaatioiden laatiminen 20

21 menetelmien luokittelu Luonnollisuus Täsmällisyyden Täsmällisyyden lisääntyessä lisääntyessä luonnollisuus luonnollisuus käyttäjälle käyttäjälle vähenee vähenee (vaatii (vaatii opiskelua opiskelua = formalismin formalismin omaksumista) omaksumista) o luonnollinen kieli Formalismi Formalismi vaikka vaikka ei ei olekaan o seinätaulutekniikka olekaan käyttäjälle käyttäjälle aina aina luonnollinen luonnollinen tapa tapa kuvauksen kuvauksen tekemiseen, tekemiseen, tukee o SA tukee olennaisten olennaisten seikkojen seikkojen kiteyttämisprosessiprosessia ohjelmistotyössä. o OMT++ kiteyttämis- ohjelmistotyössä. o DisCo Täsmällisyys Spesifikaatioiden laatiminen 21

22 menetelmien luokittelu Näkökulmia kuvausmenetelmiin formaalit menetelmät täsmällisiä ja tukevat määrittelyn täydellisyyttä epähavainnollisia opittu menetelmä muuttuu kuitenkin ajan myötä luonnolliseksi suoritettavat spesifikaatiot jotkin (formaalit) kuvausmenetelmät mahdollistavat toiminnan animoinnin ja/tai suorittamalla testaamisen todistettavat spesifikaatiot logiikkaan pohjautuva spesifikaation toiminnan oikeellisuuden osoittaminen yleensä osa kuvauksen tuottavaa kehitysympäristöä koodia generoivat spesifikaatiot seuraavan kuvaustason tuottaminen automaattisesti laaditun kuvauksen pohjalta» tietovirtakaavio -> koodirungot» luokkakaavio (käsitekaavio) -> tietokantamäärittelyt Spesifikaatioiden laatiminen 22

23 SA-määrittelymenetelmä Tapahtumalista kirja hankitaan kirjastoon kirja lainataan kirja palautetaan kirja viedään hyllyyn kirja poistetaan myönnetään lainausoikeus poistetaan lainausoikeus tulostetaan luettelo lainausajan ylittäneistä lainauksista ER-kaaviot Tietohakemisto kirjatiedot = nimi + 0{tekijä}n + ISBN+ kustantaja + vuosi Liittymäkaavio Hierarkiset tietovirtakaaviot SA-määrittelymenetelmässä käytettäviä käytettäviä kuvausmenetelmiä kuvausmenetelmiä ovat ovat -tapahtumalistat -tapahtumalistat -tietovirtakaaviot -tietovirtakaaviot -käsitekaaviot -käsitekaaviot -tilakaaviot -tilakaaviot -toimintokuvaukset -toimintokuvaukset (minispesifikaatiot) (minispesifikaatiot) -tietohakemistokuvaukset -luonnollinen -luonnollinen kieli kieli Tilakaaviot Toiminnallisuuden hahmottelu Tilattu Hyllyssä Lainassa Minispesifikaatiot if a<b then... Poistettu Kadoksissa Korjattavana Spesifikaatioiden laatiminen 23

24 OMT++ Vaatimusten kartoittaminen Feasibility Study -vaatimukset -käyttötapaukset Kuvaukset: Kuvaukset: Käyttötapaukset Käyttötapaukset Luokkakaaviot Luokkakaaviot Tapahtumasekvenssikaaviot Tapahtumasekvenssikaaviot Tilakaaviot Tilakaaviot olioanalyysi käyttäytymisanalyysi kälimäärittely kälitehtävien määrittely ohjelmalohkon määrittely User Interface Specification - dialogikaaviot (tilakaaviot) - tehtäväkuvaukset (tapahtumasekvenssikaaviot) olioiden suunnittelu ohjelmalohkon rajapintamäärittely käyttäytymisen suunnittelu luokkamäärittely luokkien toteutus Program Block Technical Specification -suunnittelun oliomallit -suunnittelun tapahtumasekvenssikaaviot testaus Service Block Functional Specification - analyysin oliomalli - operaatiokuvaukset (tapahtumasekvenssikaaviot) Service Block Technical Specification -ohjelmalohkojen rajapinnat -ohjelmalohkojen kommunikointikaaviot (tapahtumasekvenssikaaviot) Ohjemakoodi -luokkamäärittely -luokkien toteutus Spesifikaatioiden laatiminen 24

25 Simplified method Vaatimukset Use Case A Use Case B Use Case C Muut Vaat. Suunnitteluoliomalli Määrittelyoliomalli Toimintolista Operaatio Operaatio X attribute attribute Y attribute Operaatio Operaatio Simplified method X function2 function3 attribute attribute X function2 function3 attribute attribute Tapahtumakaaviot User X Y Z function1 function2 function3 User X Y Z function4 function5 X function2 function3 attribute attribute function6 Määrittelyt Class Y { function3(); function5(); X x; } Koodi Y::function5() { x function6(); } Testitapaukset Use Case A Use Case B Use Case C Muut Vaat. Kuvaukset Kuvaukset Käyttötapaukset Operaatiokuvaukset Käyttötapaukset Luokkakaaviot Operaatiokuvaukset Tapahtumasekvenssit Luokkakaaviot Tapahtumasekvenssit Spesifikaatioiden laatiminen 25

26 4+1 View (UML) komponenttikaaviot komponenttikaaviot käyttötapauskaaviot käyttötapauskaaviot aktiviteettikaaviot aktiviteettikaaviot komponenttinäkymä käyttötapaus näkymä looginen näkymä staattinen:: staattinen:: luokkakaaviot luokkakaaviot oliokaaviot oliokaaviot dynaaminen dynaaminen tilakaaviot tilakaaviot sekvenssikaaviot sekvenssikaaviot yhteistyökaaviot yhteistyökaaviot aktiviteettikaaviot aktiviteettikaaviot sijoittelu näkymä samanaikaisuus näkymä Spesifikaatioiden laatiminen 26

27 UML-kuvausmenetelmien ilmaisuvoima Luokkakaaviot Komponenttikaaviot Sijoittelukaaviot Tapahtumasekvenssik.:t Yhteistyökaaviot Tilakaaviot Aktiviteettikaaviot Rakenne Vuorovaikutus Olion käyttäytyminen Käyttötapauskaaviot Järjestelmän käyttäytyminen Spesifikaatioiden laatiminen 27

28 Dokumentointi ohjelmistotyö on dokumenttien tuottamista käytännössä dokumentoinnissa ovat ohjelmistotyön suurimmat laatuongelmat jälkikäteisdokumentointi puutteet rakenteissa, sisällössä, esitystavoissa, ylläpidon ongelmat - sidokset dokumenttien välillä (dokumentaation yhdenmukaisuus ja eheys) Spesifikaatioiden laatiminen 28

29 dokumentointi luo perusteet Ohjelmistotyön prosessi kuvaa työn tulokset Dokumentoint järjestelmä 1..* 1..* käyttää Määrittelymenetelmä Kuvaustekniikka käyttää Spesifikaatioiden laatiminen 29

30 Dokumenttien luonne dokumentaation tehtävänä on dokumentoida tehdyt ratkaisut (sovitulla tavalla) tukea kehitystyötä (ratkaisuiden siirto)» edellisen vaiheen dokumentaatio luo perustan kunkin vaiheen työlle käytännön dokumentointityö saatetaan tehdä jälkikäteen; tällöin syynä tähän on kiire tai dokumentointityön huono imago merkitys kehitystyötä tukevana toimintona poistuu dokumenttien laatu (kuvaavuus) heikkenee dokumentointistandardien ja mallien rooli good practice hyväksi koettu käytäntö, muistilista lukijalle mallia noudattava dokumentti on odotuksia vastaava dokumentoinnin taso ja määrä riippuu projektista Spesifikaatioiden laatiminen 30

31 dokumenttien luonne mikä on dokumentaation oikea määrä liika dokumentaatio on yhtä suuri ongelma kuin puutteellinen dokumentaatio dokumenttien luokittelu laatukäsikirjaan liittyvät dokumentit projektinhallintaan liittyvät dokumentit tuotedokumentit (ks. kuva) Spesifikaatioiden laatiminen 31

32 ... dokumenttien luonne Seurantaraportit, tarkastuspöytäkirjat Laatujärjestelmän ohjeistus Laatujärjestelmä Tuotekohtaiset ohjeet Ohjaus ja seuranta Projekti Projektisuunnitelma Syõtedokumentit Tulosdokumentit projektidokumentaatio tuotedokumentaatio ohjeistus Työdokumentit Laatujärjestelmän raportit: mittaus, auditointi... Spesifikaatioiden laatiminen 32

33 Tuotedokumentit tuotteeseen tai tuoteperheeseen liittyvät dokumentit projektikohtaiset tuotedokumentit tuotetta kuvaavat, projektityön tuloksena syntyvät dokumentit projektitoimintaa ohjaavat ja kuvaavat dokumentit tuotekohtaiset tuotedokumentit tuote voi sisältää useita projekteja, joista muodostuu tuotedokumentaatio projektin päätyttyä projektikohtaiset tuotedokumentit muokataan osaksi tuotekohtaista dokumentaatiota (muokkaus) Spesifikaatioiden laatiminen 33

34 Laatujärjestelmän dokumentit määrittää puitteet muulle dokumentaatiolle laatujärjestelmädokumentteja ovat mm. laatukäsikirja ohjeistukset ja dokumenttimallit laatujärjestelmän auditointiin liittyvät raportit erinäiset muistiot: tarkastusten pöytäkirjat, auditointiraportit, mittaustiedostot,... toiminnan kehittämisfunktio Spesifikaatioiden laatiminen 34

35 Projektidokumentit projektikohtaisia, kertaluonteisia dokumentteja projektin päätyttyä arkistoidaan projektidokumentteja ovat mm. sopimus projektisuunnitelma projektin seurantaraportit projektin loppuraportti Spesifikaatioiden laatiminen 35

36 Tuotedokumentaation rakentuminen Esitutkimus Esitutkimus Alustava sopimus, alustava projektisuunnitelma, alustava toiminnallinen määrittely, alustava toteutussuunnittelu, alustava testaussuunnittelu, alustava tuotteenhallintasuunnitelma, alustava laatusuunnitelma, dokumentointisuunnitelma. Määrittely Määrittely Tarkennettu sopimus, tarkennettu projektisuunnitelma, toiminnallinen määrittely, alustava tekninen määrittely, tarkennettu testaussuunnitelma (järjestelmä- ja hyväksymistestaus) tarkennettu tuotteenhallintasuunnitelma, tarkennettu laatusuunnitelma, alustava käyttöohje. Suunnittelu Suunnittelu Tekninen määrittely, integrointitestaussuunnitelma, tarkennettu käyttöohje, alustava ylläpito-ohje, alustava operointi/huolto-ohje, alustava asennusohje. Toteutus Toteutus Moduulisuunnitelmat, moduulitestaussuunnitelmat, moduulitestauspöytäkirjat, koodimoduulit, integrointitestaussuunnitelma, integrointitestauspöytäkirjat, integroitu ohjelmisto, tarkennettu ylläpito-ohje, tarkennettu operointi/huolto-ohje, tarkennettu asennusohje. Testaus Testaus Järjestelmätestauspöytäkirjat, hyväksymistestauspöytäkirjat, paketointi-ohje, koulutusmateriaali, tuotedokumenttien viimeistellyt versiot. 11/04/2002 Spesifikaatioiden laatiminen 36 Exit

37 Dokumentointi EVO-mallissa Dokumentaation rakentuminen projekti sisältää tuotteen vanhan version (k) kehittämisen uudeksi versioksi (k+1) lisäyksiä poistoja muutoksia korjauksia vanha spesifikaatio (versio k) toimii uuden (versio k+1) pohjana [ks. kuva] Määrittely Suunnittelu Toteutus Testaus Määrittely Suunnittelu Toteutus Testaus Määrittely Suunnittelu Toteutus Testaus Versio 1 Versio 2 Versio 3... Spesifikaatioiden laatiminen 37

38 Dokumentointi EVO-mallissa Ohjelmakoodi, versio k Tuotteen toiminnallinen määrittely, versio k Tuotteen tekninen määrittely, versio k Tuotteen tekninen määrittely, versio k+1 Tuotteen dokumentit Projektin dokumentit Projektin toiminnallinen määrittely (uudet ja muuttuneet vaatimukset) (uudet vaatimukset) Arkkitehtuurisuunnittelu Tuotedokumentaation päivitys version k+1 tasolle Projektin tekninen määrittely Tuotteen Tuotteen dokumentaatio dokumentaatio on on pidettävä pidettävä riittävän riittävän yleisenä, yleisenä, jotta jotta pienet pienet muutokset muutokset eivät eivät synnytä synnytä dokumenttien dokumenttien päivitystarvetta. päivitystarvetta. Projektidokumentaatio Projektidokumentaatio voi voi sisältää sisältää tätä tätä tarkempia tarkempia kuvauksia. kuvauksia. Suunnitteluvaihe EVO-mallin mukaisessa ohjelmistokehityksessä Spesifikaatioiden laatiminen 38

39 Ylläpitodokumentaatio projektin päättyessä tuotedokumentaatio muutetaan ylläpitoa tukevaan muotoon ylläpidon tuotedokumentaation rakenne (esim.) käyttöohje asennus- ja operointiohje koulutusmateriaali tekninen dokumentaatio» toiminnallinen määrittely» tekninen määrittely» testauksen ohjeistukset» tuotteenhallinan ohjeistukset Spesifikaatioiden laatiminen 39

40 ... ylläpitodokumentaatio tarpeettoman redundanssin välttäminen (dokumenttien ylläpidettävyys) dokumentaation eheys suunnitteludokumentaation tarkkuustaso on hyvä pitää sellaisena, että pienet muutokset alemmalla dokumentointitasolla (esim. ohjelmavirheiden korjaaminen) eivät edellytä dokumentaation muuttamista rinnakkaisten dokumenttien eheys: yhteys eri dokumenttien välillä peräkkäisten dokumenttien eheys: yhteys saman kuvauskohteen eri kuvaustasojen välillä ohjelmakoodin kommentointi: moduulisuunnittelun tulokset kommentteina ohjelmassa kommenteista koodiksi Spesifikaatioiden laatiminen 40

41 Esimerkki projektidokumentaatiosta Palaute Overflow Oy resurssit, ideat neuvottelut/ valmistelu projekti tai hanke asettaminen käyttöönotto käyttö asiakas tarpeet tehtävää koskevat asiakirjat tuotekansio Ohjelmistohankkeen Ohjelmistohankkeen kulku - - tuotekansio tuotekansio sisältää kulku sisältää keskeisimmät keskeisimmät dokumentit dokumentit Spesifikaatioiden laatiminen 41

42 ... Esimerkki projektidokumentaatiosta Ohjeistukset -Projektiohje - Määrittelyohje - Tarkastusohje alustava projektisuunnitelma - Suunnitteluohje - Ohjelmointiohje - Testausohje Projektisuunnittelu, seuranta ja ohjaus tarkennettu projektisuunnitelma kokouspöytäkirjat loppuraportti määrittely tarkastukset Työn vaiheistus järjestelmätestaussuunnitelma suunnittelu tarkastukset ohjelmointi tarkastukset integrointitestaus järjestelmätestaus projektin käynnistäminen projektin päättäminen toiminallinen määrittely tekninen määrittely Katselmukset hyväksymiskatselmus suunnittelukatselmus ohjelmakoodi määrittelykatselmus testausraportti Pienet Pienet projektit (alle projektit (alle 2 2 htkk) htkk) -> projektikortti -> projektikortti Pöytäkirjat Spesifikaatioiden laatiminen 42

43 Dokumentointimallit perusrakenne kansilehti» organisaatio, projekti, dokumentti, versio, sivuja, tekijä, tila (hyväksytty, jätetty tarkastettavaksi, kesken); tekijän, tarkastajan ja hyväksyjän nimi + nimikirjoitus, pvm tiivistelmä dokumentista sisällysluettelo versiohistoria (numero, pvm, muutokset) jokaisella sivulla sivunumero dokumentin nimi, versionumero, pvm ulkoasun yhdenmukaisuus eri dokumenteissa Dokumentaation Dokumentaation lukijalla lukijalla on on oikeus oikeus olettaa olettaa dokumentin dokumentin noudattavan noudattavan tehtyä tehtyä sopimusta sopimusta Spesifikaatioiden laatiminen 43

44 ... Dokumentointimallit muuttuneet kohdat voidaan merkitä muutospalkilla kaaviot ovat osa dokumentaatiota (ei erillisenä liitteenä) dokumentaation tekninen toteutus voi olla elektroninen» mahdollistaa hypertekstiratkaisut paperimuoto ohjelmien tyyliopas dokumenttimallin kaltainen ohjeistus ohjelmointityölle ulkoasun, kommentoinnin, jne. periaatteet tarkastus- ja muistilistat laadunvarmistuksessa mallien soveltaminen tilanteeseen mikään malli ei sellaisenaan sovellu kaikkialle Spesifikaatioiden laatiminen 44

45 Määrittely tehtävät: projektin tarpeellisuuden ja toteuttamiskelpoisuuden selvittäminen tavoitteiden ja vaatimusten asettaminen ratkaisumallin laatiminen tulos: toiminnallinen määrittely vaatimukset vaatimukset täyttävän järjestelmän kuvaus Spesifikaatioiden laatiminen 45

46 määrittely Ideat, lähtökohdat, rajoitteet, reunaehdot Ongelman ymmärtäminen, vaatimusten kartoitus Määrittelyprosessi Toteutettavan järjestelmän spesifiointi Esitutkimuksen Esitutkimuksentyökaluja: työkaluja: kokoukset kokoukset seminaarit seminaarit haastattelut haastattelut tutustuminen tutustuminenvastaaviin tuotteisiin tuotteisiin luova luovaryhmätyö osallistuva osallistuvahavainnointi markkinatutkimukset prototyyppituotteet prototyyppituotteet Toiminnallinen määrittely, alustava käyttöohje, toteutusprojektin projektisuunnitelma, testaussuunnitelma korjattavaa Tarkastus OK Arkkitehtuurisuunnittelu Spesifikaatioiden laatiminen 46

47 määrittelydokumentti pienissä projekteissa laajennettu käyttöohje riittää määrittelydokumentiksi toiminnallinen määrittely on projektin tärkein dokumentti alistettava tuotteenhallintaan jäädytys ja byrokraattinen muutosmenettely muutokset kalliita; joudutaan kuitenkin aina jossain määrin tekemään (miksi?) Spesifikaatioiden laatiminen 47

48 ... määrittelydokumentti 1. Johdanto 1.1 Tarkoitus 1.2 Tuote 1.3 Määritelmät, termit ja lyhenteet 1.4 Viitteet, muut tähän liittyvät dokumentit 1.5 Yleiskatsaus dokumenttiin 2. Yleiskuvaus 2.1 Ympäristö 2.2 Toiminta 2.3 Käyttäjät 2.4 Yleiset rajoitteet 2.5 Oletukset ja riippuvuudet 3. Tiedot ja tietokanta 4. Toiminnot tietovirtakaavio tila-automaatit toimintokuvaukset liittymäkaavio tapahtumaluettelo käyttötapauskaavi o tietovirtakaavio luokkakaavio käyttöliittymäkuv aus luokkakaavio (käsitekaavio) tietohakemist ot 5. Ulkoiset liittymät 5.1 Käyttöliittymä 5.2 Laitteistoliittymät 5.3 Ohjelmistoliittymät 5.4 Tietoliikenneliittynnät 6. Muut ominaisuudet 6.1 Suorituskyky 6.2 Käyttetävyys, toipuminen, turvallisuus ja suojaukset 6.3 Ylläpidettävyys 6.4 Siirettävyys, yhteensopivuus 6.5 Operointi 7. Suunnittelurajoitteet 7.1 Standardit 7.2 Laitteistorajoitteet 7.3 Ohjelmistorajoitteet 7.4 Muut rajoitteet Kuvattavat kohteet ja esimerkkejä kuvaustekniikoista Spesifikaatioiden laatiminen 48

49 ... määrittelydokumentti Otsaketiedot: tuotteen nimi, tekijät, versionumero, päiväys, versiohistoria, hyväksyjien nimet ja ja päivämäärä 1.1. Tarkoitus: miksi tehty, kenelle tarkoitettu 1.2. Tuote: tuotteen nimi, tarkoitus ja ja tavoitteet 1.3. Määritelmät : jos eivät ole yleisesti tiedossa 1.4. Viitteet : nimi, identifiointitiedot, mistä löytyy Spesifikaatioiden laatiminen 49

50 määrittelydokumentti 1.5. Yleiskatsaus: dokumentin rakenteen kuvaus 2.1. Ympäristö: laajempi kokonaisuus johon tuote liittyy 2.2. Toiminta: yhteenveto ominaisuuksista 2.3. Käyttäjät: käyttäjien ja ja käyttöympäristön kuvaus 2.4. Yleiset rajoitteet: lainsäädäntö, sovelluksen kriittisyys, suojaus- ja ja turvallisuus, Spesifikaatioiden laatiminen 50

51 määrittelydokumentti 2.5. Oletukset: oletukset, joiden vallitessa määrittely on voimassa Tiedot ja jatietokanta: tietosisältö, käyttöintensiteetti, kapasiteetti- ja ja saantiaikavaatimukset 4.n. Toiminnon kuvaus: tarkoitus, syötteet (mistä, mitä, paljonko, yksikkö, sallitut arvot), käsittely (tarkistukset, virhetilanteiden käsittely, käsittely, ), tulosteet Spesifikaatioiden laatiminen 51

52 määrittelydokumentti 5.1. Käyttöliittymä: näyttömallit, raporttimallit, siirtyminen näytöstä toiseen, komennot, 6.1. Suorituskyky: staattiset (montako päätettä, montako tietuetta, ), dynaamiset (montako tapahtumaa/aikayksi kkö, vastausaika, ) 6.2. Turvallisuus: käyttöoikeudet, salakirjoitus, ) Spesifikaatioiden laatiminen 52

53 määrittelydokumentti käytettävän rakenteen ja lopullisen sisällön määrittää tarkoituksenmukaisuus (ja ohjeistus) kuvitus - tarkoituksenmukainen ja selkeä kuvausmenetelmien oikea valinta integroidut kehitysympäristöt ohjaavat dokumentaatiota sekä huolehtivat (jossain määrin) kuvauskokonaisuuden eheydestä Spesifikaatioiden laatiminen 53

54 Suunnittelu Määrittelyvaiheesta Moduulisuunnittelu, toteutussuunnittelu Uudelleenkäytettävät komponentit Toiminnallinen määrittely Tekninen määrittely korjattavaa Moduulisuunnitelmat Arkkitehtuurisuunnittelu korjattavaa Tarkastus Tarkastus Ohjelmointi Koodi Tarkastukseen, testaukseen Spesifikaatioiden laatiminen 54

55 Arkkitehtuurisuunnittelu moduulijako ja rajapinnat - tavoitteena hallittavuus fokus rajapintojen määrittelyssä ja toimintojen jakamisessa lopulliseen moduulijakoon kuuluvan moduulin toteutus annetaan yhden suunnittelijan vastuulle mahdollisimman itsenäiset moduulit kiinteät rajapinnat hallittu ulkoinen kommunikaatio moduulin toteutus koteloidaan moduulin sisään uudelleenkäyttö Spesifikaatioiden laatiminen 55

56 Rajapintojen kiinteys Moduuli P Moduuli Q Data Käsittely -funct A -funct B P.A(x,y) Alustukset Analogia: Analogia: Kun Kun henkilö henkilö haluaa haluaa toisen henkilön toisen henkilön nostavan nostavan kättään, kättään, pyytää hän pyytää hän toista toista tekemään tekemään sen, sen, ei ei mene nostamaan mene nostamaan sitä sitä itse. itse. Luonnollinen tapa Luonnollinen tapa toimia! toimia! Palvelurajapinta Palvelurajapinta - - palvelukutsut palvelukutsut vain vain rajapinnan rajapinnan kautta kautta - - palvelun palvelun toteutus toteutus tarjoajan tarjoajan sisäinen sisäinen Spesifikaatioiden laatiminen 56

57 Mikä on moduuli termiä käytetään eri yhteyksissä hieman eri merkityksessä määritelmä: kokonaisuuden osa arkkitehtuurisuunnittelussa: ohjelmiston rakenneosa looginen järjestelmän osakokonaisuus ohjelmoinnissa: ohjelman rakenneosa koodimoduuli, luokka (attribuutit + toiminnallisuus),... Spesifikaatioiden laatiminen 57

58 Moduulisuunnittelu suunnitellaan moduulin sisäinen rakenne hierarkkisesti etenevä prosessi - mahdollisesti arkkitehtuurisuunnittelun kanssa rinnan (vuorovaikutuksessa) rajapinta elinkaaressa eteen ja taakse on häilyvä arkkitehtuurisuunnittelusta siirrytään rakenneosan sisäiseen suunnitteluun huomaamatta, samoin moduulisuunnittelusta toteutukseen (toimintokuvaus) joskus moduulin suunnittelu, toteutus ja moduulitestaus nähdään yhtenä kokonaisuutena Spesifikaatioiden laatiminen 58

59 Suunnittelun tavoitteita Tavoitteita : selkeys ymmärrettävyys tehokkuus luotettavuus ylläpidettävyys siirrettävys Tavoitteiden saavuttaminen: paikallisuus hierarkkisuus modulaarisuus rajapintojen tiiviys kotelointi tiedon kätkeminen abstraktit tietotyypit Spesifikaatioiden laatiminen 59

60 Tekninen määrittely 1. Johdanto 1.1. Tarkoitus 1.2. Dokumentin kattavuus 1.3. Määritelmät, termit, lyhenteet 1.4. Viittaukset muihin dokumentteihin, standardeihin, käsikirjoihin, jne Yleiskatsaus dokumenttiin 3. Arkkitehtuurin kuvaus 3.1. Ratkaisuperiaatteet 3.2. Tietokanta-arkkitehtuuri 3.3. Ohjelmistoarkkitehtuuri, moduulit ja prosessit 3.4. Uudelleenkäytettävät komponentit 2. Järjestelmän yleiskuvaus Sovellusalueen kuvaus, järjestelmän osuus siinä, laitteisto- ja ohjelmistoympäristön kuvaus, toteutuksen keskeiset reunaehdot ja järjestelmän liittyminen ympäristöönsä Spesifikaatioiden laatiminen 60

61 tekninen määrittely 4. Moduuli- (ja prosessi)kuvaukset 4.i. Kustakin moduulista esitetään yleiskuvaus attribuutit (ylläpidettävät tilatiedot) operaatiot (rajapinnan määrittely) poikkeus- ja virhetilanteiden käsittely (myös odottamattomien) ohjeita moduulisuunnittelua ja toteutusta varten (viittsaukset käytettäviin algoritmeihin, uudelleenkäytettävyys, jne.) Muita mahdollisia kohteita ylläpito-ohjeet siirrettävyys virhetilanteiden käsittely luotettavuus erityiset tekniset ratkaisut hylättyjä ratkaisuvaihtoehtoja; miksi ne hylättiin käyttöliittymä, jos ei tarkasti määrittelyssä ratkaisun rajoitteet testattavuus jäljitettävyys Spesifikaatioiden laatiminen 61

62 Työkalut käyttökohteen mukainen luokittelu edustavälineet (upper CASE, front-end)» määrittelyä ja suunnittelua tukevat taustavälineet (lower CASE, back-end)» toteutusvaiheen välineet integroidut ympäristöt (IPSE) laaja käytön kohdealue» yhteentoimivat erilliset välineet» yksi laajan toiminnallisuuden sisältävä väline integroinnin aste käytännössä vaihtelee Spesifikaatioiden laatiminen 62

63 työkalut työkalut työkalujen äly piirtämistä tukevat työkalut» symbolit, mahdollisesti niiden yhdistämisen hallinta» ei hallitse semanttista tietämystä järjestelmän rakenteesta kontekstiin ymmärtävät työkalut» kuvaus ja kuvauksen (jonkinasteinen) semantiikan hallinta kuvauskanta kuvaus ja sitä koskeva (vaihtelevantasoinen) tietämys» tietämyksen siirto kuvauksesta toiseen» kykenee tarkastamaan (jossain määrin) kuvauskokonaisuuden eheyttä automaattinen koodin generointi käyttöönottoprosessi väline on sovitettava osaksi työprosessia» työkalun tekninen sovittaminen (muuntaminen) ja prosessin muuttaminen Spesifikaatioiden laatiminen 63

64 työkalut Projektinhallinta Kuvauskannan hallinta Käytön hallinta Raportit, dokumentit Kuvausten teko ja käsittely Analyysit, johdonmukaisuustarkistukset Kuvauskanta Liittymät muihin välineisiin Generointi: ohjelmointikieli, näytöt, raportit Protoilu Tuotteenhallinta Testauksen apuvälineet Spesifikaatioiden laatiminen 64

65 Standardit Standardointijärjestöjä kansainvälisia: ISO, IEC, ITU; CEN, CENELEC kansallisia: ANSI, BSI, DIN, SFS toimialajärjestöjä: IEEE suomalaisia: SFS, TIEKE, THK, SESKO,... hallinnonalajärjestöjä: DoD, NASA, yritykset ja yrityskonsortiot: OMG, Rational,... Spesifikaatioiden laatiminen 65

66 standardit standardityyppejä sitovuuden mukaan jaoteltuna yleisluonteiset määräykset de facto -standardit kansalliset standardit (SFS-nnn,...) valmisteluvaiheen työdokumentit (esim. ISO/IEC:ssä WD, CD, DIS, ) kansainväliset standardit (ISO-nnn, ISO/IEC-nnn, ) lisäksi teknisiä raportteja (ISO-TR) ja täydennyksiä (AMD - amendment) Spesifikaatioiden laatiminen 66

67 standardit standardityyppeja luonteen mukaan jaoteltuna, mm: kehysstandardit (OSI) prosessistandardit (SPICE) ohjeluonteiset standardit (ohjeistukset standardien tekemiselle tai käytölle) varsinaiset kohdestandardit Spesifikaatioiden laatiminen 67

68 standardit ohjelmistotyön standardointi IEEE standardisarja ISO/IEC JTC1/SC7-työ kansainvälisellä tasolla TIEKEn työ Suomessa Systeemityökerho (TTL) - SyTyKe tietotekniikan kansainvälinen standardointityö ISO/IEC JTC1 alakomiteat (SC7 - ohjelmistotyö, SC22 - kielet) työryhmät(wg) ad hoc -ryhmät (AHG) Spesifikaatioiden laatiminen 68

69 standardit toimintaan osallistutaan kansallisten standardointijärjestöjen kautta demokraattinen (jäykkä, aikaavievä) hyväksymismekanismi» Fast Track menettely oikaisee työvaiheita» virallisten standardien alla saattaa muodostua de facto - standardeja suomalainen standardointityö SFS vastaa, saattaa delegoida vallan toimialajärjestöille tietotekniikka: TIEKE vastaa tietotekniikan toimialasta Hitaus, Hitaus, byrokraattisuus: byrokraattisuus: Esimerkiksi Algol-60 Esimerkiksi Algol-60 kielen kielen standardi standardi valmistui valmistui de facto de facto standardina standardina Virallinen standardointityö Virallinen standardointityö lopetettiin tuloksettomana lopetettiin tuloksettomana 1990-luvulla 1990-luvulla Spesifikaatioiden laatiminen 69

70 ... standardit Laatujärjestelmä, prosessi: Projektinhallinta: Määrittely: määrittelnittelunittelu Ohjelmointi mointi , ylläpito: Suun- suun- ohjel-testaus: testaus Käyttö, Dokumentointi: Laadunohjaus: , , , , Tuotteenhallinta: , Spesifikaatioiden laatiminen 70

71 Kertauskysymykset Mitä tarkoitetaan sanonnalla "ohjelmistotyö on dokumenttien tuottamista. Mikä on dokumenttien merkitys ohjelmistotyössä. Mitä tarkoitetaan spesifikaatioissa toiminnallisilla ominaisuuksilla, eitoiminnallisilla ominaisuuksilla ja reunaehdoilla / rajoitteilla. Mitä ovat hyvän spesifikaation ominaisuudet. Kurssimateriaalissa ohjelmistokehitys nähdään spesifikaatioiden ketjuna. Edellisen vaihetason tulos toimii spesifikaationa seuraavalle vaihetasolle. Selitä tämän tarkastelun / näkökulman taustalla oleva logiikka. Selvitä termien kuvaustekniikka, kuvausmenetelmä ja kehitysmenetelmä erot ja sisältö. Kuvausmenetelmien rooli kehitysmenetelmissä. Mitä ovat suoritettavat spesifikaatiot. Mihin perustuu spesifikaatioiden oikeaksi todistaminen. Selitä kurssimateriaalin perusteella kuvausmenetelmien käyttötapa SA-menetelmässä OMT++ -menetelmässä Simplified Method -menetelmässä Mikä on UML. Selitä hyvän dokumentointikäytännön (dokumenttien laadinnan) periaatteet. Mitä hyötyä on dokumenttimalleista ja niiden käyttöä ohjaavista ohjeista / standardeista. Mitä dokumentteja laatujärjestelmä edellyttää laadittavaksi. Mikä on dokumentoinnin rooli laatujärjestelmän mukaista toimintatapaa toteutettaessa. Spesifikaatioiden laatiminen 71

72 kertauskysymykset Ohjelmistokehitykseen liittyvät dokumentit syntyvät vaiheittain täydentyen (iteroiva kehittämismenettely) ja valmiita dokumentteja versioiden. Mitä nämä menettelytavat näkyvät käytännössä ja mitä projektihallinnollisia toimintoja tarvitaan niiden toteuttammisessa. Selvitä miten tuotedokumentaatio kehittyy EVO-mallissa. Mitä vaihetuotteita syntyy määrittelyvaiheen tuloksena. Mitä suunnittelun tehtäviä sisältyy arkkitehtuurisuunnitteluun ja moduulisuunnitteluun. Mikä on näiden luonteenomainen ero. Miten nämä vaiheet näkyvät järjestelmän testausprosessissa. Moduulisuunnittelulle on (kurssimateriaalissa) määritelty joukko tavoitteita. Selitä mitä ne ovat. Olet laatimassa yrityksellesi dokumentointijärjestelmän puitteita ja etsimässä sopivia malleja dokumenttimalleiksi. Mistä lähdet hakemaan työllesi kirjallista tukiaineistoa. Oliorakenteeseen kuuluu moduulirakenne, moduulien kiinteä rajapinta ja moduulin sisäisen toiminnan piilottaminen ulkopuoliselta käyttäjältä. Mitä etuja tämä tuo järjestelmän kehitystyölle. Mitä tarkoitetaan uudelleenkäytöllä ja miten se näkyy ohjelmistotyössä. Mihin elinkaarivaiheisiin sillä on vaikutusta. Pohdi työkalujen roolia ohjelmistotyön tukena. Mitä tehtäviä on kuvauskannalla ja mitä sillä tarkoitetaan. Miten kuvauskanta järjestelmäkehityksessä toteutuu. Pohdi tilannetta erilaisissa työskentelyolosuhteissa integroitujen kehitysympristöjen kanssa toimittaessa erillisten työkaluohjelmistojen kanssa toimittaessa (joukko piirtelyn apuvälineitä) ilman työkalutukea toimittaessa Viralliset standardit ohjelmistotyössä - mikä on niiden merkitys. Minkälaista sidosastetta edustavat WD, CD, DIS, IS -standardidokumentit (ISOn ja n standardeja). Minkälaisia rooleja (asikasyrityksessä, toimittajayrityksessä) liittyy toiminnalliseen määrittelyyn joko sen tuottajana, tietojen antajana tai dokumentaation tarvitsijana. Spesifikaatioiden laatiminen 72

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

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

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

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

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta

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

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

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

Kuvaustekniikat. Exit

Kuvaustekniikat. Exit Kuvaustekniikat Luvussa tarkastellaan tietojärjestelmän määrittelymenetelmiä. Määrittelymenetelmä sitoo yhteen ja ohjeistaa sen, miten eri kuvausmenetelmiä käyttäen voidaan tehdä tietojärjestelmän määrittely.

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

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,

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

GroupDesk Toiminnallinen määrittely

GroupDesk Toiminnallinen määrittely GroupDesk Toiminnallinen määrittely Tilanne: Paikallinen oppilaitos, kuvitteellinen WAMK, tarvitsee ryhmätyöhön soveltuvan sähköisen asioiden hallintajärjestelmän ja ryhmätyöohjelmiston, jonka ajatuksena

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

Johdantoluento. Ohjelmien ylläpito

Johdantoluento. Ohjelmien ylläpito Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito

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

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

UML:n yleiskatsaus. UML:n osat:

UML:n yleiskatsaus. UML:n osat: UML:n yleiskatsaus - voidaan hyödyntää hyvin laajasti. - sopii liiketoimintamallinnukseen, ohjelmistomallinnukseen sen jokaiseen vaiheeseen tai minkä tahansa pysyviä ja muuttuvia ominaisuuksia sisältävän

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

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

Määrittelyvaihe. Projektinhallinta

Määrittelyvaihe. Projektinhallinta Määrittelyvaihe Projektinhallinta testaus määrittely suunnittelu ohjelmointi käyttöönotto, testaus tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta Määrittely Määrittely, eli kansanomaisesti

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

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

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

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

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// Testauksen loppuraportti v. 1.0 Päivitetty 23.4.2001 klo 19:05 Mikko Viljainen 2 (14) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite 1.0

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

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

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset Sopimus Asiakas- ja potilastietojärjestelmästä Liite N: Kielivaatimukset VERSIOHISTORIA Päivä Versio Kuvaus Tekijä 12.3.15 3.0 Tarjouspyynnön liitteeksi 2 (6) SISÄLLYSLUETTELO 1 JOHDANTO... 4 2 JÄRJESTELMÄN

Lisätiedot

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

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät Laatujärjestelmät Ohjelmistotekniikka kevät 2003 Prosessiajattelu Sisään Prosessi Ulos ohjaus mittaus Laatujärjestelmät Laatujärjestelmät määrittelevät sen, mitkä prosessit täytyy olla määritelty ei sitä,

Lisätiedot

Avoimen ja yhteisen rajapinnan hallintamalli

Avoimen ja yhteisen rajapinnan hallintamalli Avoimen ja yhteisen rajapinnan hallintamalli 1.10.2015 Sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan hallitsemat rajapinnat)

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

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

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto Johdanto Sami Kollanus TJTA330 Ohjelmistotuotanto 6.3. Mitä on ohjelmistotuotanto? Ohjelmistotekniikka (Software Engineering) tarkoittaa pätevien insinööriperiaatteiden vakiinnuttamista ja käyttämistä

Lisätiedot

Mitä on ohjelmistotuotanto?

Mitä on ohjelmistotuotanto? Johdanto Sami Kollanus TJTA330 Ohjelmistotuotanto 6.3. Mitä on ohjelmistotuotanto? Ohjelmistotekniikka (Software Engineering) tarkoittaa pätevien insinööriperiaatteiden vakiinnuttamista ja käyttämistä

Lisätiedot

Yhteenveto. Menettelytavat

Yhteenveto. Menettelytavat Yhteenveto Ohjelmistotuotanto: Luotettavien ja tehokkaiden ohjelmistojärjestelmien tuottamista noudattaen hyviksi havaittuja menettelytapoja. Menettelytavat Prosessimalli (vesiputous/spiraali/kasvattava)

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

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4 Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4 Tämän esityksen sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan

Lisätiedot

Työkalujen merkitys mittaamisessa

Työkalujen merkitys mittaamisessa Työkalujen merkitys mittaamisessa Mittaaminen ja Ohjelmistotuotanto -seminaari Toni Sandelin 18.4.2001, VTT Elektroniikka, Oulu 1 Sisältö Mihin työkalutukea tarvitaan? Työkalut & metriikat: luokitus Mittausohjelmien

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

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kesä 2008 582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

Lisätiedot

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistojen mallintaminen Unified Modeling Language (UML) 582104 Ohjelmistojen mallintaminen Unified Modeling Language (UML) 1 Olioperustaisuus Olio toimii mallinnuksen perusyksikkönä eri abstraktiotasoilla Järjestelmän rajaus, suunnittelu, ohjelmointi, suoritus..

Lisätiedot

ABB Drives and Controls, 26.05.2015 Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa

ABB Drives and Controls, 26.05.2015 Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa ABB Drives and Controls, 26.05.2015 Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa Sisältö 1. Koneenrakentajan haasteita koneiden turvallistamisessa 2.

Lisätiedot

Teollisuusautomaation standardit Osio 9

Teollisuusautomaation standardit Osio 9 Teollisuusautomaation standardit Osio 9 Osio 1: SESKOn Komitea SK 65: Teollisuusprosessien ohjaus Osio 2: Toiminnallinen turvallisuus: periaatteet Osio 3: Toiminnallinen turvallisuus: standardisarja IEC

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

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmiston testaus ja laatu. Testaustasot Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu

Lisätiedot

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima Esityksen sisältö Johdanto Yleistä leimausmenettelystä ja leimasta Leimausmenettelyn vaiheet Kuinka määrittelyjen mukaisuus testataan: esimerkkejä testitapauksista Olennaisimmat kysymykset leimausmenettelyn

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

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

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , ) Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss. 121-133, 135 141) Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Sisältö Sekvenssikaaviot ja tilakaaviot osana UML:ia Sekvenssikaaviot

Lisätiedot

Testaussuunnitelma Labra

Testaussuunnitelma Labra Testaussuunnitelma Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,

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

JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi

JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi Versio: 0.9 Julkaistu: n.n.2011 Voimassaoloaika: toistaiseksi Sisällys 1 Katselmointi osana laadunvarmistusta... 2 2 Yleistä katselmoinneista...

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Toiminnallinen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.01 7.11.01 Pekka Koskinen Alustava sisällysluettelo 0.1 12.11.01 Pekka

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

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

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

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

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k 1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Ohjelmistotuotteen hallinnasta

Ohjelmistotuotteen hallinnasta Ohjelmistotuotteen hallinnasta Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Haikala ja Märijärvi, Ohjelmistotuotanto Royce, Software Project Management, A Unified Framework 1 Tavoitteista

Lisätiedot

T Testiraportti - järjestelmätestaus

T Testiraportti - järjestelmätestaus T-76.115 Testiraportti - järjestelmätestaus 18. huhtikuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 18.04.2002 Jani Myyry Muutettu viimeksi: 18.04.2002 Jani Myyry Versiohistoria

Lisätiedot

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistotekniikan menetelmät, kevät 2008 582101 - Ohjelmistotekniikan menetelmät, kevät 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

Lisätiedot

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa: Testaus käsite Sekalaista asiaa Sami Kollanus 15.11.2006 Jos ajatellaan, että = V&V, voidaan erottaa: Staattinen Dynaaminen Toisaalta voidaan määritellä Myersin (1979) mukaan: Testaus on ohjelman suoritusta,

Lisätiedot

Valtioneuvoston kanslia VAIN VIRKAKÄYTTÖÖN Hallinto- ja palveluosasto/hallintoyksikkö Terja Ketola PTJ2008-työsuunnitelma 1 (5)

Valtioneuvoston kanslia VAIN VIRKAKÄYTTÖÖN Hallinto- ja palveluosasto/hallintoyksikkö Terja Ketola PTJ2008-työsuunnitelma 1 (5) Terja Ketola PTJ2008-työsuunnitelma 1 (5) AIKATAULU JA TEHTÄVÄT / PTJ2008 VALMIS MENOSSA MYÖHÄSSÄ ALOITTAMATTA ALUSTAVA AJANKOHTA EI PIDETTY / TEHTY 1 Määrittelyn läpikäynti PTi, TKe, IHa, TRö 34 23.8.2007

Lisätiedot

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari

Lisätiedot

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004 Tarkastusmenettelyt ja katselmukset tsoft Vesa Tenhunen 4.2.2004 http://cs.joensuu.fi/tsoft/ Johdanto Yksi tärkeimmistä tekijöistä laadukkaiden ohjelmistojen tuottamisessa on puutteiden aikainen havaitseminen

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

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...

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

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

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Kurssin aihepiiri: ohjelmistotuotannon alkeita Kurssin aihepiiri: ohjelmistotuotannon alkeita [wikipedia]: Ohjelmistotuotanto on yhteisnimitys niille työnteon ja työnjohdon menetelmille, joita käytetään, kun tuotetaan tietokoneohjelmia sekä monista

Lisätiedot

Projektin suunnittelu

Projektin suunnittelu Projektin suunnittelu Sami Kollanus TJTA330 Ohjelmistotuotanto 15.3. Projektin suunnittelu - CMMIkäytänteet Projektin estimaatit: Määritellään projektin laajuus (scope) Määritellään tehtävien ja tuotosten

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 1. JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote... 3 1.3 Määritelmät, termit ja lyhenteet... 3 1.4 Viitteet...

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

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

Kansallinen ASPAtietojärjestelmä

Kansallinen ASPAtietojärjestelmä Kansallinen ASPAtietojärjestelmä Taustoitus Järjestäjien tarve yhteiselle asiakaspalautteen keräämisen järjestelmälle nousi esiin kevään selvityksessä Asiakaspalautetieto on myös osa kansallista sote-tietopohjaa

Lisätiedot

Laatukäsikirja - mikä se on ja miten sellainen laaditaan?

Laatukäsikirja - mikä se on ja miten sellainen laaditaan? Laatukäsikirja - mikä se on ja miten sellainen laaditaan? Matkailun laatu laatukäsikirja osaksi yrityksen sähköistä liiketoimintaa Sähköinen aamuseminaari matkailualan toimijoille 24.8.2010 Riitta Haka

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

582104 Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

582104 Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon 582104 Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon 1 Lyhyt johdatus ohjelmistotuotantoon Ohjelmistotuotanto, ohjelmistoprojektit Miten ohjelmistojen tuottaminen eroaa teollisesta tuotannosta

Lisätiedot

Matematiikan oppifoorumi Projektisuunnitelma

Matematiikan oppifoorumi Projektisuunnitelma Matematiikan oppifoorumi Projektisuunnitelma Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen Ohjaaja Jukka Eskola Asiakas Mikko Mäkelä Ohjelmistotuotantoprojekti 29.10.1999

Lisätiedot

Kontrollipolkujen määrä

Kontrollipolkujen määrä Testaus Yleistä Testaus on suunnitelmallista virheiden etsimistä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta Hyvät menetelmät, kuten katselmoinnit pienentävät

Lisätiedot

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu HELIA 1 (8) Luento 1 Johdatusta tietokannan suunnitteluun... 2 Tietokantasuunnittelu?... 2 Tietokanta?... 2 Tieto?... 2 Tietokantasuunnittelun tavoite, v.1... 2 Luotettavuus?... 3 Tietokantasuunnittelun

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

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Avoin verkkoalusta ihmisen ja koneen ymmärtämien tietomääritysten tekemiseen Riitta Alkula 20.3.2019 Esityksen sisältö

Lisätiedot

Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit

Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit Prosessimallit Prosessimalli on ohjelmiston elinkaaren rakenteen määrittely ts. kuvaus sille millaisten vaiheiden kautta ohjelmisto kehittyy ideasta hautaan mahdollisimman yleisesti sovellettavissa oleva

Lisätiedot

Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä. Maria Vinter

Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä. Maria Vinter Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä Maria Vinter 2 Taustaa Diplomityö: Tietomallinnuksen hyödyntäminen siltojen ylläpidossa, valmis 09/2017 https://julkaisut.liikennevirasto.fi/pdf8/opin_2017-03_tietomallinnuksen_hyodyntaminen_web.pdf

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

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

Opiskelija osaa suunnitella ohjelmiston toteuttamisen, toteuttaa, testata ja dokumentoida ohjelmiston.

Opiskelija osaa suunnitella ohjelmiston toteuttamisen, toteuttaa, testata ja dokumentoida ohjelmiston. 1(6) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ tuotantoversion toteuttaminen 30 osp Tavoitteet: Opiskelija osaa suunnitella toteuttamisen, toteuttaa, testata ja dokumentoida. Työssäoppimisen keskeinen

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Arkkitehtuuriin vaikuttavat ympäristötekijät Jo kehittämisen alkuvaiheessa on tarpeellista hahmotella arkkitehtuurin perusratkaisu. Lähtökohdat

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

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

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Koskelo Helsinki 16.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Tom Bertell Johan

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

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Kuopio Testausraportti Asiakkaat-osakokonaisuus Kuopio Testausraportti Asiakkaat-osakokonaisuus Kuopio, testausraportti, 25.3.2002 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 11.2.2002 Matti Peltomäki Ensimmäinen versio 0.9 11.2.2002 Matti Peltomäki

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallintaminen, kesä 2009 582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

Lisätiedot

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot Arkkitehtuuripankki Mallintamisen metamalli ja notaatiot 21.2.2018 Sisältö Kuvaustapa (notaatio) ja standardit Mallityypit Metamalli Muuta Kuvaustavat ja hyödynnetyt standardit JHS179 template ArchiMate

Lisätiedot