You are on page 1of 136

Procesi ivotnog ciklusa programskog

proizvoda
Uvodno predavanje
Uvodno ponavljanje osnovnih pojmova iz
podruja programskog inenjerstva

2
Programski proizvod (PP)

Skup raunalnih programa i


Programski proizvod odgovarajude dokumentacije koji
se isporuuju korisniku

Proizvodi namijenjeni nepoznatim kupcima


samostalni proizvodi, prodaju se na otvorenom tritu

Proizvodi izraeni po narudbi i za jednog kupca


razvoj se posebno ugovara

3
Svojstva programskih proizvoda

Osnovna svojstva
Nevidljivost, sloenost, promjenljivost, interoperabilnost

(sklopovlje, korisnici, domena, drugi dijelovi sustava)


Osnovna svojstva se ne mijenjaju

Ostala svojstva
Programski jezik, brzina sklopovlja, memorija

Arhitektura programa

Funkcionalna
Objektno orijentirana
Mogu se mijenjati

4
Parametri kvalitete PP

Korektnost (zadovoljavanje zadanih specifikacija)


Pouzdanost (!)
Prilagoenost korisniku (usability)
Tonost (ulazi, izlazi, performanse)
Robustnost (reduciranje utjecaja radnih greaka, krivih ulaznih podataka i
sklopovskih neispravnosti)
Pogodnost za odravanje (maintainability)
Pogodnost za testiranje (testability)
itljivost (readability)
Efikasnost (zadovoljenje zahtjeva s najboljim iskoritenjem resursa)
Proirivost
Portabilnost (mogunost prilagodbe u drugu radnu okolinu)

5
ivotni ciklus programskog proizvoda

Definicija prema standardu TL9000


procesi, aktivnosti i zadaci ukljueni u koncept, definiciju,
razvoj, funkcioniranje i odravanje programskog proizvoda
sastoji se od faza (npr. definicija i analiza zahtjeva, dizajn

sustava, ..., itd.)


esto se jo koriste i sinonimi
generiki proces razvoja programskog proizvoda
proces razvoja programskog proizvoda
razvoj programskog proizvoda
engleski nazivi: software lifecycle, (generic) software development
(process), software process

6
ivotni ciklus programskog proizvoda

Definicija i analiza zahtjeva

Dizajn sustava

Dizajn programa
Implementacija programa

Testiranje programa

Integracijsko testiranje
Testiranje sustava
Isporuka
Odravanje
Povlaenje iz uporabe

7
Ciljevi razvoja programskog proizvoda

Zadovoljenje korisnikovih potreba


Nia cijena razvoja
Osoblje
Visoke performanse
Portabilnost
Nii trokovi odravanja
Visoka pouzdanost
Isporuka na vrijeme
Procesi Proizvodi

8
Programsko inenjerstvo

Sustavni razvoj
Raunalna podrka razvoju programskih proizvoda (CASE)
Detaljna analiza korisnikih zahtjeva i formalna specifikacija
Demonstracija ranih verzija sustava (prototip)
Vie napora uloiti u razvoj koda bez neispravnosti (statike
provjere koda)

9
Aspekti programskog inenjerstva

Proces
pretpostavka dobar proces -> dobar proizvod

dobar proces: razumljiv, ponovljiv, predvidiv, mjerljiv

Tehnologija
metode i pomagala

Osoblje
programeri, timovi

10
Procesi openito

Skup aktivnosti koje vode eljenom cilju


poslovni proces, programski proces

Razliite definicije procesa


ovise o definiciji cilja
nain na koji funkcionira kompanija (marketing, ljudski

resursi)
nain na koji se razvija (kodira, testira, ...) softver

upravljanje, inenjerstvo

uvoenje dodatnih formalizama i napora (fokus na

proizvodu)

11
Procesi openito (2)

Svrha procesa
upute za obavljanje posla podjela i koordinacija

osiguranje efikasne komunikacije

Koordinacija i komunikacija
glavni problemi velikih projekata

12
Elementi procesa

Skup aktivnosti
Redoslijed aktivnosti
Meuovisnosti izmeu aktivnosti

Izvritelji aktivnosti
Ulazi aktivnosti
Rezultati aktivnosti
Trajanje aktivnosti
Pomagala

13
Elementi procesa (2)

Komponente Interakcije
tok informacija
aktivnosti
tok artefakata
rezultati aktivnosti nadzor
(kod, dokument) komunikacija
izvritelji vremenski raspored
ovisnosti
pomagala
konkurentnost

14
Znaajke procesa

Identine znaajkama ostalih procesa


Razumljivost

Vidljivost

Prihvatljivost

Pouzdanost

Robusnost

Brzina

Evolucija

Kvaliteta

15
Razine definicije procesa

Poslovna strategija Prioriteti

Projekti Veliina kompanije


Resursi
Detaljniji Aplikacijska domena
ciljevi

16
Programski proces

Organizirani skup aktivnosti tijekom kojih se programski


proizvod razvija
prouavanje prirode i tipova aktivnosti

organiziranje aktivnosti u proces

koordinacija aktivnosti

okolina neophodna za efikasnu podrku

Resursi

Ideja Programski Programski


proces proizvod

17
Programski proces (2)

Osnovne skupine procesnih aktivnosti zajednike su svim


procesima razvoja bez obzira na primijenjeni model
odgovaraju fazama generikog ivotnog ciklusa

programskog proizvoda (u daljnjem tekstu: PP)

Razliite organizacije mogu imati meusobno razliite procese


za razvoj istog tipa PP
Ista organizacija moe koristiti razliite procese za razvoj
razliitih PP

18
Programski proces (3)

Svijest o vanost procesa unutar programskog inenjerstva


intenzivnije fokusiranje poetkom 90-ih

prepoznat utjecaj procesa na kvalitetu programskog

proizvoda / softverskog dijela nekog velikog sustava

Akademska zajednica novi alati i tehnike za podrku


procesima
empirijska istraivanja procesa i njihovih poboljanja

Problemi vezani uz programske procese


povezani s drugim disciplinama, posebno menadmentom

(razlika ponekad u terminologiji)

19
Uloga programskih procesa

POMAGALA

METODE

PROCES
KVALITETA

Glavno podruje za poboljanje kvalitete


programskog proizvoda jer sadri aktivnosti tijekom
kojih se programski proizvod ili neki njegov dio
stvarno kreira!!!

20
Uloga programskih procesa (2)

Razvojna
tehnologija

Kvaliteta prog.
procesa Kvaliteta PP Razvojni tim

Trokovi i
rokovi

21
Definicija programskih procesa

Razlozi definicije programskih procesa


poveanje kvalitete programskog proizvoda

olakavanje razumijevanja i komunikacije

podrka poboljanju procesa

podrka upravljanju procesima

automatizacija procesu

Nain na koji se proces definira ovisi o razlozima definicije

