Sunteți pe pagina 1din 12

Slide 1.

Scopul acestei lucrri este prezentarea aspectelor teoretice i practice n legtur cu


utilizarea limbajului de modelare n procesul de dezvoltare al aplica iilor Web, limbaj ce ofer
posibilitarea modelrii design-ului sistemului.
Obiectivele sunt:
Evidenierea importanei limbajului de modelare UML;
Prezentarea principalelor aspecte privind profilele UML;
Prezentarea principalelor diagrame UML;
Modelarea unei aplicaii Web cu UML 2 folosind metodologia lui Pascal Roques.

Slide 2. Lucrarea de disertaie este structurat astfel nct s cuprind aspecte necesare
pentru a putea realiza nelege importana modelrii aplicaiilor Web i a UML-ului; i este
structurat astfel:
Capitolul 1. Aspecte generale privind utilizarea UML n dezvoltarea de soft
Capitolul 2: Aplicaiile WEB
Capitolul 3: Studiu de caz: Modelarea unei aplicaii web cu UML 2
Slide 3. UML reprezint un limbaj de modelare, cu scop general n domeniul ingineriei

software, care a fost conceput spre oferirea unui mod standard de a vizualiza design-ul unui
sistem. De asemenea, acest limbaj ne ofer posibilitatea de a reproduce pe hrtie ceea ce
reprezint un produs n procesul de dezvoltare a unui sistem software.
UML se baza iniial pe notaiile metodei Booch, pe tehnica de modelare-obiect (Objectmodeling technique - OMT) i ingineria software orientat pe obiect (Object-oriented software
engineering - OOSE), acestea fiind integrate ntr-un singur limbaj.

Unified Modeling Language (UML) ofer o modalitate standard de vizualizare a planurilor


arhitecturale ale unui sistem ntr-o diagram, incluznd elemente precum:

activiti;

procese de business;

componente logice;

actori;

declaraii ale limbajelor de programare;

schemele bazelor de date;

componente software reutilizabile.

Slide 4. Din punct de vedere al modelrii unui sistem utiliznd limbajul UML, putem lua n
considerare trei perspective:

Perspectiva utilizatorului sau Functional requierements view, care vizeaz cerinele


sistemului;

Perspectiva static sau Static structural view, care vizeaz obiecte, operaii, relaii
i atribute;

Perspectiva dinamic sau Dynamic behavior view, care vizeaz interaciunile ntre obiecte,
strile interne ale acestora, precum i comportamentul dinamic al sistemului.
UML 2.0 definete treisprezece tipuri de diagrame, mprite n trei categorii

anume: ase tipuri de diagrame care reprezint vizual structura aplicaiilor statice; trei reprezint
tipurile

generale

de

comportament;

i patru reprezint diferite aspecte ale interaciunilor.

Categoriile de care tocmai am amintit, sunt:

Diagramele de structura sunt: diagrama de clas, diagrama de obiect, diagrama


de component, diagrama de structur, diagrama de pachet i diagrama de implementare.

Diagramele de comportament sunt diagrama cazurilor de utilizare, diagrama de activitate i


diagrama de stare.

Diagramele de interaciune sunt derivate din diagrama de comportament general, acestea


fiind: diagrama de secven, diagrama de comunicare, diagrama de timing i diagrama de
interaciune.
n continuare voi prezenta pe scurt fiecare tip de diagram din fiecare categorie.

A. Diagramele de structur definesc arhitectura static a unui model. Ele sunt folosite pentru a
modela "lucruri", care alctuiesc un model - clase, obiecte, interfeele i componentele fizice.
n plus, acestea sunt utilizate pentru relaiile i dependenele ntre elementele modelului.
Diagrama de pachete este utilizat pentru a mpri modelul n containere logice sau
"pachete" i pentru a descrie interaciunile dintre ele la un nivel ridicat.
Diagrama de clas definete blocurile de construcie de baz ale unui model: tipuri, clase
i materiale generale, care sunt folosite pentru a construi un model complet.
Diagrama de obiect arat cum instanele elementelor structurale sunt legate i folosite n
momentul rulrii.
Diagrama de structur ofer un mijloc de stratificare a structurii unui element i se
concentreaz pe detalii interne i pe relaii.
Diagrama de componente este folosit pentru a modela structuri complexe sau de cel mai
nalt nivel, de obicei, construit din unul sau mai multe clase, furniznd o interfa bine definit.
Diagrama de implementare arat dispoziia fizic a artefactelor importante ntr-un cadru
real-lume (real-world).
B. Diagramele de comportament capteaz diferite tipuri de interaciune i stri ce apar n timp
ce se execut un model. Aceste diagrame sunt realizate cu scopul vizualizrii, specificrii,
construirii i documentrii aspectelor dinamice ale unui sistem.

