Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit

Samankaltaiset tiedostot
OT-s200: Prosessimallit

Ohjelmistoprosessi. Ohjelmistotuotanto. Yleiset ohjelmistotuotannon osatehtävät. Ohjelmistoprosessimalli. Vaihejaon ominaispiirteitä

Ohjelmistotekniikka - Luento 2

2. Ohjelmistotuotantoprosessi

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

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

ITK130 Ohjelmistoprosessi

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

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

Ohjelmistojen suunnittelu

Oleelliset vaikeudet OT:ssa 1/2

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

Ohjelmistotuotanto, prosessit Syksy Ohjelmistotuotantoprosessi. Prosessimalli. Prosessimallien perustehtävät. Prosessimallin vaihejako

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä

Käyttäjäkeskeinen suunnittelu

Johdantoluento. Ohjelmien ylläpito

Ohjelmistoprojektien hallinta Vaihejakomallit

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Projektisuunnitelma Nero-ryhmä

Software engineering

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

Tietojärjestelmän osat

Ohjelmiston toteutussuunnitelma

Projektityö

Ohjelmistoprosessit ja ohjelmistojen laatu kevät Suunnitelmakeskeiset prosessit (lukuisia lähteitä)

Ohjelmistoprosessit ja ohjelmistojen laatu kevät 2009

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Suunnitteluvaihe prosessissa

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Ohjelmiston testaus ja laatu. Testaustasot

Testaaminen ohjelmiston kehitysprosessin aikana

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ

TOIMINNALLINEN MÄÄRITTELY MS

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Sähköisen projektikansion dokumentointi Innon levyasemalle \\kapa10\inno

Testausprosessin vaatimukset. 2. Testausprosessi (Artikkelit) Vesiputousmallin ongelmia. V-mallin neljä osavaihetta. Testausprosessimalli V-malli

Ketterä vaatimustenhallinta

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Yhteenveto. Menettelytavat

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

Unified Process (UP)

Hajaantuminen. Juha Taina, Marko Salmenkivi ja Kjell Lemstöm, Ohjelmistotuotanto 30

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

Ohjelmistojen mallintaminen, mallintaminen ja UML

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

CASE Varma Testauksen haasteet moniuloitteisessa testiympäristössä Tuukka Vähäpassi

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

käyttötapaukset mod. testaus

Mikkelin sähköisen asioinnin alusta - päätöksenteko. Kalle Launiala / ProtonIT Oy kalle.launiala@protonit.net

PROJEKTIN SUUNNITTELU JOUNI HUOTARI, PAAVO MOILANEN, ESA SALMIKANGAS

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

Uudelleenkäytön jako kahteen

Kokemuksia eri projektityyppien haasteista/sudenkuopista toimittajayhteistyön näkökulmasta. Pekka

TOIMIVAN LAADUNHALLINTAA JA LAADUN JATKUVAA PARANTAMISTA TUKEVAN JÄRJESTELMÄN KRITEERISTÖ

Toteutusvaihe T2 Edistymisraportti

Digipäivä, Hallintoryhmä Sipoo

Opiskelija osaa suunnitella ohjelmiston toteuttamisen, toteuttaa, testata ja dokumentoida ohjelmiston.

Työkalut ohjelmistokehityksen tukena

Projektin suunnittelu

Käytettävyyden huomiointi ohjelmisto prosessissa testausta lisäämällä

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

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

Ylläpito. Ylläpidon lajeja

Käyttäjäkeskeisen suunnittelun periaatteet ja prosessit

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

T Projektikatselmus

Ohjelmistotuotanto, s

IT Service Desk palvelun käyttöönotto palvelukeskuksissa

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

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Testaussuunnitelma Labra

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

T Testiraportti - järjestelmätestaus

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Uuden vieritestin käyttöönotto avoterveydenhuollossa

Ohjelmistotuotanto

Miten löydän Sen Oikean? Senaattoritilaisuus Liisa Paasiala, Senior Consultant

Tuotemallipohjaisen toimintaprosessin mallintaminen

Avoimen ja yhteisen rajapinnan hallintamalli

T Ohjelmistoprojektien hallinta Tehtävän 3 ratkaisu. Maija Kangas, Kimmo Stålnacke ja Outi Syysjoki

Junaliikenteen häiriötilannetietojen tuottaminen ja tiedotus

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima

Convergence of messaging

Ohjelmajohtamisen kehittäminen

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

Transkriptio:

Prosessimallit Prosessimalli on ohjelmiston elinkaaren rakenteen määrittely ts. kuvaus sille millaisten vaiheiden kautta ohjelmisto kehittyy ideasta hautaan mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ei konkreettisia yksityiskohtaisia toimintasääntöjä vaan pelkkä yleisrakenne malli muokattavissa organisaatiolle ja sovellusalueelle sopivaksi 1 Vaihejako keskeisin apuväline prosessimallissa prosessin tärkeimmät osavaiheet osavaiheiden suoritusjärjestys osavaiheiden keskinäiset vaikutussuhteet osavaiheiden keskinäisiin rajapintoihin liittyvät toimenpiteet kuten dokumentointi, tarkastus 2 Harri Laine 1

