Tarkvaratehnika RUP Rose Kaspar Loog 2002 Tere Tarkvaratehnika

  • Slides: 44
Download presentation
Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Tere! Tarkvaratehnika Kaspar Loog Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Tere! Tarkvaratehnika Kaspar Loog Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Selles loengus… Koskmudel – teooria ja praktika p “Tavapärase” tarkvaraarenduse rusikareeglid p Rational Unified

Selles loengus… Koskmudel – teooria ja praktika p “Tavapärase” tarkvaraarenduse rusikareeglid p Rational Unified Process - sissejuhatus p Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Miks me siin istume? Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Miks me siin istume? Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Miks me siin istume? p Chaos 1995 n n p Aastal 1995 kulutasid USA

Miks me siin istume? p Chaos 1995 n n p Aastal 1995 kulutasid USA firmad 81 miljardit dollarit tarkvaraprojektidele, mis katkestati 31% projektidest katkestati enne lõpetamist 53% projektidest läksid tähtajast üle rohkem kui poole võrra Vaid 9% tarkvaraprojektidest, mis tehti suurfirmadele püsisid aja- ja rahaeelarve raames Olukord ei ole 7 aastaga eriti muutunud Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Koskmudel – ajaloo prügikast? Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Koskmudel – ajaloo prügikast? Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Koskmudeli teooria I Analüüs Kodeerimine Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Koskmudeli teooria I Analüüs Kodeerimine Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Koskmudeli teooria suurte süsteemide korral Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Koskmudeli teooria suurte süsteemide korral Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Vajalikud täiendused koskmudeli teooriasse (Winston Royce) 1. 2. 3. 4. 5. Täielik programmi ülesehituse

Vajalikud täiendused koskmudeli teooriasse (Winston Royce) 1. 2. 3. 4. 5. Täielik programmi ülesehituse kirjeldus enne analüüsi ja kodeerimist Ajakohase ja täieliku dokumentatsiooni haldamine Kui võimalik, teha kõike 2 x Testimise planeerimine, kontrollimine ja jälgimine Kliendi haaramine arendustegevusse Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Täielik programmi ülesehituse kirjeldus enne analüüsi ja kodeerimist Tarkvaratehnika – RUP & Rose ©

Täielik programmi ülesehituse kirjeldus enne analüüsi ja kodeerimist Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Ajakohase ja täieliku dokumentatsiooni haldamine Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Ajakohase ja täieliku dokumentatsiooni haldamine Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Kui võimalik, teha kõike 2 x Tarkvaratehnika – RUP & Rose © Kaspar Loog

Kui võimalik, teha kõike 2 x Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Testimise planeerimine, kontrollimine ja jälgimine Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Testimise planeerimine, kontrollimine ja jälgimine Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Kliendi haaramine arendustegevusse Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Kliendi haaramine arendustegevusse Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Praktika koskmudeli rakendamisel Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Praktika koskmudeli rakendamisel Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Mis on koskmudeli rakendamisel viga? Integratsiooni venimine ja hiline disaini ümbertegemine p Hiline riskide

Mis on koskmudeli rakendamisel viga? Integratsiooni venimine ja hiline disaini ümbertegemine p Hiline riskide maandamine p Nõuetest lähtuv funktsionaalne tükeldamine p Vastuolulised suhted tellijate ja teostajate vahel p Liigne rõhk dokumentidel ja ülevaatuskoosolekutel p Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Valmimisgraafik “tavapärasel” tarkvaraprojektil Arenduskäik (% kodeeritud) 100% Integratsiooni algus Disaini muutmine Lõ Tarkvaratehnika –

Valmimisgraafik “tavapärasel” tarkvaraprojektil Arenduskäik (% kodeeritud) 100% Integratsiooni algus Disaini muutmine Lõ Tarkvaratehnika – RUP & Rose eg a t äh t pp g li e g k ae t h tä Te © Kaspar Loog 2002

Riskide realiseerumise tõenäosus Riskigraafik “tavapärasel” tarkvaraprojektil Nõuded Disain/kodeerimine Integratsioon Testimine Riskide vähendamine Riskide haldamine

Riskide realiseerumise tõenäosus Riskigraafik “tavapärasel” tarkvaraprojektil Nõuded Disain/kodeerimine Integratsioon Testimine Riskide vähendamine Riskide haldamine Riskide tükeldamine Riskide avastamine Tarkvaratehnika – RUP & Rose Projekti elutsükkel © Kaspar Loog 2002

Mõned rusikareeglid “tavapärasest” tarkvaraarendusest Barry Boehm Tarkvaratehnika – RUP & Rose © Kaspar Loog

Mõned rusikareeglid “tavapärasest” tarkvaraarendusest Barry Boehm Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

1 EEK vs 100 EEK Tarkvaraprobleemi lahendamine varajastes disainietappides on on 100 korda odavam

1 EEK vs 100 EEK Tarkvaraprobleemi lahendamine varajastes disainietappides on on 100 korda odavam kui pärast tarkvara kliendini toimetamist Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

