You are on page 1of 38

21.5.2019.

ICR u razvoju softvera

14:54 1

14:54 2

1
21.5.2019.

Rezultati softverskih projekata


Rezultati softverskih projekata

16%
31%
Grupa 1
Grupa 2
Grupa 3

53%

Grupu 1 - čine uspešni projekti, koji su završeni u skaldu sa predviđenim


rokom, u okviru planiranog bužeta i sa svim funkcijama i osobinama koje su
inicijalno planirane.
Grupu 2 - čine projekti koji su kompletirani, ali su premašili budžet i predviđene
rokove ili koji nude manji broj funkcija i osobina nego što je to inicijalno
specificirano.
Grupu 3 - čine neuspešni projekti, odnosno oni projekti koji su obustavljeni u
nekoj tački razvojnog ciklusa.

14:54 3

Prekoračenje budžeta i vremena


Prekoračenje % Projekata Prekoračenje % Projekata
budžeta vremena
Ispod 20% 15.5% Ispod 20% 13.9%
21 - 50% 31.5% 21 - 50% 18.3%
51 - 100% 29.6% 51 - 100% 20.0%
101 - 200% 10.2% 101 - 200% 35.5%
201 - 400% 8.8% 201 - 400% 11.2%
Preko 400% 4.4% Preko 400% 1.1%
Prekoračenje budžeta kod softverskih Prekoračenje vremena kod
projekata softverskih projekata
14:54 4

2
21.5.2019.

Broj grešaka na 1000 linija izdatog koda u softveru po


zemljama
rb Zemlje Broj rb Zemlje Broj
grešaka grešaka
1 USA 1.6 8 Švajcarska 2.5
2 Japan 1.8 9 Indija 2.6
3 Engleska 2.1 10 Grčka 2.8
4 Nemačka 2.2 11 Norveška 3.6
5 Izrael 2.3 12 Irska 3.7
6 Italija 2.5 13 Kanada 3.9
7 Francuska 2.5 Srbija i Crna 4.6
Gora

14:54 5

RAZVOJNI CIKLUS SOFTVERA

14:54 6

3
21.5.2019.

• Softversko inženjersto je disciplina/nauka koja izučava proces


razvoja tj. dizajn softvera.
• Životni ciklus jednog softvera je period koji počinje prvom fazom
razvoja (obično definicijom zahteva) a završava se prestankom
korišćenja softvera.
• Postoji više tehnika koje se primenjuju u toku životnog ciklusa
softvera. Svaka od tehnika ima svoje modele za opis.
• Više tehnika ukazuje da jedan proces nije optimalan u svim
slučajevima. Često se koriste i kombinacije više tehnika.
• Projektovanje efikasnosti upotrebe softvera treba da se odvija u
svim fazama razvoja softvera, tj. razvoj efikasnosti ne sme se
posmatrati kao izolovana aktivnost.

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.

Reši problem dok je mali

Što duže greška ostaje nedetektovana, to je potrebno duže vreme da bi se


ona otklonila. Ispravljajte greške dok su “mlade” tj kad je lakše da se one
uklone.
14:54 9

Model vodopada (waterfall)

14:54 10

5
21.5.2019.

• Nastao je ranih 70-tih godina 20. veka, kao


neposredna analogija s procesima iz drugih
inženjerskih struka (na primjer mostogradnja).
• Prema ovom modelu, razvoj softvera je niz faza
povezanih u linearno izvršavanje, od specifikacije i
analize zahteva do implementacije.
• Svaka faza odgovara jednoj ili manjem broju
srodnih aktivnosti.
• Svaka faza je praćena izradom dokumentacije kao
verifikacija odrađene celine.
14:54 11

• Model predviđa kontrolne tačke u vidu


dokumenata.
• Napredak projekta je vidljiv, ali samo kroz
dokumentaciju

• Kako taj model izgleda?

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...

...da bi model vodopada bio uspešan:

1. Da se faze u razvoju mogu povezati


