Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Modelarea aplicatiilor web

webdesign



+ Font mai mare | - Font mai mic



Modelarea aplicatiilor web

In prezent nu este folosit un model general pentru modelarea aplicatiilor web. Modelele reprezinta un punct de pornire important pentru implementarea aplicatiilor web, tinand cont de aspectele statice si dinamice ale nivelelor de continut, hipertext si prezentare ale unei aplicatii web. In timp ce modelarea continutului unei aplicatii web tinde sa surprinda informatia si logica aplicatiei - fiind similara celei folosite intr-o aplicatie non-web -, modelarea hipertextului este exclusiv folosita pentru aplicatiile web. Modelul hipertext reprezinta toate posibilitatile de navigare posibile pe baza continutului. Modelul prezentare mapeaza structurile hipertext cu paginile si legaturile dintre acestea, in acest mod reprezentandu-se interfata grafica utilizator. Includerea informatiilor contextuale (precum utilizatorul, ora, locatia si dispozitivul utilizat) si adaptarea aplicatiei web "derivata" din aceasta informatie necesita o atentie deosebita in procesul de modelare. Vom prezenta in continuare metodele si utilitarele disponibile pentru modelarea aplicatiilor web precum si avantajele lor, in vederea sprijinirii procesului de selectare a metodei adecvate. Aceste metode reprezinta fundamentul pentru dezvoltarea bazata pe modele si pentru instrumentele de generare a codului si ne permit o simulare a utilizarii diferitilor clienti web si platforme de lucru.



Pentru dezvoltarea aplicatiilor web complexe este necesara o abordare sistematica si o specificare a aplicatiei web care trebuie construita sub forma modelelor vizuale. Disciplinele de proiectare utilizeaza cu succes modelele pentru a reduce complexitatea si deciziile de proiectare a documentelor si a facilita comunicarea in cadrul echipelor de proiect. Modelarea are ca obiectiv furnizarea de specificatii pentru sistemul care va fi construit la un nivel de detaliere suficient de mare pentru implementarea sistemului. Rezultatul procesului de modelare sunt modelele, care reprezinta aspectele relevante ale sistemului intr-o maniera simplificata si inteligibila.

Stiinta calculatoarelor a utilizat dintotdeauna modelarea pentru dezvoltarea software-ului. Figura urmatoare (vezi Figura 1) demonstreaza ca orizontul modelarii acopera trei dimensiuni ortogonale. Prima dimensiune cuprinde nivelul logic al aplicatiei si nivelul interfetei utilizator in sensul incapsularii a "ce" si "cum" se va realiza intr-o aplicatie. Structura (ex: obiectele si atributele acestora si relatia cu alte obiecte) si comportamentul (ex: functii si procese) apartin logicii aplicatiei si interfetei utilizator si formeaza o alta dimensiune. Deoarece o aplicatie nu poate fi dezvoltata "imediat", fiind necesara o rafinare progresiva si o extindere pe parcursul procesului de dezvoltare, fazele dezvoltarii formeaza o a treia dimensiune a modelarii aplicatiei. Prin rafinamente succesive, cerintele identificate in etapa de analiza a cerintelor sunt transformate la inceput in modele de analiza si ulterior in modele de proiectare, pe baza carora se va realiza implementarea.


Figura 1 Cerinte pentru modelarea aplicatiilor software

Originile modelarii le putem regasi in proiectarea datelor si in proiectarea software-ului. Proiectarea datelor modeleaza aspectele structurale (datele) unei aplicatii, identificarea entitatilor, gruparea acestora si relatiile dintre ele fiind obiectivul major. In acest sens cel mai cunoscut este modelul entitate-relatie (ER)[1]. In schimb, modelarea aplicatiilor software pune accentul pe aspectele comportamentale pentru indeplinirea cerintelor limbajelor de programare si se bazeaza in prezent in special pe abordarea orientata-obiect. Cea mai importanta caracteristica a modelarii orientata-obiect este abordarea holistica a modelarii sistemului si conceptul de obiect, care cuprinde structura si comportamentul.

Limbajul de modelare unificat (UML)[2] este un limbaj de modelare orientat-obiect si este privit ca o lingua franca in dezvoltarea software-ului orientat obiect. UML reprezinta fundamentul majoritatii metodelor de modelare pentru aplicatiile web si permite specificarea aspectelor unui sistem software sub forma modelelor si a diagramelor pentru reprezentarea grafica a acestora. UML dispune de doua tipuri de diagrame: diagrame structurale (diagramele de clasa, diagramele de componente, diagramele de structura complexe, diagramele de desfasurare) si diagrame de comportament (diagrame de utilizare de caz, diagramele de stari -state machine-, diagramele de activitate).

1 Caracteristicile modelarii in proiectarea web

Abordarile de modelare specifice aplicatiilor web au fost dezvoltate in special in ultimii ani si permit abordarea aplicatiilor web tinand cont de cele trei dimensiuni specificate anterior: nivele, aspecte si faze.

Nivele

Pentru a modela aplicatiile web trebuie avut in vedere caracterul orientat pe document al continutului acestora si navigarea hipertext non-liniara. Din acest motiv distingem trei nivele ale modelarii aplicatiilor web (vezi Figura 2) spre deosebire de cele doua nivele utilizate in metodele de modelare pentru aplicatiile traditionale. Cele trei nivele sunt continutul (informatia si logica aplicatiei care stau la baza aplicatiei web), hipertextul (structurarea continutului in noduri si legaturile dintre acestea) si prezentarea (interfata utilizator sau layout-ul paginii). Majoritatea metodelor utilizate in modelarea aplicatiilor web utilizeaza aceasta separare pe trei nivele[3].


Figura 2 Cerintele modelarii aplicatiilor web

O separare clara intre aceste nivele permite reutilizarea si ajuta la reducerea complexitatii. De exemplu, putem specifica un anumit numar de structuri hipertext diferite care vor lamuri cerintele specifice diferitelor grupuri de utilizatori si a dispozitivelor utilizate pentru un anumit continut. Obiectivul modelarii continutului este definirea explicita a structurii informatiei; similar cu schema bazei de date din modelarea datelor, aceasta elimina redundanta (structura informatiei va ramane neschimbata chiar daca informatia insasi se schimba frecvent).

