IČR Predavanje 10b

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 61

1

PODRŠKA U REALIZACIJI
INTERAKTIVNIH SISTEMA
21:00
Tema časa
2

 Pregled i analiza programerskih podrški koje


omogućuju realizaciju interaktivnog sistema.
 Na ovom mestu, neophodno je razmotriti detalje
(iako je cilj da se pruže opšta saznanja i u okviru
svake teme).
 Programerski alati za podršku treba da:
 omoguće stvaranje izvršnih programa pomoću,
što savršenijih, programskih jezika.
 omoguće lakše izmene i otkrivanje grešaka.
 da budu, što je moguće više, nezavisni od
programskih platformi.
21:00
Šta sve učestvuje pri realizaciji
3
interaktivnih sistema
1. Programerske alatke
 namenjene programerima
2. Prozorski operativni sistemi
 jezgro za istovremene i odvojene korisničke akcije
3. Programiranje aplikacije i kontrola dijaloga
4. Skup alata za interakciju
 omogućuju programiranje bliže korisničkoj percepciji
5. UI upravljački sistemi
 relacija izmedju prezentacija i funkcionalnosti

21:00
4 Elementi prozorskih sistema

21:00
Karakteristike:
1. Nezavisnost od specifičnosti uređaja sa kojim se radi
5  Apstraktni terminal (engl. abstract terminal) - obezbeđuju da se
rukovanje sa terminalnim uređajima ostvaruje preko upravljačkih
programa. Tako se omogućuje jednoznačno rukovanje sa uređajima
uprkos ogromnoj raznolikosti u komandama i protokolima. Ovaj
terminal za prozorski sistem sa svojim jezikom predstavlja apstrakciju
uredjaja za prikaz – engl. imaging model.
 Termini u primeni apstrakcije prikaza:
 pixels
 PostScript (Adobe Co) – modelovanje ekrana kao kolekcije putanja
(beskonačno tanke granice oblasti)
 Graphical Kernel System (GKS) – kolekcija povezanih segmenata a svaki
segment je makro elementarnih grafičkih komandi (medj. standard)
2. Upravljanje višestrukim nezavisnim i istovremenim
aplikacijama
 omogućava istovremeno izvršavanje više akcija korisnika
 nezavisne procese
 odvojenost aplikacija

21:00
Uloga prozorskih sistema
6

21:00
Vrste arhitektura win sistema
7
Tri moguće softverske arhitekture
Sve tri podrazumevaju odvojenost upravljanja uredjaja
Razlikuju se u načinu upravljanja više aplikacija istovremeno.

1. svaka aplikacija upravlja svim procesima


 Nedostatak: svaka apl. je zadužena za sinhronizaciju sa zajedničkim objektima
 Smanjena je prenosivost odvojenih aplikacija.

2. funkcija upravljanja je unutar kernela operativnog sistema


 veza aplikacija sa operativnim sistemom

3. funkcija upravljanja je posebna aplikacija – client/server arhitektura


 maksimum prenosivosti

• U praksi podela izmedju ovih arhitektura podela nije potpuno izražena tj. realni
prozorski sistemi koriste programe i rešenja iz gotovo svih arhitektura.
• Neka aplikacija ili skup aplikacija koje funkcionišu unutar operativnog sistema mogu
deliti karakteristike svake od pomenute tri arhitekture.
• Postoje potpuno odvojene zasebne kompnente ili aplikacije, kao i one koje su
ugrađene u operativni sistem i zajedničke za sve aplikacije.
21:00
3. Klijent-server arhitektura
8

21:00
Arhitektura X Windows
9

 Klijent-server arh. razvijena


na MIT univ. sredinom
1980.

 X11 (ili samo X) server je


“pixel imaging model” sa
nekim mehanizmima
pokazivanja i selektovanja

X je zasnovan na mrežnom protokolu koji je već ranije definisao server-klijent


komunikaciju. X protokol može biti realizovan na različitim računarima ili operativnim
sistemima. Klient i server ne moraju biti na istoj mašini!
Klijenti X servera su: apstraktni terminali i/ili upravljač prozorima
21:00
10

 Funkcije X servera su:


1. reguliše prava pristupa pa i prikaza od više klientskih aplikacija
2. interpretira zahteve od klijenata za izvršavanje operacija preko
ekrana ili za dobavljanje nekih informacija
3. demultipleksira ulazni tok događaja od svakog korisnika i
prosleđuje ga odgovarajućem klijentu
4. minimizuje komunikaciju sa klijentom ostavljajući neke informacije
važećim (na primer font) kroz strukture prikaza informacija.
 Postoji mogućnost istovremenog rada više glavnih prozora
(win. menadž. klijenata). Neke njihove funkcije:
 kako se menja fokus
 uredjivanje prozora i iscrtavanje
 razmena podataka medju klijentima

