Documente Academic
Documente Profesional
Documente Cultură
Modelul cascadă
Acest model (1981) nu este o analogie perfectă cu practica dezvoltării, în realitate proiectarea
având un caracter iterativ, fiecare etapă parcursă fiind urmată de o evaluare a rezultatelor, care
poate conduce la reluarea unor etape precedente.
În etapa de analiză a cerinţelor se investighează sistemul curent, identificând deficienţele
acestuia şi cerinţele de dezvoltare a unui nou sistem. Rezultatul acestei etape este o descriere a
situaţiei existente, care evidenţiază elementele sistemului şi un catalog al cerinţelor.
Pentru specificarea cerinţelor, proiectantul şi clientul analizează situaţia existentă şi încearcă să
definească ce anume va trebui să furnizeze viitorul sistem. Eforturile sunt concentrate pentru
determinarea cerinţelor funcţionale ale sistemului, în acest scop, proiectantul trebuie să colecteze
informaţii despre activitatea clientului, domeniul de activitate în care această activitate se
încadrează şi mediul de lucru.
Studiu validare
fezabilitate
Proiectare verificare
ansamblu
Proiectare verificare
detaliu
Operare revalidare
intretinere
Iniţial, informaţiile sunt colectate în limbajul nativ al clientului, analistului revenindu-i sarcina
să exprime aceste informaţii într-o specificaţie concisă şi precisă pentru proiectare.
Proiectarea de ansamblu are sarcina de a găsi cele mai adecvate modalităţi prin care să se
definească modul cum cerinţele identificate vor fi satisfăcute. În acest scop, proiectantul trebuie să
6 Proiectarea interfetelor utilizator in conducerea avansata
definească principalele componente ale sistemului, modul cum vor fi implementate acestea
(integrarea unor componente existente sau dezvoltarea unor noi componente).
În cadrul activităţii de proiectare de detaliu, fiecare componentă a sistemului este rafinată iar în
cazul componentelor care nu pot fi realizate până la nivelul de detaliu, care să permită integrarea
imediată a lor, descrierea este rafinată astfel încât să fie posibilă implementarea acestora utilizând
un limbaj de programare.
Implementarea înseamnă transformarea specificaţiei într-un program executabil, scris într-un
limbaj de programare. Tot în cadrul acestei etape se efectuează şi testarea modulelor pentru a
verifica dacă execuţia este corectă. Următoarea etapă este integrarea modulelor în cadrul sistemului
şi testarea sistemului ca ansamblu.
Ultima etapă din ciclul de viaţă cuprinde operarea sistemului (utilizarea sa) care, de regulă, este
efectuată de către utilizatorul final şi întreţinerea, care presupune corectarea erorilor depistate pe
parcursul utilizării precum şi actualizarea sistemului ca urmare a modificărilor care apar, fie în
activitatea utilizatorului, fie în tehnologia utilizată.
Modelul cascadă este unul dintre cele mai răspândite în firmele de IT. Din punctul de vedere al
dezvoltării de interfeţe om-maşină, i s-au adus însă multe critici. Principalul dezavantaj constă în
faptul că, deşi ponderea interfeţei în efortul total de dezvoltare este ridicată, aspectele legate de
interactivitate sunt trecute în plan secundar.
De exemplu, în a doua etapă, de analiză a cerinţelor, sunt implicaţi numai analişti de sistem, nu
şi utilizatori, deşi este nevoie de o analiză a populaţiei utilizatorilor pentru a determina profilul şi
cerinţele specifice ale acestora. Utilizatorii sunt solicitaţi numai la evaluarea finală, atunci când
sistemul este realizat.
De asemenea, în acest model nu este recomandată analiza şi modelarea sarcinii de lucru, nici
chiar atunci când sistemele interactive sunt făcute pentru a executa sarcini complexe.
Modelul V
Un alt model utilizat în ingineria software este modelul V (1984). În linii mari, modelul
prevede aceiaşi paşi ca şi în modelul cascadă. Avantajul modelului este că în timp ce specificarea şi
proiectarea sunt amplasate într-o abordare descendentă, verificarea şi validarea se află pe o linie
ascendentă.
Aceasta înseamnă că, în cadrul fiecare etape de specificare sau validare, sunt planificate şi
alocate resurse pentru evaluare. Această abordare în care evaluarea este planificată pentru fiecare
etapă de la început este inspirată (şi susţinută, în acelaşi timp) de modelarea calităţii.
În ciuda acestui avantaj, nici în modelul V nu se pot localiza etape specifice interacţiunii om-
maşină, conţinutul şi structurarea procesului de dezvoltare fiind asemănătoare cu cea din modelul
cascadă.
Proiectarea interfetelor utilizator in conducerea avansata 7
Această abordare, în care interfaţa este tratată ca o componentă software oarecare este în
contradicţie cu cerinţele interacţiunii om-maşină şi nu ţine seama de ponderea pe care o are acesta
componentă în efortul total de dezvoltare.
Studiu Întreţinere
fezabilitate
Specificaţie Validare
funcţională
Programare
Din acest motiv, prototipizarea iterativă, care în multe abordări este o activitate continuă, nu
poate fi localizată în ciclul de viaţă, fapt care conduce la lăsarea în afara metodologiei a unei părţi
însemnate din procesul de dezvoltare.
Modelul spirală
Modelul spirală a fost elaborat în 1984 ca o tentativă de a integra analiza riscului în ingineria
software. Avantajul acestui model este că elimină din timp alternativele neviabile şi reduce costurile
de dezvoltare. Ca rezultat al planificării şi analizei riscului, diferite proiecte pot alege diferite
procese.
Modelul spirală a fost conceput ca un generator de modele ale procesului de dezvoltare. O
trăsătură distinctivă este abordarea ciclică şi incrementală a gradului de detaliere însoţită de o
descreştere a gradului de risc. Managementul riscului presupune identificarea factorilor de risc şi
stabilirea unor priorităţi prin considerarea probabilităţii şi a impactului anticipat.
Un model al procesului de dezvoltare trebuie să răspundă la două întrebări: care este pasul
următor şi cât timp trebuie să continue. Fiecare răspuns generează un anumit proces de dezvoltare.
Nici modelul spirală, ca şi modelul cascadă şi modelul V, nu include în mod explicit activităţi
specifice ciclului de viaţă al interfeţelor om maşină. Modelul nu prevede nici analiza populaţiei
utilizatorilor, nici analiza şi proiectarea sarcinii de lucru, care sunt activităţi cheie pentru asigurarea
utilizabilităţii.
Faţă de celelalte două modele, acesta este mai aproape de ciclul real de viaţă, întrucât
specificaţiile sunt dezvoltate progresiv şi corelat cu riscul de eşec al sistemului. Acest aspect este
8 Proiectarea interfetelor utilizator in conducerea avansata
important pentru sistemele interactive, pentru care este dificil de a elabora de la început o
specificaţie completă.
Cost cumulativ
Determinare Evaluare
obiective alternative
Evoluţie etapizată
alternative identificare
restricţii rezolvare riscuri
Analiza risc
Analiza risc
Prototip
Analiza risc operaţional
Prototip 3
Analiza
Prototip 2
risc
Revizuire Prototip 1
Emulări
Plan ciclu Concept Modele
de viaţă operare Experimentare
Cerinţe
Validare Proiectare
Proiectare detaliu
Plan cerinţe ansamblu
dezvoltare Cod
Validare Testare
Plan testare şi verificare modul
şi dezvoltare Integrare
şi testare
Acceptare
test
Planificare Implementare Dezvoltare
faze următoare verificare produs
nivel următor
schimbă natura sarcinii de lucru. Aşa cum s-a arătat în secţiunea precedentă, ciclul activitate -
artefact evidenţiază evoluţia artefactelor, determinată de noile cerinţe care apar în procesul utilizării.
Din acest motiv este necesară o etapizare a analizei sarcinii, într-o primă etapă, sarcinile sunt
definite pornind de la cerinţele utilizatorului şi cerinţele aplicaţiei, în mod independent de
tehnologia aleasă. Ulterior, modelul este dezvoltat iar utilizatorul poate participa la procesul de
proiectare, odată cu realizarea primului prototip.
Din punctul de vedere al activităţilor desfăşurate în ciclul de dezvoltare a interfeţelor om-
maşină, este necesară structurarea acestora astfel încât să reflecte diferite perspective şi necesităţi de
reprezentare. În acest sens, se pot distinge trei etape în analiza şi proiectarea sarcinii de lucru:
• analiza situaţiei existente, efectuată în paralel cu analiza de sistem (ideal,
integrată cu aceasta);
• specificarea sarcinilor de lucru ce vor fi executate cu sistemul proiectat, la
un nivel funcţional şi semantic, independent de opţiunile tehnologice;
• operaţionalizarea sarcinilor de lucru având în vedere utilizarea unei
anumite tehnologii informatice.
Avantajele acestei abordări sunt multiple.
În primul rând, proiectarea interfeţei cu utilizatorul oglindeşte activităţile clasice din ingineria
software, fapt care creează premisele unei dezvoltări disciplinate, integrate şi corelate a întregului
sistem informatic, în al doilea rând, specificaţiile produse de fiecare activitate sunt stabile în
contextul de dezvoltare respectiv. Primele două activităţi fac parte din analiza sarcinii de lucru şi
produc reprezentări cu un grad ridicat de independenţă faţă de context, ceea ce asigură un grad mai
mare de portabilitate a rezultatelor.
Ultima activitate constituie proiectarea sarcinii interactive utilizând o anumită tehnologie
informatică. Este evident că reprezentarea va fi diferită în cazul utilizării unui mediu de dezvoltare
pentru interfeţe grafice de tip WIMP (Windows, Icon, Menu, Pointer) faţă de cazul utilizării unui
limbaj de comandă. Mai mult decât atât, chiar utilizarea unor medii de dezvoltare diferite (de
exemplu Microsoft sau Macintosh) va produce specificaţii diferite.
Un alt aspect al ingineriei interfeţelor cu utilizatorul este caracterul iterativ al proiectării şi
prototipizarea. O modalitate de a surmonta problemele generate de cerinţe incomplete este
construirea unui prototip şi testarea acestuia de către utilizator. Pe baza evaluării, se desprind noi
cerinţe şi se reia procesul de proiectare. Prin rafinări succesive, se ajunge la un proiect final al
interfeţei.
Există multe abordări care încearcă să suplinească deficienţele modelelor produse de ingineria
software prin elaborarea unor modele specifice.
10 Proiectarea interfetelor utilizator in conducerea avansata
Modelul stea
Modelul stea a fost elaborat de Hartson & Hix în 1989. Modelul este reprezentat grafic sub forma
unei stele având în mijloc activitatea de evaluare şi în cele cinci colţuri specificarea cerinţelor, analiza
sarcinii/analiza funcţională, proiectarea conceptuală/reprezentarea formală, prototipizarea şi
implementarea.
Aşa cum se observă, activităţile sunt specifice interacţiunii om-maşină. Includerea analizei
funcţionale, care reprezintă principala legătură cu activităţile din ingineria software, se explică prin
utilizarea structurii logice a datelor şi fluxului de date în proiectarea interfeţei. Modelul stea,
ilustrat în Figura 1.4, are două trăsături distinctive:
• fiecare dintre cele cinci activităţi este urmată de o evaluare;
• se poate începe cu oricare activitate din colţul stelei.
Evaluare
Prototipizare Cerinţe/
specificare
Proiectare conceptuală/
reprezentare formală
Cea de a doua trăsătură este importantă întrucât corespunde unor diferite scenarii de dezvoltare,
frecvent întâlnite în practica proiectării. Astfel, este posibil ca un proiect să reutilizeze rezultate ale
activităţilor desfăşurate în proiecte anterioare, în acelaşi timp, modelul corespunde şi unei dezvoltări
iterative, în care se pot relua anumite activităţi, în funcţie de rezultatul evaluării. Cu toate acestea,
acest aspect nu este reprezentat explicit, aşa cum este făcut în modelul spirală.
Analiza orientată obiect este a doua etapă şi are ca rol furnizarea structurii de date în sistem.
Modelul lui Collins, ilustrat în Figura 1.5, include şi reprezintă în mod explicit analiza
populaţiei utilizatorilor şi analiza sarcinii de lucru, ca prim pas în dezvoltarea unui sistem
interactiv.
Pe baza acestor două activităţi se elaborează modelul conceptual al proiectului utilizat în
continuare pentru proiectarea prezentării şi a dialogului. Evaluarea utilizabilităţii se face cu
ajutorul unui prototip ai interfeţei. Ultima etapă este implementarea (codificarea) interfeţei
om-maşină.
Analiza Analiza
orientată utilizatori
obiect si sarcină
Model conceptual
al proiectului
Proiectare Proiectare
prezentare interacţiune şi
informaţie mecanisme control
Prototip şi evaluare
Dispunerea circulară a activităţilor este similară cu cea din modelul stea. În interiorul cercului
sunt figurate două activităţi: modelarea conceptuală a interfeţei şi prototipizarea/evaluarea,
sugerând caracterul central al acestora în raport cu restul activităţilor.
Modelul sugerează trei puncte de reluare: analiza sarcinii, proiectarea prezentării şi
implementarea. Din păcate, nici unul dintre cele două modele nu reprezintă clar relaţia dintre
ingineria interfeţei cu utilizatorul şi ingineria software.
Modelul lui Curtis & Hefley
Modelul lui Curtis şi Hefley (1994) propune o corespondenţă între etapele din ingineria
software şi cele din interacţiunea om-calculator. Modelul este ilustrat în Figura 1.6.
Partea din mijloc (fazele de dezvoltare) este asemănătoare modelului cascadă. Cu toate că
această corespondenţă este utilă şi arată modul în care ingineria software ar trebui să integreze
activităţile de dezvoltare ale interfeţei om-calculator, evaluarea după fiecare activitate,
prototipizarea şi dezvoltarea incrementală (iterativă) nu sunt figurate.
Practic şi acest model încearcă să forţeze integrarea ciclului de dezvoltare a interfeţei în ciclul
de viaţă al sistemului software. Dacă în privinţa etapelor de analiză, proiectare de ansamblu,
proiectare de detaliu şi implementare succesiunea este aceeaşi, amplasarea altor etape, cum este
observarea contextuală, este discutabilă.
În prezent, analiza sarcinii este corelată cu analiza contextuală şi analiza interacţiunii, ambele
fiind tăcute înainte de începerea proiectării interfeţei.
Modelul Nabla
Modelul Nabla a fost elaborat de Kolski pornind de la modelul V din ingineria software şi
îmbogăţind acest model cu activităţile specifice din HCI.
Modelul este ilustrat în Figura 1.7.
Spre deosebire de celelalte modele discutate, modelul Nabla tratează sistemul interactiv ca
ansamblu integrând mai bine activităţile specifice ingineriei software şi HCI. Din acest punct de
vedere, modelul cumulează avantajele oferite de modelul V, prin evaluarea după fiecare etapă,
precum şi avantajele modelului lui Curtis şi Hefley, care asociază fiecare activitate din HCI cu
activitatea corespunzătoare din ingineria software.
De asemenea, în acest model se observă o concepţie diferită, care situează procesul de
dezvoltare într-un cadru de lucru inter-disciplinar, considerând aspectele sociale şi ergonomice.
Sistemul este privit ca un mediu de lucru (sistem socio-tehnic) în care relaţia om-calculator este
reconsiderată în favoarea factorului uman.
Proiectare Proiectare
HCI module
Un model mai detaliat şi în acelaşi timp util al procesului de dezvoltare poate fi obţinut prin
considerarea etapelor specifice fiecărei activităţi şi a legăturilor dintre activităţi, în acest scop este
necesară identificarea relaţiilor dintre modelul interfeţei utilizator şi celelalte modele utilizate în
dezvoltarea unui sistem interactiv.