SlideShare a Scribd company logo
1 of 31
Download to read offline
Modeli softverskih procesa
2
MODELI ŢIVOTNOG CIKLUSA SOFTVERA
• životni ciklus softvera obuhvata period od definicije zahteva
do prestanka upotrebe.
• model životnog ciklusa opisuje procese iz razvoja, korišćenja
i održavanja softverskog proizvoda u toku njegovog životnog
ciklusa.
• za konkretan proizvod potrebno je izabrati konkretan model
(implementirati standard).
• ne postoji jedinstveni optimalan model za sve softverske
proizvode, obično se primenjuje neki od standardnih modela
ili neka kombinacija istih.
3
Vaţnost modela procesa (ţivotnog ciklusa)
Modeli procesa su važni za
Organizaciju projekta:
• Inače: sporadično,
nekoordinisano
upravljanje projektom
• Iskustvo: softver visokog
kvaliteta je nemoguće
napraviti bez
sistematskogpristupa
razvoju softvera
Analizu projekta:
Koje su slabe tačke u
razvojnom procesu?
Planiranje vremena i troškova
Procenu kvaliteta softverskih
firmi
Sertifikacija za ISO 9000
4
Šta je model procesa?
Model procesa
• Uopšteno: razvojni plan koji definiše opšti proces razvoja
softverskog proizvoda.
• Preciznije: Definicija koja odredjuje koje aktivnosti se
izvršavaju, od strane kojih osoba u kojim ulogama; kojim
redosledom će aktivnosti biti izvršavane, koji proizvodi će biti
razvijani i kako će se procenjivati njihov kvalitet.
Uloga
• Saradnik koji izvršava odredjenu aktivnost
npr. Test-inženjer, vodja projekta, projektant, programer,
softverski ergonomist
Šta je specifično
za softver?
5
3. Modeli procesa
a) Uvod
b) Pregled postojećih modela
c) Model vodopada
d) V-model
e) Iterativno inkrementalni model
f) Evolutivni (prototipski) model
g) Spiralni model
h) Agilne metodologije
6
Najpoznatiji modeli procesa: pregled
Modeli procesa
model vodopada
Iterativno inkrementalni model
(primer RUP)
Spiralni model
evolutivni (prototipski)
model
Agilne metodologije
V-model
7
3. Modeli procesa
a) Uvod
b) Pregled postojećih modela
c) Model vodopada
d) V model
e) Iterativno inkrementalni model
f) Evolutivni (prototipski) model
g) Spiralni model
h) Agilne metodologije
8
Predstavljanje procesa Gantogramom
 Gantov dijagram prikazuje aktivnosti koje je potrebno izvršiti, ko će ih
izvršiti, kada će početi, kada će se završiti, kao i koje su međusobne
zavisnosti među aktivnostima.
 Na slici se vidi da analitičar i test analitičar zajedno rade na analizi zahteva.
Kada završe analizu,analitičar počinje sa izradom specifikacije, a arhitekta
sa definicijom arhitekture. Gantogram pored aktivnosti i članova tima koji će
raditi na njima prikazuje i međusobne zavisnosti među aktivnostima u vidu
aktivnosti koje se moraju izvršiti pre nego što druge počnu. Način na koji se
organizuju i grupišu ove aktivnosti predstavljamodel razvoja softvera.
9
Analiza
i
definicija
Klasični model vodopada (1970)
Projektovanje
(“Design”)
Implementacija
Testiranje
Korišćenje i
održavanje
10
Model vodopada
 Faze se sekvencijalno izvršavaju dok se ne završi projekat. Faze u modelu vodopada
su:
 Analiza zahteva – faza gde se sakupljaju zahtevi od krajnjih korisnika, analizira šta je
potrebno raditi, kreiraju ugovori kojima se definiše šta će biti urađeno i potvrđuju
zahtevi koji će biti implementirani.
 Dizajn softvera – faza gde se detaljnije analiziraju zahtevi prikupljeni tokom analize,
specificira kako će se implementirati softver, kreira tehnička specifikacija i dizajn
softvera. Dizajn softvera predstavlja konkretan plan kako će biti implementiran sistem
od generalne arhitekture softvera do detaljnog opisa implementacije pojedinih
komponenti i algoritama. Na kraju ove faze je poznato kako će se sistem
implementirati.
 Implementacija – faza gde se projektovani softver implementira u određenom
programskom jeziku i platformi. Na kraju ove faze softver je završen i spreman za
upotrebu.
 Verifikacija – faza u kojoj se planira testiranje, testira sistem koji je implementiran u
