27
Projektowanie interfejsu użytkownika (zasady ogólne) Inżynieria Oprogramowania Jarosław Kuchta

Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Embed Size (px)

Citation preview

Page 1: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Projektowanie interfejsu użytkownika

(zasady ogólne)

Inżynieria OprogramowaniaJarosław Kuchta

Page 2: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Charakterystyki użytkowników

• Nazwa użytkownika• Cel korzystania z systemu• Klasyfikacja

– przynależność organizacyjna– doświadczenie i umiejętności– uprawnienia decyzyjne

• Dodatkowe cechy – wiek– poziom wykształcenia– zastrzeżenia

• Krytyczne czynniki powodzenia– potrzeby i możliwości– preferencje i uprzedzenia

• Scenariusze zadań

Page 3: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Podstawowe zasady projektowania interfejsu użytkownika

• Wygląd – interfejs powinien być podzielony na różne obszary przeznaczone do różnych celów.

• Uświadamianie zawartości – interfejs powinien uświadamiać użytkownika, w którym miejscu się znajduje i co oznaczają prezentowane informacje.

• Estetyka – interfejs powinien zapewniać równowagę pomiędzy ilością prezentowanej informacji a jej atrakcyjnością wizualną.

• Doświadczenie użytkownika – interfejs powinien uwzględniać zarówno łatwość nauki dla początkujących jak i łatwość użycia dla doświadczonych użytkowników.

• Spójność – interfejs powinien być spójny dla ułatwienia użytkownikowi przewidywania skutków podejmowanych przez niego działań.

• Minimalizacja wysiłku – interfejs powinien ułatwiać działania użytkownika, tak by ilość kroków wiodących do osiągnięcia celu była jak najmniejsza.

Page 4: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Podział interfejsu na obszaryObszar nawigacji

przeglądarki

Obszar nawigacjistrony

Obszar statusuprzeglądarki

Obszar nawigacjistrony

Obszar nawigacjistrony

Obszar informacyjny strony

Page 5: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Zasady podziału

• Każdy obszar powinien mieć jasno wytyczone granice.

• Każdy obszar powinien mieć jasno określone przeznaczenie.

• Każdy obszar powinien zawierać tylko te informacje, które są potrzebne do realizacji określonego przeznaczenia.

• Obszary informacyjne powinny być uszeregowane w kolejności przetwarzania tej informacji przez użytkownika (z góry w dół, od lewej do prawej).

Page 6: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Zasady uświadamiania zawartości (1)

• Wszystkie okna i raporty muszą mieć tytuły jednoznacznie identyfikujące ich zawartość.

• Menu musi pokazywać, w którym miejscu jest użytkownik (i jak się tu dostał).

• Przyciski powinny mieć napisy identyfikujące ich funkcje. Jeśli napisy te nie są pokazywane cały czas na ekranie, to powinny być pokazywane przy najechaniu na przycisk wskaźnikem myszy.

• Przyciski odpowiedzi na oknach komunikatów powinny być łatwo interpretowane w kontekście treści komunikatu.

Page 7: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Zasady uświadamiania zawartości (2)

• Forma informacji na sąsiadujących obszarach powinna być różna (np. tekst-grafika, różne czcionki). Rozróżnianie kolorem nie jest wystarczające.

• Jeśli informacje na sąsiadujących obszarach są podobne w formie, to muszą być oddzielone dodatkowym elementem (np. linią).

• Każde pole edycji musi mieć etykietę jednoznacznie identyfikującą zawartość pola.

• Pola edycji, których format wewnętrzny nie jest oczywisty (np. pola z datą), muszą mieć dodatkowe oznaczenie formatu wprowadzanych danych.

• Raporty powinny mieć datę sporządzenia.

Page 8: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Zasady estetyki (1)

• Interfejs użytkownika powinien być zarówno funkcjonalny jak i „przyjemny dla oka”.

• Ilość wolnego miejsca pomiędzy elementami interfejsu powinna być dostosowana do wymagań użytkownika (50% dla początkujących, 10% dla zaawansowanych).

• Należy unikać tworzenia formularzy lub raportów dużych, zawierających ponad 50 pól danych. Formularz lub raport powinien zawierać tylko informacje, które mogą być jednorazowo przetworzone przez człowieka.

Page 9: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Zasady estetyki (2)• Tekst główny powinien być prezentowany czcionką 8-

10 punktową. Na formularzach powinna być używana czcionka bezszeryfowa, na raportach – czcionka szeryfowa.

• Należy unikać stosowania więcej niż dwóch różnych czcionek. Stanowczo trzeba unikać czcionek ozdobnych, lecz trudnych do czytania.

• Stosowane kolory powinny być stonowane (kontrastowe zwracają uwagę, lecz są męczące dla oka).

