FRI:UNI:Vodenje projektov:Vzdrževanje programske opreme
Iz E-študij, proste zakladnice študentskega znanja
Vzdrževanje programske opreme
- do nedavnega najbolj zanemarjano
- stroški vzdrževanja vse višji
- stare opreme je vedno več
- opremo je potrebno sproti spreminjati in prilagajati
- stroški so visoki zaradi slabe dokumentiranosti stare opreme in vse večje kompleksnosti nove
- pri vzdrževanju nastajajo tudi indirektni stroški
- glavne aktivnosti vzdrževanja:
- Popravki za odpravljanje napak
- Prilagajanje
- Razširitev zmogljivosti
- Preventivno vzdrževanje
- največ zahtev po vzdrževanju nastane zaradi sprememb v zunanjem okolju
- programerji raje pišejo nove programe kot vzdržujejo obstoječe
- z dobrim načrtovanjem se lahko vzdrževanju deloma izognemo
- tiste module, ki jih bomo velikokrat spreminjali izoliramo tako, da bo spreminjanje čim lažje
- tudi tukaj veljata Zakon stalnih sprememb in Zakon naraščajoče kompleksnosti
- vzdrževanje kode, ki je nismo sami napisali je težavno
Organizacija vzdrževanja programske opreme
- tri načela organzacije skupin:
- W-type: delitev po tipu dela (analiza, programiranje, ...)
- A-type: delitev glede na vrsto aplikacije
- L-type: delitev glede na življenski cikel (razvoj, vzdrževanje)
- prednosti ločenega razvoja in vzdrževanja:
- jasne zadolžitve
- zaradi nujnih vzdrževalnih del je težko načrtovati novo opremo
- jasna ločitev obeh aktivnosti
- specializacija prinese višjo kvaliteto
- bolj osredotočeno delo → večja produktivnost
- slabosti ločenega vzdrževanja in razvoja
- slabša motivacija zaradi različnega statusa
- slabše poznavanje sistema
- slabša koordinacija med razvojem in vzdrževanjem
- večji začetni stroški vzdrževanja
- možno podvajanje komunikacij z uporabnikom
Postopek vzdrževanja
- Ustrezna organizacija: da ne pride do neavtoriziranih in nasprotujočih si sprememb
- Dokumentiranje zahtevkov
- Preverjanje zahtevkov: odobrimo le tiste, ki so potrebni, smiselni in ekonomsko upravičeni
- Ukrepanje: glede na dano situacijo sprožimo ustrezen postopek (kritična napaka, napaka ki lahko počaka, ...)
- Organizacija: podobno kot razvoj (analiza, načrtovanje, kodiranje, testiranje)
- Obstaja model COCOMO za oceno dela za vzdrževanje: Emaint = 2.4ACT(KLOC)1.05,
(KLOC = št. tisočev vrstic kode, C1 = število ukazov, ki smo jih spremenili ali dodali v enem letu)
- Obstaja model COCOMO za oceno dela za vzdrževanje: Emaint = 2.4ACT(KLOC)1.05,
- Dokumentacija sprememb: spremeniti moramo tudi dokumentacijo
Stranski učinki vzdrževanja
- paziti moramo, da ne povzročimo stranskih učinkov
- najbolj nevarni so:
- spreminjanje ali brisanje imena spremenljivk
- spreminjanje ali brisanje podprogramov
- spreminjanje mejnih vrednosti
- spremembe za pohitritev procesiranja