Vaihejaon ominaispiirteitä jokainen vaihe tuottaa jonkin määritellyn tuloksen vaiheen tulos toimii syötteenä seuraavalle vaiheelle kumuloituvat osatulokset ohjaavat seuraavan vaiheen suoritusta vaiheen tulokset ovat jollakin määritellyillä kriteereillä hyväksyttävissä tai hylättävissä jokaisen vaiheen alku ja loppu on selvästi havaittavissa usein vaihe tarkentaa sitä edeltäneiden vaiheiden tuloksia 3 Vaihejaon ominaispiirteitä keskeistä useimmissa prosessimalleissa on vaiheen toisto ja silmukallinen iterointi prosessiin liittyy implisiittisesti joukko yleisiä, kaikille osavaiheille yhteisiä tukitoimenpiteitä dokumentointi laadunvarmistus tuotteenhallinta projektinjohto,... 4 Harri Laine 2

Prosessityypit Rakentaminen peräkkäiset työvaiheet, joista jokaisen tuloksena syntyy jokin 'tuote' määrittely - suunnittelu - toteutus edellinen vaihe pohjana seuraavalle Kasvattaminen pikaisesti toimivaan systeemiin, jota muokataan kunnes tulos on tyydyttävä Kokoaminen uudelleenkäytettävistä osista 5 Vesiputousmalli (waterfall model) ohjelmiston tuottaminen on sarjallinen järjestyksessä etenevä prosessi jossa on seuraavat vaiheet (huom. vaiheet vaihtelevat eri lähteissä) järjestelmäsuunnittelu (system engineering) etsitään halutusta kokonaisjärjestelmästä ohjelmistokomponentit ja hahmotetaan niiden rooli vaatimusmäärittely (analysis) määritellään ohjelmisto kiinnittämällä sen päätoiminnot, ulkoiset vaatimukset ja rajoitukset, liittymät, suorituskyky suunnittelu (design) suunnitellaan ohjelmiston tekninen rakenne, pääkomponentit, tietorakenteet, tietoliikenne,... 6 Harri Laine 3

Vesiputousmalli (waterfall model) toteutus (implementation / coding) suunnitelman realisointi toimivaksi ohjelmistoksi testaus (testing) toimivuuden ja vaatimusten täyttymisen varmistaminen ohjelmaa suorittamalla ylläpito (maintenance) järjestelmän käyttöönotto, haluttujen muutosten tai tarvittavien korjausten toteuttaminen vaiheet voidaan jakaa edelleen alivaiheisiin, esim. testaus ={yksikkötestaus, integrointitestaus, järjestelmätestaus} 7 Vesiputousmalli (waterfall model) idealistinen tilanne: prosessi etenee järjestyksessä vaiheesta toiseen (vesiputous) dokumentti 8 Harri Laine 4

Vesiputousmalli (waterfall model) selkeä, yksinkertainen, perinteinen malli tulosdokumentti päättää vaiheen vasta vaiheen lopussa olevan tarkastuspisteen jälkeen voidaan edetä seuraavaan vaiheeseen käytännössä: vaiheilla riippuvuuksia vaiheen suoritus saattaa paljastaa edellisessä vaiheessa tehtyjä virheitä prosessia tulee peruuttaa -> prosessi muuttuu iteratiiviseksi palattava toistamaan aikaisempia vaiheita etenemisjärjestys muutoin säilyttäen 9 Vesiputousmalli (waterfall model) Todellinen tilanne dokumentti 10 Harri Laine 5

Vesiputousmalli (waterfall model) - ongelmia iteratiivisuus huonosti kuvattu kiinnittää tarkistuspisteet ja dokumentit vaiheiden rajapinnoille -> käytännön peruutus hankalaa prosessin loppupäässä käynnistyvä peruutus (esim. ylläpito --> suunnittelu) saattaa olla todella kallis operaatio (suuri osa vaiheista ja niiden tuloksista uusittava) toimiva järjestelmä saadaan asiakkaan tutkittavaksi myöhään 11 Vesiputousmalli (waterfall model) - dokumentteja vaatimusmäärittely esitutkimusraportti vaatimusmäärittely toimintojen kuvaukset hyväksymistestaussuunnitelma luonnos käyttöohjeesta suunnittelu järjestelmäarkkitehtuuri järjestelmätestaussuunnitelma liittymämäärittelyt integrointitestaussuunnitelma moduulisuunnitelmat yksikkötestaussuunnitelmat 12 Harri Laine 6

