prof. dr pere tumbas prof. dr predrag matković · primitivna verzija softvera koju korisnik može...

23
1 Procesi razvoja softvera Prof. dr Pere Tumbas Prof. dr Predrag Matković

Upload: others

Post on 04-Sep-2019

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

1

Procesi razvoja

softvera

Prof. dr Pere TumbasProf. dr Predrag Matković

Page 2: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

2

Model prototipskog razvoja

Prikupljanje i

selektiranje

zahteva

Brzi

diza

jn

Redefin

isanje

pro

totip

a

Evaluacija

prototipa od

korisnika

Inži

njer

ski

proiz

vod

Izgradnja

prototipa

START

STO

P

Page 3: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

3

Karakteristike modela:

Razvija se inicijalni model softvera koji simulira njegove stvarne funkcije, sa ciljem da korisnik da svoj sud i odluči u pogledu zahteva;

Funkcionalna specifikacija proizvoda čini ulaz koji omogućuje preskakanje aktivnosti dizajna.

U najranijem periodu korisnik vidi način kako će se njegovi zahtevi zadovoljiti;

Komponente su najčešće korisnički interfejs, da bi se ostvarila povratna sprega sa korisnikom.

Konačna verzija rešenja se tek kasnije specificira i dizajnira;

Aktivnosti dizajna se inicijalno preskaču, i izrađuje primitivna verzija softvera koju korisnik može i samostalno razvijati;

Korisnik aktivno učestvuje u razvoju softvera, što obezbeđuje unapređenje kvaliteta;

Page 4: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

4

Prednosti modela:

Povećana brzina i kreativnost u razvoju.

Stalno obezbeđenje radne verzije proizvoda, koji služi analizi funkcionalnosti, performantnosti, adaptibilnosti i troškova.

Korisnik je stalno i maksimalno uključen i može menjati svoje zahteve što unapređuje kvalitet proizvoda.

Page 5: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

5

Nedostaci modela:

Nemogućnost kvalitetne i tačne procene i planiranja resursa.

Korisnik uočava radnu verziju softvera neznajući kako su njegovi delovi povezani, neznajući da aspekti kvaliteta u izgradnji nisu uzeti u obzir;

Korisnik viđenu radnu verziju smatra konačnom i nije spreman čekati dogradnju, već se smatra prevarenim;

Projektanti čine kompromise u izgradnji da bi se prototipovi stavili što pre u funkciju, pa tako manje kvalitetna rešenja ostaju u upotrebi;

Page 6: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

6

Nedostaci modela:

Razvoj je dosta nekontrolisan.

Velika je verovatnoća da se zamena prototipa sa pravim proizvodom neuspešno okonča.

Dokumentacija za pravi proizvod uglavnom retko bude napravljena.

Neophodan je dogovor na startu projekta kojim bi se saglasili projektant i korisnik da prototip služi kao mehanizam definisanja zahteva, a sistem se razvija u cilju zadovoljenja kvaliteta i mogućnosti održavanja;

Page 7: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

7

Spiralni model

Analiza rizika

inicijalnih zahteva

Analiza rizika na

korisničkim reakcijama

Donošenje odluke DA - NE !

Inicijalni prototip

Naredni nivo

Razvijeni sistem

Inžinjering

(razvoj narednog nivoa proizvoda)

Razvoj alternativa i analiza rizika

Kumulativni troškovi

Planiranje

Prikupljanje zahteva

i planiranje projekta

Planiranje na korisničkim

komentarima

Procene korisnika

Procene korisnika

Page 8: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

8

Karakteristike modela:

Model se predstavlja spiralom sa četiri vrste

aktivnosti: planiranje, analiza rizika, inženjering i

ocenjivanje.

Tokom svakog ciklusa se identifikuje, analizira i

umanjuje rizik koji predstavlja uslov za prelazak u

novi ciklus;

Rad se terminira kada se konstatuje da je rizik veliki;

Inženjering se obavlja u svakom ciklusu po modelu

vodopada ili modelu prototipskog razvoja.

Broj aktivnosti raste, koliko se ciklusi udaljuju od

centra spirale;

Page 9: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

9

Karakteristike modela:

Svakom iteracijom se razvija kompletnija i složenija

verzija softvera, ali se realizuju i značajno viši

troškovi;

Ukoliko se rizik ne identifikuje i ne analizira na

vreme, on može proizvesti brojne negativne

posledice;

Page 10: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

10

Prednosti modela:

U kratkom vremenskom intervalu se realizuje

funkcionalan proizvod.

Fleksibilnost u upravljanju fazom inženjeringa i

mogućnost kombinovanja različitih pristupa.

Svaki ciklus razvoja se završava ocenom rizika, koja

predstavlja osnovu daljeg razvoja;

Ponavljanje strogo definisanog redosleda koraka pri

čemu se stalno smanjuje stepen apstrakcije u

realizaciji;

Najrealniji model razvoja softvera za velike sisteme, jer omogućuje brzu reakciju na uočeni rizik;