100% => 75% Tarkvaraprojekti ajagraafikut saab tihendada maksimaalselt 25% võrra (Kolm naist ei sünnita

100% => 75% Tarkvaraprojekti ajagraafikut saab tihendada maksimaalselt 25% võrra (Kolm naist ei sünnita ühte last kolme kuuga) Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

1 EEK => 2 EEK extra Iga arendusele kuluv kroon tähendab, et hooldusele kulub

1 EEK => 2 EEK extra Iga arendusele kuluv kroon tähendab, et hooldusele kulub 2 krooni Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Kulud = f(x) Tarkvara arendamise ja hoolduse kulud on funktsioon koodiridade arvust Tarkvaratehnika –

Kulud = f(x) Tarkvara arendamise ja hoolduse kulud on funktsioon koodiridade arvust Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Inimesed on olulised Inimestevahelised erinevused on kõige suurem produktiivsuse mõjutaja Tarkvaratehnika – RUP &

Inimesed on olulised Inimestevahelised erinevused on kõige suurem produktiivsuse mõjutaja Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Tarkvara maksab rohkem kui raudvara 1955 – 15: 85 1985 – 85: 15 2002

Tarkvara maksab rohkem kui raudvara 1955 – 15: 85 1985 – 85: 15 2002 - ? Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

15% programmeerimist Ülejäänu on programmeerimist toetav ja abistav töö Tarkvaratehnika – RUP & Rose

15% programmeerimist Ülejäänu on programmeerimist toetav ja abistav töö Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Mida rohkem seda rohkem Tarkvarasüsteemi koodirida maksab 3 x rohkem kui üksiku programmi koodirida

Mida rohkem seda rohkem Tarkvarasüsteemi koodirida maksab 3 x rohkem kui üksiku programmi koodirida “Diseconomy of scale” Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

60% tarkvara vigadest on leitavad inimliku läbivaatuse korras Tarkvaratehnika – RUP & Rose ©

60% tarkvara vigadest on leitavad inimliku läbivaatuse korras Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

80% tootlikkusest tuleb 20% tegijatelt Pareto printsiip Tarkvaratehnika – RUP & Rose © Kaspar

80% tootlikkusest tuleb 20% tegijatelt Pareto printsiip Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Mis edasi? Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Mis edasi? Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Rational Unified Process Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Rational Unified Process Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

RUP - tarkvaraarendusmetoodika p Protsess e. metoodika (process) Osaliselt järjestatud tegevused mingi eesmärgi saavutamiseks

RUP - tarkvaraarendusmetoodika p Protsess e. metoodika (process) Osaliselt järjestatud tegevused mingi eesmärgi saavutamiseks p Tarkvaraarendusprotsess (software development process) Tarkvaratoote valmistamiseks vajalikud tegevused Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

RUP kui spiraalne metoodika Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

RUP kui spiraalne metoodika Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

RUP-i ‘parimad tavad’ Arenda iteratiivselt p Halda nõudeid p Kasuta komponentarhitektuuri p Modelleeri visuaalselt

RUP-i ‘parimad tavad’ Arenda iteratiivselt p Halda nõudeid p Kasuta komponentarhitektuuri p Modelleeri visuaalselt p Kontrolli pidevalt kvaliteeti p Halda muudatusi p Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Iteratiivsus a la Rational Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Iteratiivsus a la Rational Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Iteratsioon ja koskmudel Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Iteratsioon ja koskmudel Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Halda nõudeid p Nõuete haldamine on süstemaatiline lähenemine pidevalt muutuvate nõuete leidmiseks, dokumenteerimiseks, organiseerimiseks

Halda nõudeid p Nõuete haldamine on süstemaatiline lähenemine pidevalt muutuvate nõuete leidmiseks, dokumenteerimiseks, organiseerimiseks ja jälgimiseks p Nõue on ‘oskus’ või ‘olukord’, millega tarkvara peab hakkama saama Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Komponentarhitektuuri kasutamine Rakendusspetsiifiline Valdkonnaspetsiifiline Middleware Süsteemitarkvara Tarkvaratehnika – RUP & Rose © Kaspar Loog

Komponentarhitektuuri kasutamine Rakendusspetsiifiline Valdkonnaspetsiifiline Middleware Süsteemitarkvara Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

RUP ja UML p UML on skemaatiline keel, mida soovitatakse kasutada RUP-I rakendamisel Tarkvaratehnika

RUP ja UML p UML on skemaatiline keel, mida soovitatakse kasutada RUP-I rakendamisel Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

UML aitab üldistada p UML aitab süsteemi üldisemalt vaadelda Alamsüsteemid Klassid Kood Tarkvaratehnika –

UML aitab üldistada p UML aitab süsteemi üldisemalt vaadelda Alamsüsteemid Klassid Kood Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Pidev kvaliteedikontroll p Mis on kvaliteet? p ". . . the characteristic of having

Pidev kvaliteedikontroll p Mis on kvaliteet? p ". . . the characteristic of having demonstrated the achievement of producing a product that meets or exceeds agreed-on requirements—as measured by agreed-on measures and criteria—and that is produced by an agreed-on process. " Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Pidev kvaliteedikontroll p Kvaliteeti tuleb kontrollida pidevalt, mitte protsessi lõpus p Kui kvaliteeti kontrollida

Pidev kvaliteedikontroll p Kvaliteeti tuleb kontrollida pidevalt, mitte protsessi lõpus p Kui kvaliteeti kontrollida protsessi lõpus, on olemas oht, et toode tunnistatakse praagiks p Pidev kvaliteedikontroll annab ka kõigile osapooltele kindlustunnet hetkeseisu osas Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Muudatuste haldamine Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Muudatuste haldamine Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002

Järgmises loengus… Mõisted p Töövood, faasid p Kuidas projekti tükeldada p Kuidas projekti tükke

Järgmises loengus… Mõisted p Töövood, faasid p Kuidas projekti tükeldada p Kuidas projekti tükke nimetada p Tarkvaratehnika – RUP & Rose © Kaspar Loog 2002