OTM viikoilla 18 ja 19



Samankaltaiset tiedostot
Ohjelmistotuotteen hallinnasta

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Työkalut ohjelmistokehityksen tukena

T Testiraportti - järjestelmätestaus

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

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010

T Testiraportti - integraatiotestaus

Testausoppeja toimialavaihdoksesta

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Versionhallinta MIKSI?

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

statbeatmobile PROJECT REVIEW iteration 1

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

Ohjelmistotekniikka - Luento 2

Valppaan asennus- ja käyttöohje

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

Tuotteenhallinta tuoterunkoon pohjautuvissa ohjelmistoissa. Lauri Tuominen

Menetelmäraportti - Konfiguraationhallinta

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

TESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)

HYVÄKSYMISTESTAUS- RAPORTTI - HAKEUTUJAN PALVELUT JA TODENNETUN OSAAMISEN REKISTERI

Harjoitukset - muistutus

1 (5) PALVELUKUVAUS JA HINNASTO Requeste palvelut

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

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Projektisuunnitelma Viulu

Johdatus ohjelmistotuotantoon

Scrumin käyttö ketterässä sovelluskehityksessä

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Kontrollipolkujen määrä

Oracle ebs versionvaihto OUGF seminaari / Jyrki Koski Oy Abase Consulting Ab

T Testiraportti - integraatiotestaus

Ohjelmistoposesseista

Ohjelmiston testaus ja laatu. Testaus käytettävyys

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Project-TOP QUALITY GATE

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

Tik Ohjelmistotuoteliiketoiminta

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

58160 Ohjelmoinnin harjoitustyö

WEBINAARIN ISÄNNÄT. Jarno Wuorisalo Cuutio.fi. Petri Mertanen Superanalytics.fi. Tomi Grönfors Brandfors.com

Ohjelmistojen mallintaminen. Luento 11, 7.12.

T Testiraportti TR-2. ETL-työkalu

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

T Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

COTOOL dokumentaatio Testausdokumentit

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

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

1 YLEISTÄ KÄYTTÖOHJEEN HYVÄKSYTTÄMINEN KÄYTTÖOHJEEN JAKELU KÄYTTÖOHJEEN ARKISTOIMINEN... 5

TIE Ohjelmistojen suunnittelu

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Versionhallintaa. Versionhallinnan käyttöönotto SAS ympäristössä

Kuopio Testausraportti Kalenterimoduulin integraatio

TESTIRAPORTTI - JÄRJESTELMÄ, PORTAL Virtuaaliyhteisöjen muodostaminen Versio 1.0

Tutkittua tietoa. Tutkittua tietoa 1

Viestit-palvelun viranomaisliittymän ohjelmointiohje. Java-esimerkki

Luku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi

Uudelleenkäytön jako kahteen

Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

OHJ-4301 Sulautettu Ohjelmointi

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Testausraportti v.1.3

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio

Testaaminen ohjelmiston kehitysprosessin aikana

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

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Harjoitustyön testaus. Juha Taina

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

S11-09 Control System for an. Autonomous Household Robot Platform

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

AVOIMEN TUOTTEEN HALLINTAMALLIT. Kunnassa toteutettujen tietojärjestelmien uudelleenkäyttö. Yhteentoimivuutta avoimesti

Avoin lähdekoodi hankinnoissa Juha Yrjölä

Perinteiset asennuspaketit

Ohjelmistotekniikan menetelmät, kesä 2008

Testataanko huomenna?

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

T Testiraportti TR-3. ETL-työkalu

METROPOLIAN PILVIPALVELUT OPETUKSESSA Google Apps for Education (GAFE)

Laaturaportti [iteraatio 2] Ryhmä 14

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

Projektin vaiheet

P e d a c o d e ohjelmointikoulutus verkossa

Kuntasektorin kokonaisarkkitehtuuri

Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen

Pilviväylä-TH: tulokset ja suoritus

Dynaaminen analyysi IV

Transkriptio:

