Professional Documents
Culture Documents
Predavanje Icr
Predavanje Icr
14:54 1
14:54 2
1
21.5.2019.
16%
31%
Grupa 1
Grupa 2
Grupa 3
53%
14:54 3
2
21.5.2019.
14:54 5
14:54 6
3
21.5.2019.
14:54 7
Primena modela
• Primena omogućava:
• 1. Analizu projekta (problemi…)
• 2. Planiranje troškova, vremena, resursa
• 3. Organizovanje i upravljanje poslovima
14:54 8
4
21.5.2019.
14:54 10
5
21.5.2019.
14:54 12
6
21.5.2019.
Specifikacija
Osnovni dizajn
Detaljan dizajn
Kodovanje i
testiranje delova
Povezivanje
I testiranje
Održavanje i rad
14:54 13
Preduslovi...
14:54 14
7
21.5.2019.
• Prednosti:
– Model omogućuje lagano praćenje stanja u kojem se softverski
proces nalazi.
– Model je dobro prihvaćen od menadžementa.
• Mane:
– Navedene faze u praksi je teško razdvojiti, pa dolazi do
naknadnog otkrivanja grešaka i vraćanja u prethodne faze.
– Zbog tendencije da se zbog poštovanja rokova u odredenom
trenutku “zamrzne” pojedina faza, može se desiti da je sistem u
trenutku puštanja u rad već neažuran.
14:54 15
Celine razvoja
Specifikacije
Dizajner i klijent pokušavaju da sagledaju namere odnosno cilj i da to
prenesu u preciznije definicije. Na primer što se radi postupkom analize
zadataka.
Dizajn detaljniji
Razrađivanje komponenti osnovnog dizajna tj celina softvera u razvoju kao
i elemente odnosno način njihovog povezivanja.
14:54 16
8
21.5.2019.
14:54 17
Problemi - održavanje
Specifikacija
Osnovni dizajn
Detaljan dizajn
Kodovanje i
testiranje delova
Povezivanje
I testiranje
Održavanje i rad
14:54 18
9
21.5.2019.
V model
V-model kao ima faze slično metodi
vodopada i u sledeću fazu prelazi se
ako je završena prethodna s tim da:
Svaka faza razvoja ima odgovarajuću
fazu testiranja.
Prelaz u narednu fazu određen je
testiranjem.
Testiranja se planiraju sa svakom
fazom.
14:54 19
Specifičnosti V modela
Prelaz je definisan ispunjavanjem određenih uslova:
• Iz faze analize zahteva se prezlazi u fazu specifikacije zahteva samo ako su
analizirani zahtevi i ako je definisano kako će se obaviti provera prihvatljivosti.
• U fazu dizajna sistema se prelazi kada je završena specifikacija zahteva i funkcija
sistema i definisano kako će se obaviti provera kompletnog sistema.
• Projektovanje pojedinih komponenata se obavlja kada je završeno projekotanje
celokupnog sistema i kada je definisano testiranje komponenata.
• Pisanje koda se vrši kada su dizajnirani moduli koji će se raditi i ako je definisano
kako će se ti moduli testirati.
Različiti nivoi testiranja:
• Pojedinično testiranje - provera pojedinih delovi (moduli, komponente, forme).
• Test integracije - test provere povezanosti pojedinačnih komponenata.
• Sistemsko testiranje – test celog sistema.
• Test prihvatljivosti - krajnji korisnici utvrđuju da li je dobijeno ono što im treba.
14:54 20
10
21.5.2019.
14:54 22
11
21.5.2019.
Konačni
OK?
zahtevi
14:54 23
Inkrementalna metoda
Dizajn komponenti/prototipa
Identifikacija
komponenti
14:54 24
12
21.5.2019.
Inkrementalni razvoj
Evoluciona metoda
Izrada
prototipa
Procena
prototipa
Rad i održavanje
14:54 26
13
21.5.2019.
14:54 27
Agilne metode
14:54 28
14
21.5.2019.
manifest 2001
• Pojedinci i interakcija između njih važnija je od procesa i alata.
Projektnom timu se mora obezbediti resursi i imati poverenje u to
da će oni svoje poslove uraditi dobro. Timovi se samoorganizuju i
komuniciraju direktno.
• Primarno merilo uspeha je stepen do koga softver radi ispravno.
• Pažnja je na zajedničkom radu sa krajnjim korisnikom, umesto na
proces ugovaranja i pregovaranja, čime se naručilac uključuje u
razvojnog procesa.
• Pažnja u pravcu brzog prilagođenja na promene. Smatraju da nije
moguće predvideti sve zahteva na početku razvojnog procesa.
• Predstavnici agilnih metodologija razvoja:
• • Ekstremno programiranje (XP)
• • Scrum
14:54 29
14:54 30
15
21.5.2019.
Šta je Skram
• Skram je tehnika agilnog razvoja softvera.
• Koristi iterativni i inkrementalni način razvoja.
• Podrazumeva timove, odgovarajuće uloge i
pravila.
14:54 31
Uloge
1. Vlasnik proizvoda (eng. Product Owner). Predstavlja naručioca tj.
klijenta. Jedna osova. Odgovara za sadržaj kao i za prioritete poslova u
listi poslova tzv. backlog. Svi moraju da poštuju njegove odluke.
2. Vođa tima (eng. Scrum Master). Organizator poslova u timu. Odgovoran
je da tim ima sve što mu je potrebno, organzuje sastanke, vrši nadzor.
Pomaže da svako u timu razume svoj posao, da se tim samoorganizuje ali
i vlasniku proizvoda da efikasno upravlja listom poslova. Može biti deo
razvojnog tima, ali ne i vlasnik proizvoda.
3. Tim. Grupa profesionalaca koja učestvuje u razvoju istog proizvoda. Tu su
programeri, dizajneri, testeri. On rade konkretne zadatke u domenu
dizajna, kodovanja, testiranja itd. Oni isporučuju određena unapređenja
tokom razvoja. Odgovornost uvek pripada timu kao celini. Razvojni tim
ne prepoznaje titule, odnosno svi članovi tima su jednaki. Ne postoje ni
podtimovi, uprkos potrebama, npr. testiranje ili analiza poslova.
Optimalan broj članova tima je izmedu 5 i 9 ljudi.
14:54 32
16
21.5.2019.
Događaji
• Događaji u skramu su:
– planiranje izdanja,
– sprint,
– planiranje sprinta,
– dnevni skram,
– revizija sprinta i
– retrospektiva sprinta.
• Dogadaji postoje radi obezbeđivanje scrum procesa.
Dogadaji su vremenski ograničeni, odnosno svaki
dogadaj ima maksimalno vreme trajanja.
14:54 33
Planiranje sprinta
• Traje od 2 do 12 sati. Obično 8 sati.
• Planiraju se ciljevi u narednih 7 do 30 dana.
• Konkretizuju se poslovi koji će da se rade (tj.
šta se može isporučiti sa inkrementom.
• Priprema se lista poslova (eng. Sprint Backlog)
kao i vreme koje će trebati da se urade ti
poslovi. Učestvuje ceo tim.
14:54 34
17
21.5.2019.
Sprint
• Od 1 nedelje do 2 meseca. Najčešće 2 nedelje.
• Jedan sprint je jedna iteracija.
• Ovo je ključni koncept skrama. Vremenski je ograničen. Za
taj period se formira upotrebljiv, potencijalno isporučiv
inkrement proizvoda.
• Novi Sprint počinje odmah po zaključivanju prethodnog.
• Sprint se sastoji od sledećih događaja i aktivnosti:
– Sastanak planiranja Sprinta, (Sprint Planning)
– Dnevni Scrum ili brifing (Daily Scrum),
– razvoj proizvoda,
– Pregled Sprinta (Sprint Review) i
– Osvrt/Retrospektiva na Sprint (Sprint Retrospective).
14:54 35
Skram proces
14:54 36
18
21.5.2019.
Otkaz sprinta
• Ukoliko ostvarivanje cilja sprinta, recimo zbog
kompleksnosti ili problema, nadmašuje vreme sprinta,
može se uraditi promena plana ili promene rokova. Sprint
se može otkazati pre isteka roka. Samo vlasnik proizovda
ima mogućnost otkazivanja sprinta, iako to može uraditi
pod uticajem tima ili skram vođe.
• Sprint se može otkazati ukoliko njegov cilj gubi smisao u
novonastalim okolnostima ili je zastareo.
• Otkazivanje sprinta se dešava veoma retko. Kada dode do
otkazivanja sprinta, sve završene stavke sa liste zadataka
proizvoda se preispituju i ukoliko se smatraju napretkom,
vlasnik proizvoda ih najčešće prihvata. Sve nezavršene
stavke se vraćaju na listu zadataka i sav rad na njima se
briše.
14:54 37
Dnevni skram
• Traje 15 min.
14:54 38
19
21.5.2019.
Revizija sprinta
• Traje od 1 do 8 sati. Najčešće 4 sata.
• Pregled poslova koji su završeni sa liste
poslova. Takođe i šta nije. Uraditi korekciju
liste poslova.
• Eventualna prezentacija završenog posla
zainteresovanim stranama ("demo").
14:54 39
Retrospektiva sprinta
• Traje od 1sat do 6 sati. Obično 3 sata.
14:54 40
20
21.5.2019.
Inkrement
• Inkrement je skup završenih zadataka sa liste
zadataka koje su završene u sprintu.
• Inkrement mora biti završen odnosno nova verzija
mora biti u upotrebljivom stanju čak i da ga vlasnik
proizvoda ne prihvati.
• Kako bi svi članovi tima imali uvid šta se smatra
završenim, uvodi se „definicija završenog” (eng.
definition of done, DOD). Dakle, inkrement je završen
ukoliko ispunjava unapred određene uslove
definisane od strane Skram tima.
14:54 41
Artefakti
• Predstavljaju koncepte koji su deo ove tehnike a
omogućavaju komunikaciju u timu i razumevanje
proizvoda.
o Lista zadataka proizvoda (eng. Product backlog)
o Lista zadataka sprinta (eng. Sprint backlog)
14:54 42
21
21.5.2019.
14:54 43
14:54 44
22
21.5.2019.
14:54 45
Grafik sagorevanja
• Grafik prikazuje količinu posla koji je završena u sprintu, kao i ukupan preostali
rad. Ovi grafikoni se koriste za predviđanje tima da završe svoj posao u
raspoloživom vremenu. Oni su takođe odlični za održavanje tima svesnim bilo
kakvog pomaka koji se događaju.
14:54 46
23
21.5.2019.
Velocity (Brzina)
• Kosina u grafu sagorevanja predstavlja
prosečnu produktivnost po danu a naziva se
brzina.
• Brzina pokazuje i da li projekat ide po planu u
toku sprinta pa može pomoći da se naprave
doterivanja koja će omogućiti podešavanja
poslovova.
14:54 47
KOGNITIVNI MODELI
14:54 48
24
21.5.2019.
Uvod
• Kognitivni model opisuje korisnika u interakciji sa
interfejsom nekog sistema. Modeluje se
korisničko znanje, namera i mentalni procesi.
• Nivo opisa u modelu zavisi od tehnike
modelovanja i može se ticati ciljeva visokog nivoa
i razmišljanja pa do niskih nivoa tj nivoa fizičke tj.
motorne aktivnosti.
• Modeluju se različiti aspekti korisnika:
o razumevanje
o znanje
o namere
o obrade
14:54 49
3. Fizički modeli
4. Modeli arhitektura
14:54 50
25
21.5.2019.
HIJERARHIJSKI MODELI
14:54 51
14:54 52
26
21.5.2019.
• ciljevi – namere
Šta želimo da uradimo?
• zadaci – akcije
Kako ćemo to postići?
14:54 53
MODELI
14:54 54
27
21.5.2019.
14:54 55
GOMS model
Cilj se hijerarhijski modeluje dekompozicijom pomoću metoda.
Elemeni modela su:
Cilj - Goals
– Šta korisnik želi da postigne/dobije
Operatori - Operators
– Najniži nivo analize. Osnovne akcije koje korisnik izvršava. Na primer: pritisni X za zatvaranje
dijaloga
Metode - Methods
– Načini razdvajanja/podela u podciljeve i operatore. Na primer zatvaranje tekućeg Win prozora se
postiže pritiskom na CLOSE ili akcijom Alt+F4. U GOMSu ovo su metode za dekompoziciju.
Izbor - Selection
– Izbor odgovarajućih podciljeva/operatora u skupu mogućih metoda. (ne ostavlja se slučajan izbor)
14:54 56
28
21.5.2019.
G Primer:
S GOMS
GOAL: CLOSE-WINDOW
O
. [select GOAL: USE-MENU-METHOD
. MOVE-MOUSE-TO-FILE-MENU
14:54 57
Zadatak:
• Pomoću GOMS modela prikazati način za izbor
fonta u nekom tekst procesoru.
14:54 58
29
21.5.2019.
1. Pravila su oblika:
• if uslov then akcija
• uslov je neka naredba vezana za radnu memoriju
14:54 59
14:54 60
30
21.5.2019.
SELECT-INSERT-SPACE
pravila odgovaraju stanju u r.m.?
CCT karakteristike
14:54 62
31
21.5.2019.
LINGVISTIČKE NOTACIJE
14:54 63
Lingvističke notacije
• Modeli koji razumevanje korisničkog ponašanja
tokom interakcije i kognitivne poteškoće baziraju
na analizama jezika između korisnika i sistema.
• Slično je pri isticanju modela dijaloga
14:54 64
32
21.5.2019.
14:54 65
14:54 66
33
21.5.2019.
• Broj + , | operatora
• Nedostaci
– ista sintaksa za različite semantike
– nema refleksije u odnosu na korisničku
percepciju
– minimum provera konzistentnosti
14:54 67
14:54 68
34
21.5.2019.
14:54 69
• Pravila
file-op[Op] ::= command[Op] + filename + filename
| command[Op] + filenames + directory
command[Op = copy] ::= cp
command[Op = move] ::= mv
command[Op = link] ::= ln
14:54 70
35
21.5.2019.
14:54 71
14:54 72
36
21.5.2019.
KLM primer
GOAL: ICONISE-WINDOW
[select
GOAL: USE-CLOSE-METHOD
. MOVE-MOUSE-TO- FILE-MENU
. PULL-DOWN-FILE-MENU
. CLICK-OVER-CLOSE-OPTION
GOAL: USE-CTRL-W-METHOD
PRESS-CONTROL-W-KEY]
• poredjenja:
• USE-CTRL-W-METHOD vs. USE-CTRL-W-METHOD USE-CLOSE-METHOD
• USE-CLOSE-METHOD H[to kbd] 0.40 P[to menu] 1.1
M 1.35 B[LEFT down] 0.1
K[ctrlW key] 0.28 M 1.35
P[to option] 1.1
B[LEFT up] 0.1
Total 2.03 s Total 3.75 s
14:54 73
Primer
• Primer od John&Kieras (1996). Modeluje se zadatak prebacivanja teksta u
Word procesor.
GOAL: EDIT-MANUSCRIPT
. GOAL: EDIT-UNIT-TASK ... repeat until no more unit tasks
. . GOAL: ACQUIRE UNIT-TASK
. . . GOAL: GET-NEXT-PAGE ... if at end of manuscript page
. . . GOAL: GET-FROM-MANUSCRIPT
. . GOAL: EXECUTE-UNIT-TASK ... if a unit task was found
. . . GOAL: MODIFY-TEXT
. . . . [select: GOAL: MOVE-TEXT* ...if text is to be moved
. . . . GOAL: DELETE-PHRASE ...if a phrase is to be deleted
. . . . GOAL: INSERT-WORD] ... if a word is to be inserted
. . . . VERIFY-EDIT
14:54 74
37
21.5.2019.
14:54 75
38