RPA 8. Lekcija - 2. Dio Flashcards
Studying
Evolucijski proces održavanja - 3 faze korištenja
▰ Evolucija
▻ Faza korištenja u kojoj se softver
nadograđuje novim funkcionalnostima
sustava zbog boljeg udovoljavanja novih i
postojećih korisničkih zahtjeva
▰ Servisiranje
▻ Faza korištenja u kojoj se softver održava
samo kroz ispravke nedostataka i
promjene za udovoljavanje
nefunkcionalnih sustavskih zahtjeva, bez
dodavanja novih funkcionalnosti
▰ Gašenje
▻ Faza korištenja u kojoj se u postojeći
softver više ne uvode nikakve izmjene,
softver prerasta u naslijeđeni sustav te se
donose odluke u vezi postupaka
povlačenja softvera iz upotrebe.
Vrste održavanja
➢ Korektivno održavanje
➢ Adaptivno održavanje
➢ Održavanje radi usavršavanja
➢ Preventivno održavanje
Vrste održavanja - opis
▰ Korektivno održavanje
▻ Reagiranje na probleme koji nastaju uslijed pogreške
▻ Aktivnosti: pronaći uzrok, korekcije i izmjene (u zahtjevima … kodu … dokumentaciji)
▻ Privremene izmjene, trajne izmjene
▰ Adaptivno održavanje
▻ Izmjene u jednom dijelu zahtjeva, izmjene i u drugim dijelovima
▻ Implementacija sekundarnih izmjena
▻ Npr: dodavanje novog parametra (nove tehnologije), ne ispravljanje pogrešaka
▰ Održavanje radi usavršavanja
▻ Izmjene koje poboljšavaju neki aspekt sustava čak i kada
one nisu posljedica pogreške
▰ Preventivno održavanje
▻ Izmjene dijela sustava da bi se izbjeglo moguće otkazivanje tog dijela
▻ Kada programer ili analitičar koda pronađe stvarnu ili moguću pogrešku - ispraviti prije nego što se nešto desi
Rad uložen u održavanje
▰ Lientz i Swanson, 487 poduzeća
▰ Raspored poslova po vrstama održavanja:
➢ Održavanje radi usavršavanja 50%
➢ Adaptivno održavanje 25%
➢ Korektivno održavanje 21%
➢ Preventivno održavanje 4%
Provođenje održavanja - timovi za održavanje, koji tim olakšava održavanje, što je bitno?
▰ Tim koji razvija sustav ne mora ga i održavati
▰ Timovi za održavanje
▻ Nezavisan tim je objektivniji,
lakše razlikovanje što bi trebalo od kako nešto
radi
▰ Ako je uključen razvojni tim – lakše održavanje
▰ Izrazito važna ažurna dokumentacija
Model održavanja
▰ Prema B. Tauti proces održavanja moguće je prikazati kao zatvoreni ciklus koji počinje
zahtjevom da se izvede promjena
(modifikacija) u dijelu softvera, a završava
uvođenjem u rad modificiranog softvera.
Problemi održavanja
▰ Nedostupnost sustava
Tijekom aktivnosti održavanja, sustav je izvan upotrebe.
Razlozi koji čine održavanje teškim:
▰ Ograničeno razumijevanje
▻ Brzina proučavanja dokumentacije
▻ 47% rada na održavanju → proučavanje dokumentacije
▰ Nedovoljna vještina ili stupanj razumijevanja
▻ Nepotpune, pogrešne informacije o efektima problema
▰ Drugorazredni status tima za održavanje
▻ Programeri „po kazni” razvrstani u tim za održavanje,
▻ rad na više poslova odjednom
▰ Nedovoljno dobro odrađeno testiranje
▰ Potreba za kompromisom
▻ Brza raspoloživost sustava ili “smireno” održavanje
Čimbenici utjecaja na uloženi rad
▰ Vrsta aplikacije
▻ Aplikacije u realnom vremenu – teže održavanje od situacija gdje vrijeme održavanja nije kritično
▰ Novost u sustavu
▻ Nova aplikacija – iskustvo nije dovoljno u pronalaženju i ispravljanju pogrešaka
▰ Trajanje životnog vijeka sustava
▻ Dugi vijek trajanja – održavanje otežano
▰ Zavisnost od promjenljivog okruženja
▻ Promjena hardvera – moguće promijene na n različitih mjesta (softver, edukacija …)
▰ Kvaliteta strukture sustava
▻ Komponente vrlo zavisne – domino efekt
▰ Kvaliteta koda
▻ Kod nestrukturiran, ne implementira vodeće principe arhitekture – teško pronalaženje pogrešaka
▰ Kvaliteta dokumentacije
▻ Neažurirana dokumentacija, nerazumljiva dokumentacija –moguće “odlutati”, ispravljati pogreške u krivom smjeru
▰ Kvaliteta testiranja
▻ Testiranje s nepotpunim odabirom podataka – pojava neočekivanih pogrešaka, održavanje teško
“Pomlađivanje “ softvera
▰ Postupci kojima se povećava ukupna kvaliteta softvera i time produljuje vrijeme korištenja i održavanja softvera uz prihvatljivu razinu
troškova
➢ Redokumentiranje
➢ Restrukturiranje
➢ Reverzni inženjering
➢ Reinženjering
Redokumentiranje
▰ Statička analiza izvornog koda
▻ Stvaranje dodatnih informacija (pomoć serviserima u razumijevanju i referenciranju koda)
▻ Ne transformira aktualni kod
▻ Ispitivanje:
▻ Korištene varijable
▻ Pozivanje komponenti
▻ Pozivanje parametara
▻ Putanje testiranja