OTM viikoilla 18 ja 19 Ma 27.5: Vierailuluento Risto Kurki-Suonio (Juridiikka) Vappu peruutettu: luento peruutettu vappuaattona harjoitukset kuitenkin normaalisti Ma 4.5: Viimeinen varsinainen luento tuotteenhallinta kertaus (tulosta luentomateriaalisivulta kertausbingo-lomake) To 7.7: viimeinen luento, Riku Granat, globaali ohjelmistokehitys Harjoitustyön palautuksen takaraja pe 8.5 klo 16 Tentti: 14-05-2009 klo 17-20 1 Tuotteenhallinta Esimerkki kehityssyklistä Johdanto: tuotteenhallinnan osa-alueet Komponentit, konfiguraatiot ja julkaisut Versioituminen Sovelluksen variointi Muutosten hallinta Työkalut Yhteenveto 2

Tuotteenhallinta Tuote käsittää niin koodin kuin siihen liittyvät vaihetuotteet ja tukidokumentaation (sekä myös testitapaukset, testiympäristöt, komentotiedostot jne...) Tuotteet kehittyvät ajan kuluessa (versioituminen) Erilaisia toimituskonfiguraatioita eli tuotejulkaisuja (release, build). Iteratiivisesti kehitettäessä tuotejulkaisuja tulee paljon. Tuotteenhallinta: tuoterakenteen monimutkaisuuden hallitsevat menettelytavat Komponenttien hallinta (versiot) Konfiguraatioiden hallinta (versiot) Muutosten tekeminen Kurinalainen hallintaprosessi Tuotteenhallinnan merkitystä korostavia asioita Iteratiivinen kehitys, ketterä kehitys (jatkuva integrointi, Test Driven Development, koodin yhteinen omistajuus) Hajautettu kehitys Tuotevariaatiot, tuoteperheet 3 Tuotekehitysnäkökulma vs. asiakasnäkökulma Tuotekehitysprosessin kannalta keskeisin tavoite on antaa tuotekehitystiimille stabiili ja kontrolloitavissa oleva ympäristö => versionhallinta, pelisäännöt, työskentely-ympäristö, testiversioiden rakentaminen. Asiakasprosessin (toimitusten) kannalta keskeisin tavoite on asiakastoimitusten konfiguraatioiden hallinta: mitä tarkkaan ottaen asiakkaalle toimitetaan / on toimitettu, miten toimitettava kokonaisuus kootaan ja paketoidaan. Joku #@! on muuttanut moduulia X siten, että se ei enää toimi (kuka, milloin). Korjattu virhe ilmaantuu uudelleen. Kehitetty ja testattu piirre katoaa. Versioräjähdys (useita korjauksia samaan moduuliin samanaikaisesti). 4