prethodnoj fazi, prijavljuju i otklanjaju problemi nađeni u softveru. Na kraju ove faze
softver je testiran i spreman na predaju krajnjim korisnicima.
 Održavanje – tokom faze održavanja softver je predat krajnjim korisnicima i vrše se
eventualne dorade u skladu sa izmenama traženim od korisnika. Ova faza traje sve
dok korisnici upotrebljavaju softver.
11
MODEL VODOPADA
• sekvencijalno izvršavanje pojedinih aktivnosti.
• u stvarnosti postoje povratne grane zbog grešaka i
nepreciznosti zahteva.
Faktori rizika za primenu modela:
• zahtevi inicijalno nisu precizni
• sistem preveliki da se uradi u jednom koraku
• predviđaju se znatne tehnološke promene
• predviđaju se znatne izmene zahteva
• ograničeni resuri (novac, ljudstvo)
Preference za primenu modela:
• odmah se dobija puna funkcionalnost sistema
• kada je neophodno odjednom zameniti stari sistem.
12
Problemi sa vodopadom
• U idealnom slučaju projekat koji se radi modelom
vodopada će prolaziti kroz sve faze razvoja, članovi
projektnog tima će se uključivati tačno u one faze u kojima
su potrebni, završavaće posao za koji su bili planirani i
odlaziće iz tima kada više nema potrebe da budu na
projektu. U svakom trenutku će biti poznato dokle se
stiglo sa poslom i u kojoj fazi se projekat nalazi.
• Na ţalost, ovakav idealan slučaj sekvencijalnog razvoja u
praksi nije moguć zato što se često neplanski projektni
tim vraća u prethodne faze. Često se dešava da se tokom
kasnijih faza projekta pronalaze propusti i nepredviĎene
stvari nasleĎene iz prethodnih faza, koje uzrokuju
povratke u prethodne faze.
• Rezultat => kašnjenje projekta
13
Problemi sa vodopadom
Detalj plana projekta sa fazom verifikacije, koja moţe da počne
pošto se završe prethodne faze
14
Neţeljeni povratni tokovi u modelu vodopada
• Problemi koji se pronaĎu tokom faze
verifikacijemogu biti toliko veliki da
vrate projekat nazad u fazu
implementacije, a nekada čak iz
implementacije nazad u fazu dizajna.
• Na primer, neko moţe da definiše
zahtev u fazi analize, taj zahtev će se
dizajnirati i implementirati, a onda tek
u fazi verifikacije se zaključi da taj
zahtev nema smisla. U tom slučaju
projekat se vraća nazad na analizu.
Kada se utvrdi šta bi u stvari trebao
da bude smislen zahtev opet se
prolazi kroz sve faze razvoja.
• Planiranje bazirano na količini rada a
ne vremensko (nije pogodno da se
dinamički doda ili oduzmedeo)
15
V model sa naglaskom na kontrolu kvaliteta
V-model kao i vodopad ima sve
sekvencijalne faze analize, dizajna,
programiranja i testiranja gde se u
sledeću fazu prelazi samo ako je
završena prethodna, ali uz dve
značajne izmene:
Svaka faza razvoja ima odgovarajuću
fazu testiranja kojom se ta faza
validira.
Posle svake faze razvoja, pre prelaska
u sledeću fazu, se planira kako će se
izvršiti verifikacija trenutne faze (iako
se odgovarajuća faza verifikacije neće
izvršiti do kraja projekta).
16
V-model
U V-modelu postoje pravila kojima se definišu preduslovi za prelazak u
sledeću fazu:
• Iz faze analize zahteva se može preći u fazu specifikacije samo ako su
analizirani zahtevi i ako je definisano kako će se ti zahtevi testirati tokom testa
prihvatljivosti.
• U fazu dizajna sistema se može preći ako je završena faza specifikacije sistema i
definisano kako će se testirati kompletan sistem.
• U fazu dizajna pojedinih modula se može preći ako je dizajnirana arhitektura
sistema i definisano kako će se testirati komponente tokom integracije.
• U fazu kodiranja se može preći ako su dizajnirani moduli koji će se kodirati i ako
je definisano kako će se ti moduli testirati.
 Druga značajna izmena je definisanje više nivoa testiranja kojima se
proveravaju različiti delovi sistema. Nivoi testiranja po V-modelu su:
• Jedinično testiranje kojim se testiranju pojedini delovi sistema (moduli,
komponente, forme).
• Integraciono testiranje kojim se testira komunikacija, povezivanje i tokovi među
modulima.
• Sistemsko testiranje kojim se testira sistem u celini.
• Test prihvatljivosti kojim krajnji korisnici potvrđuju da aplikacija radi upravo ono
što im treba.
17
Primer projektnog plana po V-modelu
 Neke aktivnosti testiranja vrše se u paraleli sa prethodnim fazama
