New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na...

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

Transcript of New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na...

Page 1: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

1

Procesi razvoja

softvera

Prof. dr Pere TumbasProf. dr Predrag Matković

Page 2: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

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: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

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: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

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: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

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;

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 6: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

6

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 7: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

7

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;

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 8: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

8

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 9: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

9

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 10: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

10

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 11: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

11

Karakteristike modela

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 12: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

12

Prednosti modela:

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 13: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

13

Procesni model unificiranog procesa razvoja

(Unified Process)

Page 14: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

14

Karakteristike modela 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: početak, elaboracija, konstrukcija i tranzicija.

Page 15: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

15

Karakteristike modela 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 16: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

16

Karakteristike modela

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 17: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

17

Prednosti i nedostaci modela Poseduje prednosti i nedostatke identifikovane kod

inkrementalnog modela i spiralnog modela jer podržava iteracije i permanentnu analizu rizika.

Page 18: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

18

Procesni modeli agilnog razvoja

Extreme Programming (XP)

Adaptive Software Development (ASD)

Dynamic Systems Development Method (DSDM)

Scrum

Crystal

Feature Driven Development (FDD)

Agile Modeling (AM)

Page 19: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

19

Karakteristike modela

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 20: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

20

Procesni modeli agilnog 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 21: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

21

Kombinovani modeli

Prikupljanje i selekcija zahteva

AnalizaSpiralni

modelPrototip 4GT

4GT

Testi ranje

Iteraci je

Dizajn

Kodiranje

4GT

Iteraci je

Sistem

Održavanje

Page 22: New Prof. dr Pere Tumbas Prof. dr Predrag Matković · 2020. 2. 6. · Model zasnovan na komponentama "A" "B" "C" Model softver komponenti Model softver komponenti Model softver komponenti

22

Hvala na pažnji!