440 likes | 837 Views
Tarkvaratehnika. Tere!. Tarkvaratehnika Kaspar Loog. Selles loengus…. Koskmudel – teooria ja praktika “Tavapärase” tarkvaraarenduse rusikareeglid Rational Unified Process - sissejuhatus. Miks me siin istume?. Miks me siin istume?. Chaos 1995
E N D
Tere! Tarkvaratehnika Kaspar Loog
Selles loengus… • Koskmudel – teooria ja praktika • “Tavapärase” tarkvaraarenduse rusikareeglid • Rational Unified Process - sissejuhatus
Miks me siin istume? • Chaos 1995 • 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
Koskmudeli teooria I Analüüs Kodeerimine
Vajalikud täiendused koskmudeli teooriasse (Winston Royce) • Täielik programmi ülesehituse kirjeldus enne analüüsi ja kodeerimist • Ajakohase ja täieliku dokumentatsiooni haldamine • Kui võimalik, teha kõike 2x • Testimise planeerimine, kontrollimine ja jälgimine • Kliendi haaramine arendustegevusse
Täielik programmi ülesehituse kirjeldus enne analüüsi ja kodeerimist
Mis on koskmudeli rakendamisel viga? • Integratsiooni venimine ja hiline disaini ümbertegemine • Hiline riskide maandamine • Nõuetest lähtuv funktsionaalne tükeldamine • Vastuolulised suhted tellijate ja teostajate vahel • Liigne rõhk dokumentidel ja ülevaatuskoosolekutel
Valmimisgraafik“tavapärasel” tarkvaraprojektil Integratsioonialgus 100% Disainimuutmine Arenduskäik (% kodeeritud) Tegelik tähtaeg Lõpptähtaeg
Riskigraafik “tavapärasel” tarkvaraprojektil Nõuded Disain/kodeerimine Integratsioon Testimine Riskide vähendamine Riskide haldamine Riskide realiseerumise tõenäosus Riskide tükeldamine Riskide avastamine Projekti elutsükkel
Barry Boehm Mõned rusikareeglid“tavapärasest” tarkvaraarendusest
1EEK vs 100EEK Tarkvaraprobleemi lahendamine varajastes disainietappides on on 100 korda odavam kui pärast tarkvara kliendini toimetamist
100% => 75% Tarkvaraprojekti ajagraafikut saab tihendada maksimaalselt 25% võrra (Kolm naist ei sünnita ühte last kolme kuuga)
1EEK => 2EEK extra Iga arendusele kuluv kroon tähendab, et hooldusele kulub 2 krooni
Kulud = f(x) Tarkvara arendamise ja hoolduse kulud on funktsioon koodiridade arvust
Inimesed on olulised Inimestevahelised erinevused on kõige suurem produktiivsuse mõjutaja
Tarkvara maksab rohkem kui raudvara 1955 – 15:85 1985 – 85:15 2002 - ?
15% programmeerimist Ülejäänu on programmeerimist toetav ja abistav töö
Mida rohkem seda rohkem Tarkvarasüsteemi koodirida maksab 3x rohkem kui üksiku programmi koodirida “Diseconomy of scale”
60% tarkvara vigadest on leitavad inimliku läbivaatuse korras
80% tootlikkusest tuleb 20% tegijatelt Pareto printsiip
RUP - tarkvaraarendusmetoodika • Protsess e. metoodika (process) Osaliselt järjestatud tegevused mingi eesmärgi saavutamiseks • Tarkvaraarendusprotsess(software development process) Tarkvaratoote valmistamiseks vajalikud tegevused
RUP-i ‘parimad tavad’ • Arenda iteratiivselt • Halda nõudeid • Kasuta komponentarhitektuuri • Modelleeri visuaalselt • Kontrolli pidevalt kvaliteeti • Halda muudatusi
Halda nõudeid • Nõuete haldamine on süstemaatiline lähenemine pidevalt muutuvate nõuete leidmiseks, dokumenteerimiseks, organiseerimiseks ja jälgimiseks • Nõue on ‘oskus’ või ‘olukord’, millega tarkvara peab hakkama saama
Komponentarhitektuuri kasutamine Rakendusspetsiifiline Valdkonnaspetsiifiline Middleware Süsteemitarkvara
RUP ja UML • UML on skemaatiline keel, mida soovitatakse kasutada RUP-I rakendamisel
UML aitab üldistada • UML aitab süsteemi üldisemalt vaadelda Alamsüsteemid Klassid Kood
Pidev kvaliteedikontroll • Mis on kvaliteet? • "...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."
Pidev kvaliteedikontroll • Kvaliteeti tuleb kontrollida pidevalt, mitte protsessi lõpus • Kui kvaliteeti kontrollida protsessi lõpus, on olemas oht, et toode tunnistatakse praagiks • Pidev kvaliteedikontroll annab ka kõigile osapooltele kindlustunnet hetkeseisu osas
Järgmises loengus… • Mõisted • Töövood, faasid • Kuidas projekti tükeldada • Kuidas projekti tükke nimetada