Poseduje ugrađenu sistematičnost i temeljitost modela vodopada, ali istovremeno i mogućnost izvođenja iteracija i prototipskog razvoja;

Page 11: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

11

Nedostaci modela:

Odsustvo veze prema postojećim standardima razvoja;

Zahteva više uniformnosti i konzistentnosti u razvoju;

Skup model za primenu na malim projektima jer analiza rizika zahteva specifične ekspertize koje su troškovno intenzivne.

Probleme stvara neblagovremeno otkrivanje rizika, koji multiplikuju probleme;

Relativno kratko vreme primene, oskudno iskustvo i veoma uska primena;

Page 12: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

12

Model zasnovan na komponentama

"A" "B"

"C"

Model softver

komponenti

Model softver

komponenti

Model softver

komponenti

Komponente softvera

za ponovnu upotrebu

Komponente softvera

za ponovnu upotrebu

Page 13: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

13

Model zasnovan na komponentama

Osnovni pristup je konfigurisati i specijalizirati

postojeće komponente proizvoda.

Višestruko korišćenje uključuje:

Prethodno testiran kod,

Prethodno proveren dizajn,

Prethodno razvijene i korišćene specifikacije

zahteva,

Prethodno korišćene procedure testiranja.

Page 14: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

14

Model zasnovan na komponentama

Koristi ponovnog korišćenja komponenti:

Podiže robustnost proizvoda.

Povećava produktivnost izrade troškova i smanjuje

troškove razvoja.

Podiže kvalitet proizvoda putem višestruko

proverenih komponenti.

Skraćuje vreme izrade.

Obezbeđuje adekvatnu dokumentaciju i lakše

razumevanje proizvoda.

Olakšava održavanje proizvoda.

Page 15: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

15

Procesni model sjedinjenog procesa razvoja

(Unified Process)

Page 16: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

16

Procesni model sjedinjenog procesa razvoja

(Unified Process)

Zasnovan na najboljim osobinama i pogodnostima konvencionalnih modela sa uvođenjem brojnih principa modela agilnog razvoja;

Preporučuje iterativni i inkrementalni proces razvoja, obezbeđujući evolutivnost;

Vremensku dimenziju čine ključni elementi UP su aktivnosti u sledećim fazama: inception, elaboration, construction i transition.

Page 17: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

17

Procesni model sjedinjenog procesa razvoja

(Unified Process)

Početak: opšta vizija zahteva, inicijalni model slučajeva upotrebe, inicijalna procena rizika, plan projekta, prototipovi.

Elaboracija: analiza domena problema, postavljanje arhitekture sistema, razvoj plana projekta, identifikacija rizika

Konstrukcija: detaljni dizajn, razvoj komponenti i aplikacija, testiranje i njihova integracija, izrada uputstava i priručnika.

Tranzicija: predaja korisnicima, ispravka problema, dokumentovanje, obuka korisnika i sinhronizacija.

Page 18: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

18

Procesni model sjedinjenog procesa razvoja

(Unified Process)

Drugu dimenziju modela čine discipline - procesi:

Poslovno modelovanje,

Zahtevi,

Analiza i dizajn,

Implementacija,

Testiranje,

Uvođenje.

Procesi se odvijaju kroz faze manje ili više u svakoj

iteraciji.

Page 19: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

19

Procesni model sjedinjenog procesa razvoja

(Unified Process)

Poseduje prednosti i nedostatke identifikovane kod inkrementalnog modela i spiralnog modela jer podržava iteracije i permanentnu analizu rizika.

Page 20: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

20

Agilni modeli razvoja

Veliki broj modela sa izraženom sličnošću i

filosofijom;

Principi agilnog procesa razvoja su:

Zadovoljenje korisnika ranom i neprestanom

isporukom upotrebljivog softvera,

Stalne izmene zahteva korisnika,

Kratki razvojni ciklusi,nekoliko nedelja do par

meseci,

Stalni interaktivan rad korisnika i inženjera,

Učesnici su motivisani, ljubazni, talentovani,

komunikativni “lice u lice”,

Jednostavnost,

Samoorganizovani timovi sa podelom

odgovornosti.

Page 21: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

21

Agilni modeli razvoja

Modeli su neprikladni u situacijama:

Nekooperativne organizacije,

Promenljivi procesi u organizacijama sa staloženim i

mirnim članovima tima vodi raspadu,

Veliki broj članova tima,

Modeli su pogodni u situacijama:

Timovi do 9 članova,

Specifični, kompleksni i visoko-promenljivi projekti,

Okruženje orijentisano na ljude i saradnju.

Page 22: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

22

Kombinovani modeli

Prikupljanje i selekcija zahteva

AnalizaSpiralni

modelPrototip 4GT

4GT

Testi ranje

Iteraci je

Dizajn

Kodiranje

4GT

Iteraci je

Sistem

Održavanje

Page 23: Prof. dr Pere Tumbas Prof. dr Predrag Matković · primitivna verzija softvera koju korisnik može i samostalno razvijati; ... komunikativni “lice u lice”, Jednostavnost, Samoorganizovani

23

Hvala na pažnji!