18
Statistika grešaka: nastanak i ispravka
Izvor: SoftwareMetrics Symposium 1996,p. 176
zahtevi projektova
nje
implementacija
20 % 38 % 42 %
1 % 2 % 20 % 30 % 40 % 7 %
Pregled (“review”)
zahteva
Pregled
projektne
dokument
acije
Pregled
koda
+
testiranje
jedinica
programa
(“unit
test”)
Testiranje
podsistema
Testiranje
sistema i
testiranje
prihvatljivosti
(”acceptance
test”)
Greške
tokom
upotrebe
Kada su
otkrivene
Kada su greške
nastale
19
3. Modeli procesa
a) Uvod
b) Pregled postojećih modela
c) Model vodopada
d) V model
e) Iterativno inkrementalni model
f) Evolutivni (prototipski) model
g) Spiralni model
h) Agilne metodologije
20
ITERATIVNO INKREMENTALNI MODEL
A P KT O
P KT O
P KT O
A -analiza
P - projektovanje
KT - kodiranje i testiranje
O - korišćenje
Prva faza
Druga faza
Treća faza
21
ITERATIVNO INKREMENTALNI MODEL
startuje sa poznatim skupom zahteva, a razvoj se odvija po
fazama (inkrementima). Prva faza uključuje deo zahteva, svaka
sledeća realizuje deo preostalih zahteva i tako dalje, dok se
sistem ne kompletira. U okviru svake faze aktivnosti razvoja se
sprovode sekvencijalno, a među fazama može postojati
delimično preklapanje aktivnosti.
Druga izmena u odnosu na model vodopada je uvođenje
iteracija. Za razliku od dugih faza u vodopadu koje mogu trajati i
po nekoliko meseci, u ovom modelu se faze dele na kratke
iteracije od po dve ili tri nedelje u kojima se očekuje da će se
proizvesti neka zaokružena celina (završena lista zahteva,
prototip, specifikacija itd).
22
Iterativni naspram Vodopada
Vreme
(Meseci)
Iterativni
razvoj
Kasnijikrah
dizajna
Integracija
Vodopada
počinje
Krajnji test
kvaliteta
Vodopad
Gradi Gradi
Gradi
Gradi
Gradi
Gradi Gradi
Progres
(% Kodiranog)
Šta znači negativni
trend?
Source:I. Jacobson,G. Booch,J. Rumbaugh:The Unified SoftwareDevelopmentProcess,1999
23
Iterativni naspram Vodopada (2)
Vreme
Rizik
Iterativni
Vodopad
Incepcija
Elaboracija
Konstrukcija
Transition
IBM/RationalUnified Process,v2003
24
ITERATIVNO INKREMENTALNI MODEL
Faktori rizika:
• zahtevi inicijalno nisu precizni
• zahteva se da sistem odmah ima punu funkcionalnost
• predviđaju se znatne tehnološke promene
• predviđaju se znatne izmene zahteva
• resursi se ne mogu vezati na duži rok
Preference:
• Potrebno je odmah obezbediti delimičnu funkcionalnost.
• Sistem se prirodno deli u inkrementalne celine.
• Inkrementalni karakter materijalnih i/ili ljudskih resursa.
25
3. Modeli procesa
a) Uvod
b) Pregled postojećih modela
c) Model vodopada
d) V model
e) Iterativno inkrementalni model
f) Evolutivni (prototipski) model
g) Spiralni model
h) Agilne metodologije
26
Evolutivni prototipski model
Područja primene:
Zahtevi u početku nisu precizni ili se često menjaju
Prototip:
izvršivi softverski sistem,
• Značajni delovi završnog proizvoda su već završeni
(npr. Korisnički interfejs, osnovna funkcionalnost),
• Ostali delovi tek treba da se realizuju (npr. specijalni slučajevi)
Proces primene:
• Prototip (može biti odbačen)
(dodatak analizi zahteva: brzo pravljenje prototipova (“rapid prototyping”)
• Postupno napredovanje ka finalnom proizvodu
(evolutivni razvoj softvera (“evolutionary softwaredevelopment”))
27
EVOLUTIVNI MODEL
Zahtevi
Projektovanje
Implementacija
Zahtevi
Projektovanje
Implementacija
Zahtevi
Projektovanje
Implementacija
28
EVOLUTIVNI MODEL
Faktori rizika:
• zahteva se da sistem
odmah ima punu
funkcionalnost
• resursi se ne mogu vezati
na duži rok
• loša struktura softvera,
teškoća za održavanje
• teškoće u praćenju
napredovanja razvoja
Preference:
• Potrebno je odmah obezbediti
delimičnu funkcionalnost.
• Sistem se prirodno deli u
inkrementalneceline.
• Inkrementalni karakter
materijalnih i/ili ljudskih resursa.
• Potrebna je povratna veza sa
korisnikom da bi se u potpunosti
sagledali zahtevi. inteligenciju).
• Omogućava praćenje tehnoloških
promena.
• razvija sistem po fazama, ali za razliku od inkrementalnog
modela dopušta da zahtevi inicijalno nisu sasvim precizirani i
definisani. Zahtevi se inicijano parcijalno definišu i preciziraju u
kasnijim fazama.
29
3. Modeli procesa
a) Uvod
b) Pregled postojećih modela
c) Model vodopada
d) V model
e) Iterativno inkrementalni model
f) Evolutivni (prototipski) model
g) Spiralni model
h) Agilne metodologije
30
Spiralni model po Boehm-u (1988)
Odredjivanje ciljeva,
alternativa i dodatnih
zahteva za svaki novi ciklus
Procena alternativa;
identifikacija i smanjenje rizika
Planiranje sledećih koraka,
tj. sledećeg ciklusa u spirali
Konstrukcija i testiranje tekućeg
proizvoda
kraj ciklusa: Pregled
Napredovanje projekta
po spiralnim ciklusima
Analiza rizika:
Analiza problema:
Implementacija
:
Planiranje:
31
SPIRALNI MODEL
• dopunjava evolutivni model uzimajući u obzir potrebe
upravljanja velikim projektima. Razvoj ide po fazama i vođen
je ciljem smanjivanja rizika neuspeha. Uspešan završetak
faze znači smanjenje rizika. Najriskantniji delovi se prvo
realizuju. U pojedinim fazama se mogu koristiti makete
(bacaju se) ili prototipovi (prerastaju u proizvod) za
preciziranje specifikacije, procenu rizika i slično.

