Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta sen poistamiseen käytöstä. Vaihejakomallilla tarkoitetaan tapaa, jolla kehitystyö tai koko elinkaari jaetaan vaiheisiin. Tavallisin vaihejakomalli on ns. vesiputousmalli. Vaatimukset Tarkastus Mikä on ratkaistava ongelma, onko ratkaisua olemassa, mitä se saa maksaa, mitä reunaehtoja sillä on... Määrittely Tarkastus Millainen järjestelmä täyttää ongelman vaatimukset Suunnittelu Tarkastus Miten järjestelmä toteutetaan, järjestelmän osittaminen Toteutus Osien ohjelmointi Testaus Integrointi Testaus Osien yhteenliittäminen Käyttöönotto ja ylläpito.. Esitutkimus Esitutkimuksen tehtävänä on asettaa yleiset järjestelmätason vaatimukset esim. varastonvalvontasovelluksen vaatimukseksi asetetaan varaston kiertonopeuden kasvattaminen 0 prosentilla. Tällaisia vaatimuksia kutsutaan asiakasvaatimuksiksi, koska ne määrittelevät käyttäjän tarpeet, mutta eivät ota kantaa siihen, millainen järjestelmä täyttää asiakkaan vaatimukset. Asiakasvaatimus on puhtaimmillaan asiakkaan ongelma... Määrittely Määrittelyvaiheessa asiakasvaatimuksia analysoidaan ja niistä johdetaan ohjelmistovaatimukset eli kuvataan mitä ohjelmisto tekee eli millainen ohjelmisto täyttää ongelman vaatimukset. Määrittelyn tuloksen syntynyttä dokumenttia kutsutaan toiminnalliseksi ksi. Toiminnallisessa ssä kuvataan ohjelmiston toiminnot (ominaisuudet, käyttöliittymä ja kommunikointi muihin järjestelmiin), tiedon kulku ja sisältö sekä toteutukselle asetettavat ei-toiminnalliset vaatimukset (vasteaika, suoritusteho, käytettävyys ) ja rajoitukset (muistitila ).
Ohjelmointitekniikka lyhyesti Survival Kit..3 Suunnittelu Suunnitteluvaiheessa ratkaistaan miten ohjelmisto toteutetaan ja miten ohjelmisto tehtävänsä suorittaa. Siinä tarkennetaan ja hienonnetaan vaiheen tuloksia. Aluksi järjestelmä jaetaan mahdollisimman itsenäisiin, toisistaan riippumattomiin osiin, moduuleihin. Tätä kutsutaan arkkitehtisuunnitteluksi ja siitä syntyvää dokumenttia tekniseksi ksi. Arkkitehtuurisuunnittelua seuraa moduulisuunnitteluvaihe, jossa suunnitellaan moduulin sisäinen rakenne. Moduulilla tarkoitetaan ohjelmasta erotettavissa olevaa loogista kokonaisuutta, joka on tyypillisesti alle 0 sivua ohjelmakoodia...4 Toteutus Toteutusvaihe on ohjelman koodausta eli kirjoitusvaihetta. Vaihe kestää siihen saakka kunnes saadaan ensimmäinen virheetön käännös... Integrointi ja käyttöönotto Testaus tapahtuu monella tasolla ns. V-mallin mukaisesti. Mallissa testaus jakaantuu kolmeen vaiheeseen: moduulitestaus (usein jo toteutusvaiheessa) integrointitestaus ja järjestelmätestaukseen. Järjestelmätestaus suunnitellaan osana ohjelmiston ä ja testaus tehdään vertaamalla valmista järjestelmää sen dokumentaatioon. Integraatiotestaus suunnitellaan arkkitehtuurisuunnittelun yhteydessä ja moduulitestaus moduulisuunnittelun yhteydessä. Moduulisuunnittelu, moduulin ohjelmointi ja moduulitestaus yhdistyvät usein yhdeksi vaiheeksi toteutusvaiheessa...6 Ylläpito Ylläpito on kaikkein tärkein näkökulma ohjelmistotyössä. Ylläpito alkaa jo ennen toimitusta ja ohjelmisto on rakennettava helposti ylläpidettäväksi. Ylläpito on asiakkaan ongelmien ratkomista, virheiden korjaamista, ohjelman muuttamista vaatimuksien muuttuessa sekä uusien piirteiden lisäämistä.
Ohjelmointitekniikka lyhyesti Survival Kit 3. UML iteraatio UML iteraatiomalli perustuu neljään peräkkäiseen iteraatioon, joista jokainen muodostaa oman pienen vesiputouksensa. Inception vaihe: Kartoitetaan tuotekonseptin erilaisia vaihtoehtoja. Tehtävät painottuvat asiakasvaatimusten analysointiin. ja se muistuttaa perinteistä esitutkimusmallia. Elaboration vaihe: Kiinnitetään ja toteutetaan tuotteen perusarkkitehtuuri. Construction vaihe: Järjestelmästä tuotetaan joka iteraatiolla uusi ns. betaversio, joka annetaan valikoidun asiakaskunnan käyttöön. Transition vaihe: Tuloksena on lopulta paketointikelpoinen järjestelmä ja siihen liittyvät käyttöohjeet, ylläpitopalvelu, asennuspaketit, lisenssisopimukset jne. UML-iteraatiot (Kuva.) Peräkkäisiä iteraatioita: jokainen on oma pieni vesiputousmalli Rational Rose Ite r. Inception Elaboration Construction Transition - Tuotteen ominaisuudet - Alustavat mallit - Alustava tuotearkkitehtuuri - Tarvittaessa proto - Riskit - Alustava projektisuunnitelma - Onnistumiskriteerit - Täydennetyt mallit - Toteutettu toimiva perusarkkitehtuuri - Arkkitehtuurikuvaus - Riskit - Seuraavan vaiheen projektisuunnitelma - Onnistumiskriteerit - Alustava käyttöohje - Lähes täydelliset mallit - Beta-versio - Arkkitehtuurikuvaus - Seuraavan vaiheen projektisuunnitelma - Onnistumiskriteerit - Käyttöohje - Installointivalmis ohjelmisto - Byrokratiadokumentit - Täydelliset mallit - Arkkitehtuurikuvaus - Käsikirjat - WWW-palvelut yms. Tuotekonseptin erilaisia vaihtoehtoja Tuotteen perusarkkitehtuurin kiinnitys Betaversio valikoiduille asiakkaille Paketointikelpoinen järjestelmä
Ohjelmointitekniikka lyhyesti Survival Kit 4 3. Ohjelmistotuotannon osa-alueet Ohjelmistotuotannon osa-alueet Ohjelmistotekniikan osa-alueet (Kuva.) Liiketoiminta, johtaminen toimintaprosessit Laatujärjestelmä Hankkeiden hallinta (tuotteen tasolla) = yrityksen toimintatavat kehitysprosessi suunnittelu ohjelmointi testaus käyttöönotto, ylläpito tukitoiminnot tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta... = koko elinkaaren ajan Tuotantoa ohjaa yrityksen laatujärjestelmä. Kehitysprosessissa on yleensä, suunnittelu, ohjelmointi ja testaus. Näitä seuraa käyttöönotto ja ylläpito. Projektiin liittyy projekti aikaisia ja koko ohjelmiston elinkaaren aikaisia tukitoimia kuten laadunvarmistus, tuotteenhallinta ja dokumentointi.
Ohjelmointitekniikka lyhyesti Survival Kit 4. Tukitoiminnot Tukitoiminnot Tukitoiminnot (.3-.4) Liiketoiminta, johtaminen Laatujärjestelmä Hankkeiden hallinta (tuotteen tasolla) suunnittelu ohjelmointi testaus käyttöönotto, ylläpito tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta... 4. Laatu, laatujärjestelmä ja laadunvarmistus VERIFIOINTI= tuote vastaa spesifikaatiota (määrä) VALIDOINTI= tuote on sopiva käyttötarkoitukseensa (soveltuvuus)
Ohjelmointitekniikka lyhyesti Survival Kit 6 -> Laadunvarmistus (Luku.3) Mitä kauemmin virheet ovat järjestelmässä, sen kalliimmaksi ne tulevat. Terveydenhoito: toimintatavat, jotka vähentävät virheitä. Sairaanhoito: virheiden seulominen mahdollisimman aikaisessa vaiheessa: tarkastukset. LAATU = toiminnan laatu => tuotteen laatu 4. Tuotteenhallinta Tuotteenhallintaan liittyviä asioita ovat mm. komponenttien ja konfiguraatioiden eri versioiden hallintamenetelmät, nimeämiskäytännöt, konfiguraatioiden muodostamisessa sovellettavat menetelmät, muutosten hallinta ja arkistointi. -> Tuotteenhallinta (Kuva 3.) Komponentit - Versiointi: mitä versioita on olemassa, miten vanhoihin versioihin päästään käsiksi... - Identifiointi: mikä komponentti tämä on, mitä ominaisuuksia sillä on,... - Tuottaminen: millä työkalulla ja miten komponentti tuotetaan (esimerkiksi kääntäjän versio ja käännöskomento). - Muutosten hallinta: miten estetään samanaikainen muutosten teko komponenttiin, mitä muutoksia on tehty... Tuotteenhallinta Konfiguraatiot - Versiointi: mitä versioita on olemassa, miten vanhoihin versioihin päästään käsiksi (esimerkiksi tuottamalla ne uudelleen)... - Identifiointi: mikä konfiguraatio tämä on, mitä komponentteja ja komponenttien versioita on asiakkaan x järjestelmän tietyssä versiossa. - Tuottaminen: miten asiakkaan x konfiguraatio a.b.c saadaan rakennettua. - Muutosten hallinta: mihin komponentteihin ja niiden versioihin ehdotettu muutos vaikuttaa, mihin konfiguraatioihin muutos vaikuttaa... Toimintatavat - Vastuut ja toimintavaltuudet. - Miten vaihetuotteet siirtyvät vaiheesta toiseen. - Miten uudet versiot hyväksytään ja julkistetaan. - Miten muutosesitykset ja virheraportit tehdään ja käsitellään. - Miten arkistointi ja varmistuskopiointi hoidetaan. -...
Ohjelmointitekniikka lyhyesti Survival Kit 7 4.3 Dokumentointi Minimidokumentaation muodostavat projektisuunnitelma, dokumentti (toiminnallinen ) ja suunnitteludokumentti (tekninen ) sekä testaussuunnitelma. Hyvätasoisen laatujärjestelmässä dokumentaatio on huomattavasti laajempi. Dokumentointiin palataan! 4.4 Vaatimustenhallinta Vaatimustenhallintaprosessi alkaaasiakasvaatimusten kartoittamisesta. Joukosta alustavia vaatimuksia jalostetaan joukko täsmällisesti muotoiltuja keskenään yhteensopivia asiakasvaatimuksia toteutettavaksi tuotteen seuraavaan versioon. Asiakasvaatimuksiin liittyen määritellään joukko järjestelmän ominaisuuksia, jotka täyttävät nämä vaatimukset. Ominaisuudet toteutetaan ohjelmistoon erilaisina toimintoina. -> Vaatimustenhallinta (Kuva 4.) Alustavat asiakasvaatimukset Vaatimustenhallinta: kartoitus, analysointi, jäljitettävyys, muutokset Vaatimukset Hallitut muutokset Kelpuutetut Myöhempään versioon 3 8 7 6 Hylätty 4 Analysoidut vaatimukset ominaisuus Toiminto Toiminto Toiminto 3 ominaisuus Ohjelmistovaatimukset: Järjestelmän toiminnallinen moduuli a moduuli b moduuli e moduuli f moduuli c moduuli d Järjestelmän tekninen Toteutettu järjestelmä Jokaiselle ominaisuudelle oltava käyttöä = on saatava myynnin kautta tuottoa tekemiselle