Diagrama cazurilor de utilizare este folosit pentru a modela interaciunile de tip


utilizator/sistem. Aceast diagram definete un comportament, precum i cerinele i
constrngerile sistemului n form de script-uri sau scenarii.
Diagrama de activitate are un numr mare de utilizri, de la definirea fluxului programului
de baz, la capturarea punctelor de decizie i a aciunilor n orice proces generalizat.
Diagrama de stare este utilizat pentru specificarea posibilelor stri prin care poate trece
un obiect i modul n care se poate trece de la o stare la alta.
C. Diagramele de interaciune evideniaz fluxul de control dintre elementele sistemului,
precum i fluxul de date dintre acestea.
Diagrama de comunicare arat reeaua i secvena de mesaje i comunicaii ntre obiecte n
timpul rulrii, cum ar fi instana de colaborare.
Diagrama de secven este strns legat de diagrama de comunicare i arat secvena
mesajelor schimbate de obiecte folosind o cronologie vertical.
Diagrama de sincronizare(timing) este utilizat pentru a afia modificarea n timp a strii
sau valorii unuia sau a mai multor elemente. Se poate arta, de asemenea, interac iunea dintre
evenimentele temporizate precum i constrngerile de timp i durat care le guverneaz.
Diagrama de interaciune este utilizat pentru vizualizarea comportamentului interactiv a
sistemului.
Slide 5. Profile UML
UML (Unified Modeling Language) a devenit unul dintre cele mai utilizate standarde
pentru specificarea i documentarea sistemelor informatice. Cu toate acestea, faptul c UML este
o notaie de uz general, poate limita capacitatea sa de modelare a unor domenii specifice, pentru
care limbajele specializate pot fi mai adecvate. UML ofer un set de mecanisme de extindere
pentru a aborda aceast problem, care permit personalizarea i extinderea propriei sintaxe i
semantici, n scopul de a se adapta la anumite domenii de aplicare.

Profile UML au fost definite iniial n versiunea 1 de UML, cu toate c aplicabilitatea lor i
utilizarea pe scar larg de ctre comunitatea software a fost limitat, deoarece acestea nu aveau
nici o definiie clar sau orientri de utilizare precise.
UML 2.0 prezint mai multe motive pentru care un dezvoltator de sistem ar trebui s-i
doreasc personalizarea metamodelului su1:

Pentru a avea o sintax pentru construcii care nu au o notaie (cum este cazul ac iunilor n
UML);

Pentru a avea o notaie diferit pentru simbolurile deja existente, mai potrivite pentru
domeniul de aplicare int;

Pentru a aduga semantica ce a rmas nespecificat n metamodel (cum ar fi modul de a da


prioritate la primirea de semnale de la o main de stat, precum ambulana sau pompierii);

Pentru a aduga semantica care nu exist n metamodel (cum ar fi definirea unui timer sau a
unui ceas);

Pentru a aduga constrngeri care limiteaz modul n care se poate folosi metamodelul i
construciile sale (cum ar fi interzicerea aciunilor de a fi executabile n paralel ntr-o singur
trecere, sau forarea existenei unor asociaii ntre clase de model);

Pentru a aduga informaii care pot fi folosite atunci cnd se transform un model n alt
model sau n cod (cum ar fi de definire a normelor de cartografiere ntre un model i codul
Java).
Un profil UML este definit ca un pachet UML cu stereotipul profile, care poate extinde

fie un metamodel, fie un alt profil.


Profilele UML sunt definite n termeni de trei mecanisme de baz: stereotipuri,
constrngeri, i valori etichetate.

1 http://profs.info.uaic.ro/~alaiba/mw/index.php?title=Analiz%C4%83_comparativ
%C4%83_UML_%E2%80%93_TLA%2B Accesat la data de 23.04.2015

Un stereotip se definete printr-un nume i de un set de elemente ale metamodelului care


pot fi ataate acestuia.
Constrngerile pot

fi

asociate

stereotipurilor,

impunnd

restricii

elementelelor

