Projektowanie Graficznych Interfejsów Użytkownika

Transkrypt

Projektowanie Graficznych Interfejsów Użytkownika
Projektowanie Graficznych Interfejsów
Użytkownika
Robert Szmurło
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
1
Plan szczegółowy
●
Projektowanie UI (1h)
●
●
●
●
LATO 2007
Rozszerzona powtórka
Projekt Wizualny
Projekt Leksykalny
Ćwiczenie w Enterprise Architect
Projektowanie Graficznych Interfejsów Użytkownika
2
UCD - User Centered Design
●
1) User Centered Design – Projekt Skoncentrowany na Użytkowniku
●
2) Model Centered Design – Projekt Oparty na Modelach
Projekt
Ewaluacja
LATO 2007
Implementacja
Projektowanie Graficznych Interfejsów Użytkownika
3
User Centered Design (UCD)
●
1) Analiza zadań
●
2) Szkice projektu
●
3) Papierowy prototyp
●
4) Testy wewnętrzne
●
5) Prototyp komputerowy
●
6) Ewaluacja heurystyczna
●
●
7) Implementacja
8) Testy z użytkownikami
LATO 2007
Projekt
1
8
6
4
Ewaluacja
Projektowanie Graficznych Interfejsów Użytkownika
2
3
5
7
Implementacja
4
Projekt systemu – Projekt GUI
●
Fazę projekt podzielimy na 5 podprojektów:
●
A) Projekt pojęciowy (analiza) – wyodrębnienie podstawowych
koncepcji systemu jak np. obiektów, relacji i uogólnień.
●
B) Projekt funkcjonalny (semantyczny) – zdefiniowanie operacji na
wszystkich obiektach oraz danych wejściowych i wyjściowych.
●
C) Projekt sekwencyjny (syntaktyczny) – definiuje kolejność
operacji wprowadzania danych wejściowych i wyjściowych. Przykładem
sekwencji jest: Wciśnij przycisk myszy na obiekcie, zmień pozycję myszy, zwolnij
przycisk. Projekt syntaktyczny elementów wyjściowych uwzględnia
rozmieszczenie elementów wyświetlanych oraz ich zmiany.
●
D) Projekt wizualny – definiuje układ obiektów w widokach, kolejność
widoków - „storyboards”,
●
E) Projekt leksykalny – czasem określany jako projekt integrujący ze
sprzętem, określa w jaki sposób i z jakimi rzeczywistymi prymitywami
sprzętowymi połączone są elementy syntaktyczne.
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
5
Projekt pojęciowy (A)
●
Etap Odkrywania / Analizy:
–
1) określ klasy użytkowników
(aktorów)
–
2) określ cele użytkowników
(oczekiwania)
–
3) przeanalizuj aktualnie wykonywane
czynności użytkownika
–
4) zbuduj projekt przypadków użycia
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
6
Poznaj Użytkowników (A)
●
Określ charakterystykę docelowej
grupy użytkowników, która będzie
wpływała na wymagania:
–
wiek, płeć, kulturę
–
poziom wykształcenia
–
możliwości fizyczne (np.: niepełnosprawni)
–
ogólne doświadczenie komputerowe
–
umiejętności (szybkie pisanie, czytanie)
–
doświadczenie związane z dziedziną pracy
–
doświadczenie z podobnymi aplikacjami
–
środowisko pracy i pozostałe elementy kulturowe
–
zależności i wzorce komunikacyjne
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
7
Projekt pojęciowy (A)
●
Etap Odkrywania / Analizy:
–
1) określ klasy użytkowników
(aktorów)
–
2) określ cele użytkowników
(co musi być zrobione, wymagania)
–
3) przeanalizuj aktualnie wykonywane
czynności użytkownika
–
4) zbuduj projekt przypadków użycia
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
8
Cele użytkowników (A)
●
Co musi zrobione? - CEL!
●
Co musi być zrobione aby coś innego było możliwe? - Warunki
Od jakich innych czynności zależy dane zadanie?
● Jakich informacji potrzebuje użytkownik aby wykonać zadanie?
Z jakich etapów składa procedura wykonania zadania?
●
●
–
●
●
Podetapy mogą być podzielone na mniejsze
Jak robić analizę?
–
Rozmowy z 'przyszłymi' użytkownikami
–
Bezpośrednia obserwacja aktualnie
wykonywanej pracy
Zagrożenia:
–
Powtarzanie złych wzorców
–
Nie uwzględnienie pozytywnych aspektów
aktualnych prac
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
9
Projekt pojęciowy (A)
●
Etap Odkrywania / Analizy:
–
1) określ klasy użytkowników
(aktorów)
–
2) określ cele użytkowników
(oczekiwania)
–
3) przeanalizuj aktualnie wykonywane
czynności użytkownika
Diagram
czynności
–
LATO 2007
4) zbuduj projekt przypadków użycia
Projektowanie Graficznych Interfejsów Użytkownika
10
Projekt pojęciowy (A)
●
Etap Odkrywania / Analizy:
–
1) określ klasy użytkowników
(aktorów)
–
2) określ cele użytkowników
(oczekiwania)
–
3) przeanalizuj aktualnie wykonywane
czynności użytkownika
–
4) zbuduj projekt przypadków użycia
(które stają się częścią formalnej specyfikacji wymagań)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
11
Projekt funkcjonalny (B)
●
Projekt funkcjonalny (semantyczny) – zdefiniowanie operacji na
wszystkich obiektach oraz danych wejściowych i wyjściowych.
–
1) Obiekty Użytkownika - określ obiekty/elementy/pojęcia którymi
operuje użytkownik
–
2) Przegląd Zadań - określ które czynności wykonuje system a
które użytkownik
–
3) Widoki Abstrakcyjne - jakie informacje musi widzieć
użytkownik aby ukończyć zadanie poszczególne zadania
(związane z konkretnymi przypadkami użycia)
–
4) Przepływ Zadań - sprecyzuj dokładnie interakcję użytkownika
z systemem
–
5) Stany Obiektów - co dzieje się danymi obiektami w trakcie
interakcji z użytkownikiem
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
12
Projekt funkcjonalny (B)
●
Projekt funkcjonalny (semantyczny) – zdefiniowanie operacji na
wszystkich obiektach oraz danych wejściowych i wyjściowych.
–
1) Obiekty Użytkownika - określ obiekty którymi operuje
użytkownik
–
2) Przegląd Zadań - określ jakie czynności wykonuje system a
jakie użytkownik
–
3) Widoki Abstrakcyjne - jakie informacje musi widzieć
użytkownik aby ukończyć zadanie
–
4) Przepływ Zadań - sprecyzuj dokładnie interakcję użytkownika
z systemem
–
5) Stany Obiektów - co dzieje się danymi obiektami w trakcie
interakcji z użytkownikiem
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
13
Projekt funkcjonalny – Obiekty użytkownika (B)
–
1) Wyodrębnij obiekty – zazwyczaj są to rzeczowniki z
diagramu zawierającego cele użytkowników
–
2) Posortuj obiekty w specjalnej tabeli
(opcjonalnie, posiadając wprawę,
można przejść do dalszego etapu)
–
3) Zdefiniuj jednoznaczne i zrozumiałe
dla użytkownika nazwy obiektów (w niektórych metodologiach
nazywa się to słownikiem pojęciowym)
–
4) Uporządkuj obiekty w modelu uwzględniając ich definicje,
atrybuty, operacje oraz relacje między nimi.
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
14
Jak tworzyć model obiektów użytkownika? (B)
Obiekt
Atrybuty
●
●
Operacje
Relacja
(kompozycja
składa się z)
Liczebność
●
●
●
●
LATO 2007
1) Utwórz diagram klas.
2) Dodaj obiekty, wraz
atrybutami i operacjami.
3) Utwórz definicje.
4) Określ zależności
(relacje).
5) Uzupełnij informację o
liczebności
6) Sukcesywnie dodawaj
wszystkie obiekty
włącznie z aktorami o
których musi wiedzieć
system
Projektowanie Graficznych Interfejsów Użytkownika
15
Jak tworzyć model obiektów użytkownika? (B)
●
●
LATO 2007
Dla zależności wiele do
wielu zaleca się
określenie innego obiektu
łączącego
Najczęściej
wykorzystywane są
dotychczasowo
wykorzystywane w firmie
formularze
Projektowanie Graficznych Interfejsów Użytkownika
16
Projekt funkcjonalny (B)
–
1) Obiekty Użytkownika - określ obiekty którymi operuje
użytkownik
–
2) Przegląd Zadań - określ jakie czynności wykonuje system a
jakie użytkownik
–
3) Widoki Abstrakcyjne - jakie informacje musi widzieć
użytkownik aby ukończyć zadanie
–
4) Przepływ Zadań - sprecyzuj dokładnie interakcję użytkownika
z systemem
–
5) Stany Obiektów - co dzieje się danymi obiektami w trakcie
interakcji z użytkownikiem
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
17
Projekt funkcjonalny – Przegląd zadań (B)
●
Przegląd Zadań - określ które czynności wykonuje system, a które
użytkownik. Na etapie zaczyna się określenie doświadczenia
użytkownika z systemem. Po raz pierwszy pojawia się system.
–
Definicja: wysokiego poziomu opis określający strukturę
funkcjonalności (ogólnie sekwencji aktywności oraz punktów
decyzyjnych), którą system udostępnia dla użytkownika w celu
zrealizowania intencji.
–
Punktem startowym modelu jest odwzorowanie aktualnych
procesów w instytucji użytkownika.
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
18
Przegląd zadań
●
●
●
Przykład przeglądu zadań w
którym określamy które
czynności są realizowane
przez system a które przez
użytkownika.
Jest to często nazywane
scenariuszem przypadku
użycia.
Diagram czynności.
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
19
Diagram czynności – Przykład 2 (B)
●
Przykład aplikacji typu FlashCard.
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
20
Projekt funkcjonalny (B)
●
Projekt funkcjonalny (semantyczny) – zdefiniowanie operacji na
wszystkich obiektach oraz danych wejściowych i wyjściowych.
–
1) Obiekty Użytkownika - określ obiekty/elementy/pojęcia którymi
operuje użytkownik
–
2) Przegląd Zadań - określ jakie czynności wykonuje system a
jakie użytkownik
–
3) Widoki Abstrakcyjne - jakie informacje musi widzieć
użytkownik aby ukończyć zadanie
–
4) Przepływ Zadań - sprecyzuj dokładnie interakcję użytkownika
z systemem
–
5) Stany Obiektów - co dzieje się danymi obiektami w trakcie
interakcji z użytkownikiem
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
21
Projekt funkcjonalny – Widoki abstrakcyjne
●
Widoki Abstrakcyjne – cel: jakie informacje obiektów musi widzieć
użytkownik aby ukończyć zadanie oraz jaka musi być
udostępniona funkcjonalność.
–
Definicja: niezależna od implementacji reprezentacja tego co
musi widzieć użytkownik do zakończenia zadania. Użytkownicy
nie pracują na obiektach ale na ich widokach.
–
Wykorzystując model obiektów użytkownika, należy stworzyć
abstrakcyjny model widoków obiektów niezbędny do wykonania
zadania.
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
22
Jak tworzyć widoki abstrakcyjne? (B)
●
●
1) Przeanalizuj i wyodrębnij najczęściej wykorzystywane
aktywności.
2) Określ które obiekty biorą udział w danej aktywności oraz
elementy, które są niezbędne do przedstawienia w widoku
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
23
Jak tworzyć widoki abstrakcyjne? (B)
Zależność,
który aktor
używa widoku
Określa z czego się
składa oraz
kolejność prezentacji
EAN może być brany
z innej klasy, z której
składa się Produkt,
np. ProductInfo
Zależność,
który obiekt
prezentuje
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
24
Projekt sekwencyjny (syntaktyczny) (C)
●
Definiuje kolejność operacji wprowadzania danych wejściowych i
wyjściowych. Projekt syntaktyczny elementów wyjściowych
uwzględnia rozmieszczenie elementów wyświetlanych oraz ich
zmiany.
–
1) Przepływ Zadań - sprecyzuj dokładnie interakcję użytkownika
z systemem
–
2) Stany Obiektów - co dzieje się danymi obiektami w trakcie
interakcji z użytkownikiem
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
25
Projekt sekwencyjny (syntaktyczny) (C)
●
Definiuje kolejność operacji wprowadzania danych wejściowych i
wyjściowych. Projekt syntaktyczny elementów wyjściowych
uwzględnia rozmieszczenie elementów wyświetlanych oraz ich
zmiany.
–
1) Przepływ Zadań - sprecyzuj dokładnie interakcję użytkownika
z systemem
–
2) Stany Obiektów - co dzieje się danymi obiektami w trakcie
interakcji z użytkownikiem
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
26
Projekt sekwencyjny (syntaktyczny) (C)
●
Definiuje kolejność operacji wprowadzania danych wejściowych i
wyjściowych. Projekt syntaktyczny elementów wyjściowych
uwzględnia rozmieszczenie elementów wyświetlanych oraz ich
zmiany.
–
1) Przepływ Zadań - sprecyzuj dokładnie interakcję użytkownika
z systemem
–
2) Stany Obiektów - co dzieje się z danymi obiektami w trakcie
interakcji z użytkownikiem
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
27
Projekt wizualny (D)
●
●
●
Zgodność z projektem abstrakcyjnym
–
Wszystkie elementy i decyzje podjęte w fazie projektu
abstrakcyjnego powinny mieć swój odpowiednik w projekcie
wizualnym.
–
Nie powinno się robić żadnych rozszerzeń.
Czytelność reprezentowanych obiektów
–
Obiekty, wyodrębnione w fazie abstrakcyjnej powinny być w
czytelny sposób reprezentowane dla użytkownika.
–
Obiekty powinny być łatwo rozpoznawalne przez użytkownika
na wszystkich etapach procesu używania systemu.
–
W jasny i czytelny sposób powinny być reprezentowane
aktualne stany obiektów oraz ich zmiany.
Zgodność i czytelność mają bezpośredni wpływ na użyteczność
systemu.
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
28
Projekt wizualny – Trzy poziomy (D)
●
●
●
Poszczególne obiekty
–
Prezentacja pojedynczych obiektów
–
Model obiektów, Środowisko
Widoki prezentacji
–
Układy, interakcje
–
Widoki abstrakcyjne, sekwencje,
stany, platforma, środwisko
Całkowity odbiór użytkownika
–
Weryfikacja zgodności i czytelności
–
Prototypowanie, testy zespołowe (in-house)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
29
Projekt wizualny – Identyfikacja (D)
●
●
Pojedyncze obiekt użytkownika pojawiają się w wiele razy w
różnych widokach z różnymi liczebnościami oraz z różnymi
możliwościami zajęcia powierzchni ekranu.
Każdy obiekt musi być identyfikowalny w całym systemie.
Obiekty
Różne reprezentacje wizualne obiektu 1
Obiekt 1
Obiekt 2
Obiekt 3
Obiekt 2
Obiekt 1
Obiekt 1
Obiekt 2
Obiekt 1
Obiekt 3
Obiekt 1
Obiekt 2
Obiekt 3
Obiekt 1
Obiekt 1
Obiekt 1
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
30
Identyfikacja obiektów (D)
●
Przeanalizujmy interfejs sklepu internetowego wyodrębniając z
niego odpowiednie widoki.
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
31
Logo serwisu (D)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
32
Panel nawigacyjny (D)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
33
Reklama (D)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
34
Widok panelu wyszukiwania (D)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
35
Widok panelu ofert z zagnieżdżonymi widokami pojedynczych ofert
(D)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
36
Widok reklam tematycznych (D)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
37
I jeszcze kilka innych... (D)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
38
Projekt abstrakcyjny dla przykładu (D)
stm sklep.benchmark.pl
« Wid o k»
Logo
« Wi do k»
Reklama
PanelWyszukiwaniaProduktu
« Wid o k»
GłównySklepu
« Wid o k»
MenuGlowne
+
+
+
+
+
+
+
+
+
ko nfig u ra to rP C() : vo id
K o n ta kt() : vo id
P rze wod n ik() : vo id
S e rwis() : vo i d
S te ro wn iki () : vo id
stro n a Gl o wn a () : vo id
to p 10 () : voi d
T ra n sp o rtPla tno sci ra ty() : vo id
Wsp a rcie () : vo id
Dla przykładu
udokumntowane
elementy
funkcjonalne
MenuGlownego.
« Wi d ok»
PanelOfert
« Wid o k»
OfertyDnia
« Wid o k»
ReklamyTematyczne
« Wid o k»
Oferta
« Wid o k»
OfertaDnia
LATO 2007
«Wid o k»
ReklamaTematyczna
Projektowanie Graficznych Interfejsów Użytkownika
39
Projekt wizualny – Całkowity odbiór (D)
●
●
Całkowity odbiór aplikacji przez użytkownika musi uwzględniać:
–
odpowiednie diagramy sekwencji,
–
być zgodnym ze scenariuszami przypadków użycia, o ile były
stworzone w wymaganiach,
–
o ie to możliwe pozwalać na interakcję (prototypy),
–
uwzględniać możliwość występowania kilku wersji do wyboru
przez użytkownika,
Jest realizowany za pomocą:
–
scenopisów (np. „storyborads”)
●
●
–
LATO 2007
dokumenty tekstowe
prezentacja OpenOffice Impress lub PowerPoint itp.
prototypów
Projektowanie Graficznych Interfejsów Użytkownika
40
„Storyboard” (D)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
41
„Storyboard” - Przykład 2 (D)
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
42
Projekt leksykalny
Cel: mapowanie elementów interfejsu graficznego z
elementami architektury systemu: akcje, kontrolki
stosowane dla odpowiednich elementów
graficznych.
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
43
Projekt leksykalny – Akcje (E)
ui Proj ekt leksykalny
«www»
ZamowienieBiletu
cm dZatwierdz
cm dAnuluj
(from P rojekt w izualny)
(from P rojekt w izualny)
«trace»
(from P rojekt w izualny)
«trace»
«navigate»
«instantiate»
Screen2
«GUIAction»
Akcj aWalidacj i
Walidacj aDanych
Czy poprawna?
T ak
«trace»
Screen1
Nie
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
44
Projekt leksykalny – Akcje (E)
cd User Interface
po kaz
dostaw y.lista
Model
« acti o n»
:Dostawa.Lista.Akcj a
Po rt1
L i sta Dostaw
(fro m L ogi cal Mode l )
::Dosta w a .Li sta .Akcja
+ exe cute () : vo i d
IM od el
Dod aj
Edytu j
Dru ku j
Zatwi erd z
p okaz
dod aj
« acti o n»
Dostawa.Lista.Akcja
+
exe cute () : vo i d
po kaz
Dostawa.Pozycj a.Usun
Dostawa.Dodaj
Dostawca
Ni e
T ak
Kuri er
p okaz
Data
Pozycj e
u sun
« acti o n»
:Dostawa.Dodaj .Akcj a
Dod aj
Usuń
Edytu j
«a cti on »
:Dostawa.Dodaj .Akcj a
Zachowaj
::Do staw a.Dod aj.Akcja
+ execute() : voi d
::Dostaw a.Doda j.Akcja
+ execute() : voi d
An ul uj
«a cti on »
zachowa j
Dostawa.Dodaj.Akcja
+
exe cute() : vo i d
po ka z
LATO 2007
Projektowanie Graficznych Interfejsów Użytkownika
45
Projekt leksykalny – implementacja (E)
ui Proj ekt wizualny
DropDownList
«www»
DateTimePicker
ZamowienieBiletu
M i ejsce i da ta wylo tu:
cbo M ie jsce Wylo tu
dtWylot
M iejsce i da ta do ce lowa :
cbo M ie jsce Ce l
dtCel
L iczb a p rze sia dek:
cbo Prze siad ki
M ożliwo ść a nu lowan ia
re zerwa cji :
chkA nu lowa nie Reze rwacji
CheckBox
Ka rta
Fo rm a pł atn ości:
Go towka
cbo Kla sa
Kla sa b ile tu:
cm dZatwi erd z
cm dAn ulu j
«www»
ZamowienieBiletuAutobusowego
ZamowineieBiletuKolej owego
T ypo po cią gu :
Prze lewe
Kli m a tyzacja
cbo T yp Pocia gu
ZamowienieBiletuLotniczego
Jed ze nie :
LATO 2007
cb oWyzywien ie
Projektowanie Graficznych Interfejsów Użytkownika
46
Interakcja
●
Dziękuję za uwagę.
●
Chcemy być coraz lepsi!
●
Jeżeli coś cię zainteresowało napisz e-maila:
–
●
Jeżeli coś cię bardzo znudziło napisz e-maila:
–
●
[email protected]
[email protected]
Jeżeli zauważyłeś błąd napisz e-maila:
–
LATO 2007
[email protected]
Projektowanie Graficznych Interfejsów Użytkownika
47

Podobne dokumenty