22
Prilagodba programskih procesa

Svi predefinirani procesi ak i standardizirani prilagouju


se lokalnim potrebama
kontekst organizacije

veliina projekta

regulatorni zahtjevi

industrijska praksa

organizacijska kultura

23
Automatizacija

Alati za podrku
podravaju izvoenje procesa

upuuju ljude pri izvoenju pojedinih aktivnosti

analiziraju proces simulatori

24
Znaajke programskih procesa

Proces

Proces

25
Znaajke programskih procesa (2)

Najei problemi vezani uz prog. procese


esto nisu (dobro) definirani

aktivnosti vezane uz programske procese jako ovise o

individualnim sposobnostima i umijeu sudionika procesa


teki za upravljanje

kompleksnost (komponente, interakcije, stanja)

promjenjivost

nevidljivost

nemogue optimizirati sve znaajke

26
Aspekti analize programskih procesa

Programski procesi se mogu analizirati s razliitih aspekata, kao to


je prikazano na slici
Svrha svih procesa i njihovih analiza i poboljanja je isporuka
kvalitetnog PP na vrijeme i u okviru budeta

Definicija
procesa

Modeli ivotnog Procesi ivotnog Prilagodba Automatizacija


ciklusa prog. pr. ciklusa prog. pr. procesa

27
Inenjerstvo programskih procesa

odnosi se na definiciju, implementaciju, mjerenja,


upravljanje, mijenjanje i poboljanje programskog procesa

Prouavanje programskih procesa


Tehnike i menaderske aktivnosti unutar ivotnog ciklusa PP
Definicija, implementacija, upravljanje, promjena, poboljanje
programskih procesa

28
Mitovi o procesu razvoja PP-a

1. Postoji razvoj bez procesa

2.Definiranje procesa
usporava razvoj

Croz 29
Mitovi o procesu razvoja PP-a

3. Laka definicija procesa = lagan razvoj*


Definicija procesa na projektu P2
+
Ad hoc znanje na projektu P2

Definicija procesa na projektu P1


+
Ad hoc znanje na projektu P1 Croz
* Ivar Jacobson 2004

30
Generiki modeli CPP

Modeli ivotnog ciklusa PP (SW development models)


definiraju slijed aktivnosti koje se izvode pri razvoju i

odravanju
na razliite naine kombiniraju razliite procesne aktivnosti

identificiraju redoslijed, ulaze i izlaze iz pojedinih aktivnosti

ne osiguravaju veliku razinu detalja, nego prikazuju samo


kljune aktivnosti i njihove ovisnosti
Definirane su razliite norme (standards)
specificiraju pojedini model (npr. ISO 9000) ili

definiraju naine procjene i poboljanja postojeih modela

(npr. ISO 15504)

31
Ad hoc model

Code And Fix


Nespecificirani zahtjevi
Nedefinirana arhitektura
Razvije se prototip proizvoda koji se ponovno i ponovno
razvija dok korisnik nije zadovoljan

32
Vodopadni model

Definicija i
analiza
zahtjeva

Dizajn

Implementacija i
testiranje
programa
Integracija i
testiranje
sustava
Rad i
odravanje

33
Evolucijski model

Prvo rjeenje
Specifikacija
Grubi
opis Razvoj Meurjeenja
zahtjeva
Provjera
Konano
rjeenje

RAD I ODRAVANJE

34
Iterativni model

Iteracija 1 Iteracija 2 Iteracija 3

35
Spiralni model

1 2
Analiza problema Analiza rizika
Procjena alternativa;
identifikacija i smanjenje rizika
Odredjivanje ciljeva,
alternativa i dodatnih zahtjeva
za svaki novi ciklus tj. spiralu

Poetak
4 Planiranje Razvoj i 3
validacija
Planiranje sljedeeg ciklusa u Konstrukcija i razvoj proizvoda
spirali

Napredovanje projekta
po spiralnim ciklusima

36
Komponentni razvoj

37
Konkurentnost u softverskoj industriji i
upravljanje kvalitetom

38
Softverska industrija

Referenca [3]

39
Konkurentnost u softverskoj industriji

Razvoj konkurencije na etiri razine, ostvaruje se izmeu:


davatelja usluga na tritu usluga
vlasnika opreme i infrastrukture na tritu najma opreme
ponuaa opreme na tritu ponude opremom
proizvoaa opreme na tritu rada.

Porast konkurencije:
pootravanje osnovnog skupa zahtjeva na razvoj, izvoenje i
odravanje programskog proizvoda

40
Konkurentnost u softverskoj industriji

posljedica porasta konkurencije


stezanje osnovnog trokuta
proizvoai se orijentiraju na Rizik

inovativnost i uinkovitost
razvoja
inovativnost nove i privlane Kvaliteta
usluge za korisnike
uinkovitost razvoja i
Trokovi Vrijeme
odravanja osvajanje
konkurencijske prednosti

41
Konkurentnost u softverskoj industriji

Na razini vlasnika telekomunikacijske opreme i infrastrukture [3]


znaajno pootravanje zahtjeva na kvalitetu proizvoda.
(Primjerice, svaki kvar na telekomunikacijskoj opremi koji
uzrokuje prekid svih poziva u vremenu direktno je povezan s
gubitkom ostvarene zarade. Jo vanije, uestali prekidi rada
uzrokuju gubitak povjerenja korisnika to moe imati puno
dalekosenije posljedice.)
porast konkurencije na tritu rada
(Time se unose novi zahtjevi na organizacije proizvoaa
opreme, a to su poveana produktivnost i uinkovitost kako bi
se dobili novi i zadrali postojei poslovi.)
42
Upravljanje kvalitetom

Odnosi se na sve aktivnosti unutar ivotnog ciklusa


programskog proizvoda koje slue za postizanje vee kvalitete
programskog proizvoda u eksploataciji

Kvaliteta [ISO/IEC 8402]


skup svojstava i znaajki proizvoda, procesa ili usluga koje se
odnose na mogunost zadovoljenja utvrene ili neizravno
izraene potrebe.

43
Norme za osiguranje kvalitete

Neophodne za efikasno upravljanje kvalitetom.


Internacionalne, nacionalne, organizacijske, projektne
Norme se mogu odnositi na:
Prog. proizvode definicija kljunih znaajki koje svi
elementi prog. proizvoda moraju zadovoljavati (npr.
zajedniki stil programiranja).
Procese naini kako se definiraju i poboljavaju
Enkapsulacija najboljih praksi
Okvir za proces osiguranja kvalitete
Kontinuitet (novi zaposlenici razumijevanje djelovanja
organizacije)

44
ISO/IEC 15288

Procesi ivotnog ciklusa sustava grupirani su u sljedee etiri


kategorije:
procesi sklapanja ugovora,
procesi poduzea,
projektni procesi i
tehniki procesi

45
ISO 9000

Prva meunarodno prihvaena norma kvalitete