• Kolor nie może być jedynym wyróżnikiem informacji. Interfejs użytkownika nie może ukrywać informacji przed osobami cierpiącymi na daltonizm.

Page 10: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Doświadczenie użytkownika (1)

• Interfejs użytkownika powinien być łatwy do nauczenia się posługiwania się nim przez początkujących użytkowników.

• Interfejs użytkownika powinien ułatwiać i przyspieszać wykonywanie działań przez zaawansowanych użytkowników.

• Menu powinno składać się nie więcej niż z trzech poziomów w przypadku menu głównego i nie więcej niż z dwóch poziomów w przypadku menu kontekstowych.

• Menu powinno prezentować wszystkie dostępne funkcje aplikacji, tzn. nie powinno być takiej funkcji, do której nie można by się było dostać z menu.

• Menu na każdym poziomie powinno zawierać nie więcej niż kilka pozycji. W przypadku bardziej rozbudowanego menu wskazane jest, by pozycje menu były logicznie pogrupowane oraz by częściej używane funkcje były w pewien sposób wyróżnione.

Page 11: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Doświadczenie użytkownika (2)

• Częściej wykorzystywane funkcje powinny być dostępne bezpośrednio poprzez przyciski narzędziowe.

• Przyciski narzędziowe powinny mieć obrazek kojarzący się z wykonywaną funkcją oraz nazwę funkcji. Jeśli nazwy funkcji na przyciskach nie mogą być pokazane, to powinny być pokazywane przy najechaniu myszą na przycisk.

• Przyciski powinny być logicznie pogrupowane na paskach narzędziowych.

• W przypadku aplikacji realizującej liczne funkcje wskazane jest, aby umożliwiała ona konfigurację pasków narzędziowych, w tym umieszczanie na paskach przycisków wiodących do wszystkich funkcji aplikacji, również tych rzadziej wykorzystywanych.

Page 12: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Doświadczenie użytkownika (3)

• Wskazane jest, aby bardziej złożona aplikacja prezentowała swoje możliwości za pomocą podpowiedzi. Jeśli podpowiedzi te zajmują istotnie dużo miejsca na ekranie, to aplikacja powinna umożliwić wyłączenie podpowiedzi i włączenie ich ponownie na żądanie.

• Aplikacja powinna umożliwiać szybki dostęp do funkcji za pomocą skrótów klawiszowych. W przypadku bardziej złożonej aplikacji wskazane jest zapewnienie możliwości definiowania własnych skrótów klawiszowych.

• Aplikacja powinna mieć system pomocy ekranowej wyjaśniającej podstawowe mechanizmy zastosowane w aplikacji i wyjaśniającej sposób wykorzystania tych mechanizmów.

Page 13: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Spójność• Interfejs użytkownika powinien być spójny dla

zapewnienia przewidywalności podejmowanych działań przez użytkownika.

• Wszystkie formularze i raporty w aplikacji powinny być zaprojektowane w jednolity sposób, tzn. z użyciem jednolitego aparatu pojęciowego (terminologii) i z zastosowaniem jednolitej formy (takiego samego układu, czcionek i kolorów) oraz sposobu nawigacji.

• Interfejs użytkownika aplikacji powinien być spójny z innymi aplikacjami z tej samej dziedziny zastosowania wykorzystywanymi w określonym systemie operacyjnym.

Page 14: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Minimalizacja wysiłku• Interfejs użytkownika powinien ułatwiać

użytkownikowi wykorzystanie funkcji aplikacji tak, aby wysiłek użytkownika była jak najmniejszy.

• Zaleca się, aby ilość kliknięć myszą wiodących poprzez menu lub przyciski narzędziowe do każdej funkcji nie przekraczała trzech.

• W przypadku funkcji wielokrotnie wykorzystywanych zaleca się zastosowanie mechanizmu powtarzania funkcji lub grupowania przedmiotów działania funkcji.

• W przypadku bardziej złożonych aplikacji zaleca się zastosowanie mechanizmu umożliwiającego łączenie wielu różnych funkcji w jedną.

Page 15: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Proces projektowania interfejsu użytkownika

Opracowanie scenariuszy użycia

Projektowaniestrukturyinterfejsu

Projektowaniestandardów

interfejsu

Prototypowanieprojektuinterfejsu

Ocenainterfejsu

Page 16: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Scenariusz użycia

• Scenariusz użycia jest opisem podstawowych kroków, które musi przejść użytkownik dla osiągnięcia określonego celu.

• Podstawa do opracowania: model przypadków użycia, diagramy sekwencji (interakcji).

• Nie rozpatruje się wszystkich możliwych scenariuszy użycia, lecz dwa lub trzy najczęściej realizowane.

• Sposób prezentacji: opis tekstowy