More Related Content

Similar to P2_Modeli_Procesa.pdf

Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...Positive
 
Projektovanje i implementacija SPPR
Projektovanje i implementacija SPPRProjektovanje i implementacija SPPR
Projektovanje i implementacija SPPRMiloš Kecman
 
Projektovanje web aplikacija
Projektovanje web aplikacijaProjektovanje web aplikacija
Projektovanje web aplikacijaDamjan Pavlica
 
Ispitna pitanja iz_predmeta_upravljanje_projektom
Ispitna pitanja iz_predmeta_upravljanje_projektomIspitna pitanja iz_predmeta_upravljanje_projektom
Ispitna pitanja iz_predmeta_upravljanje_projektomlale021
 
ImplementacijaIS.pdf
ImplementacijaIS.pdfImplementacijaIS.pdf
ImplementacijaIS.pdfVlada Nedic
 
VET4SBO Level 2 module 4 - unit 2 - v0.9 srb
VET4SBO Level 2   module 4 - unit 2 - v0.9 srbVET4SBO Level 2   module 4 - unit 2 - v0.9 srb
VET4SBO Level 2 module 4 - unit 2 - v0.9 srbKarel Van Isacker
 
Preporuke Za Proces Ocenjivanja Programske Aplikacije
Preporuke Za Proces Ocenjivanja Programske AplikacijePreporuke Za Proces Ocenjivanja Programske Aplikacije
Preporuke Za Proces Ocenjivanja Programske AplikacijeОШ ХРШ
 
life cycle cost
 life cycle cost life cycle cost
life cycle costnsstudent
 
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan BuhacSPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan BuhacSharePoint User Grupa Srbija
 
Izbegavanje prepreka kod implementacije SharePoint-a
Izbegavanje prepreka kod implementacije SharePoint-aIzbegavanje prepreka kod implementacije SharePoint-a
Izbegavanje prepreka kod implementacije SharePoint-aBojan Buhac
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaMilan Zdravković
 
VET4SBO Level 3 module 2 - unit 1 - v0.9 srb
VET4SBO Level 3   module 2 - unit 1 - v0.9 srbVET4SBO Level 3   module 2 - unit 1 - v0.9 srb
VET4SBO Level 3 module 2 - unit 1 - v0.9 srbKarel Van Isacker
 
Realizacije+virtualne+laboratorije+iz+elektri%c4%8 cnih+merenja+u+labview+pro...
Realizacije+virtualne+laboratorije+iz+elektri%c4%8 cnih+merenja+u+labview+pro...Realizacije+virtualne+laboratorije+iz+elektri%c4%8 cnih+merenja+u+labview+pro...
Realizacije+virtualne+laboratorije+iz+elektri%c4%8 cnih+merenja+u+labview+pro...sakisaid
 