Vesiputousmalli (waterfall model) - dokumentteja toteutus ohjelmakoodi tekniset dokumentit testaus yksikkötestausraportit integrointitestausraportti järjestelmätestausraportti hyväksymistestausraportti 13 Vesiputousmalli (waterfall model) - dokumentteja Tiukasti dokumentteihin sidotun etenemisen ongelmia dokumenttien sovittu aikataulu ei välttämättä vastaa prosessin aikataulua iterointi hankaloituu (onko uusittava vai tehtävä korjausliitteitä?) dokumenttien I/O -olemus liian suoraviivainen näkemys prosessista joskus tarkan dokumentin tekeminen on mahdotonta 14 Harri Laine 7

Vesiputousmalli (waterfall model) - plussat tunnetuin yleisesti hyväksytty modularisoi hyvin ohjelmistotuotantoprosessin tarjoaa pohjan kehittyneemmille malleille 15 Prototyyppimalli prototyyppi = nopeasti toteutettu osa järjestelmästä, muokataan tarpeen mukaan idea: järjestelmän keskeisiä osia kokeillaan prototyyppien avulla ennen toteutusta epäselvien asiakasvaatimusten selventäminen mahdollisuuksien selvittäminen käyttöliittymän ja järjestelmän palvelujen esittäminen ja tarkentaminen asiakkaalle nopeasti jotain toimivaa arvioitavaksi edellyttää nopean kehityksen välineitä 16 Harri Laine 8

Prototyypit Nopea suunnitelma Prototyypin tekeminen Arviointi ja määritysten täsmennys Tuotteen Valmistus 17 Prototyypit kahdenlaisia prototyyppejä: hylättävät prototyypit prototyyppi ei siirry koskaan tuotantoon vaan tätä varten tehdään erillinen järjestelmä, mahdollisesti kokonaan eri välinein kehittyvät prototyypit prototyypistä jalostetaan tuotantoversio 18 Harri Laine 9

Prototyypit - ongelmia prototyyppi voidaan tulkita varsinaiseksi järjestelmäksi miksei se vielä toimi, toimihan se jo kuukausia sitten? milloin protoilu pitäisi lopettaa? kehittyvien prototyyppien kohdalla epäkypsät suunnitteluratkaisut voivat siirtyä tuotteeseen -> tehottomuutta hylättävät prototyypit -> tuplatoteutus, resurssien hukkakäyttö? 19 Spiraalimalli iteratiivinen malli, joka yhdistää vesiputousmallin, prototyyppimallin ja riskianalyysin tuote valmistuu sarjana vaihetuotteita aikaiset vaihetuotteet voivat olla paperimalleja tai prototyyppejä mallissa suoritetaan toistuvasti toimintosyklejä 20 Harri Laine 10

Spiraalimallin sykli yhteydenpito asiakkaaseen suunnittelu (planning) riskianalyysi laadunvarmistus tuotanto VALMIS 21 Spiraalimalli Riski: asia, joka voi mennä pieleen esim. jonkin uuden ohjelmointikielen käyttöönotto onko soveltuva ko. tehtävään onko osaavia ohjelmoijia onko markkinoilla tehokkaita/toimivia toteutuksia riski havaitaan -> hankitaan puuttuva tieto kokeillaan kieltä pilottiprojektissa kartoitetaan ohjelmoijien osaaminen tehdään markkinaselvitys riskianalyysin perusteella tehdään käyttöönottopäätös 22 Harri Laine 11

Spiraalimalli riskit vähenevät joka kierroksella tosin esiin saattaa nousta uusia riskejä esim ohjelmointikieli riski ei esiinny paperimallia tehtäessä tuote tarkentuu kierros kierrokselta asiakas arvioi vaihetuotetta 23 Spiraalimalli suunnittelu riskianalyysi yhteydenpito asiakkaaseen tarvittaessa tehdään prototyyppi tuotanto laadunvarmistus 24 Harri Laine 12

Spiraalimalli - ongelmia vähän käytännössä sovellettu, nuori n. 10v vakuuttava näyttö toimivuudesta puuttuu asiakkaan toistuva aktivoiminen tarkentuvat prototyypit -> aikaavievää käytännössä vajavaiseen riskiasiantuntemukseen nojautuminen 25 Kasvattava malli (evolutionary) Suppean ydinjärjestelmän laajentaminen tuotantojärjestelmäksi pieninä täydennyksinä, inkrementteinä Sarja toistuvia vesiputouksia Versio n lajentaa versiota n-1 version n kehittämisessä voidaan ottaa huomioon versiosta n-1 saatu palaute 26 Harri Laine 13

Kasvattava malli 1. 2. 3. määrittely määrittely määrittely suunnittelu suunnittelu suunnittelu toteutus toteutus toteutus testaus testaus testaus 27 Kasvattava malli - ongelmia pienet lisäykset kasvattavat monimutkaisuutta lopputulos riippuu version 1 ydinjärjestelmän ratkaisuista projekti- ja versionhallinta monimutkaistuu miten dokumentoidaan: jokaiselle versiolle täydellisenä vaiko inkrementaalisesti - jos niin löytyykö kokonaisuus 28 Harri Laine 14