2. Da je na početku poznat skup zahteva
3. Da se razume potpuno problem
4. Da može da se odredi rešenje
5. Programiranje se svodi na generisanje programskog
koda na osnovu dokumentacije

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.

• Model treba koristiti za velike sisteme gde postoje jasni


zahtevi.

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 arhitekture / osnovni dizajn


Viši nivo opisa kako bi sistem trebao da radi odnosno glavne celine,
njihove funkcije i povezanost. Postoje specijalizovane struktuirane tehnike
za dizajniranje arhitekture softvera.

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.

• Kodovanje i testiranje delova softvera


• Integracija i testiranje
– Pošto se izvrši verifikacija ispravnosti komponenata, vrši se
integracija i novo testiranje
• Održavanje
– Stalna povratna sprega sa ostalim delovima dizajna

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.

Iterativni dizajn i prototipovi


• Potpuni zahtevi kod interaktivnih sistema obično
ne mogu biti definisani na početku dizajan.
• Razvoj i testiranja su najčešće izvan pravih
korisnika. Dizajn se ostvaruje u više koraka tako
da ispravi nedostatke uočene tokom procesa. Ovo
je suština iterativnog dizajna.
• Ovim dizajnom se rešava problem nekompletne
specifikacije i nedovoljno poznatih ograničenja,
dakle postepenim uvećavanjem korisnosti
proizvoda.
14:54 21

Tipovi iterativnog dizajna (prototyping)


• Iterativni dizajn je karakterisan prototipovima
koji nemaju sve potrebne karakteristike.
• Postoje 3 osnovna pristupa tj. metode pri
izradi prototipova.

14:54 22

11
21.5.2019.

Metoda odbacivanja - Throw-away


• Prototip se pravi i testira. Dizajn se
unapredjuje svakom iteracijom, ali se i svaki
prototip, koji ne zadovoljava odbacuje.
Početni Izrada Procena
zahtevi prototipa prototipa

Konačni
OK?
zahtevi

14:54 23

Inkrementalna metoda
Dizajn komponenti/prototipa

Identifikacija
komponenti

OK? Rad i održavanje

14:54 24

12
21.5.2019.

Inkrementalni razvoj

• Konačan proizvod je sastavljen od odvojenih


komponenti.
• Postoji jedan sistem i zajednički dizajn, ali je
on izdeljen na nezavisne delove. Konačan
proizvod je celina od više odvojenih rešenja
koji se posebno projektuju.
14:54 25

Evoluciona metoda

Izrada
prototipa

Procena
prototipa

Rad i održavanje

14:54 26

13
21.5.2019.

• Prototip se ne odbacuje i služi kao osnova za


sledeću iteraciju u dizajnu.
• Sistem se razvija od primitivnog sa veoma
ograničenim svojstvima do konačne verzije.

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

Skram – eng. Scrum

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.

• Na ovom sastanku se definiše plan za naredna 24 časa.


• Uzima se u obzir šta je završeno u odnosu na prethodni
dnevni skram. Dnevni skram omogućava praćenje
dosezanja skram cilja. Voda skrama organizuje
sastanke. Dnevni skram omogućava bolju komunikaciju,
donošenje odluka i unapređuje celokupno znanje tima.
Daje odgovore na:
– Šta ste uradili juče?
– Šta planirate danas?
– Ima li problema?

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.

• Predstavlja pregled onog što se događalo tokom


prethodnog, a pre narednog sprinta.
• Svi članovi tima daju svoj pogled na protekli sprint.
• Svrha je poboljšanje procesa u smislu odnosa ljudi,
procesa, alata.
• Retrospektiva omogućava bolju radnu atmosferu,
olakšanje procesa razvoja, posvećenost kvalitetu i nova
znanja koja će biti korisna u narednom sprintu.

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.

Lista zahteva proizvoda


• Sadrži listu svih zahteva kao što su: funkcionalnosti,
ispravke, unapređenja koje treba da se urade na
proizvodu kroz buduće inkremente. Mogu biti
prikazane kroz korisnički opis.
• Stavke ove liste imaju opis, prioritet, procenu
vremena.
• Za ovu listu odgovoran je vlasnik proizvoda.