definira osnovne znaajke procesa neovisno o vrsti
djelatnosti organizacije (proizvodne ili uslune).
omogueno je certificiranje poduzea ime se garantira
kvaliteta proizvoda ili usluge
definira posebne norme za primjenu u razvojnim procesima
programskog proizvoda
Osnovna svrha modela
mogunost definiranja zahtjeva kvalitete

mogunost procjena kvalitete programskog proizvoda

Model je definiran pomou skupa svojstava i znaajki


programskog proizvoda kojima se moe opisati i procijeniti
kvaliteta programskog proizvoda.
46
ISO 9000 (2)

ISO 9001
za organizacije koje dizajniraju, razvijaju i odravaju svoje
proizvode (od ideje do realizacije)
definira generiki model procesa kvalitete

utvruje se pojedinano za svaku organizaciju

ISO 9000 certifikat


dokumentiranje procedura i standarda (quality manual)

eksterno tijelo ocjenjuje odgovara li quality manual ISO 9000


standardu
korisnici sve vie zahtijevaju da dobavljai imaju ISO certifikat

47
ISO 9000 i upravljanje kvalitetom

ISO 9000
modeli kvalitete
utvruje se kao

Organizacijski dokumentira Organizacijski


proces kvalitete
prirunik kvalitete
razvoj

Projekt 1 Projekt 2 Projekt 3


Upravljanje
Plan kvalitete Plan kvalitete Plan kvalitete
kvalitetom projekta

podrava

48
Organizacijske norme za proizvode i
procese

Proizvodi Procesi

Formular za pregled dizajna Nain provoenja pregleda dizajna

Dokumenti za upravljanje
Standardi imenovanja dokumenata
konfiguracijom

Formati zaglavlja procedura Proces izdavanja verzija

Format projektnog plana Proces odobravanja plana projekta

Formulari zahtjeva za promjenom Proces upravljanja promjenama

Standard programiranja Proces dokumentirana testiranja

49
Problemi s normama

Razvijatelji ih smatraju neaurnima i premalo relevantnim.


Premala automatiziranost - dosta manualnog posla,
popunjavanje formulara.

Rjeenja:
razvijatelji moraju shvatiti ideju koritenja predloenog
standarda, koji su ciljevi i prednosti (razvijatelji trebaju biti
aktivno ukljueni u proces razvoja)
osigurati automatiziranu podrku

50
Uinak i uinkovitost razvoja

Uinak (eng. effectiveness)


sposobnost ispunjenja unaprijed zadanih ciljeva
Uinkovitost (eng. efficiency)
ispunjenost ciljeva uz minimalno koritenje resursa

51
Uinak i uinkovitost razvoja (2)

Za vrijeme trajanja razvoja programskog proizvoda ulae se u


kvalitetu
postizanje to vea kvaliteta programskog proizvoda u
eksploataciji (smanjenje trokova odravanja uslijed loe
kvalitete)

Trokovi ulaganja u kvalitetu (Cost of Quality, COQ)


svi trokovi (ulaganja) unutar razvojnog i proizvodnog dijela ciklusa
proizvoda s ciljem da se postigne vea kvaliteta izlaznog proizvoda.

Trokovi uslijed loe kvalitete proizvoda (Cost of Poor Quality, COPQ)


svi trokove tijekom eksploatacije prouzroeni loom kvalitetom
izlaznog proizvoda (trokovi uslijed neispravno obavljenog posla po
prvi put ili neuspjeha u zadovoljavanju zahtjeva korisnika).

52
Uinak i uinkovitost razvoja (3)

Uinkovito upravljanjem kvalitetom PP


upravljanje aktivnostima ulaganja u kvalitetu i aktivnostima

uslijed loe kvalitete, a uz minimalne ukupne trokove

53
Total quality management -TQM

Kvaliteta kao strategija razvoja konkurencijske prednosti i postizanja


poslovnog uspjeha
prepoznata ranih ezdesetih godina 20 st.

zaetnici Joseph Juran, Philip B. Crosby i Kaoru Ishikawa

Pristup upravljanja organizacijom usredotoen na kvalitetu proizvoda koji


se razvija ili proizvodi
osnovni cilj programa je ugraivanje svijesti o kvaliteti u sve

organizacijske procese na svim razinama


zasnovan na sudjelovanju svih zaposlenika

s ciljem postizanja dugoronog poslovnog uspjeha kroz zadovoljstvo

korisnika i zaposlenika
Strategija je fokusirana na svjesnost ljudi u organizaciji te njihovom
doprinosu kontinuiranoj prilagodbi potrebama korisnika

54
SPICE

Software Process Improvement and Capability Evaluation


u ranim devedesetim zajednika radna grupa ISO i IEC (eng.

International Electrotechnical Committee, IEC)


novi naziv radne grupe Software Process Improvement and Capability

Determination
Rezultat rada - ISO/IEC 15504 norma koja daje okvir za procjenu procesa
ivotnog ciklusa programskog proizvoda.
Prva revizija norme analizirala je iskljuivo procese razvoja

programskog proizvoda
Norma se proirila i na sve ostale poslovne procese razvoja

programskog proizvoda
Specificira okvir mjerenja koji se moe koristiti zajedno s razliitim
referentnim procesnim modelima.

55
CMM i CMMI

Modeli za procjenu zrelosti organizacija


CMM (Capability Maturity Model)
CMMI (Capability Maturity Model Integration)
sredinom osamdesetih godina, Software Engineering Institute,
(SEI) pri Sveuilitu Carnegie Mellon u Pittsburghu
Model za poboljanje organizacijskih procesa - skup praksi
koje su se dokazale u svojoj primjeni u programskoj industriji
Model zrelosti organizacije s vie razina i kontinuirani model
poboljanja procesa razvoja

56
CMM

Organizacije se mogu procjenjivati obzirom na ljestvicu od pet


razina zrelosti:
inicijalna razina (initial)

razina ponovljivosti procesa (repeatable)

razina definiranih procesa (defined)

razina procesa pod nadzorom (managed)

razina optimiziraju ih procesa (optimizing)

Kontinuirano poboljanje procesa razvoja


rezultira postepenim penjanjem organizacije po

predloenim razinama zrelosti


cilj je dosei razinu optimizirajuih procesa na kojoj se

dostie poslovna izvrsnost.


57
CMM (2)

Optimizirajui
- upravljanje procesnim promjenama
- upravljanje tehnolokim promjenama
- prevencija pogreaka
Upravljivi
- upravljanje kvalitetom SW 1 godina
Definirani - kvantitativno upravljanje procesima
- recenzije i provjere
- koordinacija razliitih timova
- upravljanje SW proizvodima
- integrirano upravljanje SW 1 godina
Ponovljivi - program obrazovanja
- upravljanje konfiguracijama - def. org. procesa
- osiguranje kvalitete SW-a - procesna orijentacija org.
- upravljanje kooperantima
- praenje SW projekata 1 godina
- planiranje SW projekata
- upravljanje zahtjevima
1-2 godine
Inicijalni

