Interfejsy graficzne Projektowanie zorientowane na uŜytkownika

Transkrypt

Interfejsy graficzne Projektowanie zorientowane na uŜytkownika
Uniwersytet Jagielloński
Interfejsy graficzne
Wykład 2
Projektowanie zorientowane
na uŜytkownika
Barbara Strug
2011
Hall of shame
Hall of shame
Model „wodospad”
Feedback
Problem z modelem „waterfall”
• Projektowanie interfejsów jest ryzykowne
• Łatwo zrobić to źle.
• UŜytkownicy nie biorą udziału w walidacji aŜ do
momentu testów akceptacyjnych.
• Zatem aŜ do końca nie dowiemy się o błędach.
• Błędy w UI często powodują zmiany w opisie
wymagań i w projekcie.
• Musimy zatem wyrzucić dobre i przetestowane
fragmenty kodu!!
Projektowanie iteracyjne
Model iteracyjny - problem
• KaŜda iteracja odpowiada pewnemu produktowi
• Ocena (uwagi krytyczne) są przekazywane do
kolejnej wersji projektu
• Wykorzystujemy (płacących) klientów do oceny
funkcjonalności interfejsu
• Nie będzie im się to podobać
• Nie kupią kolejnej wersji
Model spiralny
Projektowanie
Ocena
Implementacja
Projektowanie iteracyjne w UI
• Wczesne iteracje uŜywają tanich prototypów
MoŜliwe jest projektowanie równoległe (wiele prototypów
pozwala zbadać alternatywy)
• Późniejsze iteracje, po wyeliminowaniu
ryzyka UI, uŜywają bardziej zaawansowanych
implementacji
• Więcej iteracji oznacza zazwyczaj lepszy
interfejs
• Na zewnątrz wychodzą tylko „dojrzałe”
iteracje.
Projektowanie dla uŜytkownika
• Projektowanie iteracyjne
• Zorientowanie na uŜytkownika i zadania na
wczesnym etapie projektu
analiza uŜytkownika : kim jest uŜytkownik
analiza zadań : co uŜytkownicy potrzebują zrobić
włączenie uŜytkowników jako osoby oceniające,
konsultantów, a czasami takŜe projektantów
• •Ciągła ocena
UŜytkownicy biorą udział w kaŜdej iteracji
KaŜdy prototyp jest jakoś oceniany
Projektowanie dla uŜytkownika (2)
1.
2.
3.
4.
5.
6.
7.
8.
Analiza zadań
Rysunki
Prototypy papierowe
Wewnętrzne testy
Prototyp komputerowy
Ocena heurystyczna
Implementacja
Testowanie na uzytkownikach
Analiza uŜytkowników i zadań
• Pierwszy etap procesu
analiza uŜytkownika : kim jest uŜytkownik
analiza zadań : co uŜytkownicy potrzebują zrobić
Analiza uŜytkownika (2)
• Określ cechy charakterystyczne docelowego
uŜytkownika
Wiek, płeć, narodowość
Wykształcenie
MoŜliwości fizyczne
Doświadczenie w uŜytkowaniu komputera
Umiejętności (pisanie na maszynie, czytanie?)
Doświadczenie w danej dziedzinie
Doświadczenie z dana aplikacją
Środowisko pracy /kontekst społeczny
Wzorce komunikacyjne
Analiza uŜytkownika (3)
• Wiele aplikacji ma kilka klas uŜytkowników
• Przykład: szpital
Lekarz
Pielęgniarki
Rejestracja
Administracja
Pacjenci
Rodziny
Administrator(-rzy)
Analiza uŜytkownika (4)
• Techniki
u
u
u
Ankieta
Wywiad
Obserwacja
• Przeszkody
u
u
u
u
Projektanci i uŜytkownicy mogą być
odizolowani.
Wsparcie techniczne oddziela projektantów od
uŜytkowników
Marketing oddziela uŜytkowników od
projektantów
Koszt kontaktu z niektórymi osobami jest
wysoki
s
Lekarze, kierownictwo
Przykład : kasa samoobsługowa
• Kim są uŜytkownicy?
Zwykli kupujący
Szeroki zakres wieku (10-80) i moŜliwości fizycznych
(wzrost, ograniczenia ruchowe, siła)
śadnego doświadczenie z uŜyciem komputera
śadnego szkolenia: po prostu wchodzą
Znajomość sprzedawanych produktów, ale nie systemu
magazynowego sklepu
Kupujący często proszą się nawzajem o pomoc w
znalezieniu róŜnych produktów
• Klasy uŜytkowników
Zakupy często robione przez kobiety, często z małymi
dziećmi
Pracownicy sklepu pomagający klientom
Analiza zadań
• Określ indywidualne zadania jakie problem
moŜe rozwiązać
• KaŜde zadanie jest celem (co, ale nie jak)
• Często warto zacząć od określenia ogólnego
celu systemu, a potem podzielić go
hierarchicznie
• Cel ogólny : klienci płaca za produkty
Zadania:
u
u
u
Wprowadzić produkt do kasy
Zapakować produkty
Zapłacić
Analiza zadań (2)
• Co ma być zrobione?
Cel
• Co naleŜy zrobić najpierw aby było to
moŜliwe?
Warunki wstępne
u
u
Zadania od których zaleŜą inne zadania
Informacje jakie uŜytkownik musi mieć
• Jakie kroki są związane z wykonaniem tego
zadania?
Podzadania
Podzadania mogą być dzielone rekurencyjnie
(dekompozycja)
Przykład : kasa
• Cel
Wprowadzić produkt do kasy
• Warunki wstępne
Wszystkie produkty są juŜ w koszyku klienta
• Podzadania
Wprowadzenie produktów opakowanych
Wprowadzenie produktów luzem
Analiza zadań (3)
• Gdzie jest wykonywane zadanie?
Przy wyjściu z marketu, na stojąco
• Jak często zadanie jest wykonywane?
Co najwyŜej kilka razy w tygodniu
• Jakie są ograniczenia czasowe/inne zasoby?
Minuta lub dwie
• Jak uŜytkownik poznaje/uczy się zadania?
Próbując
Obserwując innych
Z pomocą personelu
• Co moŜe pójść źle?
•
Kod paskowy uszkodzony lub brakujący
Ktoś kupuje alkohol lub papierosy
Kto jeszcze bierze udział w zadaniu?
Analiza zadań(4)
• Wywiady z uŜytkownikami
• Bezpośrednia obserwacja uŜytkowników
Analiza zadań (5) - ryzyka
• Powielenie złych praktyk/procedur w oprogramowaniu
• NiedostrzeŜenie dobrych elementów aktualnej procedury
• Niedokładna informacja od uŜytkowników
Analiza zadań (6)
• Pytania do zadania uŜytkownikom
Dlaczego to robicie? (cel)
Jak to robicie? (podzadanie)
• Poszukaj słabości/problemów w aktualnej sytuacji
Problemy z celem, marnowanie czasu, niezadowolenie
uŜytkowników
• Badanie kontekstu
• Projektowanie włączające ( Participatory design)
Analiza zadań (7)
• Obserwuj uŜytkowników wykonujących rzeczywiste
zadania w rzeczywistej sytuacji
Bądź konkretny
UŜytkownik pokazuje co i jak robi
Prowadzący wywiad obserwuje i zadaje pytania
• Odrzuć/zbadaj załoŜenia i przygotuj się na
niespodzianki!
Participatory design
• Włącz przedstawicieli uŜytkowników do procesu
projektowania
• W szpitalu lekarz/pacjent (czas !!)
Kolejny wykład
• Architektura interfejsu
• Podejście MVC