Uživatelská rozhraní. úvod. Eduard Sojka. Léto 20011/12 VŠB Technická univerzita Ostrava



Podobné dokumenty
Uživatelská rozhraní. úvod. Eduard Sojka. Léto 20017/18 VŠB Technická univerzita Ostrava

14. května 2012, Brno

Rozklad na prvočinitele. 3. prosince 2010

VISUAL BASIC. Přehled témat

Základy algoritmizace a programování

Manuál SW lokalizace problémů a hodnot v dynamické mapě

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

IB111 Programování a algoritmizace. Programovací jazyky

MS Word 2007 Šablony programu MS Word

ONI system Notifikace a pravidla + vícenásobný filtr

Bc. Martin Majer, AiP Beroun s.r.o.

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

IB111 Úvod do programování skrze Python Přednáška 13

Člověk a UI/GUI. Eduard Sojka. URO, Léto 2011/12 VŠB Technická univerzita Ostrava

Návod DB.Najdilektora.cz

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat

GRAFICKÝ MANUÁL PIKTOGRAMY IROP

Návod k obsluze webové aplikace EJídelníček 1. Vstupní stránka

Seminář z Informatiky a výpočetní techniky. Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr

Rozvoj tepla v betonových konstrukcích

MBI - technologická realizace modelu

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

PŘÍLOHA C Požadavky na Dokumentaci

Programování a algoritmizace: úvod

BI-EP1 Efektivní programování 1

Minimanuál Guideline

Cvičení č. 3. Sdílené prostředky a synchronizace Program Banka. 4 body

2. lekce Algoritmus, cyklus Miroslav Jílek

Algoritmizace- úvod. Ing. Tomáš Otáhal

Služby Microsoft Office 365

Obsahy kurzů MS Office

Matematika v programovacích

Funkce - opakování. Funkce může přijímat parametry na vstupu a může vracet parametry na výstupu.

Úvod do informačních technologií

Rozdílová dokumentace k ovládání IS KARAT.net

CODEWEEK 2014 Rozvoj algoritmického myšlení nejen pomocí programu MS Excel. Michaela Ševečková

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Redakční systém Joomla. Prokop Zelený

Poslední nenulová číslice faktoriálu

Slovní úlohy vedoucí na kvadratické rovnice

Fyzikální laboratoř. Kamil Mudruňka. Gymnázium, Pardubice, Dašická /8

Uživatelská příručka k systému Jídelna inet

Základní popis obsluhy lokalizačního serveru systému REX

Základy algoritmizace a programování

Manuál k ovládání aplikace INFOwin.

Tvar dat a nástroj přeskupování

Sdílení souborů v sítích s Windows 2000/ XP a 9x :

Martin Hejtmánek hejtmmar

Výpočet finančního zdraví. Uživatelský manuál. ecba s.r.o., 2009, verze

Angličtina program k procvičování slovní zásoby

Uživatelský manuál pro lektora e-learningového portálu MAFIDIS+

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

ROZLOŽENÍ STRÁNKY, NÁVRH. Okraje

Analýza a Návrh. Analýza

Pokyny pro vypracování maturitního projektu

Výpočet finančního zdraví. Uživatelský manuál. ecba s.r.o., 2008, verze

Pracovní list VY_32_INOVACE_33_19 Databáze Databáze Databáze Ing. Petr Vilímek

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

Jak vložit položku do GDSN

Registrace a nastavení účtů do Vodafone OneNet Samoobsluhy, Vodafone evyúčtování.

A4300BDL. Ref: JC

V ukázce jsou zalomení řádku signalizována znakem a konce odstavců znakem. Nástroje Vkládání odrážek a číslování v nabídce DOMŮ v sekci ODSTAVEC.

Gymnázium Ostrava Hrabůvka, příspěvková organizace Františka Hajdy 34, Ostrava Hrabůvka

Cestovní zpráva. Program akce: Průběh akce. O Anopress

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Soukromá střední odborná škola Frýdek-Místek, s.r.o. VY_32_INOVACE_49_IVT_MSOFFICE_05_Word

NOVÉ GRAFICKÉ UŽIVATELSKÉ ROZHRANÍ (GUI)

D2 - GUI design. Radek Mečiar

VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni. Abstrakt

MS PowerPoint ZÁKLADY

Představte si, že hledáte dovolenou v Itálii. Co uděláte? Půjdete na italský vyhledávač a zadáte tam klíčové slovo vacanze in Italia?