58
CMMI

CMM integracijski projekt (CMM Integration, CMMI)


Pokree se zbog pojave viestrukih modela organizacijske

zrelosti programskih procesa


ciljem je integracija aktivnosti poboljanja procesa razvoja

iz razliitih disciplina u organizaciji


unosi dodatnu zasebnu disciplinu mjerenja temeljenoj na
SPICE normi i ukljuuje dodatno procesno podruje Mjerenje i
analiza (Measurement and Analysis), definiranu za drugu
razinu zrelosti
definiranje i uspostava mehanizma upravljanja informacijama
koje su neophodne za praenje i kontrolu svakog definiranog
procesnog podruja na jedinstven nain
59
CMM i CMMI

CMM i CMMI postaju sve popularniji


Organizacije se mogu samostalno procjenjivati i pozicionirati
na ljestvici zrelosti
koristei CMM upitnik za evaluaciju stupnja zrelosti

organizacija
Osnovna motivacija je analiza vlastitih mogunosti i snage,
te utvrivanje podruja za poboljanje.
Nezavisne procjeniteljske organizacije koje provode analizu
zrelosti organizacija u programskoj industriji.
Kao rezultat procjenjivanja
organizacije dobivaju certifikat koji postaje neizostavan

materijal u konkurencijskoj utrci.


60
Modeliranje i analiza programskih procesa

61
Aspekti istraivanja procesa CPP

62
Razine analize procesa CPP

meta razina
skup openitih koncepata za analizu i definiranje modela
procesa koji e se koristiti za izvedbu projekta razvoja i/ili
odravanja programskog proizvoda
razina modela procesa
dokumentiranje, komuniciranje i poboljavanje predloenog
okvira procesa koji e se koristiti tijekom projekta (razvoja
i/ili odravanja) za odreeni programski proizvod
razina izvoenja

63
Modeliranje programskog procesa

Aktivni elementi modela su oni elementi koji opisuju razliite


aktivnosti modela, odnosno koji prikazuju odvijanje procesa u
nekom realnom sustavu koji se modelira.
nezavisno paralelni

kooperativni

konkurentni

Pasivni elementi modela se generiraju tijekom vremena ivota


modela. Trebaju imati mogunost pohranjivanja proizvoljnih
informacija, a generiraju se s obzirom na svrhu zbog koje je
model razvijen.

64
Modeliranje programskog procesa (2)

Statiki i dinamiki elementi modela


definiraju se s obzirom na sposobnost zadravanja svojih

karakteristika i ponaanja tijekom vremena ivota modela,


(odnosno tijekom analize modela)

Element nekog modela je statiki ako on postoji cijelo vrijeme


analize. To su na primjer dogaaji i vrijeme. Ostali statiki
elementi su varijable ili kompleksne strukture podataka.

65
Modeliranje programskog procesa (3)

Za dinamike elemente modela tijekom izvoenja analize nad


modelom razlikuje se nekoliko faza:
Inicijalna faza: model je u svojem poetnom stanju.

Faza izvravanja: nad modelom se vri analiza, pri emu se

dogaaju promjene elemenata


Generiranje elemenata u izvoru.
Usmjeravanje, tok, transfer elemenata kroz mreu.
ekanje elemenata, vrijeme ekanja, rep.
Posluivanje elemenata, vrijeme posluivanja, posluitelj.

Zavrna faza: prikaz i procjena promatranih veliina. Rezultati se


pohranjuju radi budue analize.

66
Postupci pri modeliranju programskog
procesa

Formulacija problema
Definiranje formalnog modela
Razvoj raunalnog modela
Validacija i verifikacija modela
Podeavanje modela
Izvoenje eksperimenata nad modelom
Procjena modela

67
Mree repova

68
Mree repova

Osnovne pojave koje se analiziraju pri modeliranju nekog


sustava primjenom teorije repova jesu:
dolazni proces
proces posluivanja
disciplina posluivanja
broj posluitelja

69
Osnovne performanse sustava ekanja i
posluivanja

Prosjeno vrijeme koje korisnik provede u sustavu/repu.


Prosjean broj korisnika u sustavu/repu.
Vjerojatnost da e korisnik morati ekati na uslugu.
Faktor iskoristivosti (optereenje posluitelja).

Notacija
Koristi se standardna Kendall-Lee notacija F/H/m, gdje F
oznaava distribuciju meudolaznih vremena, H oznaava
distribuciju vremena posluivanja, a m predstavlja broj
paralelnih posluitelja u sustavu.

70
Osnovne performanse sustava ekanja i
posluivanja

Meudolazno vrijeme (razlika vremena nailazaka dva


uzastopna korisnika-a): tai
tai = ti - ti-1

Vrijeme ekanja: Tw
Vrijeme zadravanja: Tq
Vrijeme posluivanja: Ts

Tq=Tw+Ts

71
Osnovne performanse sustava ekanja i
posluivanja

Duljina repa: Lw
Srednji broj korisnika u sustavu: Lq

Repovi s prioritetima
Ukupni intenzitet nailazaka:

3
= i (2.13)
i 1

72
Primjena simulacije u analizi programskih
procesa

73
Uvodno o simulaciji

Openito, simulacija omoguava uvid u kompleksno ponaanje


sustava.
Simulacija se moe primijeniti u mnogim kritinim podrujima:
specifikacija zahtjeva

poboljanja procesa

jer omoguava uvid u dizajn procesa prije investiranja velikih


sredstava za njegovu promjenu.
Softverski procesi sadre mnoge povratne veze koje su
povezane s ispravljanjem neispravnosti u dizajnu procesa ili
kdu softverskog produkta.
Uslijed toga nastaju vremenska kanjenja koja mogu varirati
od nekoliko minuta do nekoliko godina.
74
Primjena simulacije u menadmentu i
inenjerstvu programskih procesa

Podrka
odluivanju

menadment na strategijskoj, taktinoj i operacijskoj razini


planiranju
nadzoru projekata
razumijevanju procesa
odstrane sudionika
obuka i uenje

tehnologija za
analizu i smanjenje rizika
poboljanje procesa
prilagodbu postojee i uvoenje nove tehnologije

75
Simulacijski modeli

Identifikacija svrhe modeliranja i problema koji se ele rijeiti


je kljuna za
definiranje opsega i razine apstrakcije modela

podataka koje treba prikupiti

76
Simulacija i strateki menadment

Treba li posao distribuirati na vie lokacija ili centralizirati?


