Richard Šerý
17.9.2009

GUI Design: Funkcionalita



Tak jako stavba pyramidy, i stavba GUI musí mít solidní základy. A základem je tady funkcionalita. Pokud GUI nezajišťuje potřebnou funkcionalitu, není k ničemu. Dokud nemáme jasno ve funkcionalitě, je zbytečné se zabývat vyššími stupni, jako je použitelnost, design či estetika.

 

Model - Use Cases

Analýza funkcionality

Analýza funkcionality GUI je celkem jednoduchá věc – v zásadě na to stačí analýza případů použítí (use cases, dále jen UC), kterou bychom stejně měli mít vždy k dispozici. Oproti běžnému popisu UC bychom však měli mít trochu více jasno v tom, kdo je uživatel. Zajímá nás např. jak bude uživatel zkušený, inteligentní, pracovně vytížený, jestli je pro něj důležité spíš pracovat rychle, bezchybně, nebo se třeba zorientovat ve složitém problému… Měli bychom znát také četnost jednotlivých UC, tedy jak často se která funkce používá. A třetí podstatný faktor je důležitost UC, tedy jak je daný UC významný pro úspěch výsledného produktu.

Příklad:

Představte si, že vyvíjíme textový editor a v něm UC „Počítání slov v dokumentu“:

Kdo je uživatel?

Funkci „Počítání slov“ běžný člověk nevyužije, ale např. novinář nebo překladatel se bez toho neobejde. Víme tedy, že uživatelem bude někdo, kdo se živí psaním a je placený od slova – díky tomu si dokážeme domyslet nebo zjistit spoustu dalších informací.


Jak často bude funkce využívána?


Počítání slov se spouští většinou tehdy, když je dokument dopsaný. Funkce tedy moc často využívaná nebude a můžeme ji s klidem zastrčit do nějakého rozbalovacího menu.


Jak je UC významný?


Ačkoli náš UC není příliš často využívaný a jeho cílová skupina není příliš početná, jeho důležitost je přesto velká – pro obchodní úspěch textového editoru je nezbytné, aby ho využívali právě profesionálové kteří se živí psaním – už proto že na něj určitě budou psát recenze a vytvářet tak názor ostatních uživatelů.

Výsledkem analýzy funkcionality je tedy seznam případů užití, který obsahuje informace o uživatelích, četnosti použití jednotlivých UC a významu jednotlivých UC.

 

Design funkcionality

Model - Wireframe

Jakmile je máme k dispozici analýzu, můžeme přikročit k designu. To je taková zábavná část, která zahrnuje všelijaké malůvky na papír, tabuli i flipchart, později také malování do různých počítačových programů, jako je třeba Enterprise Architect, někdy dokonce vystřihování modýlků z papíru atd. Cílem je udělat si co nejlepší představu o budoucím GUI s vynaložením co nejmenšího úsilí, pokud možno bez programování. Dost často se během vytváření prototypu GUI zjistí, že analýza, ze které vycházíme, je nesprávná nebo nedostatečná. A vždy vyjde mnohem levněji, najdete-li chybu v analýze, než když tutéž chybu najdete ve výsledném produktu. I proto je dobře dělat prototyp co nejdříve, v optimálním případě současně s analýzou, abychom po schválení analýzy klientem nezjistili, že pro schválené řešení nelze udělat rozumné GUI. Výsledkem této fáze je model GUI, kterému říkáme „wireframe“ (drátový model) , nebo také „papírový prototyp„.

Testování funkcionality

Jestliže jsme poctivě provedli analýzu i design funkcionality, bude otestování snadné. Jako testovací scénáře použijeme UC, které jsme si připravili ve fázi analýzy. Vezmeme schéma aplikace, které jsme si namalovali ve fázi designu, představíme si že je to skutečná aplikace a zjišťujeme, zda by uživatel v takové aplikaci dokázal projít naše testovací scénáře. Pokud ne, je třeba schéma upravit.

Závěrem

Kvalitně navržená funkcionalita je naprostým základem každého GUI. Nenechte se nikdy strhnout k abstraktním úvahám. Naopak, vždy sestavte prototyp, i kdyby aplikace byla velmi jednoduchá, protože většinu problémů člověk pochopí, až když je vidí na papíře. Máme-li dostatečnou přestavu o funkcionalitě, můžeme začít pracovat na použitelnosti GUI. A o tom bude následující díl tohoto seriálu. Předchozí díl: Úvod seriálu Následující díl: Použitelnost

Vaše emailová adresa nebude zveřejněna

Komentáře

Děkujeme za váš komentář
Další
  • u

    To bude prima serie. Mozna ze lide reknou, to vim, ale kdo se nad tim zamysli? Spis zacnou hned mastit program. Dik.