21:00
X Windows
11

 U Windowsu sve aplikacije koriste iste biblioteke funkcija za prikaz


elemenata grafičkog okruženja. U Linuxu je situacija nešto drugačija.
To je operativni sistem zasnovan na Unixu.
 Ovaj sistem je zadužen za osnove funkcionisanja grafičkih okruženja
pod većinom Unix OS-ova. Većina Linux distribucija namenjenih
korisnicima koji Linux koriste kao desktop OS, dolazi sa jednim
pokrenutim X serverom. X server nudi usluge za osnovno iscrtavanje
grafike (samim tim i usluge pristupa mogućnostima grafičke karte),
usluge koje pružaju osnovu za upravljanje prozorima i usluge pristupa
ulaznim uređajima pod grafičkim okruženjem (grafičke table, miševi,
tastature i različiti pokazivački uređaji). Bilo koja grafička aplikacija
pokrenuta pod grafičkim okruženjem predstavlja X klijenta, tj.
koristi veći deo gore pomenutih usluga. Interakcija između X klijenata i
X servera obavlja se posebnim mrežnim protokolom – X protokolom
prikaza. Ovakva mrežna arhitektura omogućava korišćenje lokalnih X
aplikacija i sa udaljenih mašina, a da pri tome udaljeni korisnik ima
utisak da koristi X server na lokalnoj mašini.

21:00
Biblioteke grafičkih funkcija
12

Biblioteke grafičkih funkcija definišu izgled elemenata grafičkog korisničkog
interfejsa. Već smo pomenuli da grafički izgled većine Windows aplikacija određuje
nekoliko osnovnih biblioteka funkcija (odgovarajuće DLL datoteke). One definišu
osnovni izgled najbitnijih elemenata Windows grafičkog interfejsa i jedinstvene su za
većinu aplikacija. Kod Linuxa je to malo drugačije. Postoji više različitih biblioteka
koje daju različit izgled aplikacijama koje ih koriste. Dva najpopularnija desktop
okruženja pod Linuxom su KDE i GNOME. KDE je zasnovan na Qt, a GNOME na
GTK+ grafičkim bibliotekama. Samim tim je izgled aplikacija za jedno, odnosno
drugo okruženje, potpuno drugačiji. Ali to ne podrazumeva da nije moguće koristiti
aplikacije jednog grafičkog okruženja pod drugim. Aplikacije pisane korišćenjem Qt i
KDE biblioteka je moguće koristiti pod GNOME grafičkim okruženjem i obrnuto,
aplikacije pisane korišćenjem GTK+ i GNOME biblioteka je moguće pokrenuti pod
KDE grafičkim okruženjem. Ono što je neophodno da bi ovo i bilo moguće je da su
na računaru instalirane osnovne biblioteke koje aplikacija koristi. Međutim, zbog
razlika u načinu na koji je definisan izgled grafičkih elemenata, ovde se javlja
problem neusklađenosti izgleda aplikacija pisanih korišćenjem drugih grafičkih
biblioteka od onog koje koristi trenutno grafičko okruženje. Drugi čest problem se
javlja ukoliko aplikacija koristi određene servise drugog grafičkog okruženja. U tom
slučaju se ti servisi naknadno pokreću što značajno usporava pokretanje same
aplikacije. U nekim distribucijama (OpenSUSE na primer) je to rešeno pokretanjem
osnovnih servisa jednog desktop okruženja pri dizanju

21:00
Programiranje aplikacija
13

 Akcenat postavljamo na programiranje


klijentskih aplikacija u okruženju klijent-server.
 Aplikacije su korisnički vođene.

 Postoje dve uobičajene kontrole toka.

21:00
1. read-evaluation loop (1)
14

repeat
read-event(myevent)
case myevent.type
type_1:
do type_1 processing
type_2:
do type_2 processing
...
type_n:
do type_n processing
end case
end repeat

21:00
1. read-evaluation loop (2)
15

 Unutrašnja za svaku aplikaciju.


 Macintosh sledi ovu paradigmu.

 Server šalje korisničke ulaze kao struktuirane


događaje ka svakom klijentu. Klijent čita
događaje i određuje specifične akcije na njih.

21:00
2. notification-based (1)
16

void main(String[] args) {


Menu menu = new Menu();
menu.setOption(“Save”);
menu.setOption(“Quit”);
menu.setAction(“Save”,mySave)
menu.setAction(“Quit”,myQuit)
...
}

int mySave(Event e) {
// save the current file
}

int myQuit(Event e) {
// close down
}

21:00
2. notification-based (2)
17

 Glavna petlja za obradu događaja izmeštena je van


aplikacije. Postoji centralna obrada događaja za ceo
win sistem i filtriranja ka aplikacionom programu.
 Aplikacioni program informiše centralnu obradu koji su
