Documente Academic
Documente Profesional
Documente Cultură
În contextul în care Windows este şi va fi "limba" înţeleasă de cele mai multe calculatoare de
pe piaţă, cursul de faţă îşi propune să vă introducă în lumea interfeţelor grafice care respectă look-
and-feel-ul Windows.
Look-and-feel
Pentru o interfaţă grafică se foloseşte adesea termenul de look and feel. Această sintagmă se
referă la două aspecte importante ale interfeţei:
• caracteristicile vizuale ale interfeţei
• comportamentul interfeţei ca răspuns la acţiunea utilizatorului.
Aceste două caracteristici sunt puternic intercondiţionate. Astfel, multe acţiuni ale utilizatorului
sunt dictate de aspectul vizual al interfeţei; de asemenea, acţiuni similare sunt reprezentate vizual în
aceeaşi manieră.
(2) Utilizatorul manipulează direct informaţia, cu alte cuvinte, U trebuie să poată opera direct cu
reprezentarea pe ecran a informaţiei. În acest fel, el poate constata direct relaţia cauză-efect între
acţiunile sale (efectuate prin intermediul interfeţei) şi rezultatul acestora (modul în care programul
reacţionează la acţiunile utilizatorului).
Informaţia trebuie reprezentată în interfaţa utilizator într-o manieră cât mai naturală. Astfel,
fereastra, elementul esenţial al interfeţei utilizator, este gândită ca o virtualizare a unei coli de
hârtie, fiind "dotată" cu câteva elemente funcţionale suplimentare (butoane de minimizare şi
Proiectarea interfetelor utilizator in conducerea avansata 3
maximizare, meniu sistem, bară de titlu, facilităţi de redimensionare). Într-o fereastră, informaţia
este reprezentată într-o formă cât mai naturală, în special prin text. Faptul că de multe ori elementul
primar, textul, este înglobat în sau înlocuit de obiecte vizuale mai sofisticate nu face decât să
uşureze capacitatea de percepţie şi de acţiune a utilizatorului.
Spre exemplu, mutarea unui obiect vizual pe ecran (drag-and-drop) sau navigarea într-un
arbore de directoare reprezintă situaţii tipice în care o acţiune a utilizatorului are efect imediat în
modificarea unor elemente ale interfeţei utilizator. În aceste situaţii, informaţia cu care utilizatorul
operează este reprezentată într-o manieră naturală, iar acţiunea acestuia asupra interfeţei se
realizează prin comenzi (acţiuni) foarte simple. Fiecare acţiune (click sau mutare mouse) provoacă
o modificare în poziţia obiectului sau conţinutului informaţional al acestuia.
Pentru satisfacerea acestei cerinţe, interfaţa utilizator trebuie să ofere utilizatorului o manieră
directă şi intuitivă de operare.
(3) Consistenţa
Această proprietate a interfeţei utilizator permite utilizatorului să înveţe rapid utilizarea unor
noi aplicaţii, prin folosirea cunoştinţelor acumulate pe parcursul învăţării şi utilizării altor aplicaţii.
Se obţine ceea ce se numeşte stabilitate: interfaţa este familiară (chiar dacă este vorba de o nouă
aplicaţie), plus răspunsul aplicaţiei este previzibil (altfel spus, se mizează pe comportamentul
uniform al aplicaţiilor).
Consistenţa interfeţei utilizator se referă la:
• numele comenzilor: comenzi similare în aplicaţii diferite trebuie să aibă acelaşi nume; de
exemplu, în fiecare editor de texte, deschiderea unui fişier se face prin selectarea opţiunii Open din
meniul File.
• prezentarea vizuală a aplicaţiei: comenzi similare trebuie să fie apelabile prin aceleaşi
elemente vizuale; de exemplu, în toate aplicaţiile care posedă toolbar, operaţiunile de deschidere
sau salvare de fişier se efectuează prin apăsarea aceluiaşi buton (open sau save).
• comportamentul operaţional al aplicaţiei: operaţii similare trebuie să aibă o interfaţă
vizuală identică sau asemănătoare; în plus, cererea de informaţie suplimentară pentru efectuarea
operaţiei trebuie făcută folosind elemente de interfaţă comune tuturor acestora; de exemplu,
operaţiile de acces la fişiere (scriere sau citire) provoacă deschiderea unor casete de dialog (Dialog
Box) foarte asemănătoare; manipularea acestor elemente de interfaţă se face într-o manieră
consistentă: stabilirea unităţii de disc, a directorului, a numelui de fişier, abandonarea acţiunii
lansate sau confirmarea execuţiei acesteia.
Există trei nivele la care se poate discuta consistenţa:
• consistenţă intra-aplicaţie
4 Proiectarea interfetelor utilizator in conducerea avansata
• consistenţă inter-aplicaţii
• consistenţă cu mediul/sistemul de operare
Consistenţa intra-aplicaţie (în interiorul aplicaţiei) statuează că operaţiile (funcţiile) comune
trebuiesc prezentate vizual prin folosirea unei mulţimi consistente de comenzi şi interfeţe. De
exemplu, comenzile Find şi Find and Replace ale unei aplicaţii editor de texte pot provoca
deschiderea aceleiaşi casete de dialog; în plus, prescurtările folosite (shortcut keys) sunt
asemănătoare (CTRL/F , CTRL/R) şi sugestive în acelaşi timp.
Consistenţa inter-aplicaţii se referă la comportamentul similar al mai multor aplicaţii atunci
când utilizatorul iniţiază o aceeaşi acţiune. Spre exemplu, deschiderea unui fişier se face identic (ca
acţiune utilizator), iar opera ţia de deschidere are nevoie de aceleaşi informaţii (exceptând tipul sau
formatul fişierului supus deschiderii).
Consistenţa cu sistemul/mediul de operare se realizează prin convenţiile de interfaţă şi de
interacţiune utilizator pe care sistemul/mediul de operare (în speţă Windows) le impune. Trebuie
accentuat aici rolul sistemului/mediului de operare în uniformizarea interfeţei şi acţiunilor utilizator.
Orice nouă aplicaţie trebuie să se alinieze la standardele pe care sistemul/mediul de operare le
impune, iar efectul acestei constrângeri este benefic: utilizarea noului produs va fi uşor de învăţat
tocmai pentru că acesta respectă cerinţele (standardele) mediului sub care acesta se execută. Nu este
mai puţin adevărat că, la rândul lui, mediul de execuţie pune la dispoziţia programatorului de
aplicaţie majoritatea instrumentelor de care acesta are nevoie pentru a realiza interfaţa.
(4) Claritate
Această calitate a interfeţei utilizator poate fi discutată din trei puncte de vedere: vizual,
conceptual, lingvistic.
Claritatea vizuală a interfeţei este asigurată de elementele (obiectele) vizuale care o compun.
Acestea trebuie să fie sugestive, uşor de înţeles, ele reprezentând în fapt o transpunere simplificată a
unor obiecte reale. De asemenea, aranjarea obiectelor vizuale pe ecran este importantă: ne referim
aici la gruparea lor după criteriul similarităţii comportamentului lor, care va uşura identificarea lor.
Claritatea conceptuală se caracterizează prin două atribute: simplu şi realist. Simplitatea
interfeţei înseamnă număr rezonabil de obiecte pe un ecran (pe o fereastră). Caracterul realist al
interfeţei se realizează prin similitudinile cu obiectele reale (de exemplu, dacă o fereastră conţine un
document - de exemplu o factură - atunci obiectele care formează respectivul document trebuie să
reproducă cât se poate de exact aspectul acestuia).
Claritatea lingvistică se referă la textul care apare în interfaţă. Denumirile opţiunilor de meniu,
etichetele, mesajele, etc. trebuie să fie clare, neambigue, iar exprimarea lor trebuie să folosească
limba literară şi nu jargonul propriu comunităţii informatice.
Proiectarea interfetelor utilizator in conducerea avansata 5
(5) Estetică
Interfaţa trebuie să atragă utilizatorul, să-i placă acestuia. Mediul vizual plăcut, prietenos,
contribuie la confortul utilizatorului şi la o mai bună înţelegere a informaţiei prezentate. Nimic din
ceea ce poate contribui la sporirea atributelor estetice ale interfeţei nu trebuie neglijat - inclusiv
recurgerea la serviciile unui designer profesionist. De asemenea, sugerăm ca, oricând este cazul,
utilizatorul să fie implicat în proiectarea interfeţei.
recomandă să se recurgă la o casetă de dialog non-modală, care să conţină atât informaţia, cât şi
butoanele corespunzătoare acţiunilor de întrerupere sau terminare a operaţiei în curs.
Se recomandă ca toate opţiunile aplicaţiei să fie prezentate explicit, într-o manieră ierarhică. Un
rol important îl joacă, de asemenea, caracteristicile vizuale ale interfeţei, având în vedere
constatarea că recunoaşterea elementelor de interfaţă este mai importantă decât memorarea acestora.
(9) Adaptare progresivă
La proiectarea interfeţei utilizator trebuie găsit un echilibru între două criterii contradictorii:
• maximizarea funcţionalităţii aplicaţiei şi
• minimizarea complexităţii aplicaţiei.
Adaptarea progresivă implică două aspecte:
• organizarea atentă a informaţiei din interfaţă, evitând aglomerarea acesteia pe un singur
ecran
• prezentarea fiecărei informaţii la momentul potrivit; când nu este nevoie de ea, informaţia
se ascunde.
O bună interfaţă va prezenta informaţia într-o manieră ierarhică. De exemplu, informaţia de
control (comenzile disponibile ale aplicaţiei) se înglobează, de obicei, în meniuri. Denumirile
meniurilor sunt sugestive pentru gama de opţiuni (comenzi) grupate în fiecare meniu. În funcţie de
contextul de utilizare, o parte dintre opţiunile unui meniu, indisponibile la un moment dat, se pot
ascunde sau inhiba. La proiectarea meniurilor trebuie însă avut în vedere şi un alt aspect: sunt
contraindicate prea multe niveluri de submeniuri, deoarece utilizatorul este forţat să ţină minte prea
multe comenzi cu care ajunge la o anumită opţiune.
Consacrarea toolbar-ului (bara de instrumente) reprezintă un bun exemplu pentru această
cerinţă. De regulă, comenzilor de meniu mai frecvent folosite li se asociază butoane, tocmai în ideea
ca accesarea acestor comenzi să se facă cât mai simplu.
(10) Metodologie
Regulile sau cerinţele enumerate sunt necesare, însă nu şi suficiente pentru proiectarea
interfeţei utilizator. Activitatea de proiectare a interfeţei trebuie să aibă în centrul ei utilizatorul. Pe
toată durata proiectării trebuie să gândim interfaţa de pe poziţia utilizatorului. Astăzi, sistemele de
dezvoltare rapidă de aplicaţii permit proiectarea rapidă a interfeţelor - este bine ca acestea să fie
realizate implicând utilizatorii (cunoscuţi sau potenţiali) în realizarea primelor versiuni. În acest fel,
utilizatorul devine parte a procesului de proiectare, şi acest lucru poate contribui esenţial la o mai
bună receptare a aplicaţiei pe piaţă.
8 Proiectarea interfetelor utilizator in conducerea avansata
Ferestre
Elementele unei interfeţe grafice sunt numite elemente vizuale. Programatorii care operează cu
ele le numesc elemente vizuale de control, elemente de control sau, mai pe scurt, controale. Aceste
controale sunt componentele pe care le foloseşte programatorul de aplicaţii Windows pentru a
proiecta interfaţa grafică a aplicaţiilor. Fiecare control are aspect vizual propriu şi funcţionalitate
proprie. Toate controalele au definită o funcţionalitate implicită; programatorul de aplicaţie poate
îmbogăţi comportamentul acestora, particularizându-l la nevoile concrete ale aplicaţiei.
Din punctul de vedere al sistemului Windows, toate controalele sunt ferestre. Fiecare fereastră
este identificată unic printr-un număr, numit handle. Mediul Windows gestionează toate ferestrele
existente la un moment dat într-o aplicaţie şi interceptează toate acţiunile utilizatorului. Un click
mouse pe teritoriul unei ferestre, de exemplu, are ca ultim efect trimiterea unui mesaj adecvat
aplicaţiei căreia îi aparţine fereastra.
Între ferestre există relaţii de înrudire. Fiecare fereastră trebuie să aibă o fereastră părinte
(parent window); de regulă, fiecărei aplicaţii îi corespunde o fereastră părinte, numită fereastra
principală a aplicaţiei, care, la rândul ei, poate să creeze una sau mai multe ferestre fiu (child
window). Această relaţie ierarhică este folosită la propagarea mesajelor; de asemenea, la terminarea
aplicaţiei, toate ferestrele fiu ale ferestrei principale sunt distruse.
După funcţionalitatea lor, distingem patru categorii de ferestre:
• ferestre de aplicaţie
• ferestre document
• ferestre de dialog
• elemente de control
Înainte de a discuta fiecare categorie de ferestre, trebuiesc discutate elementele definitorii ale
acestui obiect vizual.
Stiluri de ferestre
Să discutăm pentru început elementele definitorii ale unei ferestre Windows. Din punctul de
vedere al formei sale geometrice, fereastra este un dreptunghi, definit de:
• colţul stânga sus (coordonatele Left şi Top), relative la fereastra părinte
• lăţime (Width) şi înălţime (Height).
Componentele unei ferestre sunt: bara de titlu (title bar), chenarul (border) şi zona client (client
area)
Bara de titlu este situată în partea de sus a dreptunghiului ferestrei, fiind formată la rândul ei
din (de la stânga la dreapta):
Proiectarea interfetelor utilizator in conducerea avansata 9
după faptul că acesta are aceeaşi culoare ca şi bara de titlu. De asemenea, ferestrele modale nu au
buton de maximizare sau minimizare şi nu se pot redimensiona.
Ferestre de aplicaţie
Interfaţa fiecărei aplicaţii cu utilizatorul se realizează prin intermediul ferestrei principale a
aplicaţiei (application main window sau top-level window).
Ferestrele principale de aplicaţie trebuie să fie mutabile. Majoritatea lor sunt ferestre
dimensionabile, însă este permisă şi existenţa ferestrelor de aplicaţie fixe.
Ca regulă generală, meniul sistem trebuie să fie prezent în bara de titlu a oricărei ferestre de
aplicaţie. Reamintim că meniul sistem oferă o alternativă bazată pe tastatură pentru mutarea,
redimensionarea şi închiderea ferestrei.
Ferestre document
Ferestrele document sunt o categorie specială de ferestre, folosite în aplicaţii MDI (Multiple
Document Interface). Există şi aplicaţii SDI (Single Document Interface), care permit manipularea
unui singur document la un moment dat.
În concordanţă cu definiţia dată în [3], MDI permite unei aplicaţii să gestioneze simultan în
fereastra principală a aplicaţiei mai multe documente sau mai multe vederi ale aceluiaşi document.
Multe dintre mediile de programare moderne folosesc această tehnică. Într-un astfel de mediu,
fereastra principală a aplicaţiei (care conţine între altele meniul şi bara de instrumente) permite
editarea simultană a mai multe fişiere sursă, fiecare fiind conţinut într-o fereastră fiu a ferestrei
principale a aplicaţiei.
Ferestrele document sunt ferestre mutabile, de obicei redimensionabile şi niciodată modale.
Icon-ul meniului lor sistem este foarte asemănător cu cel al ferestrelor de aplicaţie, fiind accesibil de
la tastatură prin ALT+-. De asemenea, ferestrele document se pot muta pe tot teritoriul zonei client
a ferestrei principale a aplicaţiei. Închiderea ferestrei principale a aplicaţiei provoacă închiderea
tuturor ferestrelor fiu. Trebuie să mai precizăm că zona Caption din bara de titlu a fiecărei ferestre
de aplicaţie conţine numele documentului care este afişat în fereastră.
Majoritatea ferestrelor de dialog sunt modale. Ferestrele de dialog modale se folosesc pentru
colectarea de informaţie suplimentară, absolut necesară aplicaţiei pentru a termina cu succes o
acţiune iniţiată de utilizator. De exemplu, ca urmare a selectării opţiunii de meniu File Open (sau a
apăsării butonului corespunzător de pe toolbar), aplicaţia deschide o asemenea fereastră de dialog în
care se cere utilizatorului să specifice numele fişierului ce urmează a fi deschis.
Caracteristicile unei ferestre modale sunt absenţa meniului sistem şi a butoanelor de minimizare
sau maximizare, fiind prezent în bara de titlu doar butonul de închidere. De asemenea, zona Caption
conţine numele comenzii iniţiate de utilizator. Între butoanele de comandă existente în orice
fereastră de dialog modală, două sunt obligatorii: OK (pentru confirmare şi continuarea acţiunii
iniţiate de utilizator) şi Cancel (pentru abandonarea acţiunii iniţiate). Ambele butoane provoacă şi
închiderea ferestrei de dialog modale, redând controlul ferestrei din care s-a lansat acţiunea ce a
provocat deschiderea ei. Conform definiţiei ferestrei modale, aceasta monopolizează interacţiunea
cu utilizatorul, nepermiţând lucrul în alte ferestre până când nu este închisă.
Există şi ferestre de dialog nemodale, cu toate că ele sunt mai puţin utilizate. Acest stil de
ferestre se foloseşte la cererea de informaţie auxiliară pentru execuţia unei comenzi, atunci când
respectiva informaţie nu este imperios necesară. Un exemplu tipic este fereastra de dialog ce apare
la selectarea uneia dintre opţiunile Find sau Replace din meniul Edit.
Ferestrele de dialog nemodale au aceleaşi caracteristici vizuale ca şi ferestrele de dialog
modale. Comportamentul lor le deosebeşte de acestea din urmă:
• nu sunt modale, comportându-se ca şi ferestrele document dintr-o aplicaţie MDI
• rămân deschise când se lucrează într-o altă fereastră a aplicaţiei
• se pot muta şi în afara zonei client a ferestrei principale a aplicaţiei (asta spre deosebire de
ferestrele document MDI)
• nu au buton de confirmare (OK)
• au un buton de închidere (Cancel sau Close sau butonul de închidere din bara de titlu) şi
un buton acţiune (Find Next)
• dispar la minimizarea ferestrei principale a aplicaţiei, apărând la maximizarea acesteia