Professional Documents
Culture Documents
IČR Predavanje 10b
IČR Predavanje 10b
IČR Predavanje 10b
PODRŠKA U REALIZACIJI
INTERAKTIVNIH SISTEMA
21:00
Tema časa
2
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.
• 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
21:00
X Windows
11
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
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
21:00
2. notification-based (1)
16
int mySave(Event e) {
// save the current file
}
int myQuit(Event e) {
// close down
}
21:00
2. notification-based (2)
17
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
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.
21:00
UIMS - konceptualna arhitektura
Osnovni zadatak istraživanja u ovoj oblasti je odvajanje
20
aplikacione semantike i aplikacionog prezentacionog dela.
Funkcionalnost
Kontrola
USER
KORIS. Prezentacija (interfejs APLIKACIJA
dijaloga
aplikacije)
switch
21:00
22
21:00
Uloga prekidača u šemi
23
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
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.
21:00
26
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.
abstraction presentation
control
A P
C A P
21:00
C
29
UPOTREBLJIVOST
21.00
Pojam
30
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
21.00
33
Efektivnost
21.00
34
Efikasnost
21.00
35
Zadovoljstvo korisnika
21.00
Komponente upotrebljivosti
36
21.00
37
21.00
Značaj upotrebljivosti
38
21.00
39
TESTIRANJE
21.00
Testiranje upotrebljivosti
40
21.00
Metrika
41
21.00
Sinhrono / asinhrono testiranje
42
21.00
43
METODE MERENJA
21.00
Metode
44
Karakteristike:
Merljivi podaci se prikupljaju
21.00
1.Merenje performansi - 2
46
21.00
2.Razmišljanje naglas - 1
47
21.00
2.Razmišljanje naglas - 2
48
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
Karakteristike:
Merljivi podaci se ne prikupljaju
21.00
3.Postavljanje pitanja - 2
50
21.00
4.Stručno podučavanje – 1
51
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
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
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.
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
21.00
9.Metoda praćenja oka
58
21.00
59
gazeplot heatmap
21.00
Koliko učesnika treba da bude u
testu?
60
21.00
61
21.00