događaji aplikaciji od interesa i za svaki od njih
deklariše posebnu proceduru. Posle obrade
procedure kontrola se vraća centralnoj kontroli.

 Primer
 Napisati win aplikaciju koja će obrađivati dogadjaj
zatvaranja i ukoliko nisu snimljeni podaci izbaciti
modalni dialog sa pitanjem da li treba snimiti podatke.
Uvesti hipotetičku funkciju save() koja snima podatke.
21:00
Upotreba alatki
18

Karateristika WIMPa: ulaz i izlaz su povezani kao nezavisni prikaz


Elementi za interakciju stvaraju iluziju da zaista radimo sa objektima.
Primer 1: Miš hardverski i pokazivač.
Primer 2: Dugme

Objekti su programerima već pripremljeni za upotrebu (toolkits) sa već


pripremljenim osobinama tipičnim za vrstu objetka i pogodnim za
upotrebu.
Ovi objekti tokom programiranja:
 Omogućuju konzistentnost i generalizaciju
 Imaju sličan izgled
 Pogodni za OOP

21:00
Upravljački sistemi korisničkih interfejsa
engl. User Interface Management Systems (UIMS)
19
 Alatke (engl. Toolkits) su ograničenih mogućnosti, imaju cenu, teške
za upotrebu od neprogramera. Čak i za programere je teško
pravljenje pravih UI sa punom funkcionalnošću.
 UIMS daju dodatni nivo usluga za dizajn interaktivnih
sistema koji je iznad nivoa alatki.
 Zadaci UIMS
 Konceptualna arhitektura za strukturu interaktivnog sistema koja
je suštinski odvajanje aplikacione semantike od prezentacije.
 Tehnike za realizaciju odvajanja aplikacionog i prezentacionog
sloja ali i sa očuvanjem veze između njih.
 Podrška tehnikama upravljanja, realizacije i razvoja.

 Često je u upotrebi još adekvatniji termin, a to je: UI


development system (UIDS)

21:00
UIMS - konceptualna arhitektura
 Osnovni zadatak istraživanja u ovoj oblasti je odvajanje
20
aplikacione semantike i aplikacionog prezentacionog dela.

 Zašto je to odvajanje važno?


1. prenosivost – izvršavanje na različitim sistemima (portability)
2. ponovljena upotrebljivost – povećava se verovatnoća da
komponente budu ponovo korišćene i time smanjena cena
(reusability)
3. višestruki interfejsi – mogu da povećaju efikasnost (multiple
interfaces)
4. prilagodjenost – dizajneru i korisniku (castomization)

 U sistemima gde je obrada poruka tipa “read-evaluation loop”,


kontrola dijaloga je interna. Aplikacija poziva procedure interfejsa
kada god se zahteva ulaz ili izlaz podataka. U sistemima gde je
obrada poruka tipa “notification-based” kontrola dijaloga je
eksterna. Kada korisnik izvrši neku ulaznu akciju (unos teksna na pr.)
izaziva se tj. dešava se aplikaciona procedura za obradu tog
događaja. Većina UIMSa spada u ovu drugu grupu.
21:00
Logičke komponente UIMS
21

Prva konceptualna arhitektura UIMSa je prikazana 1985 (Seeheim model)

lexical syntactic semantic

Funkcionalnost
Kontrola
USER
KORIS. Prezentacija (interfejs APLIKACIJA
dijaloga
aplikacije)

switch

Zapaža se da korisnik i aplikacija nisu eksplicitno u modelu jer se modeluju


samo komponente UIMSa.

21:00
22

Prezentacioni deo: Komponenta odgovorna za prikaz interfejsa


uključujući sve ulazne i izlazne objekte koje su na
raspolaganju korisniku.

Kontrola dijaloga: Komponente koje regulišu komunikaciju


između prezentacionog dela i aplikacije.

Interfejs aplikacije: Aplikaciona semantika koja obezbeđuje


interfejs.

21:00
Uloga prekidača u šemi
23

lexical syntactic semantic

Model
Prezentaciona Kontrola
USER
KORIS. interfejsa APLIKACIJA
komponenta dijaloga
aplikacije

switch
Brza povratna sprega
Direktna komunikacija
izmedju aplikacije
i prezentacije
Ali regulisana
preko dijaloga
21:00
MVC
24
 Prethodni (Seeheim) model ima nedostatak u
projektovanju složenih sistema sačinjenih od malih
komponenata.
 Naročito ako se koriste object-oriented toolkits

 Jedan od prvih modela koji rešava prethodi problem je


MVC – model–view–controller (predložen od Smalltalk-a)
 model – interna logička stanja komponente
 view – kako se prikazuje na ekranu
 controller – obradjivanje korisničkih ulaza