Algoritmizace prostorových úloh

Koncepce (větších) programů. Základy programování 2 Tomáš Kühr

Algoritmizace prostorových úloh

NULTÁ GENERACE reléové obvody 30. a 40. let minulého století Harvard Mark I Harvard Mark II Konráda Zuseho Z2 SAPO

Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Návrh a management projektu. Řízení a koordinace projektu

Úvod do programování - Java. Cvičení č.4

Tento dokument popisuje instalaci a používání elektronické cvičebnice Styx.

Dvouletá retrospektiva podpory učitelů při rozvoji informatického myšlení žáků. Blanka Kozáková Jiří Sumbal

Návod pro rodičovský portál systému Edookit

Manuál online studia

Uživatelská příručka

Geis Point Plugin Map

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Praktické využití Mathematica CalcCenter. Ing. Petr Kubín, Ph.D. Katedra elektroenergetiky, ČVUT v Praze, FEL

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA

Střední průmyslová škola Zlín

Algoritmizace. Cíle předmětu

VYÚČTOVÁNÍ DANĚ ZE ZÁVISLÉ ČINNOSTI, SRÁŽKOVÉ DAŃE

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Software pro formování dielektrika kondenzátorů

POPIS PROSTŘEDÍ PROGRAMU GIMP 2. Barvy 2. Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6. Změna velikosti fotografie 6

Obsah. Proč právě Flash? 17 Systémové požadavky 17. Jak používat tuto knihu 18 Doprovodný CD-ROM 19

Transkript:

Uživatelská rozhraní úvod Eduard Sojka Léto 20011/12 VŠB Technická univerzita Ostrava

O čem předmět bude? (1) O rozhraní ( interfejsu ) mezi počítačovým programem a jeho obsluhou. O jeho vzhledu (jak by mělo vypadat) O jeho realizaci (jak jej naprogramovat) O jeho testování (jak zjistit, zda vyhovuje uživateli) 2

O čem předmět bude? (2) Hlavně o designu a konstrukci grafického rozhraní programů = GUI 3

O čem předmět bude? (3) Také ale trochu o designu www stránek 4

Co ponecháme více či méně stranou? (1) Dnes již poněkud historická rozhraní 5

Co ponecháme stranou? (2) Pro nás zatím poněkud speciální rozhraní 6

Co ponecháme úplně stranou? (3) Zatím poněkud futuristická rozhraní 7

Co ještě ponecháme stranou? (4) Další speciální rozhraní Komunikace mluvenou řečí Komunikace gesty A jiná 8

HCI: Historie (1) ENIAC (1943), IBM 9

HCI: Historie (2) Mark I (1944), Harvard University 10

HCI: Historie (3) Stretch (1961), IBM 11

HCI: Historie (4) Zuse Z11, D 1956/57 12

HCI: Historie (5) Univac, USA 1958 13

HCI: Historie (6) Elektronkový klopný obvod (Univac) 14

HCI: Historie (7) Mainlufterl, Heinz Zemanek, Wien, 1957/8, tranzistory 15

HCI: Historie (8) Honeywell Bull, F 1971 16

HCI: Historie (9) PDP 11, Digital, kolem roku 1975 17

HCI: Historie (10) Analog,? 18

Dnešní situace při konstrukci GUI? Dnes pro konstrukci GUI máme: Velmi slušné vzory (programy) s nimiž denně pracujeme Velmi slušné knihovny prvků GUI (rozumně předvolené hodnoty, nativní vzhled, ) Důsledek: Nejhrubší chyby by se dnes už vyskytovat neměly. Přesto ale (Předpokládá se samozřejmě, že v implementaci chyby nejsou.) 19

Bývá GUI vždy v pořádku? (1) Komentář k následujícím ukázkám: Největší problémy vznikají tehdy, jestliže produkt neodpovídá stylu práce uživatele (např. často používané příkazy jsou schovány hluboko ve víceúrovňových menu, nelogická struktura menu, nelogická struktura dotazů, ). To ale nebylo možné zachytit na snímky Pro návrh GUI je typické říkat, co je špatně 20

Bývá GUI vždy v pořádku? (2) Barvy? 21

Bývá GUI vždy v pořádku? (3) Udělejte inventuru veškeré komunikace vašeho programu s uživatelem. Rozdělte komunikaci na části, které budou tvořit jednotlivá menu, dialogová okna, případně stránky. Obrázek ukazuje, proč nemůžete barvy z opačných konců spektra vidět ostře současně. 22

