Objektově orientované uživatelské rozhraní - Object-oriented user interface

v výpočetní, an objektově orientované uživatelské rozhraní (OOUI) je typ uživatelské rozhraní na základě objektově orientované programování metafora. V OOUI uživatel explicitně interaguje s objekty, které představují entity v doméně, jíž se aplikace týká. Mnoho aplikací pro vektorové kreslení má například OOUI - objekty jsou čáry, kruhy a plátna. Uživatel může explicitně vybrat objekt, změnit jeho vlastnosti (například velikost nebo barvu) nebo vyvolat další akce s ním (například přesunout, zkopírovat nebo znovu zarovnat). Pokud má obchodní aplikace jakékoli OOUI, může uživatel vybírat a / nebo vyvolávat akce na objektech představujících entity v obchodní doméně, jako jsou zákazníci, produkty nebo objednávky.

Jakob Nielsen definuje OOUI na rozdíl od funkčně orientovaných rozhraní: „Objektově orientovaná rozhraní jsou někdy popisována jako převrácení aplikace naruby ve srovnání s funkčně orientovanými rozhraními. Hlavní zaměření interakce se mění tak, aby se staly daty uživatelů a dalšími informacemi objekty, které jsou obvykle graficky znázorněny na obrazovce jako ikony nebo v oknech. "[1]

Dave Collins definuje OOUI jako demonstraci tří charakteristik:

  • Uživatelé vnímají objekty a jednají podle nich
  • Uživatelé mohou klasifikovat objekty podle toho, jak se chovají
  • V kontextu toho, co se uživatelé snaží dělat, všechny objekty uživatelského rozhraní zapadají do soudržné celkové reprezentace.[2]

Jef Raskin naznačuje, že nejdůležitější charakteristikou OOUI je to, že používá styl interakce „podstatné jméno-sloveso“, a nikoli styl „sloveso-podstatné jméno“, což má několik výhod, pokud jde o použitelnost.[3]

Vztah k jiným nápadům uživatelského rozhraní

Mezi koncepcí OOUI a dalšími důležitými myšlenkami v designu uživatelského rozhraní existuje velká možná synergie, včetně:

Mnoho futuristických představ o uživatelských rozhraních se silně spoléhá na koncepty OOUI a zejména OOGUI.[4] Existuje však mnoho příkladů uživatelských rozhraní, která implementují jeden nebo více z těchto dalších nápadů, ale která ve skutečnosti nejsou OOUI - i když jsou často nesprávně označena jako OOUI.[5] Naopak, existují příklady OOUI, které nejsou ani grafické, ani nepoužívají techniky přímé manipulace ani silné metafory. Například nejstarší verze souboru Pokec programovací jazyk měl a rozhraní příkazového řádku to však bylo také jasně OOUI,[6] ačkoli to později stalo se více známé pro jeho průkopnickou roli ve vývoji GUI, přímé manipulace a vizuální metafory.

Vztah k objektově orientovanému programování

Ačkoli existuje mnoho koncepčních paralel mezi OOUI a objektově orientované programování, z toho nevyplývá, že OOUI musí být implementováno pomocí objektově orientovaný programovací jazyk.

Pokyny pro Společný přístup IBM k uživatelům (CUA), (možná nejkomplexnější pokus o definování standardu pro návrh OOUI) uvedl, že „zatímco objektově orientované programování může usnadnit vývoj objektově orientovaného uživatelského rozhraní, není to nezbytným předpokladem. Objektově orientované uživatelské rozhraní lze vyvinout pomocí tradičnějších programovacích jazyků a nástrojů. “[7]

Existují však silné synergie. Larry Tesler, který odešel Xerox PARC v roce 1980 se připojit Jablko zdůraznil vztah:

Mnoho pozorovatelů předpokládalo, že Pokec uživatelské rozhraní a jazyk Smalltalk jsou oddělitelné inovace. V důsledku toho byla většina systémů ovlivněných uživatelským rozhraním Smalltalk navržena, aniž by se uchýlilo k implementačnímu přístupu Smalltalk. V Apple, po použití Pascal implementovat šest počátečních žádostí pro Lisa, objevili jsme přesvědčivé důvody, proč změnit náš programovací jazyk tak, aby obsahoval více nápadů od Smalltalku. Aplikace Lisa jsou nyní psány v jazyce Klasická, rozšíření Pascalu obsahující objekty, třídy, podtřídy a vyvolání procedury předáváním zpráv.[8]

Vztah k modelování doménových objektů

Existuje také zřejmá synergie mezi konceptem OOUI a myšlenkou konstrukce softwaru z objekty domény. Z toho však nevyplývá, že objekty, které uživatel vidí a interaguje v rámci OOUI, musí odpovídat objekty domény na kterém je aplikace postavena.

The CUA pokyny uvádějí, že „V objektově orientovaném uživatelském rozhraní nemusí objekty, se kterými uživatel pracuje, nutně odpovídat objektům nebo modulům kódu, které programátor použil k vytvoření produktu.“[7] Základní konstrukční metody popsané v CUA byly dále vylepšeny do OVID[9] použitá metoda UML modelovat rozhraní.

Mark van Harmelen uvádí, že „Objektově orientovaný design uživatelského rozhraní nevyžaduje, aby návrháři od začátku projektu vzali objektově orientovaný pohled na problém. Navíc, i když designéři vezmou objektově orientovanou perspektivu, budou mít prospěch ze samostatného zaměření na objektový model a objektově orientovaný design uživatelského rozhraní. “[10]

Naproti tomu nahé předměty pattern je přístup k návrhu aplikací, který přinejmenším ve své naivní podobě vynucuje přímou korespondenci mezi objekty zastoupenými v OOUI a podkladovými doménovými objekty a automaticky generuje první z druhé.[11]

Reference

  1. ^ Nielsen, J., Usability Engineering. 1993, San Francisco: Morgan Kaufmann / Academic Press
  2. ^ Collins, D., Navrhování objektově orientovaných uživatelských rozhraní. 1995, Redwood City, CA: Benjamin / Cummings
  3. ^ Raskin, J., Humánní rozhraní. 2000, Reading, MA: Addison-Wesley / ACM Press
  4. ^ Dayton, Tom. „Objektově orientovaná GUI jsou budoucnost“. Blog Presto Innovation. Citováno 8. března 2017.
  5. ^ Constantine, L. a L. Lockwood, Software pro použití. 1999: Addison-Wesley
  6. ^ Kay, A., Rané dějiny Smalltalku v Dějinách programovacích jazyků, T. Bergin a R. Gibson, Redaktoři. 1996, Addison-Wesley / ACM Press: Reading, MA. p. 511-.
  7. ^ A b IBM, Common User Access - Guide to User Interface Design. 1991, IBM: Cary, Severní Karolína.
  8. ^ Tesler, L. Objektově orientovaná uživatelská rozhraní a objektově orientované jazyky. na konferenci ACM n osobní a malé počítače. 1983. New York: ACM.
  9. ^ Dave Roberts, Dick Berry, Scott Isensee & John Mullaly, Designing for the User with OVID: Bridging User Interface Design and Software Engineering MacMillan, 1998
  10. ^ van Harmelen, M., ed. Modelování objektů a návrh uživatelského rozhraní. 2001, Addison-Wesley: Reading, MA.
  11. ^ Pawson, R., Naked Objects, Ph.D Thesis, 2004, Trinity College, Dublin, Irsko