21:00
MVC u razvoju WEB aplikacija
25
Model, služi za prikaz i rad sa podacima, odnosno predstavlja
podatke koje koristite u aplikaciji putem objekata.
View, služi za predstavljanje informacija krajnjem korisniku.
Kontroler, glavna komponenta predstavlja sponu između modela i
view-a i sadrži svu aplikativnu logiku.

Osnovna razlika između standardnog ASP.NET-a i MVC Framework-a


je u tome što zahteve klijenata ne opslužuju stranice, već kontrolerli.
Drugim rečima, kada klijent uputi zahtev ka web serveru, IIS ne rutira
taj zahtev do aspx strane, već do kontrolera. U URL-u koji klijent
zahteva od servera se nalazi nekoliko suštinskih podataka, kao što je
ime kontrolera, ime akcije na kontroleru i parametri koji se prenose.
Sledeći primer ilustruje kako ova interakcija izgleda.

21:00
26

 MVC je (uglavnom) protočan model:


input  control  model  view  output (redosled
bitan)
 sa tipičnim svojstvom u grafičkom interfejsu
 ulaz ima značenje u relaciji sa izlazom
Na primer: mouse click
 Potrebno je znati na šta je kliknuto
 Kontroler odlučuje šta radi pošto se dogodio klik
 Prikaz zna šta je prikazano gde
 U stvarnosti kontroler komunicira sa prikazom
 Odvajanje nije potpuno

21:00
PAC arhitektura
27
 Presentation Abstraction Control
 Zasniva se na kolekciji od po 3 elementa.

 PAC model
 apstrakcija (aplikacijska semantika)– logičko stanje komponente
 prezentacija – upravljanje ulazom i izlazom
 kontrola – posreduje izmedju prethodne dve komponente
 Razlika izmedju PAC i MVC arhitekture
 PAC grupiše ulaz i izlaz u jedno dok ih MVC ih odvaja
 PAC ima posebnu komponentu čija je funkcija da održi konzistente apstrakciju i
prezentaciju, dok MVC ovu funkciju ne daje nekoj posebnoj komponenti
ostavljajući programeru/dizajneru da odredi gde
 PAC nije orijentisan ka nekom programskom okruženju (mada je vodi ka OOP).
Više je konceptualan i manje orijentisan ka realizaciji od MVCa.

 PAC jasniji u mnogim slučajevima …


mada MVC se koristi više u praksi
(e.g. Java Swing) 21:00
PAC
presentation - abstraction - control
28 A P
C A P
C

abstraction presentation

control

A P
C A P
21:00
C
29

UPOTREBLJIVOST
21.00
Pojam
30

 Upotrebljivost (eng. Usability) karateriše neki proizvod, sistem ili


uslugu.
 Predstavlja meru koja opisuje kakve mogućnosti postoje sa aspekta
postizanje ciljeva korisnika.
 U informacionim tehnologijama, izraz se obično vezuje za
softverske aplikacije, veb-sajtove, a takođe može biti upotrebljen u
vezi sa bilo kojim proizvodom koji se koristi za izvršavanje različitih
vrsta zadataka. U interakciji čovek-računar i računarstvu,
upotrebljivost predstavlja finoću i jasnoću kojom je projektovana
interakcija sa programom ili veb-sajtom.
 Međunarodni standard, ISO 9241-11, definiše upotrebljivost kao:
„Granica do koje korisnici mogu koristiti proizvod radi ostvarivanja
određenih ciljeva efikasno i sa zadovoljstvom, u određenom
kontekstu upotrebe.”

21.00
31
Upotrebljivost vs. korisnost
 Korisnost se odnosi na funkcionalnost dizajna.
Upotrebljivost i korisnost su podjednako važna svojstva i
zajedno određuju da li je nešto zaista upotrebljivo.
 Nije od preterane važnosti da li je nešto lako za upotrebu
ako ne zadovoljava ono što korisnici zaista žele. Takođe,
nije dobro ni kada sistem može da samo hipotetički ostvari
ono što korisnik želi, a da pri tom, korisnik nije u stanju da
to izvede, usled suviše komplikovanog korisničkog
interfejsa. Za izučavanje korisnosti dizajna, može se
upotrebiti isti metod istraživanja korisnika koji poboljšava
upotrebljivost.
 Na primer, za utvrđivanje upotrebljivosti proizvoda činioci
od značaja su: lakoća korišćenja, vizuelna doslednost i
jasno definisan proces za dalji razvoj.

21.00
Definicija
32

 Primarni pojam Upotrebljivosti proizilazi iz činjenice da je da proizvod


