Ohjelmistotekniikka ja projektinhallinta 4 op 1 OHJELMISTON ELINKAARIMALLIT



















- Slides: 19

Ohjelmistotekniikka ja projektinhallinta, 4 op 1 OHJELMISTON ELINKAARIMALLIT SEPPO RÄSÄNEN SAVONIA-AMMATTIKORKEAKOULU TERVEYSALA, KUOPIO 18. 8. 2008

Ohjelmiston elinkaari ja vaihejakomallit … 2

Ohjelmiston elinkaari ja vaihejakomallit … 3 Elinkaari = Aika, joka kuluu ohjelmiston kehittämisen aloittamisesta käytöstä poistumiseen Elinkaarimalleja ovat mm. Vesiputous (yleisin malli) Evo Protoilu Spiraali Jne…

Vesiputousmalli… 4 mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot Esitutkimus millainen järjestelmä täyttää ongelman vaatimukset Määrittely Suunnittelu miten järjestelmä toteutetaan ja ositetaan osien ohjelmointi Toteutus Integrointi ja testaus osien liittäminen yhteen Käyttöönotto ja ylläpito Ohjelman luovuttaminen asiakkaalle = asennus ja koulutus

Vesiputousmalli… 5 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… 6 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… 7 Määrittely asiakasvaatimuksista johdetaan ohjelmistovaatimukset määrittelevät toteutettavan järjestelmän tuotetaan dokumentti, jossa kuvataan ohjelmiston toiminnot, toteutuksen ei-toiminnalliset vaatimukset ja rajoitukset toiminnallinen määrittely (IEEE 830) Ohjelmiston toiminnoissa määritellään: Ei-toiminnallisia vaatimuksia: toteutettavat ominaisuudet, käyttöliittymä, liitynnät muihin järjestelmiin Vasteajat, käytettävyys, suoritusteho Rajoituksissa kuvataan mm. : käytössä oleva muistin määrä, tietty ohjelmointiympäristö, tietty käyttöjärjestelmä

Vesiputousmalli… 8 Suunnittelu suunnitellaan toimintojen toteutus määrittely muutetaan tekniselle kielelle eli järjestelmän toteutuksen kuvaukseksi tekninen määrittely (IEEE 1016) 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… 9 Ohjelmointi 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

Vesiputousmalli… 10 Hyväksymiskoe Tarpeet / sopimus Järjestelmätestaus Määrittely Arkkitehtuurisuunnittelu testauksen suunnittelu ja tulosten verifiointi Integrointitestaus Moduulisuunnittelu Ohjelmointi -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… 11 Moduulitestaus virheitä etsitään yksittäisistä moduuleista Integrointitestaus virheitä etsitään moduulien yhteistoiminnasta testaus suunnitellaan moduulisuunnittelun yhteydessä testaus suunnitellaan arkkitehtuurisuunnittelun yhteydessä Järjestelmätestaus virheitä etsitään koko järjestelmän toiminnoista ja suorituskyvystä testaus suunnitellaan määrittelyvaiheessa

Vesiputousmalli… 12 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… 13 Määrittely Suunnittelu Toteutus Testaus Versio 1 Versio 2 Versio 3

Evo-malli… 14 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… 15 Varsinainen tuoteprojekti Proto-projekti Määrittely Suunnittelu Toteutus Testaus Prototyyppi Järjestelmä

Protoilu… 16 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… 17 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… 18 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 … 19 Kysymyksiä Kommentteja