Interfață utilizator orientată obiect - Object-oriented user interface

În calcul , o interfață utilizator orientată obiect ( OOUI ) este un tip de interfață utilizator bazată pe o metaforă de programare orientată obiect . Într-un OOUI, utilizatorul interacționează explicit cu obiecte care reprezintă entități din domeniul de care se referă aplicația. Multe aplicații de desenare vectorială, de exemplu, au un OOUI - obiectele fiind linii, cercuri și pânze. Utilizatorul poate selecta în mod explicit un obiect, își poate modifica proprietățile (cum ar fi dimensiunea sau culoarea) sau poate invoca alte acțiuni asupra acestuia (cum ar fi mutarea, copierea sau alinierea acestuia). Dacă o aplicație comercială are OOUI, utilizatorul poate selecta și / sau invoca acțiuni asupra obiectelor care reprezintă entități din domeniul business, cum ar fi clienții, produsele sau comenzile.

Jakob Nielsen definește OOUI în contrast cu interfețele orientate funcțional: „Interfețele orientate obiect sunt uneori descrise ca transformând aplicația din interior în afară în comparație cu interfețele orientate funcțional. alte obiecte de informații care sunt de obicei reprezentate grafic pe ecran ca pictograme sau în ferestre. "

Dave Collins definește un OOUI ca demonstrând trei caracteristici:

  • Utilizatorii percep și acționează asupra obiectelor
  • Utilizatorii pot clasifica obiectele în funcție de modul în care se comportă
  • În contextul a ceea ce încearcă utilizatorii să facă, toate obiectele interfeței cu utilizatorul se potrivesc într-o reprezentare globală coerentă.

Jef Raskin sugerează că cea mai importantă caracteristică a unui OOUI este că adoptă un stil de interacțiune „substantiv-verb”, mai degrabă decât un stil „verb-substantiv” și că acesta are mai multe avantaje în ceea ce privește gradul de utilizare.

Relația cu alte idei de interfață cu utilizatorul

Există o mare sinergie potențială între conceptul OOUI și alte idei importante în proiectarea interfeței cu utilizatorul, inclusiv:

Multe imaginații futuriste ale interfețelor de utilizator se bazează în mare măsură pe conceptele OOUI și în special OOGUI. Cu toate acestea, există multe exemple de interfețe de utilizator care implementează una sau mai multe dintre acele alte idei, dar care nu sunt de fapt OOUI - deși sunt adesea etichetate greșit ca OOUI. În schimb, există exemple de OOUI care nu sunt nici grafice, nici nu folosesc tehnici de manipulare directă, nici nu folosesc metafore puternice. De exemplu, primele versiuni ale limbajului de programare Smalltalk aveau o interfață de linie de comandă care era totuși în mod clar un OOUI, deși ulterior a devenit mai cunoscută pentru rolul său de pionierat în dezvoltarea de interfețe grafice, manipulare directă și metafore vizuale.

Relația cu programarea orientată pe obiecte

Deși există multe paralele conceptuale între OOUI și programarea orientată obiect , nu rezultă că un OOUI trebuie să fie implementat folosind un limbaj de programare orientat obiect .

Liniile directoare pentru IBM Common User Access (CUA), (probabil cea mai cuprinzătoare încercare de a defini un standard pentru proiectarea OOUI), au declarat că „în timp ce programarea orientată pe obiecte poate facilita dezvoltarea unei interfețe de utilizator orientate pe obiecte, nu este o -conditie. O interfață de utilizator orientată obiect poate fi dezvoltată cu limbaje și instrumente de programare mai tradiționale. '

Cu toate acestea, există sinergii puternice. Larry Tesler , care a părăsit Xerox PARC în 1980 pentru a se alătura Apple a subliniat relația:

Mulți observatori au emis ipoteza că interfața cu utilizatorul Smalltalk și limba Smalltalk sunt inovații separate. În consecință, majoritatea sistemelor influențate de interfața cu utilizatorul Smalltalk au fost proiectate fără a recurge la abordarea de implementare a Smalltalk. La Apple, după ce am folosit Pascal pentru a implementa șase aplicații inițiale pentru Lisa , am descoperit motive imperioase pentru a ne schimba limbajul de programare pentru a încorpora mai multe idei din Smalltalk. Aplicațiile Lisa sunt acum scrise în limbajul Clascal , o extensie a lui Pascal care conține obiecte, clase, subclase și invocarea procedurii prin transmiterea mesajelor.

Relația cu modelarea obiectelor de domeniu

Există, de asemenea, o sinergie evidentă între conceptul de OOUI și ideea de a construi software din obiecte de domeniu . Cu toate acestea, nu rezultă că obiectele pe care un utilizator le vede și interacționează în cadrul unui OOUI trebuie să corespundă obiectelor de domeniu pe care este construită aplicația.

Liniile directoare CUA prevedeau că „Într-o interfață de utilizator orientată obiect, obiectele cu care lucrează un utilizator nu corespund neapărat obiectelor sau modulelor de cod, pe care le-a folosit un programator pentru a crea produsul.” Metodele de proiectare de bază descrise în CUA au fost perfecționate în continuare în metoda OVID care a folosit UML pentru modelarea interfeței.

Mark van Harmelen afirmă că „Proiectarea interfeței utilizator orientată pe obiecte nu necesită ca proiectanții să aibă o viziune orientată pe obiecte a problemei de la începutul proiectului. În plus, chiar dacă proiectanții au o perspectivă orientată pe obiecte, vor beneficia de concentrarea separată asupra modelului obiectului și a designului interfeței de utilizator orientat obiect. '

Prin contrast, modelul de obiecte goale este o abordare a proiectării aplicațiilor care, cel puțin în forma sa naivă, impune o corespondență directă între obiectele reprezentate în OOUI și obiectele de domeniu subiacente, auto-generând primul din acesta din urmă.

Referințe

  1. ^ Nielsen, J., Usability Engineering. 1993, San Francisco: Morgan Kaufmann / Academic Press
  2. ^ Collins, D., Proiectarea interfețelor de utilizator orientate pe obiecte. 1995, Redwood City, CA: Benjamin / Cummings
  3. ^ Raskin, J., The Humane Interface. 2000, Reading, MA: Addison-Wesley / ACM Press
  4. ^ Dayton, Tom. „GUI orientate pe obiecte sunt viitorul” . Blogul Presto Innovation . Adus la 8 martie 2017 .
  5. ^ Constantine, L. și L. Lockwood, Software pentru utilizare. 1999: Addison-Wesley
  6. ^ Kay, A., The early history of Smalltalk, în History of Programming Languages, T. Bergin și R. Gibson, editori. 1996, Addison-Wesley / ACM Press: Reading, MA. p. 511-.
  7. ^ a b IBM, Common User Access - Ghid pentru proiectarea interfeței cu utilizatorul. 1991, IBM: Cary, Carolina de Nord.
  8. ^ Tesler, L. Interfețe de utilizator orientate pe obiecte și limbi orientate pe obiecte. în Conferința ACM n Calculatoare personale și mici. 1983. New York: ACM.
  9. ^ Dave Roberts, Dick Berry, Scott Isensee și John Mullaly, Proiectare pentru utilizator cu OVID: Bridging User Interface Design și Software Engineering MacMillan, 1998
  10. ^ van Harmelen, M., ed. Modelarea obiectelor și proiectarea interfeței utilizatorului. 2001, Addison-Wesley: Reading, MA.
  11. ^ Pawson, R., Naked Objects, Ph.D Thesis, 2004, Trinity College, Dublin, Irlanda