Page 17: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Scenariusz użycia 1.Klient przeglądający ofertę

1. Klient przegląda ofertę szukając interesujących go towarów w określonej kategorii

2. Klient przegląda podstawowe informacje dla kilku towarów. Porównuje informacje między sobą łącznie z ofertą cenową.

3. Klient umieszcza wybrany towar (towary) w koszyku i dalej przegląda ofertę.

4. Przed złożeniem zamówienia klient przegląda koszyk dla zorientowania się, czy łączna kwota do zapłaty jest do zaakceptowania. Ewentualnie klient usuwa pewne towary z koszyka.

5. Klient składa zamówienie wybierając formę płatności.

Page 18: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Scenariusz użycia2. Klient szukający określonego towaru

1. Klient szuka określonego towaru po nazwie lub typie.

2. Klient oczekuje podania ceny i terminu dostawy.

3. W przypadku niezadowolenia klient oczekuje innej oferty w tym samym typie.

4. Klient składa zamówienie lub przechodzi do innej witryny.

Page 19: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Struktura interfejsu

• Struktura interfejsu określa podstawowe komponenty interfejsu i sposób ich współdziałania dla dostarczenia określonej funkcjonalności dla użytkowników.

• Sposób prezentacji: Window Navigation Diagram (WND)

Page 20: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Window Navigation Diagram (WND)

« window»Main Menu

« window»Menu A

« window»Menu B

« form»Form A

« form»Form B

« form»Form C

« report»Report A

Page 21: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Standardy interfejsu (1)

• Standardy interfejsu są do podstawowe elementy projektowe, które są wspólne dla wielu ekranów, formularzy i raportów w systemie.

• Tworzy się repozytorium elementów, które będą wykorzystywane przy prototypowaniu i projektowaniu interfejsu

• Ustala się nazwy elementów, ich znaczenie i formę (nazwę prezentowaną dla użytkownika, ikonę)

Page 22: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Standardy interfejsu (2)

• Metafory interfejsu (np. koszyk na zakupy)• Obiekty interfejsowe - klasy głównych komponentów

interfejsu (np. Formularz zamówienia)• Akcje interfejsowe - działania wiodące użytkownika

przez interfejs (np. Zamówienie-nowe, Zamówienie-zmiana, Zamówienie-anuluj)

• Ikony interfejsowe (zgodność ze standardami, czytelność, zrozumiałość)

• Szablony interfejsowe - wygląd głównych okien, formularzy, raportów

Page 23: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Prototypowanie interfejsu

• Storyboard• Prototypowanie HTML• Prototypowanie w języku docelowym

Page 24: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

StoryboardDane klienta

Imię Nazwisko

AdresMiejscowość Kod

poczt.00-000

Ulica Nr domu Nr lokalu

Znajdź klienta

Imię Nazwisko

AdresMiejscowość Kod

poczt.00-000

Ulica Nr domu Nr lokalu

Dane klienta

ImięAdam

NazwiskoAbacki

AdresMiejscowośćNieznane

Kod poczt.12-345

UlicaZapole

Nr domu13A

Nr lokalu13

Lista klientów

Abacki AdamBabacki BartoszCabacki Czesław

Menu klienta

Dodaj klientaZnajdź klientaLista klientów

DodajKlienta

ZnajdźKlienta

KlientZnaleziony PoprawDaneKlienta

ListaKlientów

PodajDaneKlienta

ListaKlientów

ListaKlientów

ZnajdźKlienta

ZnajdźKlienta

DodajKlienta

Page 25: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Prototypowanie w

• HTML– interaktywne– szybkie w wykonaniu– nie odpowiada obrazowi

docelowemu

• języku docelowym– interaktywne– wolniejsze– odpowiada obrazowi

docelowemu

Page 26: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Ocena interfejsu

• ocena heurystyczna– ocena zgodności z zasadami– min. 3 ekspertów

• przegląd interfejsu z użytkownikiem• ocena interaktywna u użytkownika• formalne testowanie użyteczności

Page 27: Projektowanie interfejsu użytkownika (zasady ogólne)git.eti.pg.gda.pl/intel-grant/pliki/sees/IWSW_12a_JK.pdf · Podstawowe zasady projektowania interfejsu użytkownika ... powinna

Literatura

• Dennis A., Wixom B.H., Tegarden D., Systems Analysis & Design. An Object-Oriented Approach with UML, John Wiley and Sons, USA, 2002

• Rolf Hennicker, Nora Koch: Modeling the User Interface of Web Applications with UML, http:// www.pst.informatik.uni-muenchen.de /personen/kochn/pUML2001-Hen-Koch.pdf

• Coad P., Yourdon E.: Projektowanie obiektowe, Oficyna wydawnicza Read Me, Warszawa 1994