dizajniran sa aspekta psihologije i fiziologije korisnika. Dakle, veća
upotrebljivost znači da:
1. Korisniku treba manje vremena za određeni posao.
2. Korisniku je lako učenje. Na primer, operacije mogu da se nauče
samo na osnovu posmatranja objekta.
3. Korisnik ima veće zadovoljstvo u radu.

 ISO definiše upotrebljivost kao:


 Stepen u kom proizvod može da se koristi od strane korisnika a da
bi se postigli određeni rezultati sa:
 efektivnošću,
 efikasnošću i
 zadovoljstva u određenom kontekstu upotrebe.

21.00
33

 Efektivnost

 Definicija: preciznost i potpunost kojom korisnici postižu


određeni zadatak
 U kontekstu osnovne definicije ovo znači stepen u kojem je
zadatak obavljen, zadatim alatom, od strane konkretnog
korisnika, u konkretnom okruženju.
 Kod jednostavnih zadataka dovoljno je dati zadatak
korisniku i videti da li ga on može izvršiti ili ne. Složeniji
zadaci mogu biti i delimično izvršeni.

21.00
34

 Efikasnost

 Preciznost i potpunost ostvarenja cilja u odnosu na potrošene


resurse.
 Nekada se koristi termin “propusnost” (eng. throughput).
 U najjednostavnijem smislu, pod resursom se posmatra
utrošeno vreme, ali se može posmatrati i uloženi trud za
obavljanje posla.
 Tako bi kriterijumi za merenje efikasnosti sistema mogli biti:
 Vreme potrebno za obavljanje zadataka.
 Broj pojedinačnih akcija potrebnih za obavljanje zadatka.
 Vreme potrošeno na čitanje dokumentacije.
 Vreme potrošeno na pretraživanje Interneta.
 Vreme potrošeno na otklanjanje grešaka.

21.00
35

 Zadovoljstvo korisnika

 Komfor i prihvatljivost sistema.

 Teško izraziti na merljiv način. Radi se o subjektivnoj


meri. Dakle, potrebno je da izvršimo eksperiment sa
korisnicima koji bi opisivali zadovoljstvo u radu sa
sistemom tj. proizvodom.

21.00
Komponente upotrebljivosti
36

 Upotrebljivost se prikazuje i pomoću 5


konkretnih komponenti. To su:
1. Lakoći učenja
2. Intuitivnosti
3. Efikasnosti
4. Memorisanjem
5. Greškama
6. Zadovoljstvom

21.00
37

 Lakoći učenja – koliko je korisnicima lako da shvate kako se određeni poslovi


obavljaju u dizajnu.
 Intuitivnosti – koliko lako korisnici, sami, mogu da pronađu opcije u dizajnu koje su
im potrebne i koliko lako pronalaze način da obave određeni zadatak, čak i bez
prethodne obuke. To obuhvata i očekivanje korisnika kako da nešto urade u okviru
dizajna, što može biti zasnovano na logici, stručnosti korisnika u poslu koji obavljaju
ili iskustvu koje korisnici imaju sa drugačijim dizajnom sličnih funkcionalnosti.
 Efikasnosti – kada je korisnik upućen u dizajn, koliko brzo može da obavlja zadatke.
 Memorisanjem – korisnici mogu da savladaju kako da obave određeni zadatak, ali je
važno da li je radno okruženje takvo da, kada se korisnik ponovo vrati nakon dužeg
perioda ne koristeći dizajn, koliko lako se može ponovo privići na njega.
 Greškama – uzrok greškama u radu može biti nepažnja korisnika, ali i neprilagođeno
radno okruženje. Zbog toga je važno ustanoviti koliko često korisnici prave greške,
koliko su one ozbiljne i koliko ih teško korisnici mogu otkloniti.
 Zadovoljstvom – koliko je korisnicima prijatno da upotrebljavaju dizajn.

21.00
Značaj upotrebljivosti
38

 Na web stajtovima veća upotrebljivost je preduslov za


poboljšanje posećenosti. Drugim rečima, ako je stranica
teška za korišćenje, korisnici je neće naknadno posećivati.
Takođe, ako početna strana ne uspeva da jasno prikaže ono
što korisnik očekuje, korisnici se neće zadržavati. Isto tako,
ako je informacija na stranici teška za čitanje ili se teško
snalazi sa previše stranica, ako nema odgovara na ključna
pitanja onda sajt ne odgovara potrebama korisnika i oni će je
napustati.
 Osnovni zakon elektronskog poslovanja kaže da ukoliko
korisnici ne mogu da pronađu proizvod, oni ga ne mogu ni
kupiti. Na webu, upotrebljivost je pitanje produktivnosti.
Vreme koje korisnici troše na internetu ili razmišljajući usled
teškoća, dovodi do većih troškova, za više utrošenog
vremena dobije se manje korisnog.

21.00
39

