Interfaţa cu utilizatorul




O parte importantă a Visual Studio.Net este posibilitatea de a crea aplicaţii Windows care rulează pe calculatoarele utilizatorilor. Visual Studio.Net permite crearea aplicaţiei şi a intefeţei cu utilizatorul, folsind Formuri Windows.
Deoarece formurile sunt partea de bază a unei aplicaţii, este esenţial ca să li se acorde atenţia cuvenită. Un form este o componentă blank (goala), pe care noi ca programatori, va trebui să o îmbunataţim cu ajutorul controalelor pentru a crea interfaţa care va manipula datele. Pentru aceasta Visual Studio asigură un mediu de dezvoltare integrat pentru a înlesni scrierea de cod, şi de asemenea un set bogat de controale înscrise în .Net Framework. Prin completarea funcţionalităţilor acestor controale cu codul nostru, putem dezvolta rapid şi cu uşurinţă soluţia aplicaţiilor pe care vrem să le dezvoltam.

3.8.1. Crearea interfeţei cu utilizatorul

Interfaţa asigură un mecanism de interacţiune utilizator - aplicaţie. Cel mai important aspect este \"audienţa\", adică utilizatorii finali ai aplicaţiei. O interfaţă bine construită ajută utilizatorii să o folosească cum trebuie, pe când una săracă poate duce la frustrare.



Din punct de vedere arhitectural, o interfaţă este costituita din: Form, controale şi meniuri.
Formurile sunt fundaţia pe care se construieşte interfaţa cu utilizatorul. În general acestea conţin un număr de opţiuni sau informaţii necesare aplicaţiei, dar pot şi să recepţioneze comenzile utilizatorilor. Deşi este posibil să creaţi aplicaţii fără a utiliza formuri, cum ar fi aplicaţiile consola, acelea care se caracterizează printr-o interacţiune bogată cu utilizatorii, au în componentă cel puţin 1 form.

Formurile Windows sunt noua platformă pentru aplicaţiile Microsoft Windows, bazate pe .Net Framework. Acest mediu asigură un set de calse extensibile, clare, orientate pe obiect, care permit dezvoltarea de aplicaţii Windows îmbunătăţite.
Un form este o parte din ecran, de obicei de formă rectangulară, utilizată pentru a prezenta informaţii utilizator, şi pentru accepta informaţii de la utilizator.
Cel mai uşor mod de a defini interfaţa utilizator pentru un form este de a plasa controale pe suprafaţa acesteia. Prin setarea proprietăţilor formului şi scrierea codului corespunzător evenimentelor, putem asigura ca obiectul să îndeplinească cerinţele aplicaţiei.
Ca şi toate obiectele din .Net Framework, formurile sunt instanţe ale claselor. Mediul dă posibilitatea moştenirii de la formuri existente pentru a adăuga funcţionalităţi. Când adăugăm un form proiectului nostru putem alege să moştenească clasa FORM furnizată de mediul .Net, sau putem alege să moştenească un form pe care l-am creat anterior.
În plus, formurile sunt controale, deoarece moştenesc clasa Control.

Clasa Control implementează funcţionalităţi de bază cerute de clasele care afişează informaţii utilizatorului. De asemenea intrările de la tastatură şi de la dispozitivele de pointare.
Controalele, unelte grafice, reprezintă aspectul care ajută ca informaţia şi opţiunile să fie accesibile utilizatorilor. Unele, cum ar fi labels sau picture boxes, afişează informaţia, pe când cele ca text boxes sau combo boxes pot atât să afişeze informaţie cât şi să accepte ceea ce introduc utilizatorii. Şi, în fine, butoanele pot fi folosite pentru ca utilizatorii să aleagă o anumită acţiune.
Meniurile asigură o modalitate structurată pentru expunerea comenzilor disponibile utilizatorilor aplicaţiei. Meniurile sunt de obicei folosite pentru accesul la comenzi de un nivel mai înalt, care ar putea fi comune tuturor formurilor aplicatiei, de exemplu salvarea sau ieşirea din aplicaţie. Comenzile pot fi afişate într-o ordine şi manieră uzuale, care să ajute utilizatorii să se obişnuiască repede cu aplicaţia.

3.8.2. Proiectarea interfetelor utilizator