Pentru a proiecta o navigare eficienta continutul poate fi oferit in mod redundant pe noduri multiple la nivel hipertext. Continutul este modelat o singura data (in modelarea continutului) iar modelul structurii hipertext realizeaza doar o referinta la continutul corespunzator. In acest mod utilizatorii pot gasi aceasta informatie pe diverse cai de acces. Pentru a preveni ratacirea utilizatorilor in timpul navigarii si pentru a pastra stresul cognitiv asupra acestora cat mai scazut, modelarea hipertext trebuie sa se bazeze pe sabloane de navigare recurente.

In ceea ce priveste modelarea la nivel de prezentare, focalizarea se va face asupra structurii de prezentare uniforme a paginilor, pentru obtinerea unui efect de recunoastere a brandului aplicatiei web printre utilizatorii sai. Desi aspectul vizual al unei aplicatii web este important, aspectele estetice nu fac parte din obiectivele majore ale modelarii.

In ciuda separarii intereselor si obiectivelor diferite in cadrul celor trei nivele, putem stabili o corespondenta intre acestea. Pentru realizarea acestui lucru trebuie definite explicit interdependentele dintre nivele. De exemplu, diferite cai de acces hipertext personalizate pot fi mapate intr-un singur model de continut. Un model comprehensiv al unei aplicatii web include toate cele trei nivele discutate, dar accentul variaza in functie de tipul aplicatiei web. Aplicatiile web care furnizeaza o interfata utilizator pur orientata-hipertext pentru un set mare de date, vor necesita focalizarea modelarii pe continut si structura hipertextului. In contrast, aplicatiile web orientate pe prezentare (portalurile corporative sau magazinele de cumparaturi online) vor avea cereri mai mari in ceea ce priveste modelarea prezentarii.

Aspecte

Conform principiilor orientate obiect, structura si comportamentul sunt modelate la fiecare din cele trei nivele (continut, hipertext si prezentare). Relevanta structurii si comportamentului modelelor depinde de tipul de aplicatie web care va fi implementata. Aplicatiile web care contin in principal informatie statica necesita o modelare comportamentala mai redusa comparativ cu aplicatiile web interactive (ex. aplicatiile de comert electronic care ofera motoare de cautare, functii precum lansarea unei comenzi). Datorita maparii diferitelor nivele este recomandata utilizarea unui formalism uniform de modelare pentru structura si comportament, care permite folosirea unui singur instrument CASE.

Faze

In literatura nu exista un consens privitor la o abordare generala a modelarii pentru dezvoltarea aplicatiilor web. In toate cazurile secventa de pasi pentru modelarea nivelelor trebuie stabilita de catre modelator. In functie de tipul aplicatiei web se poate folosi o abordare bazata pe informatie (pornirea de la modelarea continutului) sau o abordare bazata pe prezentare (pornirea de la modelarea aspectelor de prezentare a aplicatiei). Dezvoltarea bazata pe modele in proiectarea web este contradictorie cu practicile folosite in proiectele web (de exemplu cicluri de dezvoltare cu viata scurta si necesitatea unor "metode rapide"). Abordarea bazata pe modele ofera in aceasta situatie posibilitatea specificarii comprehensive a unui model al solutiei si, daca este disponibil un utilitar CASE, posibilitatea generarii automate a prototipului aplicatiei web.

Personalizarea

Includerea informatiilor de context in dezvoltarea aplicatiilor web are un rol semnificativ, permitand personalizarea, distribuirea multi-platforma si serviciile bazate pe locatie. Personalizarea se refera la context (exemplu: preferintele utilizatorilor, caracteristicile dispozitivelor sau restrictiile privind latimea de banda) si permite adaptarea aplicatiilor web in functie de aceasta. Aceasta influenteaza toate cele trei dimensiuni ale modelarii web (continut, hipertext si prezentare) in conformitate cu structura si comportamentul si trebuie luata in considerare in toate fazele procesului de dezvoltare. Managementul informatiei de context este tratat ca o dimensiune de modelare independenta.

Desi nu exista o metoda de modelare globala care sa acopere toate dimensiunile discutate anterior, vom utiliza in cele ce urmeaza UML si il vom extinde prin preluarea unor concepte din metoda de modelare pentru aplicatii web bazata pe UML - cunoscuta sub numele de UWE (proiectarea web bazata pe UML - UML based Web Engineering).

2 Cerintele modelarii

Se pot utiliza diverse tehnici pentru a identifica, analiza, descrie, evalua si administra cerintele aplicatiilor web. Cazurile de utilizare reprezinta tehnica de modelare adecvata cerintelor functionale deoarece ele pot fi reprezentate in mod grafic. Functionalitatea in ansamblu a aplicatiei web este modelata ca un set de cazuri de utilizare care descriu cerintele aplicatiei web din perspectiva actorilor (indivizi si alte sisteme). Mai mult, cazurile de utilizare pot fi suplimentate de diagrame de activitate UML pentru a descrie cerintele functionale in detaliu.

O caracteristica a cerintelor aplicatiilor web este functionalitatea de navigare, care permite utilizatorilor sa navigheze prin intermediul hipertextului si sa gaseasca nodurile. In acest sens, se recomanda separarea functionalitatii de cazurile de utilizare pentru navigare, ducand astfel la aparitia a doua modele distincte. O alta abordare (UWE) implica crearea unui singur model de caz de utilizare care foloseste stereotipul <<navigare>> pentru a indica diferenta intre cazurile de utilizare functionale si cele specifice hipertextului.

Toate aplicatiile web au cel putin un utilizator uman, de cele mai multe ori anonim. In exemplul urmator al unei conferinte online, pentru sistemul de recenzie al articolelor pot fi identificati 4 actori: utilizatorii sistemului de recenzie, autorii care trimit articole pentru conferinta, membrii comitetului de organizare a conferintei (recenzenti) care revizuiesc articolele trimise si presedintele comitetului de organizare (presedintele CO). Figura 3 reprezinta o diagrama tip caz de utilizare, parte a unui model de utilizare pentru un sistem de recenzie, care va servi drept punct de pornire pentru modelarea ulterioara. Cerintele de navigare care suplimenteaza cerintele functionale sunt definite explicit prin stereotipul <<navigare>> in diagrama tip caz de utilizare.