Samostalni razvoj ili podugovaratelji (outsorcing)?
Primjena COTS (commercial off-the-shelf) komponenti (prilagodba i
integracija) ili razvoj komponenti i sustava
Razvoj slinih proizvoda koristei model proizvodnih linija ili
tradiocionalni pojedinani razvoj svakog pojedinog proizvoda?
Dugoroni utjecaj trenutnih ili potencijalnih politika i inicijativa
(zapoljavanje, edukacija, poboljanja procesa?

Simulacijski modeli sadre organizacijske parametre i razvijaju


se kako bi odgovorili na pojedina pitanja
Usporedba rezultata simulacije alternativnih scenarija
pomo pri odluivanju.

77
Simulacija i planiranje projekta

predvianje i analiza rizika


trokova / napora, rokova i kvalitete proizvoda
potrebnog osoblja tijekom odreenog perioda

razrjeenja problema ogranienja i alokacije resursa

razine usluge (npr. za podrku korisnicima / razvoju)

Pitanja:
Koji procesi e se koristiti u novom projektu, A ili B?

Hoe li proces C omoguiti postizanje postavljenih ciljeva?

Koji dijelovi procesa D se mogu minimizirati/izostaviti kako bi se

smanjili trokovi / vrijeme uz ouvanu kvalitetu?


Simuliraju se razliiti scenariji procesa i njihove alternative
Rezultati se procjenjuju s obzirom na dimenziju promatranja: trokovi,
vrijeme kvaliteta

78
Simulacija i nadzor projekta

Simulacija olakava praenje i nadzor projekta


Kljuni projektni parametri (status, napredak, iskoritenje
resursa itd.) se snimaju i usporeuju s planiranim
vrijednostima dobivenim simulacijom

79
Simulacija i poboljanje procesa

Pomo pri donoenju odluka vezanih uz poboljanja procesa


go / no-go za pojedini prijedlog ili dodjela prioriteta

razliitim prijedlozima
predvianje utjecaja uvoenja promjene u proces prije
implementacija u stvarnu praksu
simulacijski modeli se razvijaju isto kao pri planiranju.

Post-evaluacija ve implementiranih procesa


za kalibraciju procesnog modela (veliina, resursi,

ogranienja)

80
Simulacija i razumijevanje procesa

eli se postii bolje razumijevanje procesa od strane korisnika


menaderi, razvijatelji, ljudi koji se brinu za osiguranje

kvalitete
razumijevanje redoslijeda i ovisnosti aktivnosti,

paralelizama, toka posla, informacija i artefakta, itd.)


vizualizacija procesa (animirane simulacije)

razumijevanje sloenih povratnih petlji i kanjenja

inherentnih procesima (primjer testiranje)


razumijevanje konzistentnih i proimajuih znaajki

procesa razvoja i odravanja


nesigurnost u predvianju procesnih rezultata

varijabilnost rezultata
81
Simulacija i edukacija

Simulacije pri edukaciji o upravljanju projektima


Simulirana okolina koja ukazuje na
utjecaj donesenih odluka (najee neispravnosti

kodiranje prije dobrog planiranja, izbjegavanje inspekcija,


skraivanje testiranja)
svijest o nesigurnosti poetnih pretpostavki o rezultatima
aktivnosti

82
Simulacijske paradigme

Modeli procesa zasnovani na stanjima


Simulacija diskretnih dogaaja
Kontinuirana simulacija
Jezici zasnovani na pravilima
Modeli Petrijevih mrea
Modeli mrea repova
CPM (Critical Path Method) i PERT (Program Evaluation and
Review Technique)

83
Paradigme simulacije softverskih procesa

Simulacija diskretnih dogaaja


dobro specificirani procesni zadaci, repovi i vremenski

rokovi, te grananja procesa na osnovu atributa entiteta


sposobnost animacije osigurava vane informacije s

obzirom na vrijeme i koordinaciju toka programskih


produkata
pogodna za procesno orijentirane aplikacije

kritina ogranienja - teko simuliranje faktora promjene


procesa kao to su produktivnost, znanje i iskustvo
osoblja, psiholoki pritisak uslijed ugovorenih rokova itd.

84
Paradigme simulacije softverskih procesa

Kontinuirana simulacija (dinamika sustava)


prezentira kako razliite karakteristike poput produktivnosti,

ugovorenih rokova, motivacije osoblja i sline, utjeu na


promjene procesa tijekom vremena
pogodna za simulaciju na razini procesa u cjelini, ali nije

prikladna za njegovu detaljniju analizu


Simulacija na osnovu stanja
koristi se za simulaciju na nivou procesa u cjelini, i
karakterizira je mogunost dobre grafike prezentacije
sustava
nije prikladna za matematiku analizu performansi sustava.

85
Simulacijske paradigme (2)

Ne postoji jedinstveni ili najbolji model

Kontinuirana simulacija
strateke analize, poetne aproksimacije, dugoroni

trendovi, analiza znaajki na visokoj (globalnoj) razini


ne omoguuje analizu na detaljnoj procesnoj razini

Simulacija diskretnih dogaaja i zasnovana na stanjima


detaljne analize procesa, koritenje resursa, stvaranje

repova i sl.

86
Analiza najee koritenih paradigmi

Istraivanje provedeno 2008,


preuzeto iz:
Software Process
Simulation over the Past
Decade: Trends Discovery
from A Systematic Review
[1]

87
Trendovi

Vezano uz paradigme
Kontinuirana i simulacija diskretnih dogaaja najee

koritene
Uvoenje novih paradigmi

Vezano uz granularnost
Vea primjena diskretne simulacije u odnosu na

kontinuiranu

88
Analiza najee koritenih paradigmi (2)

Istraivanje provedeno 2008,


preuzeto iz:
Software Process
Simulation over the Past
Decade: Trends Discovery
from A Systematic Review
[1]

89
Granularnost simulacijskih modela

Ovisi o primijenjenoj paradigmi simulacije.


Kontinuirana simulacija
proces se modelira kao generalni sustav na razini sustava

ponaanje procesa se opisuje skupom vanjskih parametara

koji se kontinuirano mijenjaju tijekom vremena


istraivanje makro procesa

Diskretna simulacije
proces se modelira detaljno na razini pojedinih aktivnosti
prati se stanje pojedinih aktivnosti i njihove meuovisnosti,
te stanja parametara za opis pojedinih aktivnosti

90
Analiza paradigmi s obzirom na granularnost

Istraivanje provedeno 2008,


preuzeto iz:
Software Process
Simulation over the Past
Decade: Trends Discovery
from A Systematic Review
[1]

91
Primjena simulacije u analizi programskih
procesa

Simulacijom se ne mogu rijeiti svi problemi


Njezina prediktivnost ovisi prvenstveno o tome je li osnovni
konceptualni model nad kojim e se izvriti simulacija dobro
postavljen.
Simulacija u programskom inenjerstvu
obuhvaa djelovanje ljudskog faktora i ostalih vrijednosti
koje nije mogue prikazati numeriki (za razliku od drugih
tehnikih podruja u kojima se modeli osnivaju na dobro
utvrenim fizikalnim zakonima).
Tekoe predstavlja prikupljanje podataka ako su izvori