Bývá GUI vždy v pořádku? (4) 23

Bývá GUI vždy v pořádku? (5) Co se stane, když je pozadí složité: Vidíte bílé jezdce? Vidíte také černé? Daří se vám vidět bílé i černé najednou? Vidíte ptáka na obrázku vpravo? (M.C. Escher) M.C. Escher 1898-1972 italský grafik http://www.mcescher.com 24

Bývá GUI vždy v pořádku? (6) Autor tohoto formuláře nechtěně realizoval přesně to, co M.C. Escher dělal záměrně (složité pozadí). 25

Bývá GUI vždy v pořádku? (7) Nekonzistentní vzhled ikon na tlačítkách, ikony špatně dešifrovatelné. 26

Bývá GUI vždy v pořádku? (8) 27

Bývá GUI vždy v pořádku? (9) MS Word 28

Bývá GUI vždy v pořádku? (10) Z N N PS 29

Bývá GUI vždy v pořádku? (10) 30

Bývá GUI vždy v pořádku? (11) MS Win 95 31

Bývá GUI vždy v pořádku? (12) KatIS VŠB MS Visual Basic 5.0 32

Bývá GUI vždy v pořádku? (13) Python, 1998 33

Bývá GUI vždy v pořádku? (14) Barborka, 2004 34

Grafický design GUI: Test Proč je auto vlevo? Proč je pozadí rozmazané? Proč jsou svodidla nahoru? Proč jde stín dopředu? http://www.jaguar.com/us/en/home.htm

Bývá GUI vždy v pořádku shrnutí (1) Typický problém konstrukce UI / GUI: Naprogramováno bývá bezchybně (samozřejmé, ale jen to nestačí) Přesto se ale uživateli vůbec nemusí líbit. Nutí ho pracovat nepohodlně, pro něj nezvykle, nelogicky (Naštěstí pro autory produktu - si při tom uživatel dnes ještě často myslí, že chyba je na jeho straně.) 36

Bývá GUI vždy v pořádku shrnutí (2) Vývoj GUI vyhovujícího uživateli je obtížný. (Sledujte, jak se GUI postupem času měnilo u některých význačných produktů.) 37

Pohledy na konstruování GUI Eduard Sojka VŠB Technická univerzita Ostrava

Tři pilíře tvorby GUI GUI Design Realizace Testování Modely Algoritmy Experiment Výzkum 39

Člověk a UI/GUI Co při konstrukci rozhraní sledovat? 40

Člověk a UI/GUI Co při konstrukci rozhraní sledovat? 41

Několik slov o designu (detaily později) Studujte potřeby uživatele. Vy sami jím nejspíše nebudete! Vím dost o tom, kdo bude uživatelem (věk, vzdělání, atd.) co přesně potřebuje, jak bude s produktem pracovat? To vše zjistit nemusí být ani rychlé ani levné. 42

Design - Úvaha o penězích Náklady na návrh a realizaci a náklady na pozdější úpravy jsou protichůdné! Náklady Na pozdější úpravy Na návrh a realizaci Optimum Péče věnovaná návrhu 43

O realizaci rozhraní UI / GUI (1) Dva krajní postupy realizace celého programu Od algoritmu řešení problému samotného Od rozhraní (zejména GUI) (Pozor, žádný z nich ale není správně.) 44

O realizaci rozhraní UI / GUI (2) Příklad: Vytvořme program řešící kvadratickou rovnici 2 a x b x c=0. Dobře víme, že platí 2 d=b 4 a c, b± d x 1,2=. 2a (Toto popisuje algoritmus řešení problému samotného.) 45

O realizaci rozhraní UI / GUI (3) Od algoritmu (zastaralé?): 1) Zapíšeme algoritmus 2) Doplníme vstupy a výstupy int main( void ){ float a, b, c, d, x1, x2; printf("zadej hodnoty a, b, c:\n"); scanf("%f %f %f", &a, &b, &c); getchar(); d = b*b - 4.0f*a*c; if (d < 0) return 0; x1 = 0.5f*(-b + sqrt(d))/a; x2 = 0.5f*(-b - sqrt(d))/a; printf("reseni: x1=%f x2=%f\n", x1, 2); return 1; } 46