metamodelului corespunztor. n acest fel, un designer poate defini proprietile unui model
"wellformed".
Constrngerile pot fi exprimate n orice limbaj, inclusiv limbaj natural sau OCL (Object
Constraint Language).
OCL este un limbaj, acum parte a UML, adoptat de OMG pentru a exprima constrngeri i
proprieti ale elementelor modelului. Exemple de constrngeri includ pre- i post-condiii ale
operaiunilor, reguli de derivare pentru atribute i asociaii, corpul operaiunilor de interogare,
etc. Cuvntul Constraint n numele limbajului provine de la prima versiune, n care doar
constrngerile puteau fi exprimate. Noul OCL 2.0 a evoluat ntr-un limbaj de interogare mai
expresiv i puternic, a crui expresivitate este similar cu cea a SQL-ului.
O valoare etichetat este un meta-atribut suplimentar, care este ataat la o meta-clas a
metamodelului extins cu un profil. Valorile etichetate au un nume i un tip, i sunt asociate cu un
anumit stereotip.
Profiluri permite adaptarea metamodelului UML pentru diferite:
- platforme, cum ar fi J2EE sau .NET
- domenii de activitate.
Un profil UML este un set de mecanisme de extindere, grupate ntr-un pachet UML cu
stereotipul <<profile>>. Aa cum am menionat mai devreme, aceste mecanisme permit
extinderea sintaxei i semanticii elementelor UML, dar trebuie s respecte semantica lor
original, de exemplu, profilele UML nu pot schimba semantica elementelor UML. Cu toate
acestea ele pot fi foarte utile atunci cnd sunt necesare personalizri de UML pentru anumite
domenii de aplicare.
Mai multe profile UML exist n prezent i sunt disponibile pentru uz public. Unele dintre
ele au fost chiar adoptate i standardizate de OMG, cum ar fi profilul UML pentru CORBA i

pentru CCM (CORBA Component model), profilul UML pentru eDoc (Enterprise Distributed
Computing Object), profilul UML pentru EAI (Enterprise Application Integration ), precum i
profilul UML pentru programare, performan, i de timp. Unele profile UML au fost deja
definite, iar acum sunt n curs de aprobare de ctre OMG, astfel nct numrul de profile OMG
este n cretere rapid. Unul dintre beneficiile profilelor UML este c acestea pot fi refolosite
direct n orice aplicaie.
Alte Profile UML au fost definite de ctre organizaii private i companii de software, i
sunt n prezent folosite n multe domenii de aplicare (de aici devenind standarde de fapt).
Slide 6. Abordari metodologice
UWE sau UML-based Web Engineering reprezint o abordare ce propune tehnici
adecvate pentru captarea cerinelor precum interviuri, chestionare i liste de verificare, ns nu
ofer sprijin pentru trasabilitate. n ceea ce privete caietul de sarcini, aceast faz se realizeaz
prin profilele UML.2
NDT sau Navigational Development Techniques aplic diagramele cazurilor de utilizare
i un set de template-uri pentru cerine cu o descriere textual n faza de analiz a cerin elor. 3
Trasabilitatea este susinut printr-un set de matrice de trasabilitate care pastreaza relatia dintre o
cerin i artefact lor respective c ndeplinete (Escalona, Mejas et al. 2004).
Faza de analiz a cerinelor i trasabilitatea sunt sprijinite de instrumentul NDT-Suite
(NDT-Profile, NDT-Driver-Quality NDT), care folosete profile pentru a lucra cu instrumentul
CASE, numit Enterprise Architect. Escalona i Koch n Metamodeling the Requirements of
Web Systems. Lecture Notes in Business Information Processing, se aminte te faptul c autorii
NDT i UWE au dezvoltat un profil UML pentru cerinele web numit Webre. n combinaia
celor dou abordri, modelele conceptuale pot fi derivate din caietului de sarcini; principalul
dezavantaj al acestei abordri este lipsa instrumentului de sprijin pentru transformrile de tip
model model.
2 Escalona, M. J. & Koch, N., Metamodeling the Requirements of Web Systems.
Lecture Notes in Business Information Processing. Vol. 1. 2007. pp. 267-282
3 Escalona, M. J. & Aragon, G., NDT. A Model Driven Approach for Web
Requirements. Software Engineering, IEEE Transactions on, 2008, pp. 377-390.