TESTIRANJE
21.00
Testiranje upotrebljivosti
40

 Testiranje upotrebljivosti je namenjeno proceni svih elemenata upotrebljivosti u cilju


postizanja nekog korisničkog cilja. Testiranje predstavlja merenje lakoće korišćenja,
vremena izvršenja zadatka i korisničke percepcije iskustva. U toku testa korisnici
rade na specifičnom zadatku koristeći proizvod tj. interfejs a zatim se na osnovu
rezultata procenjuje i modifikuje proizvod tj. interfejs.
 Može se sprovesti
 u laboratoriji pomoću video zapisa (formalno)
 pomoću formulara koji korisnici popunjavaju (neformalno).
 Na osnovu rezultata testiranja vrše se izmene u dizajnu odnosno programu.
 Učesnici testa upotrebljivosti (formalnog ili neformalnog), podstiču se da razmišljaju
naglas i da iskažu rečima svoje mišljenje.
 Za testiranje potrebno je pripremiti detaljan plan tj. scenario što sličniji realnom
slučaju korišćenja. Posmatrači su prisutni i prate reakcije korisnika tokom korišćenja
prizvoda. Laboratorisko okruženje nije tipično i može da utiče na prirodno ponašanje
korisnika kao i samo komentarisanje ili odgovaranje na pitanja. Obično se koriste
nekoliko instrumenata i upustva za testiranje. Takođe se mogu koristiti i upitnici koje
će korisnici popunjavati pre i posle testiranja da bi se dobile povratne informacije od
korisnika. Neke tehnike koje se koriste tokom testa uključuju razmišljanje naglas
(think aloud), zajedičkim rešavanjem (Co-discovery Learning) i praćenje pogleda
(eye tracking).

21.00
Metrika
41

 Tokom testova upotrebljivosti, koristi se metrika


upotrebljivosti tj. mera pomoću koje dobija konkretan
podatak onog što treba izmeriti, za analizu
upotrebljivosti.
 Metrike zavise od ciljeva projekta. Neke faze dizajna,
kao što su opšta upotrebljivost (npr. može li zadatak biti
izveden), kao i zadovoljstvo korisnika, obično se izvode
u manjim grupama ispitanika.

21.00
Sinhrono / asinhrono testiranje
42

 Situacija u kojima su korisnici u udaljenim lokacijama i


drugim vremenskim zonama zahteva korišćenje
određenih alata da bi se testiranje realizovalo.
Razlikujemo sinhrono i asinhrono testiranje.
 Kod sinhronog testiranja koriste se video konferencije
i alati poput WebEx i Go-to-meeting. Tester i
posmatrač su u komunikaciji dok se testiranje odvija.
 Kod asinhronog testiranja se koriste alati koji snimaju
svaki korisnikov klik, pomeraj mišem, i vreme
potrebno za svaku akciju. Ovakva način testiranja
dozvoljava da se dobijene informacije segmentiraju po
demografski, psihološkim ili kulturološkim
ponašanjima.

21.00
43

METODE MERENJA
21.00
Metode
44

1. Merenje performansi - engl. Performance Measurement


2. Razmišljanje naglas -engl. Thinking-aloud Protocol
3. Postavljanje pitanja - engl. Question-asking Protocol
4. Stručno podučavanje – engl. Coaching Method
5. Učenje – engl. Teaching Method
6. Pregled testiranja – engl. Retrospective Testing
7. Konstruktivna interakcija – engl. Co-discovery Learning
8. Udaljeno testiranje – engl. Remote Testing
9. Metoda praćenja oka – engl. Eye Tracking
...ima i još...
21.00
1.Merenje performansi - 1
45

 Radi se u toku projektovanja, kodovanja, testiranja i


isporučivanja.
 Obuhvata elemente
 Efektivnosti
 Efikasnosti
o (Ne zadovoljstva)

Karakteristike:
 Merljivi podaci se prikupljaju

 Ne može se izvoditi udaljeno

 Može se primeniti na bilo koji sistem

21.00
1.Merenje performansi - 2
46

 Da bi se izveo potrebno je:


 Meriti tačno određene ciljeve i definisati metrike.
 Na primer:
1. Vreme korisnika potrebno da završni specifičan zadatak
2. Odnos između uspešnih interakcija i onih sa greškom.
3. Vreme provedeno na oporavku od grešaka.
4. Broj korisničkih grešaka.
5. Broj komandi ili drugih karakteristika koje se nikada ne
koriste.
6. Broj sistemskih karakteristika koje korisnik može zapamtiti
tokom diskusije nakon testa.
7. Relativni odnos korisnika koji daju prednost proizvodu u
odnosu na konkuretski.

21.00
2.Razmišljanje naglas - 1
47

 Predstavlja metod za dobijanje podataka koji se koristi u