sudionici procesa, a reproducibilnost metoda za ocjenu


valjanosti simulacijskog modela ne moe se standardizirati.
92
Validacija i verifikacija modela

Simulacijski model je raunalni oblik konceptualnog modela,


nad kojim se izvodi simulacija primjenom odgovarajueg
softverskog pomagala.

Verifikacija je proces provjere je li neki konceptualni model


ispravno transformiran u raunalni model (provjera je li
raunalni model pomou kojeg e se realizirati simulacija
ispravan u odnosu na konceptualni model).

Ocjena valjanosti ili validacija je proces provjere je li


konceptualni model dovoljno ispravan za potrebe odreenog
istraivanja
93
Validacija i verifikacija modela (2)

Realni svijet
(problem)

Ko
ce
ija
ent

Va

ptu
ac

ela
erim

lid

a
lid

lno
od

ac mod
va
.m

ija
p

mo
rna
Eks

ok

ko ela

de
k tu

jel

nc

lira
l. c
u

ep
Str

Validacija

nje
tua
Va

podataka

ln
og
Raunalni Verifikacija Konceptualni
model model

Kodiranje

94
Validacija i verifikacija modela (3)

Validacija konceptualnog modela


jesu li opseg predloenog modela i razina detalja dovoljni

s obzirom na svrhu istraivanja,


primijenjene pretpostavke ispravne,

sadri li konceptualni model sve neophodne detalje kako

bi se ostvarili ciljeve istraivanja.


Validacija podataka
jesu li podaci neophodni za izgradnju modela, njegovu

validaciju i eksperimente primjenom simulacije dovoljno


precizni.

95
Validacija i verifikacija modela (4)

Strukturna validacija (bijela kutija)


predstavljaju li konstitutivni elementi modela odgovarajue
elemente realnog sustava s dovoljnom ispravnou.
detaljna (mikro) provjera modela na nivou svake pojedine
komponente modela.
Validacija cjelokupnog modela (crna kutija)
reprezentira li model u cjelini realni sustav s
odgovarajuom ispravnou
predstavlja globalnu provjeru modela.

Validacija i verifikacija predstavljaju kontinuirane procese koji


se izvode tijekom cijelog ivotnog ciklusa simulacijskog
istraivanja

96
Problemi vezani uz validaciju

Ne postoji generalna ocjena valjanosti nekog modela.


Ocjena valjanosti modela moe se izvriti jedino s obzirom na njegovu
svrhu.
Model koji je valjan za jednu svrhu nije nuno valjan ako se upotrijebi u
druge svrhe.
Nepreciznost prikupljenih podataka
nepreciznosti podataka o realnom sustavu
historijski podaci predstavljaju samo uzorak koji sam po sebi unosi
nepreciznost.
simulacija za rezultate ima takoer uzorke - validacija u ovom sluaju
proces usporedbe dva razliita uzorka (Iako postoje statistike
procedure koje mogu ustanoviti jesu li ta dva dva uzorka slina, to su
ipak samo vjerojatnosni, a ne definitivni odgovori).

97
Problemi vezani uz validaciju

Ne postoje podaci o pojavama u realnom sustavu


nepostojei sustavi

Nemogue analizirati apsolutnu valjanost nekog modela -


analizira se koliko taj model moe biti vjerodostojan.
to se vie testova izvede, koji ne mogu dokazati da je model
neispravan, to se vie moe imati povjerenja u rezultate koji
se dobiju simulacijom nad tim modelom.
Cilj verifikacije i validacije poveanje povjerenja u model i
rezultate simulacije nad modelom.

98
Metode verifikacije i validacije

Validacija konceptualnog modela


Ne postoji formalna metoda za validaciju konceptualnog

modela.
Najee se primjenjuje prouavanje projektne

specifikacije, pri emu se analiziraju ciljevi nekog projekta i


pristup koji se koristi pri modeliranju
Dokument se u vidu izvjetaja prosljeuje svim relevantnim

akterima s dobrim poznavanjem sustava i problematike, i


od njih se prikupljaju povratne informacije je li pristup i
model prikladan, te se mogu odmah identificirati i ispraviti
eventualne pogreke.

99
Metode verifikacije i validacije

Validacija podataka
ispitati pouzdanosti i vjerodostojnost svakog izvora

podataka (bilo osobe ili baze podataka),


provjeriti postoje li neke nekonzistentnosti unutar podataka,

ustanoviti koji su podaci u pogrenom formatu ili

neprimjenjivi za analizu, te ustanoviti postupak prikupljanja


takvih podataka i njihove transformacije u prikladan format,
pohraniti podatke odvojeno od simulacijskog kda, kako bi
se olakala identifikacija neispravnosti i efikasnije izvrilo
auriranje novim preciznijim podacima

100
Metode verifikacije i validacije

Verifikacija i strukturna validacija


provjera kda i vizualna provjera modela

prolaenje kroz model dogaaj po dogaaj;


zaustavljanje modela u odreenom trenutku, predvianje to e se
sljedee dogoditi, ponovno pokretanje modela i provjera
predvianja;
interaktivno postavljanje uvjeta kako bi se forsiralo izvoenje
odreenih problematinih dogaaja;
izoliranje pojedinih dijelova modela kako bi se simulacija izvravala
bre, reducirajui na taj nain vrijeme potrebno za strogu verifikaciju
i validaciju;
praenje kretanja pojedinog entiteta kroz modela tijekom cijele
simulacije
provjera izlaznih rezultata simulacije
101
Metode verifikacije i validacije

Validacija cjelokupnog modela


usporedba s realnim sustavom

prikupljaju se historijski podaci o ponaanju sustava

potrebno je usporediti:

prosjene vrijednosti
rasprenje podataka
distribucije podataka (moe i vizualno)
odnose izmeu ulaznih i izlaznih veliina za realni sustav i za
model.
statistiki testovi koji omoguuju takve usporedbe

102
Metode verifikacije i validacije

Usporedba s drugim modelima


usporedba s matematikim modelom (u svrhu provjere modela,
matematiki model moe dati grubu aproksimaciju rezultata koji se
oekuju; matematike jednadbe i formule, statika analiza i
primjena teorije ekanja i posluivanja.);
usporedba s deterministikim modelom (iz modela se uklanjaju svi
elementi koji uzrokuju sluajnost, i na taj se nain dobije
deterministiki model iji se rezultati mogu predvidjeti primjenom
matematikog modela);
usporedba s drugim simulacijskim modelima (ako je za realni
sustav ili njemu slian sustav ve razvijen model nad kojim je
mogue izvriti simulaciju, ali u neke druge svrhe, i ako je taj model
ve verificiran i ocijenjen kao valjan, tada se modeli mogu usporediti
s obzirom na ulazne podatke, izlazne rezultate i njihove
meuodnose).
103
Metode verifikacije i validacije