Similar to P2_Modeli_Procesa.pdf (20)

ICK2-L2.pptx
ICK2-L2.pptxICK2-L2.pptx
ICK2-L2.pptx
 
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
Analiza primene agilnih metodologija u softverskim organizacijama vojvodjansk...
 
Projektovanje i implementacija SPPR
Projektovanje i implementacija SPPRProjektovanje i implementacija SPPR
Projektovanje i implementacija SPPR
 
Starenje softvera
Starenje softveraStarenje softvera
Starenje softvera
 
3 1 standardi iso
3 1 standardi iso3 1 standardi iso
3 1 standardi iso
 
Projektovanje web aplikacija
Projektovanje web aplikacijaProjektovanje web aplikacija
Projektovanje web aplikacija
 
Ispitna pitanja iz_predmeta_upravljanje_projektom
Ispitna pitanja iz_predmeta_upravljanje_projektomIspitna pitanja iz_predmeta_upravljanje_projektom
Ispitna pitanja iz_predmeta_upravljanje_projektom
 
ImplementacijaIS.pdf
ImplementacijaIS.pdfImplementacijaIS.pdf
ImplementacijaIS.pdf
 
ICK5-L5.pptx
ICK5-L5.pptxICK5-L5.pptx
ICK5-L5.pptx
 
VET4SBO Level 2 module 4 - unit 2 - v0.9 srb
VET4SBO Level 2   module 4 - unit 2 - v0.9 srbVET4SBO Level 2   module 4 - unit 2 - v0.9 srb
VET4SBO Level 2 module 4 - unit 2 - v0.9 srb
 
ICK8-L4.pptx
ICK8-L4.pptxICK8-L4.pptx
ICK8-L4.pptx
 
Preporuke Za Proces Ocenjivanja Programske Aplikacije
Preporuke Za Proces Ocenjivanja Programske AplikacijePreporuke Za Proces Ocenjivanja Programske Aplikacije
Preporuke Za Proces Ocenjivanja Programske Aplikacije
 
Master rad A. Pavic
Master rad A. PavicMaster rad A. Pavic
Master rad A. Pavic
 
ICK5-L8.pptx
ICK5-L8.pptxICK5-L8.pptx
ICK5-L8.pptx
 
life cycle cost
 life cycle cost life cycle cost
life cycle cost
 
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan BuhacSPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
SPUG Srbija - Izbegavanje prepreka kod implementacije SharePointa - Bojan Buhac
 
Izbegavanje prepreka kod implementacije SharePoint-a
Izbegavanje prepreka kod implementacije SharePoint-aIzbegavanje prepreka kod implementacije SharePoint-a
Izbegavanje prepreka kod implementacije SharePoint-a
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesa
 
VET4SBO Level 3 module 2 - unit 1 - v0.9 srb
VET4SBO Level 3   module 2 - unit 1 - v0.9 srbVET4SBO Level 3   module 2 - unit 1 - v0.9 srb
VET4SBO Level 3 module 2 - unit 1 - v0.9 srb
 
Realizacije+virtualne+laboratorije+iz+elektri%c4%8 cnih+merenja+u+labview+pro...
Realizacije+virtualne+laboratorije+iz+elektri%c4%8 cnih+merenja+u+labview+pro...Realizacije+virtualne+laboratorije+iz+elektri%c4%8 cnih+merenja+u+labview+pro...
Realizacije+virtualne+laboratorije+iz+elektri%c4%8 cnih+merenja+u+labview+pro...
 