14:54 43

Lista zadataka sprinta


• Predstavlja listu zadataka za jedan sprint. Lista se
formira na osnovu liste zahteva proizvoda, izborom
stavki najvećeg prioriteta i na osnovu procene koliko
tim može da uradi.
• Na osnovu liste zahteva proizvoda tim deli formira
zadatke. Zadaci se nikada ne dodeljuju, već zadatke
preuzimaju članovi tima u skladu sa postavljenim
prioritetima i veštinama. Na ovaj način se forsira
samoorganizovanje razvojnog tima. Često se za
predstavljanje zadataka i njihovog statusa (to do, in
progress, done,…) koristi tabla zadataka i koristi neki
alata.

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.

• Burndown grafikoni su korisni jer pružaju


uvid u način na koji tim radi. Na primer:
– Ako primetite da tim dosledno završava rad ranije, to može
biti znak da se oni ne obavezuju na dovoljno posla tokom
planiranja sprinta.
– Ako dosledno propuštaju svoju prognozu, to može biti znak
da su se obavezali na previše posla.
– Ako grafikon naglog pada pokazuje nagli pad tokom
sprinta, to može biti znak da rad nije tačno procijenjen ili
pravilno oboren.

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

Kognitivni modeli - tipovi

1. Hijerarhijski modeli po strukturi ciljeva i zadataka

2. Lingvistički i gramatički modeli

3. Fizički modeli

4. Modeli arhitektura

14:54 50

25
21.5.2019.

HIJERARHIJSKI MODELI

14:54 51

Hijerarhijski modeli ciljeva i zadataka


o Ovi modeli modeluju mentalne obrade po inženjerskom principu:
podeliti veliki problem na veći broj manjih i njih prvo rešiti.

o U nastavku razmotrićemo modele za oba aspekta (ciljevi i zadaci)

• Primer hijerarhijske podele na sitnije zadatke: izrada izveštaja o prodatim


knjigama
Sakupljanje podataka
. naći imena knjiga
. . pretražiti ključne reči imena u bazi podataka
. . . … definisati sledeće podciljeve
. . proći kroz imena i uvode ručno
. . . … definisati sledeće podciljeve
. pretraga baze prodaje - dalje na podciljeve
Izrada tabela i histograma – dalje na podciljeve
Izrada opisa, upustava - dalje na podciljeve
Gde stati sa dekompozicijom?

14:54 52

26
21.5.2019.

Ciljevi naspram zadataka

• ciljevi – namere
Šta želimo da uradimo?

• zadaci – akcije
Kako ćemo to postići?

14:54 53

MODELI

14:54 54

27
21.5.2019.

1. Goals, Operators, Methods and Selection (GOMS)

2. Cognitive Complexity Theory (CCT)

3. Hierarchical Task Analysis (HTA)

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

Tačke označavaju nivo


.
.
PULL-DOWN-FILE-MENU
CLICK-OVER-CLOSE-OPTION
M
GOAL: USE-CTRL-W-METHOD
. PRESS-CONTROL-W-KEYS]

U slučaju određenog korisnika - izbor:

Rule 1: Odaberi USE-MENU-METHOD osim ako drugo


pravilo nije primenjeno
Rule 2: Ako je aplikacija GAME,
odaberi CTRL-W-METHOD

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.

Teorija kognitivne kompleksnosti – CCT


Cognitive Complexity Theory

• Predstavlja proširenje GOMS modela.


• CCT sadrži dva paralelna opisa:
1. Korisnik: Opis pravila – slično GOMSu, hijerarhijska su,
ali iskazana kao pravila (ne ciljevi)– production rules.
2. Sistem: Tranziciona mreža računara tj. uređaja.

1. Pravila su oblika:
• if uslov then akcija
• uslov je neka naredba vezana za radnu memoriju