WebML sau Web Modeling Language este o metod utilizat pentru proiectarea siteurilor care permit modelarea la nivel nalt.4 Faza de analiz a cerinelor nu este descris n
detaliu, dar n WebML 2009 autorul propune utilizarea UML (Unified Modeling Language), prin
utilizarea diagramelor de utilizare i a diagramelor de activiti pentru caietul de sarcini. Aceast
abordare nu are suport de trasabilitate.5
WSDM sau Web Site Design Method. Primele dou etape ale acestei abordri (declararea
misiunii i modelare utilizatorului) sunt responsabile pentru gestionarea cerinelor prin tehnici
cum ar fi hrile conceptuale (de roluri i activiti) i dicionarul de date pentru definirea
cerinelor funcionale i de securitate. Cerinele din aceast abordare sunt specificate ntr-o form
textual. Lipsa de transformri ntre modele i sprijin pentru trasabilitate, precum i lipsa unui
instrument prototip care susine specificarea cerinelor demonstreaz limitrile acestei abordri.6
OOWS sau An Object-Oriented Approach for Web Solutions Modeling reprezint o
abordare orientat obiect pentru soluii de modelare Web ce ofer o faz de colectare a cerin elor
printr-o serie de strategii care implementeaz FRT (Function Rafinament TREE), cazuri de
utilizare i un set de diagrame (sarcini, caietul de sarcini i descrierea datelor) pentru cerin ele de
navigaie. Aceast abordare ofer suport pentru trasabilitate, acest lucru realizndu-se printr-un
set de reguli de transformare definite de teoria grafurilor.7 n ceea ce privete instrumentul de
sprijin, aceast abordare are un mediu numit OOWS-Suite, care este integrat cu instrumentul
OlivaNova de a oferi sprijin pentru faza de colectare a cerinelor. Pentru sprijinirea trasabilit ii,
aceast abordare utilizeaz dou instrumente, primul este instrumentul open source numit AGG

4 Ceri, S., Fraternali, P. & Bongio, A., Web Modeling Language (WebML): a modeling
language for designing Web sites. Computer Networks, 2000, pp. 137- 157.
5 WebML: The Web Modeling Language. 2009, http://www.webml.org
6 De Troyer, O. M. F. & Leune, C. J., WSDM: a user centered design method for Web
sites. Computer Networks and ISDN Systems, 1998,pp. 85-94.
7 Valderas, P. & Pelechano, V. , Introducing requirements traceability support in
model-driven development of web applications. Information and Software
Technologies, 2009, pp 749-768.

(Atribuit Graph Grammar System), iar al doilea este TaskTracer dezvoltat de autori pentru a
genera rapoarte de trasabilitate.8
A-OOH sau Adaptive Object Oriented Hypermedia este o extensie a metodei de
modelare OOH (Object Oriented Hypermedia) adresat utilizatorului.
Slide 7. Tehnologii
A. Client Side Scripting / Coding - Scripting Client Side este tipul de cod care este executat
sau interpretat de browsere.
Scripting Client Side este, n general, vizibil prin orice vizitator pe un site (din meniul
Vizualizare, facei clic pe "View Source" pentru a vizualiza codul surs).
Mai jos sunt cteva tehnologii de scripting Client Side Scripting:

HTML (HyperText Markup Language)

CSS (Cascading Style Sheets)

JavaScript

Ajax (Asynchronous JavaScript si XML)

jQuery (JavaScript Library Framework - frecvent utilizat n dezvoltarea Ajax)

MooTools (JavaScript Library Framework - frecvent utilizat n dezvoltarea Ajax)

Dojo Toolkit (JavaScript Library Framework - frecvent utilizat n dezvoltarea


Ajax).9

8 Valverde, F., Valderas, P. & Fons, J. Year. OOWS Suite: Un Entorno de desarrollo
para Aplicaciones Web basado en MDA. In: 11th International Database Engineering
& Applications Symposium, 2007 Banff, Canada.
9 Bernard Kohan, Guide to Web Application Development,
http://www.comentum.com/guide-to-web-application-development.html

B. Server Side Scripting / Coding - Scripting Server Side este tipul de cod care este executat
sau interpretat de serverul de web.
Scripting Server Side nu este vizibil sau accesibil pentru orice vizitator sau publicului larg.
Mai jos sunt tehnologiile cele mai utilizate pentru Server Scripting Side:

PHP

Zend Framework

ASP

ASP.NET

ColdFusion

Ruby on Rails

Perl

Python

Slide 12. n urma realizrii acestei lucrri am ajuns la concluzia c UML este un limbaj de
modelare cu posibilitatea de a modela diferite func ionalit i ale unei aplica ii Web i care, prin
diferite instrumente dedicate, poate oferi un cod surs pentru aplica ie, n cazul n care se dore te s
se implementeze aplicaia.

UML reprezint un limbaj de modelare, cu scop general n domeniul ingineriei software,


care a fost conceput spre oferirea unui mod standard de a vizualiza design-ul unui sistem. 10 De
asemenea, acest limbaj ne ofer posibilitatea de a reproduce pe hrtie ceea ce reprezint un
produs n procesul de dezvoltare a unui sistem software.
Slide 15. Va multumesc!

10UML Diagram Software. ( https://www.edrawsoft.com/UML-Diagrams.php Accesat la data


de 13.03.2015)

S-ar putea să vă placă și