Validacija Verifikacija Validacija Kredibiltet modela

Odluke na
Konceptualni Raunalni Rezultati temelju
Sustav
model model simulacije rezultata
Analiza Programiranje Simulacija
simulacije
i podaci

104
Metoda za modeliranje i odreivanje performansi
procesa odravanja telekomunikacijske
programske podrke

105
Ciljevi metode i podruja primjene

Predikcija performansi postojeeg procesa odravanja.


Osiguravanje podataka o nedostacima procesa odravanja
vezanim uz vrijeme potrebno da se odreeni softverski
problem rijei.
Mogunost odreivanja koju metriku treba dodatno ukljuiti u
automatizirano mjerenje procesa.
Podrka donoenju odluka na koji nain efikasnije raspodijeliti
ili modificirati postojee resurse procesa odravanja.

106
Podruja primjene metode

Potencijalni procesi na koje se metode moe primijeniti su:


procesi koji imaju kritine vremenske performanse s obzirom
na isporuku svojeg produkta,
programski procesi kojima se eli promijeniti dizajn,
procesi u kojima se planira primjena novih pomagala,
promjena broja sudionika i resursa.

Metoda se moe koristiti unutar odabranog generikog modela


kao dio organizacijskih napora kako bi dosegla via razina
zrelosti procesa

107
Modeli i tehnike unutar metode

Model mree repova


Prikupljanje kvantitativnih podataka
Prikupljanje kvalitativnih podataka
Simulacija
Statistika analiza rezultata

108
Programski proizvodi i kontekst metode

Zahtjevi za modifikacijom koji se odnose na distribuirani


telekomunikacijski programski sustav.
Organizacijske jedinice za odravanje PP unutar
telekomunikacijske kompanije.

109
Pretpostavke koritenja metode

Proces odravanja unutar softverske organizacije odvija se u


skladu s procesnom definicijom i moe se formalno opisati.
Postoje historijski kvantitativni podaci o vremenima odvijanja
aktivnosti u pojedinim elementima procesa, koji se automatski
mjere tijekom izvravanja realnog procesa.
Postoje baze podataka svih korisnikih zahtjeva za
modifikacijom i vremenskog slijeda njihovog ivotnog ciklusa.

110
Pretpostavke koritenja metode (2)

Postoje podaci o poduzetim akcijama na temelju pojedinog


korisnikog zahtjeva.
Postoje jasno definirani i kvantitativno izraeni poslovni ciljevi
za uspjeno izvoenje i poboljanje procesa.
Pri implementaciji metode neophodna je suradnja s
ekspertima i ostalim sudionicima dotinog procesa

111
Osnovne faze metode

Planiranje i priprema
Modeliranje procesa
Analiza procesa
Izvoenje procjene
Izvjetaj o rezultatima

112
Aktivnosti metode

Definiranje projekta
Razvoj modela procesa odravanja na temelju mree repova
Prikupljanje i analiza podataka
Simulacija nad modelom mree repova
Analiza performansi dobivenih simulacijom
Analiza i procjena novog dizajna procesa

113
Aktivnosti metode

Svaka slijedea aktivnost metode osniva se na prethodno


izvedenim aktivnostima.
Neke aktivnosti se iterativno ponavljaju, na primjer, prvo se
razvije model procesa, zatim se prikupljaju i analiziraju podaci.
Na osnovu prikupljenih podataka poveava se razina detalja u
modelu.
Uoava se koji podaci jo nedostaju - ponovno prikupljanje i
analiza podataka - dok se ne dostigne dostatna razina detalja
modela za rjeavanje osnovnih ciljeva istraivanja, i dovoljna
opskrbljenost podacima kako bi se mogla izvesti analiza
primjenom simulacije.

114
Aktivnosti metode (2)

Process
Baza Proces odravanja odravanja prog.
podataka programske podrke 1 podrke x
Prijedlog

Teorija sustava
Analiza
posluivanja
podataka

Model procesa 1 Model procesa x


Mrea repova 1 Mrea repova x
Prijedlozi za
poboljanje

Analitika

Simulacija

Performanse procesa odravanja Analiza


programske podrke performansi

115
Pretpostavke modeliranja

1. Broj zahtjeva za modifikacijom koji dolaze u proces nije


ogranien (u modelu to znai da je izvorite generira
beskonaan broj korisnika).
2. Dolasci korisnika u proces nezavisni su dogaaji.
3. Mrea repova je otvorena.
4. Uvjetni prekid posluivanja pri nailasku korisnika vieg
prioriteta u rep.

116
Mree repova

Teorija ekanja i posluivanja je grana vjerojatnosne


teorije
Rep je fenomen koji se pojavljuje uvijek kada je koliina
zahtjeva za nekom uslugom vea od kapaciteta pruaoca
usluge.
Openito, teorija ekanja i posluivanja obuhvaa situacije
kada korisnik ulazi u sustav gdje neko vrijeme provodi
ekajui u repu dok posluitelj obrauje nekog drugog
korisnika.
Izvor
Izlaz
korisnika Korisnici
Rep Posluzitelj

117
Otvorena mrea repova

p11

1 p1D
p1M
p12
pS1 p21
pMM

pMD DESTI-
SOURCE 2 p2M M NATION

p22
pM2
pSM

mrea s izvorom beskonane populacije korisnika, i


odreditem ili ponorom koji apsorbira sve korisnike koji
naputaju sustav.
118
Modeliranje procesa odravanja u formi
mree repova
Korisnici mree repova - zahtjevi za modifikacijom upueni u
organizacijsku jedinicu za odravanje.
Izvorita korisnika (na primjer, trite, drugi procesi, sudionici zadanog
procesa odravanja).
Dolazni proces korisnika opisuje se s distribucijom i intenzitetom nailazaka
zahtjeva u proces.
Identificiraju se odredita korisnika - predstavljaju mogue rezultate
procesa (na primjer, isporuka rjeenja korisnikog zahtjeva u obliku
korekcije, odgovora ili neke druge akcije).
Aktivnosti koje se obavljaju nad korisnikim zahtjevom za modifikaciju -
vorovi mree.
Svakom voru mree pridruuje se izvritelj pripadne aktivnosti u realnom
procesu koji se imenuje posluiteljem.
Svakom voru mree pridruuje se rep u kojem zahtjevi za modifikacijom
ekaju da budu uslueni od strane posluitelja.
119
Prikupljanje i analiza podataka

Baza
Proces odravanja SW-a
podataka

Prikupljanje Dokumentacija Ankete


podataka

Analiza procesa
Analiza
podataka
Formalni opis procesa

Model Procesa Mrea repova

120
Prikupljanje kvantitativnih podataka

Vremena nailazaka zahtjeva kod pojedinog


