Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA



Samankaltaiset tiedostot
Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Vaatimustenhallinta. Exit

OTM viikoilla 18 ja 19

Johdantoluento. Ohjelmien ylläpito

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistotuotteen hallinnasta

Projektityö

Määrittelyvaihe. Projektinhallinta

Unified Process (UP)

Ohjelmistojen suunnittelu

käyttötapaukset mod. testaus

Ohjelmiston testaus ja laatu. Testaustasot

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

ITK130 Ohjelmistoprosessi

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Projektin suunnittelu

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Matematiikan oppifoorumi Projektisuunnitelma

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Tietohallinto Projektipäällikkö Matti Sairanen. Fujitsu Myyntijohtaja Markku Örn

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

Työkalut ohjelmistokehityksen tukena

Vaatimusten hallinta ja vaatimusmäärittely

Soft QA. Vaatimusten muutostenhallinta. Ongelma

Ohjelmistotuotannon osa-alueet

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

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

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

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

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

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

Käyttövaltuushallinnan hyödyt tehokkaasti käyttöön. Johanna Lampikoski, RM5 Software Juha Arjonranta, TeliaSonera Finland

Avoimen ja yhteisen rajapinnan hallintamalli

Tietojärjestelmän osat

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit

Oleelliset vaikeudet OT:ssa 1/2

2. Ohjelmistotuotantoprosessi

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

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

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Kontrollipolkujen määrä

Mobiilisovelluksen kehittäminen avoimen lähdekoodin ympäristöjen avulla

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

TIETOJÄRJESTELMÄN VAATIMUSMÄÄRITTELY IT-PALVELUTUOTANNON HALLINTAAN

OTM-HANKKEEN SIDOSRYHMÄSEMINAARI

Convergence of messaging

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Projektin vaiheet

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

TOIMINNALLINEN MÄÄRITTELY MS

TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM!

Suunnitteluvaihe prosessissa

Yhteenveto tuotteenhallinnan tiimoilta kertyneistä opeista. Jukka Kääriäinen

OT-s200: Prosessimallit

Yhteenvetodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

Mikä on avoimen tuotteen hallintamalli perustiedot ja taustoitus. Jukka Kääriäinen, Tapio Matinmikko, Raija Kuusela

KONTTI - Teolliset komponenttiohjelmistot Tekesin ETX-ohjelma

Yhteisön kehitystyöhön osallistumisen mahdollisuudet ja mallit

Kymecon Oy urakkatarjouslaskenta- ja kustannusseurantajärjestelmän toiminnallinen määrittely

Katsastusaseman työvuorojen suunnitteluohjelma

CE MERKINTÄ KONEDIREKTIIVIN 2006/42/EY PERUSTEELLA

T Projektikatselmus

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Talous- ja velkaneuvonta: Asiakasrekisteri. Tarjousten vertailu. Tiivistelmä

JulkICTLab Eteneminen Mikael Vakkari, VM

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Petteri Pyrrö OHJELMISTOTUOTANTOPROSESSIN KEHITTÄMINEN INFOMATES SOFTWARE TECHNOLOGIES OY:SSÄ

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Hankesuunnitelma. Novus-Hanke. Novus-Hanke. YYL:n tietojärjestelmien kokonaisuudistus HANKESUUNNITELMA. LIITE 1

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Turvakriittisen projektin menetelmät ja työkalut

Kuntasektorin kokonaisarkkitehtuuri

TeliaSonera Identity and Access Management

Tuotekehitys ja yrityksen laatujärjestelmä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Avoimen tuotteen hallintamalli FINTO OhRy

Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.

S Portaalinosturi AS Projektisuunnitelma Oleg Kovalev

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza

PALVELUKUVAUS järjestelmän nimi versio x.x

TOIMINNALLINEN MÄÄRITTELY- DOKUMENTTI KETTERÄSTI

Osa 3 Projektinhallinnan elinkaari

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY

JÄRKEÄ ICT-HANKINTOIHIN. TIETOISKU HANSEL ICT FORUMILLA Jaakko Viitanen Ryhmittymä ATRAIN / BDO Consulting

Yhteenveto. Menettelytavat

Sähköi sen pal l tietototurvatason arviointi

HUOLTOTIETOKANNAN SUUNNITTELU MS ACCESS- OHJELMISTOLLA

Ohjelmiston testaussuunnitelma

Transkriptio:

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