2. Tranziciona mreža pokriva model dijaloga

14:54 59

Primer: editovanje pomoću vi


• Korisnik je napravio grešku kucajući neki tekst. Zapazio je grešku.
• Produkciona pravila su u dugotrajnoj memoriji (podsećam da se
radi o kogninitivnim modelima)
• Sadržaj radne memorije je prikazan kao svojstvo-vrednost:

(GOAL perform unit task)


(TEXT task is insert space)
(TEXT task is at 5 23)
(CURSOR 8 7)

14:54 60

30
21.5.2019.

Ubacivanje jednog space-a vi editorom


Pravila za ubac. praznine:
SELECT-INSERT-SPACE Novo stanje u radnoj memoriji
INSERT-SPACE-MOVE-FIRST (GOAL insert space)
INSERT-SPACE-DOIT (NOTE executing insert space)
INSERT-SPACE-DONE (LINE 5) (COLUMN 23)

SELECT-INSERT-SPACE
pravila odgovaraju stanju u r.m.?

Stanje u radnoj memoriji:


(GOAL perform unit task) (SELECT-INSERT-SPACE
(TEXT task is insert space)
IF (AND (TEST-GOAL perform unit task)
(TEXT task is at 5 23)
(CURSOR 8 7) (TEST-TEXT task is insert space)
(NOT (TEST-GOAL insert space))
(NOT (TEST-NOTE executing insert space)))
THEN ( (ADD-GOAL insert space)
(ADD-NOTE executing insert space)
(LOOK-TEXT task is at %LINE %COLUMN)))
14:54 61

CCT karakteristike

• Paralelno modelovanje: cilj korisnika +


uredjaj(odziv)
• Akcije su u procedurama
• Vrste stilova/pravila: početnički vs. eksprertski
• Greške se mogu predstavljati
• Merenja
– Dubina strukture ciljeva
– Broj pravila
– Poređenja sa opisom uređaja

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

• Dve najčešće notacije:


• Backus–Naur Form (BNF)
• Task–Action Grammar (TAG)

14:54 64

32
21.5.2019.

Backus-Naur Form (BNF)


• Veoma uobičajena notacija iz računarske tehnike
• Čist sintaksni pogled na dijalog.
• BNF notacije se sastoji od dve vrste akcija:
1. Završne akcije - terminals
1. najniži nivo korisničkog ponašanja u interakciji
2. na pr. CLICK-MOUSE, MOVE-MOUSE
2. Akcije koje nisu završne - nonterminals
1. izazivanje završnih akcija
2. viši nivo apstakcije
3. na pr. select-menu, position-mouse

14:54 65

Primer BNF modela


• Osnovna sintaksa:
– nonterminal ::= expression // (...je definisan kao...)
• Izraz
– Sadrži terminale (velika slova) odnosno neterminale (mala slova)
– Koji se kombinuju u sekvencu pomoću (+) ili alternativa pomoću (|)

draw line ::= select line + choose points + last point


select line ::= pos mouse + CLICK MOUSE
choose points ::= choose one | choose one + choose points
choose one ::= pos mouse + CLICK MOUSE
last point ::= pos mouse + DBL CLICK MOUSE
pos mouse ::= NULL | MOVE MOUSE+ pos mouse

14:54 66

33
21.5.2019.

Merenja pomoću BNF


• Broj pravila

• Broj + , | operatora

• Nedostaci
– ista sintaksa za različite semantike
– nema refleksije u odnosu na korisničku
percepciju
– minimum provera konzistentnosti
14:54 67

Task Action Grammar (TAG)


• Nadogradnja na BNF.
• Uvodi parametarizovana gramatička pravila radi
isticanja.
• Čini konzistentnost eksplicitnijom.
• Uključuje i korisničko znanje.
• Parametrizuje gramatička pravila.
• Nonterminals se modifikuju tako da uključuju
dodatne semantičke karakteristike.

14:54 68

34
21.5.2019.

Doslednost u TAG modelu