izučavanju upotrebljivosti i psihologije.

 Bazira se na podsticaju korisnika da svoje misli izrazi


rečima dok izvodi zadatak ili niz zadataka. Uglavno je
ispitivač (instruktor) prisutan i navodi ispitanika
(korisnika) da razmišlja naglas tokom rada.

21.00
2.Razmišljanje naglas - 2
48

 Radi se u toku projektovanja, kodovanja, testiranja i isporučivanja.


 Obuhvata elemente
 Efektivnosti
o (Ne efikasnosti )
 Zadovoljstva
Karakteristike:
 Merljivi podaci se prikupljaju

 Ne može se izvoditi udaljeno

 Može se primeniti na bilo koji sistem

Problem?
 Pitanja i labaratorijski uslovi remete tipičan korisnički rad.
 Nije lako iskazati rečima sve ono što korisnik doživljava
tokom rada.

21.00
3.Postavljanje pitanja - 1
49

 Radi se u toku projektovanja, kodovanja, testiranja i


isporučivanja.
 Obuhvata elemente
 Efektivnosti
o (Ne efikasnosti)
 Zadovoljstva

Karakteristike:
 Merljivi podaci se ne prikupljaju

 Ne može se izvoditi udaljeno

 Ne može se primeniti na bilo koji sistem

21.00
3.Postavljanje pitanja - 2
50

 Sličan metod metodu „Razmišljanja naglas“


 Umesto da ispitanik sam govori šta misli, postavljaju mu se
pitanja u toku testa i beleže odgovori.

 Odabir zadataka treba da bude sa preciznim određivanjem


scenarija.
 U toku izvršavanja zadatka, učesnik se ispituje u vezi
proizvoda:
 Šta misli, kakva su dvoumljenja, opcije, osećanja,...
Problem?
 Pitanja i labaratorijski uslovi remete tipičan korisnički rad.
 Nije lako iskazati rečima sve ono što korisnik doživljava tokom
rada.

21.00
4.Stručno podučavanje – 1
51

 Korisnik može postavljati pitanja ekspertu vezana uz funkcionisanje aplikacije, svaki


put kada naiđe na problem. Ispitivač prati interakciju i ponašanje korisnika. Svrha
metode je otkriti potrebe korisnika. U slučaju većeg broja ispitanika, ispitivač može
navoditi korisnike na različine putanje i rešenja.

 Obuhvata elemente
 Efektivnosti
o (Ne efikasnosti)
 Zadovoljstva
Karakteristike
 Merljivi podaci se ne prikupljaju.
 Ne može se izvoditi udaljeno.
 Može se primeniti na bilo koji sistem.
Problem
 Scenario ne odgovara realnim okolnostima u interakciji
 Dobar za kreiranje sistema za trening ali ne i za interfejse.

21.00
5. Učenje
52

 Iskusni korisnik podučava novog korisnika kako da koristi sistem. Najpre


se jednom korisniku omogući da samostalno provede određeno vreme u
interakciji kako bi naučio da je koristi – iskusni korisnik. Nakon toga,
njemu se dodeli korisnik početnik kojem on kroz rešavanje prethodno
definisanih zadataka objašnjava kako se upotrebljavaju pojedine
funkcionalnosti.
 Radi se u toku projektovanja, kodovanja, testiranja i isporučivanja.
 Obuhvata elemente
 Efektivnosti
o (Ne efikasnosti)
 Zadovoljstva
Karakteristike:
 Merljivi podaci se ne prikupljaju.
 Ne može se izvoditi udaljeno.
21.00
 Može se primeniti na bilo koji sistem.
6.Pregled testiranja - 1
53

 Nakon obavljenog testiranja, stručnjak tj onaj koji


proučava upotrebljivost, zajedno sa ispitanikom
pregledaju već napravljeni video zapis rada ispitanika.
 U toku tog pregleda postavljaju mu se pitanja.
Prednost je što se tokom rada korisnika, on ne ometa
pitanjima već na njih odgovara kasnije.

 Problem.
 Zahteva puno vremena.
 Korisnici zaborave neke aspekte interakcije nakon
izvesnog vremena pa ni njihovi odgovori nisu u tom
smislu potpuni.

21.00
7.Konstruktivna interakcija - 1
54

 Predstavlja povezivanje ispitanika u testu upotrebljivosti kako


bi se sakupile važne informacije o lakoći korišćenja
proizvoda. U njoj dva ispitanika istovremeno upotrebljavaju
aplikaciju. Ispitanici obično diskutuju o zadacima koje treba
da odrade i, kroz ove diskusije, posmatrači uče gde su
problematične tačke dizajna.
 Kako bi se podstaklo kooperativno rešavanje problema