posluitelja;
Vremena posluivanja za svaku aktivnost
modeliranu vorom u mrei repova;
Prioritet pridruen pojedinom zahtjevu za
modifikacijom;
Tipovi odgovora na svaki pojedini zahtjev (koji
opisuju kako je zahtjev rijeen: korekcijom,
tehnikim odgovorom, odbijen itd.);
Stanja i vremena promjene stanja zahtjeva za
modifikacijom

121
Prikupljanje kvalitativnih podataka

Kvalitativni podaci se prikupljaju:


ako nedostaju neki kvantitativni parametri

neophodni za izgradnju modela na odreenom


nivou detalja (odnosno ako se pri izvoenju
procesa ta vrijednost automatski ne biljei),
kako bi se bolje objasnili statistiki rezultati
dobiveni analizom kvantitativnih podataka
prikupljaju se putem anketa (usmenih ili
pismenih) i opaanjima sudionika procesa.

122
Prikupljanje kvalitativnih podataka

Osiguravanje sigurnosti kvalitativnih podataka postie se


primjenom sljedeih tehnika:
Kvalitativni podaci se prikupljaju iz najmanje dva nezavisna
izvora (dvije neovisne osobe, ili osoba i dokument).
Kvalitativni podaci se ne prikupljaju odjednom, nego u najmanje
dva navrata.
Opaanja trebaju biti potvrena od strane barem jednog izvora
podataka

123
Studijski primjer procesa odravanja
programske podrke

Odbijeno
Programer
Ekspert Dizajn
Otvorena Provjera
MR Analiza korekcija Implementacija
Odbijeno
Korekcija
Odbijeno pripravna za
testiranje
Korekcija
Odobrenje Testiranje
Registracijski ured testirana
& Ekspert Programer
Ured za prihvat
rjeenja Ured za odravanje
124
Analiza studijskog primjera

125
Analiza studijskog primjera

Postoje tri vrste prioriteta koji se dodjeljuju zahtjevima za


modifikacijom:
A - vrlo veliki problem; centrala ne moe biti u funkciji ako se greka ne
ispravi, postoji vrlo veliki pritisak na odravanje da se pronae rjeenje
to prije. Definirani vremenski okvir za rjeenje je 14 kalendarskih
dana.
B - problem srednje veliine; dio sustava je ispao, ali sustav u cjelini
ipak funkcionira. Definirani vremenski okvir za rjeenje je 21
kalendarski dan.
C - manji problem; ne uzrokuje nikakvu trenutnu tetu, ovdje spadaju
zahtjevi za poboljanje dokumentacije, prijedlozi poboljanja
softverskog produkta itd. Definirani vremenski okvir za rjeenje je 28
kalendarskih dana

126
Analiza studijskog primjera

MR-ovi koji ne zahtijevaju korekciju su sljedeeg tipa, i na


njih se odgovara tehnikim odgovorom:
ne postoji problem, lano prijavljivanje od strane korisnika,

ne postoji problem, krivo razumijevanje funkcionalnosti,

zahtjev za novom funkcionalnou,

pogreke u dokumentaciji,

pogreno postavljanje osnovnih parametara sustava,

nema pogreke u kdu,


produkt se ne odrava jer postoji njegova nova verzija,

razvoj novog softverskog produkta je u tijeku i on e

sadravati ispravak prijavljene pogreke.

127
Analiza studijskog primjera

Definirani su sudionici procesa odravanja i njihove uloge:


Podnositelj Zahtjeva za odravanjem - korisnik

telekomunikacijskog softverskog sustava


Vlasnik Zahtjeva za odravanjem - Ured za odravanje,

odgovara za grupu softverskih produkata, kontrolira


upravljanje problemom,
Ekspert - najvii autoritet u grupi odgovornoj za odravanje

odreenog softverski produkt.


Programer - izvodi akcije korektivnog odravanja nad

softverskim produktom u skladu sa Zahtjevom za


odravanjem.

128
Analiza studijskog primjera (2)

Definiranje ciljeva, pitanja i opsega projekta


odreivanje prosjenog vremena zadravanja zahtjeva za

modifikacijom u Uredu za odravanje,


pronalaenje odnosa vremena zadravanja zahtjeva za

modifikacijom za pojedine faze procesa odravanja,


definiranje toaka procesa u kojima se zahtjev najdulje
zadrava,
definiranje toaka procesa kojima zahtjev najdulje eka na
obradu od strane nekog sudionika procesa ili resursa

129
Analiza podataka

Ekspert-medjudolazna vremena

1,200.00
1,000.00
800.00
600.00 Taiexp (PA)
400.00
200.00
0.00
0.00 500.00 1,000.00

130
Konani model mree repova

131
Verifikacija i validacija

Koriteni su sljedei parametri:


prosjeno vrijeme zadravanja MR-a u procesu (neovisno

o prioritetu) - Tq
prosjeno vrijeme zadravanja MR-a u procesu za

prioritete A, B, C - TqA, TqB, TqC


ukupan broj generiranih zahtjeva tijekom zadanog
simulacijskog vremena
broj generiranih zahtjeva tijekom zadanog simulacijskog
vremena po prioritetima

132
Iskoristivost posluitelja

Analiza
Expert Odobrenje
MR zakljuenje
Sastanci

Ukupna iskoristivost = 44 %
Analiza
Teh.odgovor
Test
Korekcija
Programer Provjera
MR Zakljuenje
Sastanci

Ukupna iskoristivost = 75 %

133
Alternativni dizajn procesa 1

Poveanje broja test maketa

134
Usporedba performansi novih prijedloga
procesa

Vremena zadravanja Vremena ekanja u razliitim fazama


procesa

450
60

400 50
350
40
300
250 30
200
20
150
100 10
50
0
0 Exp.Analiza Exp.Odob. Exp.Zakljuenje Prog.AnalizaProg.Zakljuenje Provjera Test

Tq Standard 3 makete Odvojeno testiranje

135
Literatura

1. Zhang, He., B. Kitchenham ; D. Pfahl. Software Process Simulation over the Past
Decade: Trends Discovery from A Systematic Review. Proceedings of the ESEM
08, Kaiserslautern, Germany, 2008.
2. Kellner, M.I., R. J. Madachy, D. M. Raffo. Software process simulation modeling:
Why? What? How? Journal of Systems and Software, Volume 46, Issues 2-3,
1999.
3. Galinac, T. Poveanje uinkovitosti razvoja programskog proizvoda pomou
upravljanja procesom rane verifikacije. Doktorska disertacija, FER, Zagreb, 2009.
Mentori: Car, ., D. Huljeni.
4. Car, . Modeliranje procesa odravanja telekomunikacijske programske podrke.
Doktorska disertacija, FER, Zagreb, 2001. Mentor: Mikac, B.
5. SWEBOK - Software Enginnering Body of Knowledge , IEEE Computer Society,
2004, dokument dostupan na Internetu.

136

You might also like