P2_Modeli_Procesa.pdf

  • 2. 2 MODELI ŢIVOTNOG CIKLUSA SOFTVERA • životni ciklus softvera obuhvata period od definicije zahteva do prestanka upotrebe. • model životnog ciklusa opisuje procese iz razvoja, korišćenja i održavanja softverskog proizvoda u toku njegovog životnog ciklusa. • za konkretan proizvod potrebno je izabrati konkretan model (implementirati standard). • ne postoji jedinstveni optimalan model za sve softverske proizvode, obično se primenjuje neki od standardnih modela ili neka kombinacija istih.
  • 3. 3 Vaţnost modela procesa (ţivotnog ciklusa) Modeli procesa su važni za Organizaciju projekta: • Inače: sporadično, nekoordinisano upravljanje projektom • Iskustvo: softver visokog kvaliteta je nemoguće napraviti bez sistematskogpristupa razvoju softvera Analizu projekta: Koje su slabe tačke u razvojnom procesu? Planiranje vremena i troškova Procenu kvaliteta softverskih firmi Sertifikacija za ISO 9000
  • 4. 4 Šta je model procesa? Model procesa • Uopšteno: razvojni plan koji definiše opšti proces razvoja softverskog proizvoda. • Preciznije: Definicija koja odredjuje koje aktivnosti se izvršavaju, od strane kojih osoba u kojim ulogama; kojim redosledom će aktivnosti biti izvršavane, koji proizvodi će biti razvijani i kako će se procenjivati njihov kvalitet. Uloga • Saradnik koji izvršava odredjenu aktivnost npr. Test-inženjer, vodja projekta, projektant, programer, softverski ergonomist Šta je specifično za softver?
  • 5. 5 3. Modeli procesa a) Uvod b) Pregled postojećih modela c) Model vodopada d) V-model e) Iterativno inkrementalni model f) Evolutivni (prototipski) model g) Spiralni model h) Agilne metodologije
  • 6. 6 Najpoznatiji modeli procesa: pregled Modeli procesa model vodopada Iterativno inkrementalni model (primer RUP) Spiralni model evolutivni (prototipski) model Agilne metodologije V-model
  • 7. 7 3. Modeli procesa a) Uvod b) Pregled postojećih modela c) Model vodopada d) V model e) Iterativno inkrementalni model f) Evolutivni (prototipski) model g) Spiralni model h) Agilne metodologije
  • 8. 8 Predstavljanje procesa Gantogramom  Gantov dijagram prikazuje aktivnosti koje je potrebno izvršiti, ko će ih izvršiti, kada će početi, kada će se završiti, kao i koje su međusobne zavisnosti među aktivnostima.  Na slici se vidi da analitičar i test analitičar zajedno rade na analizi zahteva. Kada završe analizu,analitičar počinje sa izradom specifikacije, a arhitekta sa definicijom arhitekture. Gantogram pored aktivnosti i članova tima koji će raditi na njima prikazuje i međusobne zavisnosti među aktivnostima u vidu aktivnosti koje se moraju izvršiti pre nego što druge počnu. Način na koji se organizuju i grupišu ove aktivnosti predstavljamodel razvoja softvera.
  • 9. 9 Analiza i definicija Klasični model vodopada (1970) Projektovanje (“Design”) Implementacija Testiranje Korišćenje i održavanje
  • 10. 10 Model vodopada  Faze se sekvencijalno izvršavaju dok se ne završi projekat. Faze u modelu vodopada su:  Analiza zahteva – faza gde se sakupljaju zahtevi od krajnjih korisnika, analizira šta je potrebno raditi, kreiraju ugovori kojima se definiše šta će biti urađeno i potvrđuju zahtevi koji će biti implementirani.  Dizajn softvera – faza gde se detaljnije analiziraju zahtevi prikupljeni tokom analize, specificira kako će se implementirati softver, kreira tehnička specifikacija i dizajn softvera. Dizajn softvera predstavlja konkretan plan kako će biti implementiran sistem od generalne arhitekture softvera do detaljnog opisa implementacije pojedinih komponenti i algoritama. Na kraju ove faze je poznato kako će se sistem implementirati.  Implementacija – faza gde se projektovani softver implementira u određenom programskom jeziku i platformi. Na kraju ove faze softver je završen i spreman za upotrebu.  Verifikacija – faza u kojoj se planira testiranje, testira sistem koji je implementiran u prethodnoj fazi, prijavljuju i otklanjaju problemi nađeni u softveru. Na kraju ove faze softver je testiran i spreman na predaju krajnjim korisnicima.  Održavanje – tokom faze održavanja softver je predat krajnjim korisnicima i vrše se eventualne dorade u skladu sa izmenama traženim od korisnika. Ova faza traje sve dok korisnici upotrebljavaju softver.
  • 11. 11 MODEL VODOPADA • sekvencijalno izvršavanje pojedinih aktivnosti. • u stvarnosti postoje povratne grane zbog grešaka i nepreciznosti zahteva. Faktori rizika za primenu modela: • zahtevi inicijalno nisu precizni • sistem preveliki da se uradi u jednom koraku • predviđaju se znatne tehnološke promene • predviđaju se znatne izmene zahteva • ograničeni resuri (novac, ljudstvo) Preference za primenu modela: • odmah se dobija puna funkcionalnost sistema • kada je neophodno odjednom zameniti stari sistem.
  • 12. 12 Problemi sa vodopadom • U idealnom slučaju projekat koji se radi modelom vodopada će prolaziti kroz sve faze razvoja, članovi projektnog tima će se uključivati tačno u one faze u kojima su potrebni, završavaće posao za koji su bili planirani i odlaziće iz tima kada više nema potrebe da budu na projektu. U svakom trenutku će biti poznato dokle se stiglo sa poslom i u kojoj fazi se projekat nalazi. • Na ţalost, ovakav idealan slučaj sekvencijalnog razvoja u praksi nije moguć zato što se često neplanski projektni tim vraća u prethodne faze. Često se dešava da se tokom kasnijih faza projekta pronalaze propusti i nepredviĎene stvari nasleĎene iz prethodnih faza, koje uzrokuju povratke u prethodne faze. • Rezultat => kašnjenje projekta
  • 13. 13 Problemi sa vodopadom Detalj plana projekta sa fazom verifikacije, koja moţe da počne pošto se završe prethodne faze
  • 14. 14 Neţeljeni povratni tokovi u modelu vodopada • Problemi koji se pronaĎu tokom faze verifikacijemogu biti toliko veliki da vrate projekat nazad u fazu implementacije, a nekada čak iz implementacije nazad u fazu dizajna. • Na primer, neko moţe da definiše zahtev u fazi analize, taj zahtev će se dizajnirati i implementirati, a onda tek u fazi verifikacije se zaključi da taj zahtev nema smisla. U tom slučaju projekat se vraća nazad na analizu. Kada se utvrdi šta bi u stvari trebao da bude smislen zahtev opet se prolazi kroz sve faze razvoja. • Planiranje bazirano na količini rada a ne vremensko (nije pogodno da se dinamički doda ili oduzmedeo)
  • 15. 15 V model sa naglaskom na kontrolu kvaliteta V-model kao i vodopad ima sve sekvencijalne faze analize, dizajna, programiranja i testiranja gde se u sledeću fazu prelazi samo ako je završena prethodna, ali uz dve značajne izmene: Svaka faza razvoja ima odgovarajuću fazu testiranja kojom se ta faza validira. Posle svake faze razvoja, pre prelaska u sledeću fazu, se planira kako će se izvršiti verifikacija trenutne faze (iako se odgovarajuća faza verifikacije neće izvršiti do kraja projekta).
  • 16. 16 V-model U V-modelu postoje pravila kojima se definišu preduslovi za prelazak u sledeću fazu: • Iz faze analize zahteva se može preći u fazu specifikacije samo ako su analizirani zahtevi i ako je definisano kako će se ti zahtevi testirati tokom testa prihvatljivosti. • U fazu dizajna sistema se može preći ako je završena faza specifikacije sistema i definisano kako će se testirati kompletan sistem. • U fazu dizajna pojedinih modula se može preći ako je dizajnirana arhitektura sistema i definisano kako će se testirati komponente tokom integracije. • U fazu kodiranja se može preći ako su dizajnirani moduli koji će se kodirati i ako je definisano kako će se ti moduli testirati.  Druga značajna izmena je definisanje više nivoa testiranja kojima se proveravaju različiti delovi sistema. Nivoi testiranja po V-modelu su: • Jedinično testiranje kojim se testiranju pojedini delovi sistema (moduli, komponente, forme). • Integraciono testiranje kojim se testira komunikacija, povezivanje i tokovi među modulima. • Sistemsko testiranje kojim se testira sistem u celini. • Test prihvatljivosti kojim krajnji korisnici potvrđuju da aplikacija radi upravo ono što im treba.
  • 17. 17 Primer projektnog plana po V-modelu  Neke aktivnosti testiranja vrše se u paraleli sa prethodnim fazama
  • 18. 18 Statistika grešaka: nastanak i ispravka Izvor: SoftwareMetrics Symposium 1996,p. 176 zahtevi projektova nje implementacija 20 % 38 % 42 % 1 % 2 % 20 % 30 % 40 % 7 % Pregled (“review”) zahteva Pregled projektne dokument acije Pregled koda + testiranje jedinica programa (“unit test”) Testiranje podsistema Testiranje sistema i testiranje prihvatljivosti (”acceptance test”) Greške tokom upotrebe Kada su otkrivene Kada su greške nastale
  • 19. 19 3. Modeli procesa a) Uvod b) Pregled postojećih modela c) Model vodopada d) V model e) Iterativno inkrementalni model f) Evolutivni (prototipski) model g) Spiralni model h) Agilne metodologije
  • 20. 20 ITERATIVNO INKREMENTALNI MODEL A P KT O P KT O P KT O A -analiza P - projektovanje KT - kodiranje i testiranje O - korišćenje Prva faza Druga faza Treća faza
  • 21. 21 ITERATIVNO INKREMENTALNI MODEL startuje sa poznatim skupom zahteva, a razvoj se odvija po fazama (inkrementima). Prva faza uključuje deo zahteva, svaka sledeća realizuje deo preostalih zahteva i tako dalje, dok se sistem ne kompletira. U okviru svake faze aktivnosti razvoja se sprovode sekvencijalno, a među fazama može postojati delimično preklapanje aktivnosti. Druga izmena u odnosu na model vodopada je uvođenje iteracija. Za razliku od dugih faza u vodopadu koje mogu trajati i po nekoliko meseci, u ovom modelu se faze dele na kratke iteracije od po dve ili tri nedelje u kojima se očekuje da će se proizvesti neka zaokružena celina (završena lista zahteva, prototip, specifikacija itd).
  • 22. 22 Iterativni naspram Vodopada Vreme (Meseci) Iterativni razvoj Kasnijikrah dizajna Integracija Vodopada počinje Krajnji test kvaliteta Vodopad Gradi Gradi Gradi Gradi Gradi Gradi Gradi Progres (% Kodiranog) Šta znači negativni trend? Source:I. Jacobson,G. Booch,J. Rumbaugh:The Unified SoftwareDevelopmentProcess,1999
  • 23. 23 Iterativni naspram Vodopada (2) Vreme Rizik Iterativni Vodopad Incepcija Elaboracija Konstrukcija Transition IBM/RationalUnified Process,v2003
  • 24. 24 ITERATIVNO INKREMENTALNI MODEL Faktori rizika: • zahtevi inicijalno nisu precizni • zahteva se da sistem odmah ima punu funkcionalnost • predviđaju se znatne tehnološke promene • predviđaju se znatne izmene zahteva • resursi se ne mogu vezati na duži rok Preference: • Potrebno je odmah obezbediti delimičnu funkcionalnost. • Sistem se prirodno deli u inkrementalne celine. • Inkrementalni karakter materijalnih i/ili ljudskih resursa.
  • 25. 25 3. Modeli procesa a) Uvod b) Pregled postojećih modela c) Model vodopada d) V model e) Iterativno inkrementalni model f) Evolutivni (prototipski) model g) Spiralni model h) Agilne metodologije
  • 26. 26 Evolutivni prototipski model Područja primene: Zahtevi u početku nisu precizni ili se često menjaju Prototip: izvršivi softverski sistem, • Značajni delovi završnog proizvoda su već završeni (npr. Korisnički interfejs, osnovna funkcionalnost), • Ostali delovi tek treba da se realizuju (npr. specijalni slučajevi) Proces primene: • Prototip (može biti odbačen) (dodatak analizi zahteva: brzo pravljenje prototipova (“rapid prototyping”) • Postupno napredovanje ka finalnom proizvodu (evolutivni razvoj softvera (“evolutionary softwaredevelopment”))
  • 28. 28 EVOLUTIVNI MODEL Faktori rizika: • zahteva se da sistem odmah ima punu funkcionalnost • resursi se ne mogu vezati na duži rok • loša struktura softvera, teškoća za održavanje • teškoće u praćenju napredovanja razvoja Preference: • Potrebno je odmah obezbediti delimičnu funkcionalnost. • Sistem se prirodno deli u inkrementalneceline. • Inkrementalni karakter materijalnih i/ili ljudskih resursa. • Potrebna je povratna veza sa korisnikom da bi se u potpunosti sagledali zahtevi. inteligenciju). • Omogućava praćenje tehnoloških promena. • razvija sistem po fazama, ali za razliku od inkrementalnog modela dopušta da zahtevi inicijalno nisu sasvim precizirani i definisani. Zahtevi se inicijano parcijalno definišu i preciziraju u kasnijim fazama.
  • 29. 29 3. Modeli procesa a) Uvod b) Pregled postojećih modela c) Model vodopada d) V model e) Iterativno inkrementalni model f) Evolutivni (prototipski) model g) Spiralni model h) Agilne metodologije
  • 30. 30 Spiralni model po Boehm-u (1988) Odredjivanje ciljeva, alternativa i dodatnih zahteva za svaki novi ciklus Procena alternativa; identifikacija i smanjenje rizika Planiranje sledećih koraka, tj. sledećeg ciklusa u spirali Konstrukcija i testiranje tekućeg proizvoda kraj ciklusa: Pregled Napredovanje projekta po spiralnim ciklusima Analiza rizika: Analiza problema: Implementacija : Planiranje:
  • 31. 31 SPIRALNI MODEL • dopunjava evolutivni model uzimajući u obzir potrebe upravljanja velikim projektima. Razvoj ide po fazama i vođen je ciljem smanjivanja rizika neuspeha. Uspešan završetak faze znači smanjenje rizika. Najriskantniji delovi se prvo realizuju. U pojedinim fazama se mogu koristiti makete (bacaju se) ili prototipovi (prerastaju u proizvod) za preciziranje specifikacije, procenu rizika i slično.