În proiectarea interfetelor utilizator trebuie sa se tina cont de cerintele, nevoile, dar şi de sarcinile pe care utilizatorul le are de indeplinit. Interfetele utilizator centrate pe sarcini -TCUID - Task-Centered User Interface Design - sunt bazate pe doua principii:
- interfaţa ar trebui să se potrivească utilizatorului şi scopurilor acestora;
- procesul de dezvoltare al aplicaţiei ar trebui să folosească sarcinile utilizatorilor in timpul proiectării si evaluării;
Înca de la inceputul proiectarii, programatorul trece printr-o serie de paşi pentru a ajunge la o aplicaţie complexă, dar totuşi simplu de utilizat. Realizarea prototipului aplicaţiei este in concordanţă cu sarcinile pe care trebuie sa le îndeplinească, urmează apoi reprezentarea scenariilor principale ale interfeţei. Pasul urmator este o evaluare cognitiva, care presupune stabilirea unor scopuri ale interfeţei precum şi a categoriei de utillizatori ţintă. În acest sens, se ia in considerare experienţa utilizatorului in domeniul calculatoarelor, se va face o evaluare a punctelor din interfaţă in care utlizatorul are posibilitatea de a alege, o dectare a etichetelor sau opţiunilor care ar putea crea confuzii, detectarea unor posibile erori de navigare. Interfaţa trebuie gandită în aşa fel încât sarcina utilizatorului să fie cea mai potrivită. Astfel, fiecare scenariu de utilizare trebuie să spună o poveste credibilă: secvenţa de acţiuni pe care trebuie să o urmeze utilizatorul, cunoştinţele sale şi posibilitaţile interfeţei. O altă metodă de a stabili corectitudinea aplicaţiei din punct de vedere a interfeţei este evaluarea euristicilor lui Jakob Nielsen:
- Dialog simplu şi natural. Se urmaresc convenţii din lumea reală, informaţia apare intr-o ordine naturala si logică.
- A vorbi limbajul utilizatorului, cu ajutorul cuvintelor, frazelor si conceptelor familiare lui şi nu termeni orientaţi pe sistem.
- Minimizarea lucrurilor pe care utilizatorii trebuie sa le reţină; la trecerea de la un form la altul sistemul retine datele necesare, făcânt astfel sarcina utilizatorului mai uşoara; este mult mai utila recunoaşterea opţiunilor, acţiunilor, obiectelor decât memorarea lor;
- Consistenţă şi standarde. Utilizatorii nu ar trebui să se intrebe dacă cuvinte, situaţii sau acţiuni diferite inseamnă acelaşi lucru; trebuie urmarite convenţiile platformei.
- Proiectare minimală şi estetică: dialogurile nu trebuie să conţină informaţie care este irelevantă sau nu este necesară. Fiecare unitate in plus de informaţie intr-un dialog concurează cu unitaţile relevante de informaţie şi micşorează vizibilitatea acestora din urmă.
- Raspuns de la sistem: utilizatorii trebuie să vadă raspunsul sistemului la acţiunile lor;
- Ieşiri clar marcate. Dacă utilizatorul ajunge intr-o situaţie care nu îl interesează, ar trebui să fie capabil să se intoarcă repede si cu graţie; pentru aceasta, interfaţa trebuie să suporte explorare, operaţii de revenire, suport pentru întreruperea evenimentelor de lungă durată.
- Scurtături, utilizatorii cu experienţă evită dialogurile lungi sau mesajele de care nu au nevoie, astfel, sunt utile scurtăturile date prin tastatură, valori implicite alese cu grijă, refolosire şi editare;
- Mesaje de eroare precise şi constructive, pentru o anumită problemă este sugerat un anumit sfat pentru a conduce la soluţie. Mesajele de eroare nu trebuie să fie acuzatorii ci încurajatoare.
- Prevenirea erorilor; ca şi o boală, erorile sunt mai bine de prevenit decât de tratat.
- Ajutor si documentaţie; chiar dacă este mai bine ca sistemul să poată fi folosit fară documentaţie sau ajutor, dacă este necesar, documentele de ajutor trebuie să fie uşor de găsit, nu prea lungi, organizate in paşi concreţi.
Luând în considerare toate aceste aspecte, interfaţa va fi prietenoasă, consitentă şi uşor de folosit.