programų sistemų inžinerija
DESCRIPTION
Programų sistemų inžinerija. Saulius Ragaišis , VU MIF saulius.ragaisis@m a f.vu.lt 20 1 0- 09 - 22. Programinės įrangos krizė. Standish Group, Extreme CHAOS. The Standish Group International, Inc, 2001. (daugiau kaip 30.000 projektų ). Programų kūrimo proceso modeliavimas. - PowerPoint PPT PresentationTRANSCRIPT
Programinės įrangos krizė
Standish Group, Extreme CHAOS. The Standish Group International, Inc, 2001.
(daugiau kaip 30.000 projektų )
16%
27%
26%
28%
31%
40%
28%
23%
53%
33%
46%
49%
1994
1996
1998
2000
Sėkmingi
Žlugę
Pažeisti
Programų kūrimo proceso modeliavimas
Programų inžinerijos institutas (Software Engineering Institute – SEI) prie Carnegie Melon universiteto, finansuojamas JAV gynybos departamento
Europos programų inžinerijos institutas (European Software Institute – ESI)
ISO 9000
CMM, CMMI
BOOTSTRAP
SPICE, ISO 15504-TR, ISO 15504 + ISO 12207
TickIT, ITIL, COBIT
Programų kūrimo proceso “ekonomika”
OrganizacijosCMM lygis
Trukmė (mėnesiais)
Pastangos(žmogausmėnesiais)
SistemosdefektųSkaičius
VidutinėKaina($M)
MinimaliKaina($M)
Maksimalikaina($M)
Lygis 1 30 600 61 5,5 1,8 100+
Lygis 2 18.5 143 12 1,3 0,96 1.7
Lygis 3 15 80 7 0,728 0,518 0,933
1.300 projektų statistiniai duomenys;dideli projektai, turintys apie 200.000 kodo eilučių. Kaštai buvo skaičiuojami pagal vieno žmogaus metinį įkainį 110.000 $.
Programų kūrimo proceso gerinimasRemiantis SEI sukaupta informacija, galima teigti, kad
organizacijoms, gerinančioms procesą pagal CMM, vidutinis laikas pasiekti aukštesnį brandos lygį yra toks:
22 mėnesiai perėjimui iš 1-o brandos lygio į 2-ą;19 mėnesių perėjimui iš 2-o brandos lygio į 3-ą;25 mėnesiai perėjimui iš 3-o brandos lygio į 4-ą;13 mėnesių perėjimui iš 4-o brandos lygio į 5-ą.
Nuo 1-o brandos lygio pasiekti aukščiausią tikėtinai prireiks > 6 metų.
Watts Humphrey, SEI darbai CMM (Capability Maturity Model) ...
TSP (Team Software Process)
PSP (Personal Software Process)
Programų kūrimo proceso modelių taikymo Lietuvoje problemos
Abstraktūs brandos modelių reikalavimų formulavimai (stengiantis išplėsti jų taikymo sritį), reikalaujantys daug papildomo darbo, bandant juos vėl „nuleisti“ į žemišką kalbą.
Skirtinga užsienio ir Lietuvos įmonių patirtis – Lietuvos įmonės dar negali pasigirti giliomis technologinėmis ir valdymo tradicijomis, dėl to brandos modelių terminologija ir reikalavimai yra joms sunkiai suprantami.
Palyginti didelė tyrimų ir bandymų kaina – dažna Lietuvos įmonė nesiryžta pradėti taikyti proceso gerinimo praktikų dėl per didelio darbų neapibrėžtumo – sudėtinga iš anksto pakankamai tiksliai įvertinti reikalingas darbų apimtis bei būsimą naudą.
Skirtingi modeliai įveda skirtingas sąvokas proceso apibrėžimui, vertinimui ir gerinimui atlikti, todėl tampa aktualus vieningos sąvokų sistemos apibrėžimas.
Programų kūrimo proceso modeliai
SW-CMM (Capability Maturity Model for Software) SE-CMM (Systems Engineering Capability Maturity Model)SA-CMM (Software Acquisition Capability Maturity Model)IPD-CMM (Integrated Product Development Capability Maturity Model)kt.
CMM (Capability Maturity Model) – Gebėjimų brandos modelis :
CMMI (Capability Maturity Model Integration):CMMI-DEV (CMMI for Development)
CMMI-ACQ (CMMI for Acquisition)
CMMI-SVC (CMMI for Services)
Šiuo metu versija 1.2.
Programų kūrimo proceso modeliai (2)
ISO/IEC 15504: Information technology – Software process assessment
SPICE (Software Process Improvement and Capability dEtermination) – Programų kūrimo proceso gerinimas ir gebėjimų nustatymas
Programų kūrimo proceso modelių architektūra
Pakopinė architektūra (pvz., SW-CMM, CMMI)
Tolydinė architektūra (pvz., SPICE, ISO/IEC 15504 , CMMI)
Pagrindinės sąvokosProgramų kūrimo procesas (Software Process): visuma veiklų, kurios vykdomos kuriant programinį produktą. /Visuminis procesas/
Vardinis procesas (Process): rinkinys programų kūrimo veiklų, susijusių pagal tikslus programinio produkto gyvavimo cikle.
Proceso sritis (Process Area): rinkinys programų kūrimo veiklų, sugrupuotų pagal jų prisidėjimą prie proceso gebėjimo didinimo.
Vardiniai procesai (ISO/IEC 15504)
Proceso sritys (pagal brandos lygius, SW-CMM)
Pagrindinės sąvokos (2)Gebėjimas (Process Capability): proceso charakteristika, nusakanti laukiamų rezultatų, kuriuos galima gauti taikant tą procesą, pasiskirstymą (diapazoną). Gebėjimas nusako galimybę (tikimybę), kad procesas įvykdys procesui keliamus tikslus.
Gebėjimo lygis (Capability Level): įvertis diskrečioje skalėje, nusakantis tam tikrą proceso gebėjimo pasiekimą. Praktiškai proceso gebėjimo lygis apibrėžiamas konstruktyviai, nurodant proceso indikatorius - veiklas, kurias atliekant sukuriama proceso aplinka, užtikrinanti proceso rezultatų stabilumą.
Pagrindinės sąvokos (3)Branda (Process maturity): proceso charakteristika, nusakanti, kiek procesas yra apibrėžtas, valdomas, matuojamas, kontroliuojamas ir nuolatos gerinamas.
Brandos lygis (Maturity Level): aiškiai apibrėžta pakopa proceso brandos evoliucijoje, nusakoma rinkiniu procesų, kurių tikslai turi būti įgyvendinami, kad būtų pasiektas tam tikras proceso gebėjimas.
Brandos models (Capability Maturity Model): Programų kūrimo proceso modelis, aprašantis esminius proceso elementus, pagal kuriuos matuojama proceso branda ir/arba vertinamas ir gerinamas proceso gebėjimas.
Proceso gebėjimo priklausomybė nuo brandos lygio
Pagrindinės sąvokos (4)Programų kūrimo proceso modelis, leidžiantis vertinti visuminio organizacijos proceso brandą, vadinamas pakopinės architektūros brandos modeliu, kadangi nustato stambius penkis brandos lygmenis – pakopas. Organizacija (jos programų kūrimo procesas) yra įvertinama tam tikru brandos lygiu.
Programų kūrimo proceso modelis, leidžiantis įvertinti kiekvieno vardinio proceso gebėjimą, vadinamas tolydinės architektūros brandos modeliu, kadangi leidžia įvertinti proceso gebėjimą detalesniame – vardinio proceso – lygmenyje. Šiuo atveju organizacijos įvertinimas yra vardinių procesų gebėjimų lygių profilis.
IšvadosPagrindinis proceso gerinimo tikslas yra padidinti jo gebėjimą.
Proceso gebėjimas ir branda yra skirtingų plotmių sąvokos, bet praktiškai abiem atvejais vertinimas paremtas tais pačiais principais – modelyje apibrėžtų proceso charakteristikų nustatymu.
Klausimai
?