User Tools

Site Tools


statnice:vyvoj:otazka14

14. Návrh uživatelského rozhraní

Formy komunikace mezi člověkem a počítačem, kritéria volby některé z uvedených forem. Metody návrhu uživatelského rozhraní a jejich místo v používaných metodikách vývoje IS/ICT. Prostředky pro návrh uživatelského rozhraní.

Úloha

Předpoklady: Jste analytikem vývojového týmu pro rozsáhlý projekt a řešíte problém návrhu uživatelského rozhraní

Zadání:

  • Obsahují Vám známé metodiky vývoje programových systémů podporu pro návrh uživatelského rozhraní?
  • Argumentujte svůj názor
  • Lze očekávat, že se situace v dané oblasti bude v dohledné době měnit?

Teorie

Toto zpracování je asi trošku starší, možná se bude hodit některý z odkazů v dalších zdrojích …

Formy komunikace mezi člověkem a počítačem:

  • dávková – jednorázové zpracování dávky dat pomocí předběžně nadefinovaných parametrů – dnes se používá poměrně zřídka a pouze pro určité typy specifických úloh
  • interaktivní – komunikace formou dotazů a reakcí pro rychlé odezvy systému: buďto pomocí různých jazyků nebo pomocí GUI. Jazyky mají výhodu, že dokážou popsat i velmi složité jevy, problémem ale je, že takováto komunikace vyžaduje vysoce kvalifikovaného uživatele. Tendence u těchto jazyků, aby připomínaly běžnou řeč – ovšem většinou to není tak slavné – např. SQL.

Jazyky mohou být procedurální – řeší jak nebo neprocedurální – řeší co.

Speciální formy: komunikace příkazy a odpověďmi – náročná na vydefinování všech variant, pokud je to složitější (kdyžtak wizard), drag and drop – komunikace přímou manipulací – intuitivní, populární, podtrhuje vizualitu systému, ne všude je ale možná; výběr z menu – viz dále

Veškeré jiné šílené formy komunikace jako je akustická jsou zatím ve stádiu Star Trek.

Interaktivní komunikace prostřednictvím GUI – v současné době nejrozšířenější druh komunikace s uživatelem. Výhodou je intuitivnost, snadné zaškolení uživatelů. Kromě toho se tato rozhraní poměrně silně standardizovala i napříč operačními systémy, proto je poměrně intuitivní. Nevýhodou je, že je to z hlediska počítače daleko méně efektivní komunikace, než komunikace prostřednictvím jazyků.

V naprosto drtivé formě se používá interaktivní komunikace prostřednictvím GUI. Jedině tam, kde se provádí něco na způsob programování a očekává se kvalifikovaný uživatel, používá se textová komunikace – třeba makra. Metody návrhu – forma, podoba a základní rysy chování jsou dány provozním prostředím (Windows API) a jsou silně standardizovány, proto je tu prostor pro kreativitu omezen a spíš nežádoucí.

Každá obrazovka by měla být jasně označena, ke kterému programu patří, případně jaký soubor je otevřen.

S programem se komunikuje pomocí menu – hlavní menu vodorovné s nejdůležitějším členěním a pouze v hlavním okně – podmenu – uspořádání od nejběžnějších po nejméně běžné – v různých verzích zachovávat strukturu a podporovat to akcelerátory pro high skilled uživatele. Pokud je tam tolik položek, že se tam nevejdou – hierarchické menu. Interaktivní menu – na nakliknutí na pravé tlačíko s reakcí na aktuální stav okna.

Další formou zrychlené komunikace – toolbar – ikony pod menu.

Okna – MDI nebo SDI, okna mohou být modální nebo nemodální, obecně lepší je nemodální, ale pokud je to důležitá věc, na které záleží další postup, musí se modální. Každopádně by uživatel měl vždycky vědět kde je, jak se tam dostal a měl by se dostat ven.

Aplikace by měla v maximální míře podporovat undo a redo a to pokud možno v co nejdelší historii.

Ke každé věci by měl být přístup několika cestami, aby si každý uživatel mohl vybrat – zkušení uživatelé např. volí akcelerátory, protože je to daleko rychlejší.

Další ovládací prvky: tlačítka, radio button, check buttony, listboxy, combo boxy, textboxy, atd., atd.

Položky by měly aktuálně reagovat na stav a např. ty, které jsou neaktuální by měly automaticky zašednout a navádět uživatele.

Pozor na umělou inteligenci, bývá horší, než přirozená blbost!

Byla doba, kdy se říkalo, že rozhraní by mělo být vysoce customizovatelné a pokudmožno by se mělo samo přizpůsobovat podle akcí uživatele. Spíš mám dojem, že se ukazuje, že uživatelé daleko více preferují, když je všechno na svém místě.

Help – uživatel se může kdekoliv ztratit a mělo by tam být několik úrovní nápovědy – stavový řádek, najetí myší, u složitějších akcí jasný popis. Dostupná nápověda podle kontextu – různé Winhelpy, Javahelpy. Měla by být srozumitelná strukturovaná, hypertextová.

Hlášení chyb by mělo být pokud možno přesné a aplikace idiotensicher. Pokud na něco čekáme, šoupnout tam teploměr. Pokud je nějaká delší komunikace, pogratulovat k dokončení. Pokud jsou některé volby Advanced, oddělit je.

Výstup – přehledný, hlavičky stránek, hlavičky sloupců, pokud jsou sestavy delší, jejich číslování. Minimalizovat požadavky na krátkodobou paměť – uživatel je blbec. Udržovat návrh konzistentní, příbuzné volby seskupovat, logicky řadit.

Prostředky pro návrh: současná RAD prostředí jsou schopna generovat rozhraní vizuálně – ideální pro vytváření prototypů.

Další zdroje

Praxe

Ne

Prostě ne

Ne

statnice/vyvoj/otazka14.txt · Last modified: 29.05.2008 23:57 by xvalo07