Tuoteenhallinnan ongelmia Ongelma asiakkaalla X, tuote Y, versio a.b.c On pystyttävä rakentamaan versio a.b.c (konfiguraation versio, komponenttien versiot). Kun korjaus on suunniteltu ja tehty syntyy muutettujen komponenttiversioiden uudet versiot ja tuotteen uusi versio. On vielä aikamoinen urakka selvittää: Missä muissa korjattujen komponentien versioissa esiintyy sama virhe. Johtaako virheen korjaus muutoksiin virheellistä komponenttia hyödyntäneissä komponenteissa. Ja lopulta, kun kaikki muutettavat komponentit on löydetty: mihin muille asiakkaille toimitettuihin tuotteen versioihin korjaukset vaikuttavat. Seuraavia ongelmatilanteita ei siis pitäisi syntyä Tuotteen versiota X on päivitetty, versio Y lakkaa toimimasta. Asiakkaan raportoima virhe on korjattu, mutta asiakas ei pysty ottamaan järjestelmän korjattua versiota käyttöön, koska hänellä on liian vanha versiolaitteistosta/ käyttöjärjestelmästä/ tietokantajärjestelmästä jne... Moduulin X versiosta Y on löytynyt vakava virhe. Mille asiakkaille pitää toimittaa korjattu versio? 5 Johdanto: tuotteenhallinnan osa-alueet (Kuva 13.1) Komponentit Tuotteenhallinta Konfiguraatiot - Versiointi: Komponentit mitä versioita on olemassa, Konfiguraatiot - Versiointi: mitä versioita on olemassa, miten -vanhoihin Versiointi: mitä versioita versioihin on olemassa, päästään - Versiointi: mitä versioita on olemassa, miten vanhoihin versioihin päästään miten vanhoihin miten versioihin päästään päästään käsiksi... käsiksi... käsiksi (esimerkiksi tuottamalla ne - komponentti tämä on, käsiksi uudelleen)... (esimerkiksi tuottamalla ne - Identifiointi: mitä ominaisuuksia mikä sillä komponentti on,... tämä on, - Identifiointi: mikä konfiguraatio tämä on, - Tuottaminen: millä työkalulla ja miten uudelleen)... mitä komponentteja ja komponenttien mitä ominaisuuksia sillä on,... komponentti tuotetaan (esimerkiksi versioita on asiakkaan x järjestelmän - Identifiointi: mikä konfiguraatio tämä on, - Tuottaminen: kääntäjän versio millä ja käännöskomento). työkalulla ja miten tietyssä versiossa. - Muutosten hallinta: miten estetään mitä komponentteja - Tuottaminen: miten asiakkaan ja komponenttien x komponentti samanaikainen tuotetaan muutosten teko(esimerkiksi konfiguraatio a.b.c saadaan Toimintatavat komponenttiin, mitä muutoksia on tehty versioita rakennettua. on asiakkaan x järjestelmän kääntäjän... versio ja käännöskomento). - Komponenttien välisten riippuvuuksien tietyssähallinta versiossa. (yhteensopivuus) - Vastuut Muutosten ja toimintavaltuudet. hallinta: miten estetään - Tuottaminen: - Muutosten hallinta: miten mihinasiakkaan x samanaikainen muutosten teko komponentteihin ja niiden versioihin ehdotettu muutos vaikuttaa, mihin - Miten komponenttiin, vaihetuotteet mitä muutoksia siirtyvät vaiheesta konfiguraatio on tehty toiseen. a.b.c saadaan konfiguraatioihin muutos vaikuttaa... rakennettua. - Miten... uudet versiot hyväksytään - Komponenttien ja julkistetaan. välisten riippuvuuksien Toimintatavat - Miten -muutosesitykset Vastuut ja toimintavaltuudet. ja virheraportit hallinta tehdään (yhteensopivuus) ja käsitellään. - Miten vaihetuotteet siirtyvät vaiheesta toiseen. - Muutosten hallinta: mihin - Miten uudet versiot hyväksytään julkistetaan. - Miten -arkistointi Miten muutosesitykset ja javarmistuskopiointi virheraportit tehdäänkomponentteihin käsitellään. hoidetaan. ja niiden versioihin - Miten arkistointi ja varmistuskopiointi hoidetaan. -... -... ehdotettu muutos vaikuttaa, mihin konfiguraatioihin muutos vaikuttaa... 6

Komponentit, konfiguraatiot, julkaisut (~Kuva 13.2) Konfiguraatio X Komponentti A Komponentti B Konfiguraatio Y 7 Hallinta-alkio (Kuva 13.3) hallinta-alkio komponentt i konfiguraatio 1 on versio versio 1 on versio komponentin versio konfiguraation versio 8

Vaihetaso (baseline) (Kuva 13.5) Termiä käytetään useilla eri tavoilla, yleisimmässä merkityksessä mikä tahansa sovittu kiinteä lähtökohta seuraavaksi tehtävälle työlle. komponentti A B C D E F konfiguraatio, baseline, vaihetaso baseline Muita termejä: release (julkaisu), yleensä asiakkaalle toimitettava build, mikä tahansa suoritettava vaihetaso merkkaus, tagging, julkaisuun liittyvien versioiden merkkaaminen versionhallintatyökalussa 9 Versionhallinta Kaikilla hallinta-alkioilla on versio Versionumero on 1-4 numeroinen (1.), esimerkiksi 1 taso on jos on tehty uudelleen suurimmalta osalta 2 taso kertoo jos on tehty toiminnallisia muutoksia 3 taso kertoo virheiden korjaamisesta (4 taso on tuotekehityksen välitallennuksia varten) Hallitaan versionhallintatyökaluilla Voidaan käyttää myös hallittavia hakemistorakenteita ja sovittuja toimintatapoja 10

