Skip to content

Ohjelmistotuotanto

Kuvauksen kirjoitti: Kalle Riuttanen L4773

Lyhyt kuvaus käsitteestä tai aiheesta

Ohjelmistotuotanto on kokonaisuus/yleisnimitys ohjelmien sekä ohjelmisto kokonaisuuksien valmistukselle. Se sisältää erilaiset ohjelmien valmistus menetelmät, prosessinhallinnan ja ylipäätään kaiken toiminnan jonka päämääränä on valmistaa jokin tietokoneohjelma tai -ohjelmisto. Ohjelmistotuotannossa käytetään elinkaarimallia projektien hallinnan pohjana ja yleensä kaupalliset ohjelmistot tuotetaan projektityönä. Ohjelmiston elinkaari voi jatkua pitkälle vielä senkin jälkeen kun ohjelma tai ohjelmisto on julkaistu, esimerkiksi kehityksen tai vähintääkin ylläpidon merkeissä. Projektin laajuus vaikuttaa käytettävien menetelmien valintaan.

Vesiputousmalli

Projekti etenee tasolta toiselle yhteen suuntaan. Jokainen vaihe dokumentoidaan ja dokumentointia käytetään pohjana aina seuraavalle vaiheelle. Vesiputousmalli on hyvä yleiskuvaus ohjelmistotuotannon prosesseista, mutta sitä on kehitetty eri suuntiin jotta se soveltuisi paremmin käytäntöön.

Prototyyppimenetelmä

Prototyyppimallissa ulkoasu (eli yleensä ohjelman käyttöliittymä) asetetaan etusijalle. Projektien alkuvaiheessa saadaankin siis mahdollisimman nopeasti prototyyppi asiakkaan tarkasteltavaksi. Näin asiakas voi nähdä tuotteen ulkoasun ja antaa kehitys ideoita sekä antaa palautetta mahdollisista muutoksista. Koska backend- sekä bisnespuolen kehitys on tässä kohtaa alkuvaiheessa, voidaan suuriakin muutoksia vielä tehdä kohtuullisen vaivattomasti.

RUP

Neljä vaihetta, perustuu iteraatioihin ja pohjautuu esiputousmalliin.

Ketterät menetelmät

Ketterät menetelmät korostavat muutosten hallintaa sekä mahdollisimman nopeita iteraatiosyklejä. Niitä on siis kehitetty sopiviksi nopeasti muuttuviin ympäristöihin, joissa perinteisen vesiputousmallin soveltaminen ei olisi mahdollista sen "hitauden vuoksi".

Elinkaaren vaiheet

Ohjelmistotuotannon prosessi jakautuu eri vaiheisiin, jotka voidaan karkeasti jakaa kehitykseen sekä ylläpitoon.

Vaatimusanalyysi

Asetetaan tuotteelle tavoitteet, jotka sen tulisi täyttää julkaisuun mennessä. Tämä vaihe toteutetaan yleensä tiiviissä yhteistyössä asiakkaan kanssa ja vaiheen lopussa saadaan valmiiksi dokumentoituna asiakasvaatimukset.

Järjestelmä-/Ohjelmistosuunnittelu

Tähän vaiheeseen sisältyy mm. järjestelämintegraatio ja toiminnallinen- sekä arkkitehtuurisuunnittelu. Toiminnallisen määrittelyn dokumentoinnissa kuvataan ohjelmiston/järjestelmän toiminnot ja lopputuloksena on määrittelydokumentti. Arkkitehtuurisuunnittelu keskittyy kuvaamaan määrittelydokumentin pohjalta järjestelmän teknisen arkkitehtuurin tarkasti.

Toteutus

Edellinen vaihe on nyt luonut pohjan toteutuksen aloitukselle. Suurin osa varsinaisesta koodauksesta tapahtuu tässä vaiheessa, mutta toteus on yleensä vain noin 10-20 % projektikokonaisuudesta. Vaiheen lopputuloksena on toimiva ohjelmisto, joka on valmiina testaukseen.

Testaus

Testauksen tehtävänä on löytää mahdollisimman paljon virheitä ja heikkouksia ohjelmistosta, jotta sitä voidaan kehittää stabiilimmaksi ennen julkaisua. Ohjelmistotestaus voidaan jakaa integraatio-, yksikkö-, regressio- sekä hyväksyntätestaamiseen. Hyväksyntätestaus on näistä ehkä kriittisin, sillä määritellyt hyväksyntätestit on läpäistävä ennen julkaisua.

Julkaisu

Ohjelmisto on valmis käyttöönottoon ja hyväksyntätestit on läpäisty.

Ylläpito

Ylläpito sisältää kaikki julkaisun jälkeiset toimentpiteet, joita ohjelmisto vaatii toimiakseen.

Linkit ulkopuolisiin lähteisiin

Avainsanat harjoitustehtävän repositoriossa