• Primer: Model BNF, opisuje tri UNIX komande na
sledeći način:
copy ::= cp + filename + filename | cp + filenames + directory
move ::= mv + filename + filename | mv + filenames + directory
link ::= ln + filename + filename | ln + filenames + directory

• TAG ista pravila može prikazati

link::= ln + filename + filename | ln + directory + filenames

14:54 69

• Konzistentnost redosleda argumenata čini eksplicitnu


upotrebu parametara ili semantičkih karakteristika za
operacije na fajlovima.
• Parametri
Op = copy; move; link

• 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.

Fizički model i model uređaja (KLM)


• The Keystroke Level Model
• Pojednostavljena verzija GOMSa (Card & Moran (1980)). Vreme
izvršavanja se računa pomoću sekvence operacija i sume vremena
potrebnih za svaku operaciju. KLM sažima sve perceptualne i kognitivne
funkcije.
• Bazira se na empirijskom poznavanju
čovekovog motornog/pokretačkog sistema.
• Korisnički zadatak: razumevanje i izvršavanje.
• Komplementaran sa hijerarhijskim modelima
zasnovanim na ciljevima.

14:54 71

Keystroke Level Model (KLM)


• Najniži nivo (početnog) GOMS modela
• 6 faza izvršavanja:
• Psihička+motorika: K – pritisak na neki taster(shift,alt,F1,...
engl.Keystroking)
B – pritisak na taster miša (engl. Button)
P – pomeranje miša do cilja (engl. Pointing)
H – prebacivanje sa tast. na miša (engl.
Homing)
D – crtanje koristeći miša (engl. Drawing)
• Mentalni M –mentalna priprema za fizičku akciju (engl.
Mental preparation)

• Sistem R – odziv (engl.Response)


• Model predviđa vreme za izvršenje neke akcije.
• Vremena koja učestvuju u ukupnom vremenu izvršavanja su empirijski određena.
Texecute = TK + TB + TP + TH + TD + TM + TR

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.

* Proširenje cilja MOVE-TEXT


GOAL: MOVE-TEXT
. GOAL: CUT-TEXT
. . GOAL: HIGHLIGHT-TEXT
. . . [select**: GOAL: HIGHLIGHT-WORD
. . . . MOVE-CURSOR-TO-WORD
. . . . DOUBLE-CLICK-MOUSE-BUTTON
. . . . VERIFY-HIGHLIGHT
. . . GOAL: HIGHLIGHT-ARBITRARY-TEXT
. . . . MOVE-CURSOR-TO-BEGINNING 1.10
. . . . CLICK-MOUSE-BUTTON 0.20
. . . . MOVE-CURSOR-TO-END 1.10
. . . . SHIFT-CLICK-MOUSE-BUTTON 0.48
. . . . VERIFY-HIGHLIGHT] 1.35
. . GOAL: ISSUE-CUT-COMMAND
. . . MOVE-CURSOR-TO-EDIT-MENU 1.10
. . . PRESS-MOUSE-BUTTON 0.10
. . . MOVE-CURSOR-TO-CUT-ITEM 1.10
. . . VERIFY-HIGHLIGHT 1.35
. . . RELEASE-MOUSE-BUTTON 0.10
. GOAL: PASTE-TEXT
. . GOAL: POSITION-CURSOR-AT-INSERTION-POINT
. . MOVE-CURSOR-TO-INSERTION-POIONT 1.10
. . CLICK-MOUSE-BUTTON 0.20
. . VERIFY-POSITION 1.35
. . GOAL: ISSUE-PASTE-COMMAND
. . . MOVE-CURSOR-TO-EDIT-MENU 1.10
. . . PRESS-MOUSE-BUTTON 0.10
. . . MOVE-MOUSE-TO-PASTE-ITEM 1.10
. . . VERIFY-HIGHLIGHT 1.35
. . . RELEASE-MOUSE-BUTTON 0.10
TOTAL TIME PREDICTED (SEC) 14.38

14:54 75

38

You might also like