Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programų sistemų inžinerija

Similar presentations


Presentation on theme: "Programų sistemų inžinerija"— Presentation transcript:

1 Programų sistemų inžinerija
Saulius Ragaišis, VU MIF

2 Programinės įrangos krizė
Standish Group, Extreme CHAOS. The Standish Group International, Inc, 2001. (daugiau kaip projektų )

3 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 TR, ISO ISO 12207 TickIT, ITIL, COBIT

4 Programų kūrimo proceso “ekonomika”
Organizacijos CMM lygis Trukmė (mėnesiais) Pastangos (žmogaus mėnesiais) Sistemos defektų Skaičius Vidutinė Kaina ($M) Minimali Maksimali kaina 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 kodo eilučių. Kaštai buvo skaičiuojami pagal vieno žmogaus metinį įkainį  $.

5 Programų kūrimo proceso gerinimas
Remiantis 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ų.

6 Watts Humphrey, SEI darbai
CMM (Capability Maturity Model) ... TSP (Team Software Process) PSP (Personal Software Process)

7 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.

8 Programų kūrimo proceso modeliai
CMM (Capability Maturity Model) – Gebėjimų brandos modelis : 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. 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.

9 Programų kūrimo proceso modeliai (2)
SPICE (Software Process Improvement and Capability dEtermination) – Programų kūrimo proceso gerinimas ir gebėjimų nustatymas ISO/IEC 15504: Information technology – Software process assessment

10 Programų kūrimo proceso modelių architektūra
Pakopinė architektūra (pvz., SW-CMM, CMMI) Tolydinė architektūra (pvz., SPICE, ISO/IEC 15504 , CMMI)

11 Pagrindinės sąvokos Programų 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.

12 Vardiniai procesai (ISO/IEC 15504)

13 Proceso sritys (pagal brandos lygius, SW-CMM)

14 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ą.

15 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.

16 Proceso gebėjimo priklausomybė nuo brandos lygio

17 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.

18 Išvados Pagrindinis 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.

19 Klausimai ?


Download ppt "Programų sistemų inžinerija"

Similar presentations


Ads by Google