Figura 3: Diagrama de utilizare de caz pentru un sistem de recenzie

Cazurile de utilizare trebuie descrise in detaliu; putem descrie fiecare caz de utilizare in mod textual sau prin utilizarea diagramelor de comportament (de exemplu diagrama de activitate). Diagramele de activitate sunt utilizate in principal cand cele de utilizare de caz se solicita o logica a aplicatiei mai complexa. Un astfel de caz de utilizare poate fi implementat ca un serviciu web. Figura 4 este un exemplu de proces simplificat pentru trimiterea articolelor.

Figura 4: Diagrama de activitate pentru procesul de trimitere a unui articol

3 Modelarea continutului

Informatia furnizata de o aplicatie web este unul din cei mai importanti factori pentru succesul acelei aplicatii, in principal datorita originii web-ului ca un mediu informational. Modelarea continutului in sensul de modelare pura a datelor este suficienta in mod normal pentru aplicatiile web statice. Aplicatiile web complexe solicita in plus modelarea aspectelor comportamentale. De aici rezulta ca modelarea continutului include crearea modelului domeniului problemei, ce consta in aspectele statice si dinamice cunoscute din proiectarea software clasica. In plus trebuie luate in considerare urmatoarele caracteristici ale aplicatiilor web:

- Caracterul axat pe documente si multimedia: este necesar sa luam in considerare toate tipurile de formate media cand modelam continutul, inclusiv structurile pe care informatia este bazata.

- Integrarea datelor existente si software-ului: multe aplicatii web construite pe depozite de date existente si componente software nu au fost create initial pentru aplicatiile web. Modelarea continutului trebuie sa indeplineasca doua obiective contradictorii: trebuie sa acopere cerintele de continut ale aplicatiei web pentru o extindere ulterioara si trebuie sa includa structurile de date existente si componentele software.

Obiective

Modelarea continutului se focalizeaza pe transferarea informatiei si cerintelor functionale, stabilite prin proiectarea cerintelor, intr-un model. Caracterul hipertext al aplicatiilor web si cerintele prezentarii acesteia nu vor fi luate in considerare.

Modelarea continutului determina un model care include atat aspectele structurale ale continutului (sub forma diagramelor de clasa) cat si - in functie de tipul aplicatiei web - aspectele comportamentale (sub forma diagramelor de stare si interactiune).

Concepte

Asa cum am mentionat anterior, modelarea continutului se bazeaza pe concepte si metode ale modelarii datelor sau modelarii orientate-obiect si incearca sa ne asigure ca informatia existenta nu este redundanta si este reutilizabila.

Figura 5 ilustreaza o diagrama de clasa UML simplificata pentru exemplul de sistem de recenzie mentionat anterior. Diagrama modeleaza o conferinta privitoare la un numar de subiecte si utilizatorii care se pot autentifica pentru conferinta si trimite articolele proprii. Un articol este subiectul unei recenzii realizate de 3 recenzenti. Elementul atasat la clasa "Articol" ne asigura ca autorii nu vor putea sa revizuiasca propriile articole. Aceasta diagrama de clasa va servi ulterior drept baza pentru modelarea hipertextului si a prezentarii pentru aplicatia discutata.

Figura 5 Diagrama de clasa pentru sistemul de recenzie

Figura 6 reprezinta o diagrama de stare (state machine diagram) si este utilizata pentru a modela diverse stari ale articolului in sistemul de recenzie. Un articol trimis va fi preluat de trei recenzenti pentru revizuire dupa ce termenul limita pentru trimitere a expirat. Daca valoarea limita prestabilita este atinsa articolul este acceptat; altfel este respins. In ambele cazuri autorii sunt anuntati prin e-mail despre rezultatul recenziei. In final articolul acceptat va fi publicat.

Figura 6 Diagrama de stare pentru starile articolului

4 Modelarea hipertextului

Non-linearitatea hipertextului este una din cele mai importante proprietati de care trebuie tinut cont cand modelam aplicatiile web. Din acest motiv structura hipertext trebuie proiectata cu atentie. Aceasta poate fi realizata prin utilizarea structurilor de acces adecvate - optiuni de navigare pentru eliminarea riscului de ratacire a utilizatorilor si de supunere la un stress cognitiv excesiv.

Obiective

Obiectivul modelarii hipertext (cunoscuta si ca modelarea navigarii) este specificarea navigabilitatii in continutul aplicatiei web (caile de navigare disponibile utilizatorilor). Modelarea hipertext genereaza un rezultat dublu: in primul rand produce modelul structurii hipertext (modelul structurii de navigare) care defineste structura hipertextului, respectiv ce clase ale modelului de continut pot fi vizitate prin navigare. In al doilea rand, rafineaza modelul de structura hipertext prin accesarea elementelor sub forma unui model de acces.

Modelarea hipertext se focalizeaza pe aspectele structurale ale hipertextului si elementele de acces. Comportamentul de navigare a unei aplicatii web nu este in mod normal reprezentat explicit, deoarece ofera informatii aditionale nesemnificative pentru dezvoltatori.

Concepte de modelare a structurii hipertext

Spre deosebire de nivelul continutului, pentru care sunt utilizate diagramele ER sau diagramele de clasa, pentru modelarea structurii hipertext sunt folosite notatii specifice. Modelarea structurii hipertext se bazeaza pe conceptele hipertext (noduri - pagini sau documente si legaturi intre aceste noduri).

Punctul de plecare folosit pentru crearea modelului structurii hipertext este de obicei modelul de continut care contine clasele si obiectele care vor fi disponibile ca noduri in hipertext. Deseori modelul de structura hipertext este specificat ca o perspectiva a modelului de continut, fiind uneori numit perspectiva navigationala. Astfel, un nod este specificat ca o perspectiva a modelului de continut, selectand unul sau mai multe obiecte din continut. Unele metode modeleaza structura hipertext indiferent de modelul de continut. De exemplu OOHDM (Object-Oriented Hypermedia Design Method) ofera o abordare de a modela scenariile, in care modelul de structura hipertext poate fi construit direct pe baza cerintelor de navigare identificate de aceste scenarii.

