Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Sadržaj
• Definicija• Proces• Klasifikacije• Značaj održavanja• Razvoj vs Održavanje• Problemi održavanja• Istraživanja• Metodologije
ODRŽAVANJE - definicija
• Potreba za održavanjem –
• softver nema fizičkih dijelova?
• što uvjetuje održavanje?
• DEFINICIJA: Održavanje softvera podrazumijeva izmjenu softvera nakon isporuke kako bi se ispravili nedostaci (pogreške), poboljšale performanse ili drugi atributi ili prilagodba softvera izmjenama u okolini (IEEE Standards1993).
ODRŽAVANJE – razlozi izmjena softvera
• Poboljšanja (Enhancements) ...
• Popravci (Repairs) ...
• Performanse (Performance improvements) ...
• Konfiguracija hardvera (Configuration changes) ...
• Nadogradnje okoline (Environment upgrades) ...
Razlozi za izmjenama se razlikuju u ovisnosti o tome koje poslovne procese podupire poslovni
softver unutar tvrtke
Lientz and Swanson 4 tipa održavanja:• preventivno održavanje• korektivno održavanje • adaptivno održavanje• perfektivno održavanje
ODRŽAVANJE – klasifikacije
Problemi sa klasifikacijama?
Komercijalne podjele:• Redovno održavanje• Zakonske izmjene • Prošireno održavanje
ISO:Rješavanje problema, Izmjena sučelja, Poboljšanja funkcionalnosti ili performansi Krogstie: Korektivno, Adaptivno, Perfektivno (Funkcionalno, Ne-Funkcionalno)
ODRŽAVANJE – klasifikacije
ZAHTJEV ZA ODRŽAVANJE
INTERVENCIJA
KONZULTACIJA
NIJE HITNA
HITNA
NADOGRADNJA
GREŠKA
NADOGRADNJA
GREŠKA
PODACI
PODACI
ODRŽAVANJE – evolucija – novi proizvod
• Sneed i Brössler (2003) – više od ??% novih funkcionalnosti novi proizvod)
• Rajlich i Bennet – Stages model• Razvoj, Evolucija, Propadanje, Gašenje, Zatvaranje
• Belady and Lehman – Evolution model• p-type, s-type, e-type softveri
ZNAČAJ ODRŽAVANJA
ZNAČAJ ODRŽAVANJA Održavanje – ukupan životni ciklus
Trošak održavanja o odnosu na ukupni trošak životnog ciklusa:
Referenca Godina % na održavanje
Lientz and Swanson (1980) 1976 60%
Pigoski (1996) 1980 – 1984 55%
Schach (1990) 1987 67%
Pigoski (1996) 1985 – 1989 75%
Frazer (1992) 1990 80%
Pigoski (1996) 90-te 90%
ZNAČAJ ODRŽAVANJA Kupnja - Održavanje
Prema nekim standardima cijena „redovnog održavanja” poslovnog softvera iznosi 20%-25% cijene licenci softvera.
Prosječni životni vijek poslovnog softvera je 7-10 godina
Samo za redovno održavanje tijekom životnog vijeka trošak održavanja je 2,5 puta veći od troška kupnje
Ako dodamo nadogradnje troškovi održavanja mogu narasti i na 5-6 puta od troškova kupnje
ZNAČAJ ODRŽAVANJA Programeri: Razvoj - Održavanje
Programeri provedu 61% vremena u svojoj karijeri na poslove
održavanja, a samo 39% na poslove razvoja
MODELI PROCESA ZA ODRŽAVANJE
• IEEE Model
1. Problem/modication identication, classication, and prioritization(Identifikacija problema/promjene, klasifikacija i prioretizacija)
2. Analysis (Analiza) 3. Design (Dizajn) 4. Implementation (Implementacija) 5. Regression/system testing (Regresijsko i sistemsko testiranje) 6. Acceptance testing (Testiranje prihvaćenosti i 7. Delivery (Isporuka).
MODELI PROCESA ZA ODRŽAVANJE
• The quick fix model (one man band model)
• The iterative enhancement model (utopia model)
• The reuse oriented model (copy paste model)
Razvoj VS Održavanje - Proizvod VS usluga
Razvoj VS Održavanje - Proizvod VS usluga
Glavne razlike između usluge i proizvoda su:
Neopipljivost: (ne može vidjeti, opipati, okusiti, dodirnuti kao
proizvod.) Ne može se patentirati
Određivanje cijena je teže
Heterogenost: (Kako je usluga sastavljena od aktivnosti koje izvode
ljudi, ona je obično više heterogena nego proizvod.) otežava spoznaju da li je usluga isporučena prema planu i specifikaciji
Istovremena proizvodnja i korištenje: (Usluga se proizvodi i
konzumira u isto vrijeme, dok se proizvod prvo proizvede, a nakon
toga konzumira.) Kupci sudjeluje u i utječe na obavljanje usluge
Centralizacija i masovna proizvodnja su jako teške
Kvarljivost: (Usluga se na može spremiti ili skladištiti.) Teško je sinkronizirati opskrbu i potražnju
Ne može biti vraćena i ponovno prodana Ne može se vratiti na police i ponovno prodati
Razvoj VS Održavanje - Proizvod VS usluga
Product service continuum
• Možemo reći da je rezultat razvoja softvera proizvod, • dok je rezultat održavanja softvera usluga koju isporučujemo kupcu.
Odnosno...
Razvoj VS Održavanje - Proizvod VS usluga
Razvoj VS Održavanje - Kvaliteta usluge
Prema Grönroos (1990) postoje dvije dimenzije koji
određuju osjećaj kvalitete usluge:
• Tehnička kvaliteta izvedbe. Označava rezultat usluge, što
je što je kupcu ostalo nakon što je usluga izvršena
• Funkcionalna kvaliteta procesa. Označava način na koji kupac prima uslugu, odnosno kako je usluga isporučena
Razvoj VS Održavanje - GAP Model
• Koristi se za opis između očekivane i dobivene kvalitete
Ako želimo povećati kvalitetu održavanja ne smijemo zanemariti činjenicu da je
održavanje dijelom usluga
• GAP 1: Očekivana usluga kako je vidi pružatelj usluga se
razlikuje od očekivanje usluge koju očekuje kupac.
• GAP 2: Specifikacija usluge kako je percipira pružatelj usluga
se razlikuje od usluge koju očekuje kupac
• GAP 3: Stvarna isporuka usluge se razlikuje od specificirane
usluge.
• GAP 4: Komunikacija usluge ne odgovara stvarnoj usluzi
Razvoj VS Održavanje - GAP Model
Kako smanjiti GAP-ove?
Ako želimo povećati kvalitetu održavanja ne smijemo zanemariti činjenicu da je
održavanje dijelom usluga
1. Pretvoriti očekivanja kupaca u jasan ugovor o pružanju usluga (Gap1)
2. Koristiti ugovor kao osnovu za planiranje i implementaciju usluge (Gap2)
3. Osigurati da se usluga isporučuje prema definiranim procedurama (Gap3)
4. Upravljati komunikacijom (prema kupcima i unutar tvrtke) o isporučenoj usluzi (Gap4)
PROBLEMI ODRŽAVANJA
• Janice Singer (1998) - Zaključci (5 istina o održavanju):
1. Prosječni staž programera u održavanju 4,38 godina (max 10, min 1).
2. Source code je glavni izvor informacija (Source code is king)
3. Dokumentacija, ako i postoji nije pouzdan izvor informacija. (Untrustworthy documentation)
4. 9 od 10 organizacija je imalo neku vrstu sustava za kontrolu održavanja. „metalink”, „bug tracking system”, Verzioniranje (The core of the whole thing)
5. Ako prijavljeni problem uspijemo reproducirati, onda ćemo ga sigurno i riješiti. (Reproduction = solution)
PROBLEMI ODRŽAVANJA – 5 istina o održavanju
• 2003. godine u produkciji preko 100 milijardi linija koda. Čak 80% je nestrukturirano, dopunjavano i loše dokumentirano.
1. Velika količina zahtjeva za održavanje različitih softvera
2. Neefikasno korištenje programerskih resursa u timovima za održavanje
3. Povećan angažman nakon implementacije
4. Određivanje prioriteta uvođenja novih funkcionalnosti
5. Povećan broj grešaka u novim isporukama softvera,
6. Česta promjena programera u timovima za održavanje,
7. Dokumentacija ako postoji je često nepotpuna i nedosljedne,
8. Ne-metodološki pristup razvoju softvera koji otežava održavanje
9. Manja produktivnost programerskog tima zbog specifičnosti poslova u
održavanju
10. Različita razina kvalitete programera u timovima za održavanje
11. Sporo uključivanje novih programera u proces održavanja,
12. Manje iskusni programeri koji se često zapošljavaju u timovima za
održavanje
13. Nerealna očekivanja korisnika vezano uz rokove za isporuku novih
zahtjeva
PROBLEMI ODRŽAVANJA
Obzirom na probleme u održavanju, neki od zadataka koje
treba ispuniti metodologija za održavanje:
1. Povećanje efikasnosti procesa održavanja
2. Osiguravanje i povećanje kvalitete proizvoda
3. Osiguravanje i povećanje kvalitete usluge
4. Osiguravanja kontinuiteta održavanja
5. Osiguravanje kontinuiteta poslovanja
ZADACI ?
ISTRAŽIVANJA - ODRŽAVANJE
ISTRAŽIVANJE
Lienz i Swanson 1977 - Nosek Palvia 1990
• U ponovljenom istraživanju je utvrđeno da se na održavanje troši više vremena nego 10 godina prije otprilike 60% u odnosu na 50%
• Relativan odnos vrsta održavanja je isti kao i kod istraživanja iz 1977: Greške 21% (hitni popravci 12%, redovni ispravci 9%), izmjene podataka (17%), nadogradnje/enhancement 42%;
• Problemi održavanja su uglavnom isti kao i prije 10 godina, najčešći problemi su:
1.česta promjena programera motivacija i produktivnost,2.kvaliteta dokumentacije i specifikacije, 3.nerealna očekivanja korisnika
ISTRAŽIVANJE KORIŠTENJA METODIKA ZA ODRŽAVANJE U HR – u
87,50%
40,60%
12,50%
3,10%
Interne propisane procedure, pravilnike (npr. procedura za zaprimanje korisničkih zahtjeva, procedura za spuštanje
verzije u produkciju, procedura za provođenje testiranja, …)
Interna nepisana pravila (radite prema internim standardimadobre prakse koji nisu zapisani)
Propisanu i objavljenu metodologiju
Nešto drugo (molimo, specificirajte):
Proces održavanja:
ISTRAŽIVANJE KORIŠTENJA METODIKA ZA ODRŽAVANJE U HR – u
tijeku ...
12,90%
35,50%
16,10%
67,70%
61,30%
45,20%
38,70%
3,20%
Česta promjena programera u timovima zaodržavanje
Novi programeri se sporo uključuju proces održavanja
Prilikom isporuka novih verzija softvera javlja se većibroj grešaka
Određivanje prioriteta kod odabira funkcionalnostikoje će se ugraditi u novu verziju ("sve je hitno")
Nerealna očekivanja korisnika vezano uz rokove zaisporuku novih zahtjeva
Prilikom isporuka novih verzija nema dovoljnovremena za temeljito testiranje nove verzije
Programeri su usko specijalizirani za održavanjesamo jednog ili nekoliko srodnih softvera
Nešto drugo (molimo, specificirajte):
Problemi u održavanju:
UTJECAJ ZAKONSKIH IZMJENA NA ODRŽAVANJE ERP SUSTAVA
2012; 86č/s; 12%
2013; 360,75č/s;51%
2014 (do 30.09); 262č/s;
37%2012
2013
2014
Ukupno Vrijeme utrošeno na održavanje ERP sustava u č/s uzrokovano zakonskim izmjenama u razdoblju (1.1.2012. – 30.9.2014)
709 čovjek/sati 1,05 čovjek/sati dnevno
UTJECAJ ZAKONSKIH IZMJENA NA ODRŽAVANJE ERP SUSTAVA
IBAN, Fiskalizacija, PDV EU, JOPD 85% ukupnog vremena
61,75
16,587,67
114,25
4,7516,75
200,75
11 13,25
225,5
36,5
0
50
100
150
200
250
IBANformat
PDV 25% Izmjenaformata DI
Fiskalizacija PDV 5%,10%
Format ZN PDV EU HUBobrazac
PDVPredujam
JOPPDobrazac
Novi ZN
2012 2013 2014
Vrijeme utrošeno na održavanje pod utjecajem zakonskih izmjena prema zakonskoj izmjeni u č/s u razdoblju (1.1.2012. – 30.9.2014)
Godišnje jedna ili dvije izmjene 70% ukupnog godišnjeg vremena
DOSADAŠNJE METODOLOGIJE
Naziv Autor God.
Methodology for software
maintenence
Stephen S. Yau 1984
The software service Bay: A
knoowledge based software
maintenence methodology
Jonathan Irvine Maletic 1995
Offshore Software Maintenance
Methodology
M. Pavan Kumar, V. Sita
Rama Das, N. Netaji
1996
MSE: A Methodology for software
evolution
Vaclav Rajlich 1997
MANTEMA Macario Polo, Mario
Piattini, Francisco Ruiz
2003
Automated Adaptive Software
Maintenance: A Methodology and
Its Applications
Wesley S. Tansey 2008
STRUKTURA Metodologije MOPS
Održavanje
Isporuka nove verzije (NV)
Održivost postojeće verzija
(OV)
Informacijska sigurnost (IS)
Oprema i alati (OA)
Menadžment (MN)
NV1:Specifikacija verzije
NV2:Planiranje verzije
NV3:Projektiranje izmjena
Ljudski resursi (DE)
NV4:Realizacija poboljšanja
NV5:Ispravci grešaka
NV6:Testiranje
NV7:Isporuka nove verzije
OV1:Nadzor i analiza sustava
OV2:Hitne intervencije
OV4:Obuka korisnika
OV3:Korisnička podrškaMN3:Osiguravanje kvalitete
IS1:Osiguravanje informacija
IS2:Certifikacija i akreditacija
IS3:Fizička zaštita
IS4:Kontinuitet poslovanja
OA1:Oprema i alati za razvoj
OA2:Oprema i alati za testiranje
OA3:Tehnička podrška
MN1:Upravljanje isporukama
MN2:Upravljanje održivosti
MN5:Analize i mjerenja
DE2:Optimizacija resursa
DE3:Edukacija
MN6:Poboljšanja procesa
MN4:Prikupljanje metrika
DE4:Dijeljenje znanja
DE1:Osiguravanje resursa
OA4:Baza znanja
Zaprimanje zahtjva (ZZ)
ZZ1:Evidencija
ZZ2:Analiza
ZZ2:Klasifikacija
MN7:Standardizacija
DE4:Nagrađivanje
Hvala Vam na strpljenju
Pitanja?