između dva ispitanika i diskusija koja sledi nakon toga, testovi
se mogu dizajnirati tako da učine ispitanike zavisnim jedan od
drugog, zadajući im oblasti odgovornosti koje se nadopunjuju.
 Postoji sličnost sa metodom „razmišljanja naglas“ s tim što je
prirodnost veća zbog dva učesnika.

21.00
7. Konstruktivna interakcija - 2
55

 Obuhvata elemente
 Efektivnosti
o (Ne efikasnosti)
 Zadovoljstva
Karakteristike:
 Merljivi podaci se ne prikupljaju
 Ne može se izvoditi udaljeno
 Može se primeniti na bilo koji sistem
Problem.
 Nijedan od učesnika nije ekspert, pa po principu (The blind
leading the blind) ishod može biti neočekivan.
 Oduzima puno vremena za pripremu testa.
 Mnogim korisnicima je ovaj oblik ispitivanja neprirodan,
naporan i odvraća im pažnju

21.00
8. Udaljeno testiranje - 1
56
 Obično se sprovodi kada ispitivač ne može direktno posmatrati testiranje. Ispitivač
i ispitanik su fizički razdvojeni ili se tesiranje sprovodi sa vremenskim razmakom ili
bez njega. Dakle, postoje dve vrste:
1. u isto vreme a na različitom mestu (ispitivač može posmatrati ispitanika, slušati ga i
komunicirati sa njim tokom interakcije)
2. u različito vreme na različitom mestu. Prikupljeni podaci se naknadno analizirau.

 Radi se u toku projektovanja, kodovanja, testiranja i isporučivanja.


 Obuhvata elemente
 Efektivnosti
 Efikasnosti
 Zadovoljstva
 Može se primeniti na bilo koji sistem.

Problem
 Ne postoji prisutnost ispitivača
 Ne postoji podatak o izrazima lica i durgim izrazima ispitanika.
 Odličan je za Web based systems

21.00
8. Udaljeno testiranje - 2
57

 Ovo testiranje obuhvata i formu anketiranja, tj


posebnog online obrasca, koji omogućuje dobijanje
nekih mernih podataka od udaljenog korisnika.
Ovakvo testiranje pruža mogućnost generisanja
velikog broja test uzoraka. Pored toga, ovaj stil
testiranja daje mogućnost grupisanja rezultata po
demografskom tipu i načinu ponašanja.
 Testovi se sprovode u ličnom okruženju korisnika
(umesto u laboratorijama), omogućavajući dodatno
testiranje simulacijom scenarija stvarnog života. Ovaj
pristup takođe daje način da se jednostavno dobije
povratna informacija od korisnika na udaljenim
područjima.

21.00
9.Metoda praćenja oka
58

 Pokreti oka se smatraju indikatorom aktivnosti kognitivnog procesa a time i


uloženog mentalnog i fizičkog napora za upotrebu.
 Podaci se prikupljaju pomoću specijalizovanog uređaja.
 Postoje 2 osnovne vrste pokreta očiju:
 Fiksacija (engl. Fixation) – zadržavanje pogleda na jednom mestu (0,1sek-
0,5sek)
 Trzaj (engl. saccade) – brz pokret oka između dve fiksacije (0,01s-0,1sek)
 Praćenje se izvodi prikupljanjem podataka i vizuelizacijom istih na nekoliko
načina:
 Ponovno pregledanje (engl. gaze replay) – uređaj beleži poziciju pogleda na
ekranu i ispitivač može da pogleda pažljivo te putanje, često usporeno
 Toplotna mapa (engl. Heat map) – obično se toplijom (crvenijom) bojom
označavaju pozicije na kojima se oko zadržava
 Skica pregleda (engl. Gazeplot) – grafički prikaz redosleda pregledanja
elemenata.

21.00
59

gazeplot heatmap

21.00
Koliko učesnika treba da bude u
testu?
60

 Tokom ranih 60tih, Jakob Nielsen, istrazivač u Sun Microsystems je


popularizovao koncept korišćenja više malih testova, uobičajeno sa
pet ispitanika, u različitim fazama razvojnog procesa. Njegov
argument je bio da ukoliko se primeti da su dve ili tri osobe potpuno
zbunjene (recimo osnovnim dizajnom web stranice), malo se dobija
koristeći više ljudi i gledajući kako koriste pogrešan dizajn. Nielsen je
kasnije objavio svoje istraživanje i smislio termin heuristic evaluation.
Tvrdnju "Pet korisnika dovoljno" je kasnije opisao i kroz matematički
model koji prikazuje proporciju neotkrivenih problema U:

 gde je p verovatnoća da jedan učesnik testa uoči problem, a n je broj


predmeta - sesija. Ovaj iskaz se može je ilustrovan realnim merenjima
koja su prikazana grafikonom i koja prate iskazanu zakonitost.

21.00
61

21.00

You might also like