O realizaci rozhraní UI / GUI (4) Diskuse postupu od algoritmu: Často použit tehdy, když je algoritmizace vlastního problému obtížná (matematika, fyzika, technické výpočty). Program může mít dlouhou životnost (vstupy a výstupy jej nekomplikují) UI vyhovuje zpravidla jen podmíněně. Program lze však na lepší UI/GUI snadno napojit dodatečně. Lze jej proto ku podivu považovat ze vcelku dobrý. 47

O realizaci rozhraní UI / GUI (5) Od rozhraní s využitím vizuálního nástroje nové? 48

O realizaci rozhraní GUI (6) Od rozhraní s využitím vizuálního nástroje (2) 49

O realizaci rozhraní UI / GUI (7) Diskuse postupu od rozhraní: Zejména použití vizuálních nástrojů svádí k promíchání algoritmu řešení vlastního problému s GUI. To je zpravidla nežádoucí. S ohledem na předchozí bod může být obtížné takové programy udržovat. (Uvažte, že vizuální nástroj, v němž jste program vytvořili, nemusí být po čase dostupný. Uvažte také že, k programu bude možná po čase zapotřebí vytvořit zcela nové rozhraní.) 50

O realizaci rozhraní GUI (8) Jak tedy rozhraní realizovat? Kombinovat oba postupy! Řešení úlohy samotné konstruovat (co nejdéle) bez rozhraní. Rozhraní konstruovat (co nejdéle) bez řešení úlohy samotné. Nakonec obojí propojit. Výjimka: Aplikace, které kromě vstupů a výstupů skoro nic jiného nedělají. 51

Nástroje pro konstruování GUI (1) Obecné programovací jazyky (C, Java) + knihovny pro vytváření GUI (MFC, Qt, wxwindows, Awt, Swing, ). Navštivte prosím http://www.atai.org/guitool http://www-cgi.cs.cmu.edu/afs/cs/usr/bam/www/toolnames.html Skriptovací (scénařové) jazyky (Tcl, Python, Perl, ). Ty řeší navíc problém sestavování aplikací z částí. 52

Proces realizace GUI (1) Hrubá specifikace funkcí (slovně) Nákresy na papíře Modely na počítači Realizace GUI a jeho vestavění do aplikace 53

Proces realizace GUI (2) Doopravdy i na papíře: 54

Testování GUI (1) Kontrola expertem Dotazování uživatelů Testování s uživateli 55

Testování GUI (2) Kontrola expertem Kontrola splnění obecně platných pravidel a pravidel platných v organizaci Kontrola konzistence: Jednotný vzhled obrazovky, jednotná terminologie, formát vstupů, barevnost Procházka: Simulace práce uživatele provedená expertem 56

Design GUI: Firemní pravidla

Design GUI: Firemní pravidla

Testování GUI (3) Dotazování uživatelů Dotazy typu: V případě chyby mi chybové hlášení vždy pomohlo k lokalizaci chyby. V menu jsem příkazy vždy nacházel na místech, kde jsem je očekával.. Odpovědi od určitě ano do určitě ne. 59

Testování GUI (4) Testování produktu s uživateli Pro vzorek uživatelů se hodnotí: Jak dlouho trvá, než se naučí provádět vybrané operace. Jak dlouho jim pak provádění operací trvá. Počet chyb (chybných pokusů). Jak dlouho si naučený postup zapamatovali. Subjektivní dojem uživatelů. 60

K obsahu předmětu (1) Témata přednášek: O návrhu vzhledu a chování GUI. Tvorba GUI s využitím Qt 61

K obsahu předmětu (2) Témata cvičení: Tvorba GUI s využitím vyšších jazyků (skriptovacích) jazyků (Python, Tcl) Tvorba GUI v C++ a Qt Tvorba GUI v Java a Swing 62

K obsahu předmětu (3) Projekt: Zvolit zadání (nikoli složité, řešíme jen GUI). Provést návrh vzhledu rozhraní. Jeden exemplář realizovat ve vyšším jazyce {Python, Tcl} a jeden nižším jazyce {Java C} s využitím knihoven prvků GUI { Swing Qt }. 63

K obsahu předmětu (4) Materiály http://mrl.cs.vsb.cz Poznámky k přednáškám (tyto slajdy ) Návody do jednotlivých cvičení a šablony Doplňková nepovinná literatura (manuály, knihy, články) Různé instalační soubory 64