Versioituminen (Kuva 13.4) pätee kaikkiin hallinta-alkioihin rinnakkainen versio=variaatio peräkkäinen versio=revisio..2.1 2.0.2.2 11 Sovelluksen variointi Sovelluksen ydin ja sovelluslogiikka Perussovellus Versionhallinnalla Asiakaskohtaiset toiminnallisuudet ja parametrit Useita sovellusvariaatioita -> hallinta vaikeutuu Mietittävä, mitä valintoja pitää pystyä tekemään suoritusaikana (järjestelmää pysäyttämättä) järjestelmää käynnistettäessä asiakaskohtaista konfiguraatiota luotaessa... Asiakaskohtaiset parametrit Asiakaskohtaiset toiminnallisuudet Sovelluslogiikka Sovelluksen ydin (sovelluskehys) 12

Sovellusvariaatioiden luominen Versionhallinta erilaisia variaatioita komponenteista erilaisia komponenttikonfiguraatioita Ehdollinen kääntäminen Kääntäjän parametrit Kompleksista hallita Koodigenerointi Käyttöjärjestelmä / ympäristövariaatiot Periyttäminen ja koostaminen Erilaiset käyttäytymisvariaatiot Tuotekohtaiset konfigurointi yms. tiedostot Käyttäjäkohtaiset muutokset... 13 Muutosten hallinta (Kuva 13.6) M uutospyyntö, vikaraportti M uutospyynnön hyväksyminen..2.1 Muutoksen toteuttam inen 2.0 2.0 2.0.2.2 Testaus ja hyväksyminen 2.1 2.1 2.1 14

Muutosten hallinta (Kuva 13.6) M uutospyyntö, vikaraportti M uutospyynnön hyväksyminen..2.1 Muutoksen toteuttam inen 2.0.2.2 Testaus ja hyväksyminen 2.1 15 Työn kulku projektissa (esimerkki) kehitystiimi 1) muutettavat komponen tit Versionhallinta Työn Change allatasks olevat komponentit 2) muutetut komponentit testing OK uusi "baseline" 3) palaute Koostaminen (build) & automaattiset testit "Sopiva kooste" "release candidate" Järjestelmätestaus testing OK julkaisu (release) build manager" testaajat 16

Työkalut Versioituminen (historiaa: SCCS, RCS) PVCS, CVS, Subversion, Git, Source Safe, Perforce... Konfiguraatioiden hallinta Komentotiedostot (Shellscript), Make, Ant, Maven... Tuotteenhallintatyökalut ClearCase, CM-Synergy (Continuus) Toimintatavat, prosessi Komentotiedostot, sähköposti, asianhallintajärjestelmät (work flow management) Bugzilla, Jira... 17 Lopuksi Tuotteenhallinnassa on paljon tylsää byrokratiaa, mutta...tuotteenhallinta helpottaa elämää Laatujärjestelmä määrittelee hallinnan yleisellä tasolla Tuotteenhallinnan menettelyt ovat usein projekti- ja/tai tuotelinjakohtaisia => tuotteenhallintasuunnitelma (voi olla myös osana projektisuunnitelmaa) Pyritään mahdollisimman näkymättömään byrokratiaan, jotta se ei häiritse vaan helpottaa työtä ISO 9001 vaatii muodollisia menettelyitä muutostenhallintaan, esimerkiksi Tiedettävä jokaisen komponentin nykyinen versio ja sen tila Tiedettävä jokaisen tuotejulkaisun komponenttien versiot Estettävä version samanaikainen päivittäminen Tunnettava tuotteen versiovaatimukset muiden tuotteiden suhteen Kirjattava jokainen muutos ehdotuksesta tuotteeseen tehtävään muutokseen asti 18