In sistemul de recenzie folosit ca exemplu perspectiva hipertext este necesara pentru urmatoarele roluri ale utilizatorilor: autor, recenzent si presedintele comitetului de organizare. Figura 7 ilustreaza modelul de structura hipertext din perspectiva presedintelui comitetului de organizare. Presedintele poate vizualiza toate articolele trimise, poate accesa lista de articole acceptate sau respinse si profilurile recenzentilor. Conform metodei de modelare UWE, figura 7 ilustreaza modul in care stereotipul UML <<clasa de navigare>> este utilizat pentru a marca clasele ce reprezinta nodurile in modelul de structura hipertext pentru a le distinge de clasele de continut. Legaturile sunt modelate prin asocieri directe cu stereotipul <<legatura de navigare>>.


Figura 7 Model de structura hipertext a perspectivei presedintelui comitetului de organizare asupra sistemului de recenzie

In literatura de specialitate distingem tipuri de legaturi folosite pentru rafinarea ulterioara a semanticii modelului structurii hipertext. De exemplu metoda HDM (Hypertext Design Model) specifica urmatoarele tipuri de legaturi:

- Legaturile structurale conecteaza elementele aceluiasi nod (de exemplu de la rezumatul recenziei la detaliile recenziei)

- Legaturile de perspectiva plaseaza diferite perspective ale unui nod in relatie cu altele (de exemplu versiunile PostScript si PDF ale unui articol).

- Legaturile aplicatiei plaseaza noduri diferite in relatie unul cu altul in functie de aplicatie (de exemplu o legatura care trimite la "cel mai bun articol").

Alte clasificari se bazeaza pe posibilul transport al informatiei pe parcursul navigarii. De exemplu metoda WebML[4] (Web Modeling Language) specifica urmatoarele tipuri de legaturi:

- legaturi contextuale - transmit informatia contextuala (de exemplu numarul unic al recenzentului pentru a naviga de la un recenzent la recenzia pe care el a creat-o)

- legaturi noncontextuale - nu au asociate informatii de context (de exemplu legaturi care duc de la o recenzie singulara la lista tuturor recenziilor)

Datorita distributiei nodurilor la nivel hipertext asupra paginilor de la nivelul prezentare, WebML specifica in plus urmatoarele tipuri de legaturi:

- legaturi intra-pagina - sunt utilizate cand sursa si destinatia legaturii apartin aceleiasi pagini (de exemplu cand o legatura permite utilizatorului sa navigheze direct la rezumatul articolului, care este afisat in partea de jos a paginii);

- legaturi inter-pagini - sunt utilizate cand sursa si destinatia se afla pe pagini diferite (de exemplu cand informatii detaliate despre autori si articolele lor se gasesc pe pagini diferite).

Pe baza cerintelor functionale ale aplicatiilor web, metoda de modelare UWE defineste urmatoarele tipuri de legaturi:

- legaturi de navigare - sunt utilizate pentru a naviga intre noduri (de exemplu legaturi intre articole si autorii acestora)

- legaturile procesului - indica nodul de inceput al unui proces (de exemplu spre inceputul procesului de trimitere a recenziei)

- legaturile externe - indica un nod care nu apartine in mod direct aplicatiei (de exemplu spre ghidurile de formatare stabilite de editorul lucrarilor conferintei, care nu sunt stocate direct in sistemul de recenzie).

Metoda de modelare OO-H (Object-Oriented Hypermedia) defineste cinci tipuri de legaturi dupa cum urmeaza:

- legaturi I (legaturi interne) - indica nodurile din interiorul granitelor unei cerinte de navigare (de exemplu legaturi interne la detaliile recenziei realizate de unul dintre recenzenti)

- legaturi T (legaturi transversale) - indica nodurile care satisfac alte cerinte de navigare (de exemplu de la un autor la articolele acestuia)

- legaturi R (legaturile cerintei) - indica inceputul unei cai de navigare (de exemplu adaugarea unei noi recenzii)

- legaturi X (legaturi externe) - indica noduri externe (de exemplu la ghiduri de formatare externe)

- legaturi S (legaturile serviciului) - indica (impreuna cu legaturile corespunzatoare de raspuns) spre servicii (de exemplu spre un motor de cautare extern).

Concepte de modelare a accesului

Modelul structurii hipertext construit pana in prezent in mod singular nu este suficient pentru a descrie modul in care nodurile pot fi accesate prin navigare. Pentru a permite utilizatorilor sa navigheze catre noduri este necesar sprijinul in navigare si orientare. Acestea se regasesc sub forma structurilor de acces care rafineaza modelul de structura hipertext. Structurile de acces recurente sunt descrise ca sabloane de proiectare, deseori fiind numite "sabloane de proiectare hipermedia" sau "sabloane de navigare". Utilizarea acestor sabloane de navigare contribuie la o crestere semnificativa a calitatii modelului hipertext.

In sistemul de recenzie, daca cineva doreste sa navigheze de la un recenzent la un articol asociat acestuia, trebuie sa identifice acest articol pe parcursul navigarii. De exemplu, acest lucru se poate realiza sub forma unei liste care afiseaza toate articolele, lista cunoscuta si sub numele de "index". Un index este o structura de acces care permite utilizatorilor sa selecteze un singur obiect (de exemplu un obiect din continut) dintr-o lista omogena de obiecte. Spre deosebire de index, un meniu permite utilizatorilor sa acceseze noduri eterogene sau meniuri suplimentare (submeniuri). Alte structuri de acces sunt "turul organizat" si interogarea. "Turul organizat" permite utilizatorilor sa se deplaseze secvential printr-un anumit numar de noduri. O interogare permite utilizatorilor sa caute noduri. Majoritatea metodelor de modelare ofera elemente de modelare dedicata pentru cele mai frecvent utilizate sabloane de navigare. Sabloanele de navigare speciale cuprind: home - care trimite la pagina principala a aplicatiei web si punctul de reper - care trimite catre un nod ce poate fi accesat de la toate nodurile.

