450 likes | 598 Views
Inżynieria Oprogramowania 7. Projektowanie interfejsów. Leszek J Chmielewski Wydział Zastosowań Informatyki i Matematyki SGGW www.lchmiel.pl. Źródła. Materiały dra Waldemara Karwowskiego, wykładowcy w poprzednich semestrach Ian Sommerville, Inżynieria Oprogramowania, WNT, Warszawa 2003
E N D
Inżynieria Oprogramowania7. Projektowanie interfejsów Leszek J Chmielewski Wydział Zastosowań Informatyki i MatematykiSGGW www.lchmiel.pl
Źródła • Materiały dra Waldemara Karwowskiego, wykładowcy w poprzednich semestrach • Ian Sommerville, Inżynieria Oprogramowania, WNT, Warszawa 2003 • Stephen Few, Perceptual Edgewww.perceptualedge.com Library
Plan • Wstęp • Zasady projektowania interfejsu użytkownika • Interakcja z użytkownikiem • Prezentacja informacji • Ocena interfejsu • Podsumowanie
Plan • Wstęp • Zasady projektowania interfejsu użytkownika • Interakcja z użytkownikiem • Prezentacja informacji • Ocena interfejsu • Podsumowanie
Wstęp • Rodzaje interfejsów • tekstowe • graficzne • Interfejsy tekstowe: • systemy odziedziczone • wybrane systemy profesjonalne • Tu zajmiemy się i. graficznymi
Proces tworzenia interfejsu • Analiza czynności użytkownika • Prototyp – a tani i prosty, np. papierowy • Ocena z udziałem użytkowników • Jeśli trzeba, wróć do 2 • Prototypwykonywalny • Ocena z udziałem użytkowników • Jeśli trzeba, wróć do 5 • Interfejs docelowy
Plan • Wstęp • Zasady projektowania interfejsu użytkownika • Interakcja z użytkownikiem • Prezentacja informacji • Ocena interfejsu • Podsumowanie
Ograniczenia użytkowników • ograniczona pamięć krótka • błędy gdy dużo informacji • błędy pod presją • różne możliwości psychiczne • zróżnicowana wiedza i doświadczenie • różne możliwości intelektualne
Zasady • Blisko użytkownika • pojęcia ze świata użytkowników, nie programistów • Spójność • podobne operacje wykonywane w taki sam sposób • o ile możliwe • Minimum niespodzianek • irytacja wynikiem nieoczekiwanych zdarzeń • Możliwość wycofania • wielopoziomowe wycofanie z błędów, nie od razu zauważonych • potwierdzenie operacji nieodwracalnie destrukcyjnych • Porady dla użytkownika • konstruktywne, kontekstowe, minimalnie obciążające • Rozróżnianie użytkowników • stali, wprawni, profesjonalni, okazjonalni, niepełnosprawni
Plan • Wstęp • Zasady projektowania interfejsu użytkownika • Interakcja z użytkownikiem • Prezentacja informacji • Ocena interfejsu • Podsumowanie
Dwa kierunki • Użytkownik system: Interakcja • System użytkownik: Prezentacja • Rodzaje interakcji (rozumianej jw.) • Działanie bezpośrednie – na obiektach • Wybór z menu • Wypełnianie formularza • Język poleceń • Język naturalny – pisany, mówiony • Każda ma wady i zalety • Różne obszary zastosowań
Plan • Wstęp • Zasady projektowania interfejsu użytkownika • Interakcja z użytkownikiem • Prezentacja informacji • Ocena interfejsu • Podsumowanie
Prezentacja obiekty • Dobra praktyka: Oddzielenie prezentacji od danych • sprzeczna z programowaniem obiektowym • jednak, struktury danych można prezentować na różne sposoby • np. w różnych etapach, na różnych poziomach szczegółowości, różnym użytkownikom itp.
Model-View-Controller • Podejście MVC (Model-View-Controller, Model-Widok-Koordynator) (Smalltalk, 1983) Użytkownik działania użytkownika Stan koordynatoraMetody koordynatora modyfikacje modelu modyfikacje widoku Stan widokuMetody widoku Stan modelu Metody modelu zapytania i aktualizacje
Wiele sposobów interakcji Czynniki wyboru: • Czy potrzeba dokładnej informacji, czy jakościowej, np. związki, relacje? • Jak szybko zmienia się informacja? Czy użytkownik musi widzieć zmiany natychmiast? • Czy użytkownik musi reagować na zmiany, czy tylko obserwować? • Czy informacja jest tekstowa, numeryczna, graficzna?
Elementy graficzne • Prezentacja tych samych danych na różne sposoby
Cywilizacja zegarów • Trudno porównywać dane • Nawet, jeśli forma jest podobna
Kilka uwag o prezentacji danych • Słabo oceniamy kąty i powierzchnie
Mimo to spotykamy... • Porównaj wskazania • Trudne nawet, jeśli podobne w formie
Porównaj powierzchnie • Odpowiedzi: od 6 do 50 • To jest 16
Prezentacje graficzne i porównania • Raczej słupki, niż kąty • Raczej kąty, niż powierzchnie • Słupki równoległe, nie szeregowe • Wartości liczone od prawdziwego zera • Wyraźnie zaznaczone wartości krytyczne • Wykresy • jeśli ważna jest historia • jeśli czas szybko płynie
Kolor • Ogranicz liczbę kolorów, używaj ostrożnie • spokojne, stonowane palety • Zmiana koloru = zmiana stanu • Korzystaj z kodów kolorów • czerwony: • dla kierowcy – niebezpieczeństwo • dla chemika – wysoka temperatura • dla fizyka – niska temperatura • Korzystaj spójnie i rozsądnie • Uważaj na związki między kolorami • czerwony – niebieski • Uważaj na ograniczenia • różna jakość ekranów • Uważaj na ograniczenia i wady wzroku • daltonizm
System pomocy • Dwa przypadki: • HELP! potrzebuję pomocy! • Help. potrzebuję informacji • Przygotowany przez/wraz ze specjalistami w dziedzinie zastosowania oprogramowania • Kontekstowy • Uwzględniający doświadczenie i umiejętności użytkownika • różne poziomy pomocy • unikaj nieczytelnych kodów błędów • unikaj niejednoznacznie oznaczonych sposobów reakcji (np. OK, NIE, zamknij, wyjdź, przyjmijzamiast akceptuj, cofnij) • Styl pozytywny, nigdy negatywny • daj wybór objaśnionych działań, wyjaśnij proces • Nigdy złośliwość ani żartobliwość • Uwzględniający kulturę kraju • realnie, unikając naiwnych sądów • tłumaczenie na miejscu a nie za granicą
Komunikaty błędu • Zorientowany na system i na użytkownika
Dokumentacja użytkownika – Podręczniki • Opis funkcjonalny • b. krótko • opis usług • do decyzji: kupić? • Podręcznik instalatora • Przewodnik podstawowy • minimalny opis normalnych działań • wiele przykładów • jak wycofać się po podstawowych pomyłkach • Podręcznik • opis usług • opis ich wykorzystywania • lista komunikatów o błędach, przyczyny i sposoby zaradcze • Skrócona karta udogodnień – do szybkiego przypomnienia • Podręcznik administratora • pełny opis funkcjonalności • opis sprzętu, konfiguracji, ...
Plan • Wstęp • Zasady projektowania interfejsu użytkownika • Interakcja z użytkownikiem • Prezentacja informacji • Ocena interfejsu • Podsumowanie
Szacowanie wartości interfejsu Ocena względem specyfikacji • Łatwość uczenia • Szybkość działania • Solidność – odporność na błędy (fool proof) • Zdolność do wycofania z błędów • Zdolność do adaptacji
Sposoby oceny • Monitorowanie – rejestracja użytkowania • kamery, zapisy działań • etnografia • duży koszt • Kwestionariusze • klarowne pytania z oczywistymi odpowiedziami • Prosta obserwacja + „głośne myślenie” • Krótkie filmy • Kod gromadzący informacje • Testerzy-ochotnicy + uwzględnianie opinii
Podstawowe błędy • Częste, nienaturalne przenoszenie wzroku • Długie ruchy • Zmiany operacji klawiatura/mysz • Menu górne, dolne, boczne, ... • Zawiłe, długie menu • Nienaturalne, nietypowe grupowanie funkcji • Działanie wbrew przyzwyczajeniom • Bogate zdobnictwo, przepych i ornamenty • Mała odporność • Zepsuć zawsze można
Plan • Wstęp • Zasady projektowania interfejsu użytkownika • Interakcja z użytkownikiem • Prezentacja informacji • Ocena interfejsu • Podsumowanie
Podsumowanie • Projektowanie skoncentrowane na użytkowniku • pojęcia użytkownika, spójność i logika, ergonomia, udogodnienia, pomoc • Naturalna interakcja, dobrana do zastosowania • Prezentacja danych odpowiednia do celu • informacje ilościowe, jakościowe • Oszczędny, spójny kolor • uwzględnione częste wady wzroku • zgodność z kulturą miejsca • Pomoc kontekstowa • potrzebuję pomocy • potrzebuję informacji • nie podkreśla winy użytkownika, ale pomaga zaradzić • Dokumentacja do wszystkich zastosowań • Ocena ilościowa, względem specyfikacji
”People are primarily interested in focusing on their tasks and not on operating the interface” • ”The computer becomes a "tool" in the best sense of the word—an extension of the user's body” Ben Bederson and Ben Shneiderman, The Craft of Information Visualization, Morgan KaufmannPublishers, San Francisco, CA, 2003. Dziękuję