Ohjelmistotekniikka ja projektinhallinta, 4 op OHJELMISTON ELINKAARIMALLIT Seppo Räsänen Savonia-ammattikorkeakoulu Terveysala, kuopio 18.8.2008
Ohjelmiston elinkaari ja vaihejakomallit …
Ohjelmiston elinkaari ja vaihejakomallit … Elinkaari = Aika, joka kuluu ohjelmiston kehittämisen aloittamisesta käytöstä poistumiseen Elinkaarimalleja ovat mm. Vesiputous (yleisin malli) Evo Protoilu Spiraali Jne…
Vesiputousmalli… Esitutkimus Määrittely Suunnittelu Toteutus Integrointi ja testaus Käyttöönotto ja ylläpito mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää ongelman vaatimukset miten järjestelmä toteutetaan ja ositetaan osien ohjelmointi osien liittäminen yhteen Ohjelman luovuttaminen asiakkaalle = asennus ja koulutus
Vesiputousmalli… Kaikkiin vaiheisiin liittyy tarkastuksia, katselmointeja ja testausta laadunvarmistus Tarkastuksilla ja testaamisella pyritään kitkemään virheet mahdollisimman aikaisessa vaiheessa kustannukset virheen korjaamiselle kertaantuvat mitä pitemmälle projektissa on edetty Katselmoinnit järjestetään yleensä tietyn vaiheen lopuksi Projektin tilanteen läpikäynti ja todennetaan, että kaikki tietyn vaiheen tavoitteet on saavutettu ja dokumentit ovat kunnossa
Vesiputousmalli… Esitutkimus tavoitteena on asettaa yleiset vaatimukset järjestelmälle määrittää asiakkaan tarpeet, asiakasvaatimukset, odotukset ei ota kantaa millainen järjestelmän tulee olla antaa vastauksen kysymykseen, miksi järjestelmä tai ohjelmisto tulisi tehdä tai miksi se pitäisi jättää tekemättä mielletään myös osaksi määrittelyä tarpeiden analysointi ja tarkentuminen jatkuu läpi koko määrittelyvaiheen
Vesiputousmalli… Määrittely asiakasvaatimuksista johdetaan ohjelmistovaatimukset ohjelmistovaatimukset määrittelevät toteutettavan järjestelmän tuotetaan dokumentti, jossa kuvataan ohjelmiston toiminnot, toteutuksen ei-toiminnalliset vaatimukset ja rajoitukset toiminnallinen määrittely (IEEE830) Ohjelmiston toiminnoissa määritellään: toteutettavat ominaisuudet, käyttöliittymä, liitynnät muihin järjestelmiin Ei-toiminnallisia vaatimuksia: Vasteajat, käytettävyys, suoritusteho Rajoituksissa kuvataan mm.: käytössä oleva muistin määrä, tietty ohjelmointiympäristö, tietty käyttöjärjestelmä
Vesiputousmalli… Suunnittelu suunnitellaan toimintojen toteutus määrittely muutetaan tekniselle kielelle eli järjestelmän toteutuksen kuvaukseksi tekninen määrittely (IEEE1016) jaetaan yleensä kahteen osaan: arkkitehtuurisuunnittelu osien työnjako ja rajapinnat tavoitteena toisistaan riippumattomat moduulit, jolloin yhden moduulin muutokset eivät vaikuta muihin moduuleihin uudelleenkäytettävyyden lisääminen tekninen määrittely moduulisuunnittelu suunnitellaan jokaisen itsenäisen moduulin sisäinen rakenne yksittäinen suunnittelija voi suunnitella, toteuttaa ja testata moduulin
Vesiputousmalli… Ohjelmointi Testaus kirjoitetaan ohjelma ohjelmoija yleensä yksikkötestaa oman ”koodinsa ennen varsinaista testausvaihetta Testaus tavoite on yksinkertaisesti löytää ohjelmistosta virheitä suoritetaan yleensä monella tasolla alkaen ohjelmointivaiheen yksikkötestauksella ja päättyen järjestelmätestaukseen V-malli
testauksen suunnittelu ja Vesiputousmalli… Ohjelmointi Määrittely Arkkitehtuuri- suunnittelu Moduuli- testaus Integrointi- Järjestelmä- testauksen suunnittelu ja tulosten verifiointi Tarpeet / sopimus Hyväksymis- koe -Moduulitestauksen paljastamat virheet ovat ohjelmointivirheitä -Integrointitestauksessa esiin tulevat virheet johtuvat suunnitteluvirheistä -Järjestelmätestaus vaiheessa paljastuvat virheet, voivat pahimmassa tapauksessa johtaa koko prosessin alkuun eli virheellisesti suoritettuun määrittelyvaiheeseen
Vesiputousmalli… Moduulitestaus Integrointitestaus Järjestelmätestaus virheitä etsitään yksittäisistä moduuleista testaus suunnitellaan moduulisuunnittelun yhteydessä Integrointitestaus virheitä etsitään moduulien yhteistoiminnasta testaus suunnitellaan arkkitehtuurisuunnittelun yhteydessä Järjestelmätestaus virheitä etsitään koko järjestelmän toiminnoista ja suorituskyvystä testaus suunnitellaan määrittelyvaiheessa
Vesiputousmalli… Käyttöönotto- ja ylläpito koulutetaan käyttäjät otetaan järjestelmä tuotantokäyttöön ratkotaan asiakkaiden ongelmia korjataan virheitä muutetaan ohjelmaa vaatimusten muuttuessa lisätään uusia ominaisuuksia ohjelmaan
Evo-malli… Määrittely Suunnittelu Toteutus Testaus Versio 1 Versio 2
Evo-malli… Evo-malli pyritään ensimmäisessä vaiheessa rakentamaan perusjärjestelmä, jota myöhemmissä vaiheissa kehitetään jokainen vaihe on vesiputousmallin mukainen voidaan käyttää: tuotekehitysprojekteissa, joiden tarkoituksena on julkistaa esimerkiksi vuosittain uusi versio tuotteesta projektissa, jossa versioita tehdään n kappaletta ennen lopullista järjestelmää. Ominaisuuksia lisätään kierros kierrokselta ongelmaksi saattaa muodostua julkaistun version virheiden korjaus ja asiakkaiden ongelmien ratkominen versioiden ominaisuudet tulee myös suunnitella järkevästi, ettei uusia ominaisuuksia lisätä liikaa tai liian vähän seuraavaan versioon
Protoilu… Määrittely Suunnittelu Toteutus Testaus Prototyyppi Järjestelmä Proto-projekti Varsinainen tuoteprojekti
Protoilu… Protoilu tehdään jonkinlainen kokeilumalli ennen kuin varsinaista järjestelmää aletaan kehittämään voidaan selvittää epäselviä asiakasvaatimuksia uudet tekniset ratkaisut voidaan testata prototyypeillä ennen kuin päätetään ratkaisun käyttöönotosta käyttöliittymien suunnittelu on järkevää tehdä protoilemalla suorituskyky voidaan varmistaa etukäteen erityisillä suorituskykyprototyypeillä Kun prototyyppi on kehitetty, niin sen jälkeen on useita vaihtoehtoja jatkolle ajateltu järjestelmä ei tuo asiakkaalle lisäarvoa ja projekti ”ammutaan alas” tai aloitetaan protoilu alusta hieman eri perspektiivistä määritellään järjestelmä, jota aletaan kehittämään alusta alkaen uudestaan jatketaan prototyypin kehittelyä oikeaksi järjestelmäksi
Protoilu… Protoilu Protoilun ongelmana on, että asiakas saattaa luulla järjestelmän olevan jo suurimmalta osin valmis todellisuudessa ”demo-polut” ovat yleensä kapeita ja käyttäjien toimenpiteisiin vastataan esimerkiksi kovakoodatuilla viesteillä Aina ei kannata protosta tehdä valmiin näköistä asiakkaalle selviää ohjelmiston tarkoitus, mutta myös se, että työt ovat alkutekijöissään
Spiraali… Spiraalimallissa yhdistetään elinkaarimalli ja protoilu. Spiraalimallissa huomioidaan myös yhtenä keskeisenä osana mahdolliset riskit. Spiraalimalli soveltuu erityisesti suurten järjestelmien ja ohjelmien suunnitteluun.
Ohjelmiston elinkaari ja vaihejakomallit … Kysymyksiä Kommentteja