O parte din structurile de acces prezentate pot fi adaugate modelului de structura hipertext in mod automat. De exemplu indecsii pot fi adaugati automat oricand dorim sa permitem accesul la un set (mai mare decat unul) de obiecte ale unui nod.

Figura 8 ilustreaza un model de acces simplificat din perspectiva presedintelui comitetului de organizare specificat in modelul de structura hipertext al sistemului de recenzie. De notat ca multiplicitatea implicita a legaturilor este 1. Presedintele comitetului de organizare are acces la toate articolele, recenziile si utilizatorii. Pentru a accesa un articol anume este utilizat un numar unic. Presedintele comitetului de organizare poate cauta un articol in functie de titlu. UWE foloseste stereotipuri UML cum ar fi: <<meniu>> (exemplu "conferinta"), <<index>> ( exemplu "starea recenziei") , interogare (exemplu "cautare dupa titlul articolului") si <<turul organizat>> pentru specificarea structurilor de acces meniu, index, interogare si tur organizat.


Figura 8 Model de acces simplificat la al modelului de structura din Figura 7

Relatia cu modelarea continutului

In functie de metoda de modelare de baza, modelul hipertext este mai mult sau mai putin dependent de modelul de continut. Exista atat o dependenta la nivel de model (de exemplu ce clase din modelul de continut formeaza un anumit nod in modelul hipertext si la nivel de instanta - ce set de obiecte din modelul de continut populeaza acel nod din modelul hipertext. Nu toate metodele descriu dependente intre modelul de continut si modelul hipertext. Totusi unele metode specifica o derivare directa a hipertextului de la continut prin definirea nodurilor pe baza vizualizarilor.

5 Modelarea prezentarii

Similar cu modelarea software clasica, modelarea prezentarii trateaza interfata utilizator si necesita prezentarea aspectului unei aplicatii web. Spre deosebire de aplicatiile traditionale elementul central al prezentarii din aplicatiile web este pagina ca unitate de vizualizare.

Obiective

Modelarea prezentarii este realizata in momentul proiectarii structurii si comportamentului interfetei utilizator pentru a asigura interactiunea cu aplicatia web intr-un mod simplu si auto-explicativ. In plus, se tine cont de aspectele de comunicare si de reprezentare ale aplicatiei web. Modelarea prezentarii genereaza un rezultat dublu: in primul rand produce un concept de prezentare uniforma prin modelarea elementelor recurente din pagini (de exemplu antete si subsoluri de pagina). Modelarea prezentarii ar trebui in mod ideal sa afiseze structura fiecarei pagini si proiectarea campurilor textelor, imaginilor, formularelor etc., incluse in aceste pagini. In al doilea rand, pe langa structura paginilor modelul de prezentare descrie aspecte comportamentale ale interfetei utilizator (de exemplu pe ce buton se va executa clic pentru a activa o functie din logica aplicatiei). Datorita diversitatii mari a optiunilor de navigare si riscului inerent al ratacirii utilizatorilor, trebuie avut in vedere acordarea unui sistem de ajutor pentru orientarea utilizatorilor la nivelul prezentarii. Aceasta poate fi realizata, de exemplu, prin afisarea caii de navigare curente sau a paginilor vizitate pe parcursul sesiunii active.

Nu toate metodele disponibile pentru modelarea aplicatiilor web suporta concepte de modelare a prezentarii independente de tehnologie; unele utilizeaza concepte specifice tehnologiei, cum ar fi limbajele pentru stiluri (cum ar fi XSL - Extensible Stylesheet Language).

Un alt factor important pentru aplicatiile web este proiectarea grafica a layout-ului pentru interfata utilizator, care deseori este realizata de un grafician pe baza unor schite de baza sau conceputa prin implementarea paginilor prototip cu ajutorul utilitarelor.

Concepte

Elementele modelului sunt descrise pe trei nivele ierarhice:

- O pagina de prezentare descrie o pagina prezentata utilizatorului ca o unitate de vizualizare. Poate fi compusa din diferite unitati de prezentare.

- O unitate de prezentare este utila pentru gruparea elementelor interfetei utilizator si reprezinta un fragment logic al paginii. Prezinta un nod ce deriva din modelul hipertext.

- Un element de prezentare este blocul de baza al modelului prezentare. Elementele de prezentare sunt un set de informatii ale nodului si pot include text, imagini, audio etc.

Putem vizualiza structura paginilor de prezentare pe baza reprezentarii unei diagrame de clasa UML imbricate cunoscuta sub numele de "structura", asa cum se poate observa in figura 9. Acest exemplu utilizeaza clasele stereotip <<pagina>> si <<unitate de prezentare>> pentru a descrie paginile de prezentare si unitatile de prezentare. Toate tipurile de elemente de prezentare sunt de asemenea proiectate prin stereotipuri UML adecvate. Figura 9 ilustreaza doua pagini de prezentare ale sistemului de recenzie. Un articol este plasat pe o pagina numita "Pagina Articolului" impreuna cu campurile aferente, o legatura catre versiunea completa a articolului si o legatura pentru a afisa autorii articolului. In plus, utilizatorii pot apasa un buton pentru a adauga o noua recenzie. Pagina "Pagina Autorului" are doua unitati de prezentare - lista tuturor autorilor si informatia detaliata despre fiecare autor.


Figura 9 Paginile de prezentare ale sistemului de recenzie

Aspectele comportamentale ale interfetei utilizator precum interactiunea recenzentilor pentru a naviga catre articolele atribuite acestora pentru recenzie, pot fi modelate cu ajutorul diagramelor de comportament, asa cum se poate observa in figurile 10, 11 si 12. In general interactiunea utilizatorului cu aplicatia web nu implica doar nivelul de prezentare; se face trimitere deseori la nivelul hipertext si nivelul de continut in functie de tipul de interactiune. In diagramele din figurile 11 si 12 un recenzent foloseste navigarea catre indexul articolelor atribuite acestuia prin utilizarea barei de navigare din interiorul paginii principale a conferintei. Aceasta informatie este compusa din articole relevante de pe nivelul de continut. Aceasta lista permite utilizatorului sa selecteze un articol din lista atribuita acestuia. Utilizatorul poate apoi naviga pentru a selecta un articol, care va fi afisat in mod detaliat.


Figura 10 Diagrama de interactiune a sistemului de recenzie

Figura 11 Diagrama secventiala pentru extragerea unei liste de articole atribuite

Figura 12 Diagrama secventiala pentru afisarea articolelor selectate

Relatia cu modelarea hipertext

Similar cu maparea modelului de continut la modelul hipertext, trebuie sa specificam modul in care elementele hipertext trebuie mapate la elemente de prezentare. Aceasta se realizeaza de obicei pornind de la ipoteza ca toate instantele unui nod vor fi afisate la nivelul de prezentare.

Interactiunile declansate de un utilizator nu sunt limitate doar la nivelul de prezentare. Din acest motiv trebuie sa tinem cont de corespondenta acestora cu alte legaturi. Aceasta corespondenta poate fi sub forma obiectelor si logicii aplicatiei la nivelul de continut, iar pentru navigare la nivel hipertext.

6 Modelarea personalizarii

Deoarece aplicatiile web omniprezente au o importanta deosebita este necesar sa luam in calcul informatia contextuala si o adaptare adecvata a aplicatiei in faza de modelare. Propuneri relevante pentru personalizare regasim in domeniul personalizarii si sistemelor mobile.

Modelarea personalizarii este un domeniu foarte nou, existand doar cateva metode pentru modelarea aplicatiei web care ofera o astfel de forma a modelarii. Pentru metodologia UWE a fost propusa recent o abordare orientata pe aspect pentru a trata problema personalizarii.

Obiective

Modelarea personalizarii este realizata printr-o reprezentare explicita a informatiei de context si a adaptarilor derivate din aceasta. In functie de metoda de modelare, rezultatul nu este intotdeauna un model al personalizarii explicit. In majoritatea cazurilor modelarea personalizarii se confunda cu modelele continutului, hipertextului si prezentarii. Personalizarea trebuie sa fie distincta de intretinere sau reproiectare. Modelarea personalizarii ia in considerare informatia care poate fi anticipata in momentul modelarii si care poate lua valori diferite cand aplicatia web ruleaza. In schimb, adaptarea datorata modificarilor din mediul organizational sau tehnologic implica activitati de intretinere sau reproiectare.

Concepte

Personalizarea necesita examinarea situatiilor de utilizare a aplicatiilor web - a raspunde la intrebarile "ce" si "cand" trebuie adaptat. Pentru a putea personaliza o aplicatie web este necesara o modelare si o administrare a preferintelor si caracteristicilor unui utilizator in asa numitul profil al utilizatorului. De exemplu, pentru a adapta o aplicatie web din domeniul sistemelor mobile, trebuie sa luam in considerare profilele dispozitivului, informatii privind locatia si latimea de banda. Aceasta informatie este apoi reprezentata in cadrul modelului de context sub forma diagramelor de clasa. In momentul rularii, contextul se poate schimba (de exemplu isi schimba preferintele sau aplicatia este folosita din diferite locatii). Din acest motiv este necesara o adaptare a aplicatiei web.

In ceea ce priveste nivelul de abstractizare al informatiei contextuale, putem distinge contextul fizic si contextul logic. Contextul fizic rezulta dintr-o situatie de utilizare specifica (de exemplu numele de utilizator pentru o autentificare sau celula GSM in care un utilizator este situat). Contextul logic ofera cunostinte de context suplimentare (de exemplu adresa de la serviciu versus adresa de acasa, ore de lucru versus timp liber). Aceste informatii de context pot fi oferite aplicatiei web si din surse externe. Un exemplu de astfel de sursa externa care ofera informatii pentru o specificare mult mai detaliata a contextului locatiei sunt sistemele informationale geografic (GIS- Geographic Information Systems). Au fost propuse si alte abordari (cum ar fi Context Toolkit sau proiectul NEXUS) pentru a sprijini componente universale capabile sa ofere diferite tipuri de informatii contextuale fizice si logice.

Adaptarea la un context poate fi modelata in unul sau doua moduri. In primul rand poate fi modelata intr-un mod orientat pe rezultat prin crearea unor modele diferite sau variante de modele tinand cont de diferitele seturi de variante ale informatiei contextuale. Aceasta abordare se numeste adaptare statica. Exemplul de modelare hipertext din figura 7 descrie o structura hipertext adaptata la contextul rolului utilizatorului "CO" (comitet de organizare). Neajunsul adaptarii statice este cresterea exponentiala a variantelor de modele care trebuie luate in considerare. In al doilea rand poate fi utilizata adaptarea dinamica. Spre deosebire de adaptarea statica, aceasta adauga reguli de transformare (dependente de context) modelelor continut, hipertext si prezentare. Aceste reguli de transformare descriu variantele care trebuie create in momentul rularii. De exemplu, regulile de transformare dinamica formulate ca reguli ECA (Eveniment/Conditie/Actiune) pot specifica adaugarea sau eliminarea elementelor modelului, sau filtrarea instantelor pentru a crea o lista personalizata cu articole despre subiectele de care este interesat un utilizator. Folosirea unei adaptari statice sau dinamice depinde de cazul de utilizare. Adaptarea dinamica are avantajul ca evita explozia de combinatii a variantelor de modelare. Dezavantajul ei consta in faptul ca rezultatul (varianta modelului adaptata contextului) nu este disponibila in mod direct, dar va fi creata "la rulare", ceea ce face mai dificila intelegerea modelului.

Figurile 13 si 14 ilustreaza modul in care nivelele hipertext si prezentare ale sistemului de recenzie pot fi adaptate dinamic. S-au folosit adnotari (prin stereotipul <<personalizare>>) pentru a adauga reguli de personalizare claselor adaptate. Regulile descrise in acest exemplu pot fi specificate mai detaliat utilizand un limbaj formal (de exemplu OCL - Object Constraint Language). Figura 13 ilustreaza modul in care structura hipertext poate fi personalizata astfel incat articolele pe care un utilizator le poate citi sa fie limitate la subiectele de interes pentru acel utilizator. Elementele structurii de acces "Articole Interesante" sunt adaptate dinamic prin reguli de transformare bazate pe subiectele personale de interes.


Figura 13 Adaptarea dinamica a unui index in modelul hipertext

Figura 14 ilustreaza modul in care elementele din modelul de prezentare pot fi adaptate prin utilizarea regulilor de transformare (de exemplu butonul "Introduceti Recenzia" trebuie sa fie vizibil doar pentru utilizatorii cu rolul "Recenzent").


Figura 14 Adaptarea dinamica a unei pagini in modelul de prezentare

Majoritatea tehnologiilor existente in prezent abordeaza modelarea personalizarii prin definirea regulilor sau unui filtru pentru fiecare punct din aplicatia web in care personalizarea se aplica ca in exemplul anterior. UWE foloseste o abordare diferita, utilizand tehnici de modelare orientate pe aspect (AOM). AOM permite pe de o parte o separare sistematica a functionalitatii sistemului de aspectele personalizarii, iar pe de alta parte permite reducerea redundantei.

Relatia cu modelarea de continut, hipertext si de prezentare

Personalizarea poate influenta toate nivelele procesului de modelare a aplicatiilor web. Modificarile pot fi locale (la un singur nivel) sau pot afecta nivele multiple. Este recomandata separarea modelului personalizarii de modelele continut, hipertext si prezentare in ceea ce priveste variabilitatea, flexibilitatea si incapsularea, dar majoritatea metodelor existente nu ofera aceasta separare. In cazul sistemului de recenzie o astfel de separare este dificila (exemplu: utilizatorul aplicatiei web si preferintele acestuia reprezinta probleme de modelare a contextului, dar utilizatorul poate fi o problema si de modelare a continutului).

7 Metode si utilitare

Toate metodele de modelare ofera un set de elemente de modelare ajustate la cerintele aplicatiilor web si majoritatea ofera o notatie specifica pentru elementele modelate. In plus, multe dintre ele definesc un proces si sunt sustinute de un utilitar care genereaza (semi) automat o implementare pe baza modelelor create (vezi tabel 1)

Metode de modelare

Metodele disponibile pentru modelarea aplicatiilor web se bazeaza pe cele clasice (cum ar fi ER) sau imbunatatesc un limbaj de modelare orientat-obiect (UML). Din punct de vedere istoric metodele de modelare a aplicatiilor web se prezinta ca in figura 17.


Figura 17 Dezvoltarea istorica a metodelor de modelare pentru aplicatiile web

Metodele de modelare urmeaza diferite paradigme, in functie de originea si focalizarea acestora:

HDM

 

WebML

 

HDM-Lite

 

OOHDM

 

WebSA

 

WAE2

 

OO-H

 

OOWS

 

W2000

 

WSDM

 

UWE

 

WAE

 

UML

 

OMT

 
- Metodele orientate pe date - isi au originea in domeniul sistemelor de baze de date si se bazeaza in principal pe un model entitate-relatie imbunatatit prin concepte specifice pentru modelarea la nivel hipertext. Principalul obiectiv al acestor metode este modelarea aplicatiilor web care folosesc bazele de date. Exemple de astfel de metode sunt RMM (Relationship Management Methodology), Hera si WebML (WebModeling Language[5]).

- Metodele orientate pe hipertext - se focalizeaza pe caracterul hipertext al aplicatiilor web; ele deriva in principal din domeniul sistemelor hipertext. Cele mai reprezentative exemple sunt: HDM (Hypertext Design Model) care a fost extinsa ulterior in W2000, sau WSDM (Web Site Design Method).

- Metodele orientate pe obiecte - se bazeaza fie pe OMT (primele metode aparute) sau UML (cele mai recente). UML este notatia preferata atunci cand se alege un limbaj standard pentru modelare. Aceasta categorie include OOHDM (Object-Oriented Hypermedia Design Method), UWE (UML-based Web Engineering), OOWS (Object-Oriented Web Solutions[6]) si OO-H (Object-Oriented Hypermedia).

- Metodele orientate pe software - abordeaza aplicatiile web in special din perspectiva dezvoltarii clasice de software, folosind tehnici care urmeaza strict proiectarea software clasica. Exemple pentru aceasta categorie sunt WAE (Web Application Extension) sau WAE2 (versiunea sa imbunatatita)[7].

Tabelul 1 ofera o descriere detaliata a acestor metode, specificand notatiile folosite, starea de dezvoltare a metodelor si dimensiunile de modelare suportate. In plus tabelul precizeaza existenta unui utilitar care sa suporte modelarea si/sau generarea codului, precum si puterea acestor metode.

HDM-lite este succesorul lui HDM si a fost proiectat in vederea automatizarii procesului de dezvoltare si generarii automate a aplicatiilor web. W2000 deriva tot din HDM si modeleaza o aplicatie web focalizandu-se pe hipertext si pe utilizator. RMM este o metoda care se bazeaza pe modelul ER si defineste un proces gradat pentru rafinarea succesiva a modelelor. O alta abordare bazata pe paradigma ER este Hera, care utilizeaza notatia RMM. WebML este un limbaj de modelare matur si usor de inteles pentru aplicatii web concentrate pe date care ofera suport pentru partile esentiale ale modelarii aplicatiilor web. Aceasta metoda foloseste utilitarul WebRatio pentru a sprijini atat modelarea cat si generarea automata de cod. Deoarece OOHDM pune accentul pe conceptul de navigare contextuala, aceasta metoda este recomandata pentru aplicatiile web care utilizeaza diferite optiuni de navigare. OOHDM a fost extins pentru a suporta personalizarea, modelarea cadrului de lucru, arhitecturile aplicatiilor web si diagramele pentru a capta scenariile de interactiune cu utilizatorul. WSDM se focalizeaza pe o abordare metodica orientata spre cerintele utilizatorului. Pe de alta parte, UWE este o abordare care ofera o notatie bazata pe UML si o verificare a consistentei modelului bazata pe un meta-model. OO-H este una dintre metodele mai recente, care imbina beneficiile WebML, OOHDM si UWE si foloseste un utilitar numit VisualWADE pentru suportul generarii codului automat pe baza modelului. OOWS este (asemenea OO-H) o abordare orientata-obiect bazata partial pe UML dar care utilizeaza propriile notatii. WAE2 este o abordare UML care se focalizeaza pe distribuirea logicii aplicatiei. WebSA este o abordare pentru modelarea arhitecturilor web.

Dezvoltarea bazata pe modele

Dezvoltarea bazata pe modele (The Model-Driven Development -MDD) nu sprijina doar utilizarea modelelor pentru dezvoltarea de software ci si necesitatea transformarilor in toate etapele dezvoltarii (de la specificatiile sistemului pana la implementare si testare). Transformarile dintre modele ofera o legatura care permite implementarea automata a unui sistem in etape succesive pornind de la diferitele modele definite pentru acesta.

Dezvoltarea aplicatiilor web este un domeniu specific in care MDD poate fi aplicata cu succes, datorita separarii aspectelor (continut, hipertext, prezentare si personalizare) specifice web-ului. Metode precum WebML, OO-H si UWE reprezinta fundamentul abordarii bazate pe modele pentru dezvoltarea aplicatiilor web; ele includ unele transformari semi-automate bazate pe model.

WebSA (Web Software Architecture) este o alta abordare bazata pe model pentru domeniul web-ului si foloseste paradigma MDA (Model-DrivenArchitecture). Asemanator cu MDA, WebSA se focalizeaza pe construirea de modele independente de platforma si ulterior construirea automata a modelelor specifice platformei.

Utilitare

Datorita ciclurilor de dezvoltare scurte si complexitatii aplicatiilor web este recomandata utilizarea de instrumente care permit nu doar modelarea ci si generarea automata a codului si verificarea consistentei modelului. Principalele utilitare de acest tip sunt: WebRatio Site Development Studio, VisualWADE si OpenUWE Suite.

WebRatio Site Development Studio

WebRatio Site Development Studio (https://www.webratio.com) este un instrument de dezvoltare bazat pe modele care construieste folosind Web Modeling Language (WebML) (https://www.webml.org). Acest utilitar foloseste propriile notatii pentru modelarea hipertext si suporta notatii ER si UML. Generatorul de cod al instrumentului utilizeaza XSL pentru a transforma modelele de continut si hipertext prezentate in XML in bazele de date necesare si conexiuni la baza de date dar si in componente software si diferite formate de iesire (HTML, WML, PDF, Microsoft Word). WebRatio foloseste un instrument numit EasyStyle pentru a genera prezentarea paginilor, care va transforma automat paginile adnotate in foi de stiluri XSL, fara a solicita alte activitati de programare. Aplicatia web generata cu ajutorul WebRatio este trimisa apoi in cadrul de lucru bazat pe un set de componente Java care pot fi configurate prin utilizarea fisierelor XML.

VisualWADE

Instrumentul VisualWADE (https://www.visualwade.com) se bazeaza pe metoda OO-H. Acest instrument suporta modelarea si generarea automata a aplicatiilor bazate pe XML, ASP, JSP si PHP. VisualWADE adauga la modelul UML alte doua modele: "Vizualizarea Navigarii" (utilizata pentru a modela aspectul hipertext al aplicatiei web) si "Vizualizarea Prezentarii" (reprezinta elementele de interactiune ale interfetei utilizator cu privire la structura si comportamentul acesteia utilizand anumite structuri de tip template). Aceasta produce o descriere independenta de dispozitiv a interfetei utilizator, care poate fi utilizata de generatoare in vederea obtinerii automate a aplicatiei web pentru medii si dispozitive de rulare distincte.

OpenUWE

Suita de utilitare OpenUWE (https://www.pst.ifi.lmu.de/projekte/uwe) este un mediu de dezvoltare pentru proiectarea si generarea aplicatiilor web folosind metodologia UWE. Principala facilitate a acestei suite este reprezentata de arhitectura deschisa bazata pe standardele consacrate. Mediul de dezvoltare OpenUWE include instrumentul CASE ArgoUWE si cadrul de lucru UWEXML care consta intr-un motor de verificare a consistentei modelului, un editor al layout-ului si un generator de cod pentru cadrul de lucru Cocoon XML Publishing[8] si JSP.

Instrumentul CASE ArgoUWE se bazeaza pe instrumentul CASE open-source ArgoUML (https://www. argouml.org), suporta notatia UWE si verifica consistenta modelelor in functie de constrangerile OCL specificate pentru meta-modelul UWE.

8 Concluzii

In ultima decada au fost dezvoltate numeroase metode de modelare a aplicatiilor web. Este greu de anticipat momentul in care se va ajunge la un limbaj de modelare web unificat ("Unified Web Modeling Language") similar dezvoltarii UML-ului.

Includerea serviciilor web in dezvoltarea aplicatiilor web bazate pe modele va aduce noi provocari, cea mai importanta fiind interactiunea dintre modelarea de sus in jos si de integrarea de jos in sus a serviciilor existente.



Chen, P., The Entity-RelationshipModel - Toward a Unified View of Data, ACM Transactions on Database

Systems, 1976, pp. 9-36

OMG (Object Management Group), UML 2.0 Superstructure Specification - Revised Final Adopted

Specification, 2004, https://www.omg.org

Fraternali, P., Tools and Approaches for Data-intensive Web Applications: A Survey, ACM Computing

Surveys, 31 (3), September, 1999, pp. 227-263

Ceri, S., Fraternali, P., Bongio, A., Brambilla, M., Comai, S., Maristella, M., Designing Data-Intensive

Web Applications, Morgan Kaufmann, 2003

Ceri, S., Fraternali, P., Bongio, A., Brambilla, M., Comai, S., Maristella, M., Designing Data-Intensive

Web Applications, Morgan Kaufmann, 2003

Pastor, O., Pelechano, V., Fons, J., Abrah~ao, S., Conceptual Modelling of Web Applications: the OOWS

Approach. In: Web Engineering - Theory and Practice of Metrics and Measurement for Web Development,

Mendes, E., Mosley, N. (Eds.), Springer-Verlag, 2005.

Conallen, J., Building Web Applications with UML, 2nd edition, Addison-Wesley, 2003

Ziegeler, C., Langham, M., Cocoon: Building XML Applications, Sams, July, 2002



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 6247
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved