programų sistemų inžinerija

20
Programų sistemų inžinerija Saulius Ragaišis, VU MIF saulius.ragaisis@m a f.vu.lt

Upload: dava

Post on 06-Jan-2016

58 views

Category:

Documents


0 download

DESCRIPTION

Programų sistemų inžinerija. Saulius Ragaišis , VU MIF saulius.ragaisis@m a f.vu.lt. Programinės įrangos gyvavimo ciklas. Programinės įrangos gyvavimo ciklas yra: a) tvarkingas procesų rinkinys, kurį organizacija laiko pakankamu ir tinkamu programinei įrangai sukurti; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programų sistemų inžinerija

Programų sistemų inžinerija

Saulius Ragaišis, VU [email protected]

Page 2: Programų sistemų inžinerija

Programinės įrangos gyvavimo ciklasPrograminės įrangos gyvavimo ciklas yra:

a) tvarkingas procesų rinkinys, kurį organizacija laiko pakankamu ir tinkamu programinei įrangai sukurti;

b) laikotarpis nuo sprendimo kurti arba keisti programinę įrangą iki programinės įrangos eksploatavimo nutraukimo.

Šaltinis (pirmasis rastas Google paieškoje pagal užklausą „Programinės įrangos gyvavimo ciklas“): Komisijos reglamentas (EB) Nr. 482/2008, kuriuo nustatoma oro navigacijos paslaugų teikėjų diegtina programinės įrangos saugos užtikrinimo sistema.

Page 3: Programų sistemų inžinerija

Programinės įrangos gyvavimo ciklo procesai

R.S.Pressman visų gyvavimo ciklo modelių apibrėžimuose išskiria tokius procesus:Bendravimas (angl. Communication) apima projekto inicijavimą ir reikalavimų surinkimą;

Planavimas (angl. Planning) apima vertinimą, plano sudarymą ir stebėjimą;

Modeliavimas (angl. Modeling) apima reikalavimų analizę ir projektavimą;

Kūrimas (angl. Construction) apima kodavimą ir testavimą;

Pateikimas (angl. Deployment) apima įdiegimą, palaikymą ir atsiliepimų gavimą.

Trūkumai?

Page 4: Programų sistemų inžinerija

Pastebėjimai

Programų sistemų inžinerijos pagrindinis objektas yra kūrėjų atliekami procesai.

Kad projektas būtų sėkmingas, reiktų žinoti ir užsakovų (naudotojų) vykdomus procesus.

Didžioji dalis Lietuvos įmonių ir organizacijų dar nesupranta įsigijimo proceso svarbos.

Programų sistemų priežiūros (angl. maintenance) svarbą galima pagrįsti ir tuo, kad pagal atliktus tyrimus priežiūros kaštai sudaro 50-70 % viso programų sistemos gyvavimo ciklo kaštų.

Page 5: Programų sistemų inžinerija

ISO/IEC 12207 - Programinės įrangos gyvavimo ciklo procesų standartas

Pagrindinis šio standarto tikslas yra apibrėžti programinės įrangos gyvavimo ciklo procesus, suteikti bendrą sampratą ir terminologiją, kas palengvintų, iš vienos pusės, programinių produktų ar paslaugų įsigijimą, o iš kitos pusės, jų sukūrimą, pateikimą ir priežiūrą.

Page 6: Programų sistemų inžinerija

ISO/IEC 12207

Šiuo metu galiojanti standarto versija yra sudaryta iš 3 dokumentų:

Pagrindinio standarto [ISO95], kuris buvo priimtas 1995 metais ir apibrėžė procesų kategorijas, pačius procesus, jų veiklas ir užduotis bei pateikė procesų pritaikymo gaires skirtingoms organizacijoms.

1-o papildymo [ISO02], kuris buvo priimtas 2002 metais ir papildė procesų rinkinį bei apibrėžė visus procesus, nurodydamas jų tikslus ir rezultatus.

2-o papildymo [ISO04], kuris buvo priimtas 2004 metais ir tik patikslino kai kurių procesų apibrėžimą.

Page 7: Programų sistemų inžinerija

ISO/IEC 12207 normatyvinės dalysPagrindinis standarto tekstas [ISO95], apibrėžiantis naudojamus terminus, procesų kategorijas ir pačius procesus, nurodydamas jų veiklas ir užduotis.

Priedas A [ISO95], apibrėžiantis standarto pritaikymo procesą, t.y. standarto pritaikymo konkrečiam projektui pagrindinius žingsnius: projekto aplinkos identifikavimas; informacijos surinkimas; procesų, veiklų ir užduočių pasirinkimas; priimtų sprendimų ir jų pagrindimo dokumentavimas (standarte žingsniai aprašyti labai lakoniškai – šio priedo apimtis tik 1 puslapis).

Priedas F [ISO02, ISO04], apibrėžiantis programinės įrangos gyvavimo ciklo procesus, nurodydamas jų tikslus ir rezultatus.

Page 8: Programų sistemų inžinerija

ISO/IEC 12207 informacinės dalys

Priedas B [ISO95], pateikiantis gaires standarto pritaikymui (angl. tailoring).

Priedas C [ISO95], pateikiantis organizacijų ir gyvavimo ciklo procesų sąryšį, kokioms organizacijoms kurie procesai yra svarbesni.

Priedas D [ISO95], pateikiantis nuorodą į vienintelį standartą ISO/IEC 12119, skirtą programinės įrangos paketų kokybės reikalavimams ir testavimui.

Page 9: Programų sistemų inžinerija

ISO/IEC 12207 informacinės dalys (2)Priedas E [ISO02, ISO04], pateikiantis sąryšį tarp pagrindiniame standarto tekste [ISO95] ir priede F pateiktų procesų.

Dauguma priede F apibrėžtų procesų sutampa su jų buvusiais apibrėžimais [ISO95], bet

(1) yra įvesta ir visai naujų procesų: pavyzdžiui, naudojamumo procesas (angl. usability process) ar personalo valdymas (angl. human resource management), tokie procesai vadinami baziniais);

(2) nauji procesai suformuoti iš buvusių kitų procesų veiklų: pavyzdžiui, pasirengimas įsigijimui (angl. acquisition preparation) ar proceso vertinimas (angl. process assessment);

(3) kai kurie procesai yra išplėsti: pavyzdžiui, reikalavimų surinkimas (angl. requirements elicitation) ar produkto įvertinimo procesas (angl. product evaluation process).

Page 10: Programų sistemų inžinerija

ISO/IEC 12207 informacinės dalys (3)

Priedas G [ISO02], pateikiantis priede F pateiktų naujų procesų apibrėžimą jų veiklomis ir užduotimis, t.y. papildantis pagrindiniame standarto tekste esantį procesų apibrėžimą.

Priedas H [ISO02], pateikiantis praplėstą (detalesnį), lyginant su priedu F, programinės įrangos įsigijimo procesų rinkinį, labiau tinkamą įsigijimo gebėjimo vertinimui.

Page 11: Programų sistemų inžinerija

Procesų kategorijos

Pagrindiniai gyvavimo ciklo procesai (angl. primary life cycle processes)

Pagalbiniai gyvavimo ciklo procesai (angl. supporting life cycle processes)

Organizaciniai gyvavimo ciklo procesai (angl. organizational life cycle processes)

Page 12: Programų sistemų inžinerija

Pagrindiniai procesaiĮsigijimo procesas (angl. acquisition process) apibrėžia veiklas, kurias vykdo organizacija, įsigyjanti sistemą, programinį produktą ar paslaugą.

Tiekimo procesas (angl. supply process) apibrėžia veiklas, kurias vykdo organizacija, tiekianti sistemą, programinį produktą ar paslaugą.

Kūrimo procesas (angl. development process) apibrėžia veiklas, kurias vykdo programinį produktą apibrėžianti ir kurianti organizacija.

Naudojimo procesas (angl. operation process) apibrėžia veiklas, kurias vykdo organizacija, kad suteiktų sistemos naudotojams galimybę dirbti sus sistema.

Priežiūros procesas (angl. maintenance process) apibrėžia veiklas, kurias vykdo sistemą prižiūrinti organizacija tam, kad sistema atitiktų einamuosius naudojimo poreikius.

Page 13: Programų sistemų inžinerija

Pagalbiniai procesaiDokumentavimo procesas (angl. documentation process) apibrėžia gyvavimo ciklo procesų surinktos informacijos užrašymo veiklas.

Konfigūracijos valdymo procesas (angl. configuration management process) apibrėžia programinės įrangos konfigūracijos valdymo veiklas.

Kokybės užtikrinimo procesas (angl. quality assurance process) apibrėžia veiklas, padedančias užtikrinti, kad produktai ir procesai atitiks jiems nustatytus reikalavimus ir planus. Pastaba: verifikavimas, validavimas, bendros peržiūros ir auditas gali būti naudojami kaip kokybės užtikrinimo būdai.

Verifikavimo procesas (angl. verification process) apibrėžia veiklas, kurias vykdo programinį produktą įsigyjanti, tiekianti ar nepriklausoma organizacija produkto patikrinimui (ar jis atitinka apibrėžtus jam reikalavimus).

Page 14: Programų sistemų inžinerija

Pagalbiniai procesai (2)Validavimo procesas (angl. validation process) apibrėžia veiklas, kurias vykdo programinį produktą įsigyjanti, tiekianti ar nepriklausoma organizacija produkto tinkamumo patvirtinimui (ar jis atitinka poreikius).

Bendrų peržiūrų procesas (angl. joint review process) apibrėžia veiklas, atliekamas produkto ar veiklos būsenos įvertinimui.

Auditavimo procesas (angl. audit process) apibrėžia veiklas, atliekamas atitikimo reikalavimams, planams ir sutarčiai įvertinimui.

Problemų sprendimo procesas (angl. problem resolution process) apibrėžia veiklas, skirtas bet kokio pobūdžio ir prigimties gyvavimo ciklo metu iškilusių problemų analizavimui ir šalinimui.

Page 15: Programų sistemų inžinerija

Organizaciniai procesai

Valdymo procesas (angl. management process) apibrėžia valdymo veiklas, vykdomas viso gyvavimo ciklo metu.

Infrastruktūros procesas (angl. infrastructure process) apibrėžia veiklas, skirtas sukurti sąlygas kitų procesų vykdymui.

Gerinimo procesas (angl. improvement process) apibrėžia veiklas, kurias organizacija atlieka procesų apibrėžimui, valdymui ir gerinimui.

Mokymo procesas (angl. training process) apibrėžia veiklas tinkamai apmokytų darbuotojų parengimui.

Page 16: Programų sistemų inžinerija

Procesų apibrėžimaiveiklomis ir užduotimis

tikslais ir rezultatais

Page 17: Programų sistemų inžinerija

Įsigijimo proceso apibrėžimas. Priede FPasiruošimas įsigijimui

Tiekėjo išrinkimas

Tiekėjo stebėjimas

Programinės įrangos priėmimas

Sutarties sudarymas

Page 18: Programų sistemų inžinerija

Įsigijimo proceso apibrėžimas. Priede H

H1. Įsigijimo poreikiaiH2. Įsigijimo strategijaH3. Naudos analizėH4. Techniniai reikalavimaiH5. Teisiniai ir administraciniai reikalavimaiH6. Finansiniai reikalavimaiH7. Projekto reikalavimaiH8. Kvietimas teikti pasiūlymus

Page 19: Programų sistemų inžinerija

Įsigijimo proceso apibrėžimas. Priede H (2)

H9. Tiekėjo kvalifikacijaH10. Pasiūlymų vertinimasH11. Sutarties parengimasH12. Tiekėjo stebėjimasH13. PriėmimasH14. Sutarties užbaigimasH15. Tiekėjo santykiaiH16. Naudotojo santykiaiH17. Finansų valdymas

Page 20: Programų sistemų inžinerija

Klausimai

?