Sunteți pe pagina 1din 7

PROIECTAREA

INFORMATICE

OBIECTUAL

SISTEMELOR

PROIECTAREA OBIECTUAL PRIN INTERMEDIUL LIMBAJUL UML

Limbajul Unificat de Modelare UML (Unified Modeling Language) a adus


mpreun trei metodologii orientate obiect introduse prin munca comun a autorilor
Grady Booch, Ivan Jacobson i Jim Rumbaugh.
Limbajul unificat de modelare a fost definit n intenia de a introduce o standardizare
n tipologia, semantica i reprezentarea rezultatelor (artifactelor) produse de analiza i
proiectarea orientate obiect1.
Booch, Rumbaugh i Jacobson i-au unit forele pentru dezvoltarea UML-ului. n
octombrie 1994, Grady Booch i Jim Rumbaugh de la Rational Software Corporation
au debutat n munca lor de unificare a metodelor Booch i OMT (Object Modeling
Technique). Metodele Booch i OMT se dezvoltaser deja independent una de
cealalt i aveau recunoaterea mondial de principale metode orientate obiect.
Limbajul Unificat de Modelare nu este o ndeprtare radical de metodele Booch,
OMT sau OOSE (Object Oriented Software Engineering) - metoda de proiectare a
autorului Ivan Jacobson, care li s-a alturat celor doi n 1995 - ci mai degrab o
continuare legitim a acestora. Astzi utilizm Booch, OMT sau OOSE. Formaiunea
lor, experiena i instrumentele lor vor fi pstrate, deoarece UML este o etap de
evoluie natural, iar modelele statice, atributele i relaii lor par s fie doar faada
modelrii orientate obiect.
UML este mai expresiv, mai curat i mai uniform dect Booch, OMT, OOSE i dect
celelalte metode. Aceasta nseamn c avem un avantaj prin trecerea la UML,
deoarece el va permite n proiectele de modelare opiuni care nu ar fi putut fi fcute
mai nainte. Utilizatorii celorlalte metode i limbaje de proiectare vor avea avantajul
de a utiliza UML ul, pentru c el face s dispar toate diferenele de notaie i de
terminologie care nu erau necesare, care ntunecau similaritile de baz ale
abordrilor de mai sus.
UML este rezultatul unui efort de unificare n care au contribuit elemente dezvoltate
de numeroase cercetri i metode. UML este definit drept o colecie a celor mai
bune practici aplicate n modelarea sistemelor informatice de mari dimensiuni i
complexitate. Printre principalele elemente surs folosite iniial la definirea UML
sunt:
Booch, cu categoriile si subsistemele;
Rumbaugh, cu asocierile;
Jacobson, cu cazurile de utilizare;
Shlaer-Mellor, cu ciclul de via al obiectelor;
Wirfs-Brock, responsabilitatile (diagrama de colaborri).
UML a fost definit pornind de la rolul esenial pe care-l joac modelarea n
conceperea i realizarea de sisteme software. UML-lui i este specific un set de
diagrame i notaii convenionale pentru modelarea sistemelor i care poate fi folosit
pentru modelarea diferitelor tipuri de sisteme, pornind de la software pn la procese
organizaionale.
O definiie a limbajului limbajului unificat de modelare (UML) ar fi: Limbaj grafic
folosit pentru vizualizarea, specificarea, construcia i documentarea artifactelor unui
sistem software intensiv. UML ofer o modalitate standard de scriere a copiilor
sistemului, incluznd att elemente conceptuale cum ar fi procesele de afaceri i

D. Zaharie, I. Roca, Proiectarea obiectual a sistemelor informatice, DualTech, Bucureti, 2002, p.


21

funciile unui sistem, ct i elemente concrete constnd n codurile unor limbaje de


programare, schema bazei de date i componente software reutilizabile.2
LIMBAJUL UNIFICAT DE MODELARE UML TRECUT I PREZENT
ncepnd cu mijlocul anilor 1970 i continund n anii 1980 au aprut diverse limbaje
de modelare, odat cu creterea experienei de lucru n cadrul paradigmei orientate
obiect. Astfel, numrul de limbaje de modelare ajunge de la 10 pn la mai mult de 50
n perioada 1989-1994. Limbajele de modelare de success din aceasta perioad sunt
Booch (Grady Booch), OOSE - Object-Oriented Software Engineering (Ivar
Jacobson) i OMT - Object Modeling Technique (James Rumbaugh). Aceste limbaje
aveau propriile puncte tari i slbiciuni, dup cum creatorii lor puneau accentul pe
anumite idei de modelare. Aadar, utilizatorii gseau tehnicile de modelare ce le erau
necesare unui proiect particular numai n anumite limbaje, fapt ce a alimentat
"rzboiul metodelor". La mijlocul anilor 1990, cnd este semnalat o nou generaie
de limbaje de modelare, a nceput un proces de omogenizare, prin ncorporarea n
fiecare limbaj a caracteristicilor gsite n celelalte limbaje.
Dezvoltarea UML a nceput n mod oficial n octombrie 1994, cnd Rumbaugh s-a
alturat lui Booch n cadrul companiei Rational Software3, ambii lucrnd la unificarea
limbajelor Booch i OMT. Versiunea preliminar 0.8 a Unified (Metoda Unificat aa cum era numit atunci) a fost publicat n octombrie 1995. Tot atunci, Jacobson sa alturat echipei de la Raional i scopul UML a fost extins pentru a include i
OOSE. n iunie 1996 a fost publicat versiunea 0.9 a UML. Pe parcursul anului 1996,
ca o consecin a reaciilor comunitii proiectanilor de sistem, a devenit clar c UML
este vzut de ctre multe companii ca o opiune strategic pentru dezvoltarea
produselor lor. A fost creat un consoriu UML format din organizaii doritoare s
aloce resurse pentru a obine o definiie final a UML. Dintre aceste companii care au
contribuit la crearea UML 1.0 au fcut parte: DEC, Hewlet-Packard, IBM, Microsoft,
Oracle, Rational, Texas Instruments etc.
- UML 1.0 a fost propus spre standardizare n cadrul OMG (Object
Management Group)4 n ianuarie 1997. Pna la sfritul anului 1997
echipa care lucra la UML s-a extins, urmnd o perioad n care UML a
primit o specificare formal mai riguroas.
- Versiunea UML 1.1 a fost adoptat ca standard de ctre OMG n
noiembrie 1997. Actualmente, UML este dezvoltat de ctre OMG
Revision Task Force, condus de Cris Kobryn.
- Versiunea 1.2 a UML a fost o revizie editorial; versiunile 1.3 au fost
publicate ncepnd cu sfritul anului 1998.
- n martie 2003 UML a ajuns la versiunea 1.5.
- Versiunea 2.0 a fost intens dezbtut i a aprut pe pia n octombrie
2004.
- Ultima versiune UML 2.1.2, aprut n noiembrie 2007, are modificri
minore fa de versiune UML 2.1.1 din 2006. Ultima versiune este
format din dou specificaii diferite: Superstructure i
Infrastructure. Tot n cadrul ultimei variante sunt dou specificaii

Sursa: http://www.omg.org, Specificaie OMG referitoare la limbajul UML


Sursa: http://www.rational.com/uml
4
Sursa: http://www.omg.org Specificaie OMG referitoare la limbajul UML
3

care sunt legate de specificaia UML 2.0 (Diagram Interchange i


Object Constraint Language).
Standardizarea limbajului UML s-a realizat n 2005, prin ISO/IEC 19501:20055 ce
descrie un limbaj grafic de vizualizare, sepcificare, construcie i documentare a
artifactelor ale unui sistem software intens. UML ofer o cale standardizat de a scrie
planurile (blueprints) unui sistem, incluznd elemente conceptuale ca procesele de
afaceri i funciunile sistemului, precum i elemente concrete cum ar fi declaraiile din
cadrul limbajelor de programare, schemele bazelor de date sau componente software
reutilizabile.
UML nu este un simplu limbaj de modelare orientat pe obiecte, ci n prezent, este
limbajul universal standard pentru dezvoltatorii software din toat lumea. UML este
succesorul propriu-zis al celor mai bune trei limbaje de modelare anterioare orientate
pe obiecte (Booch, OMT i OOSE). UML se constituie din unirea acestor limbaje de
modelare i n plus deine o expresivitate care ajut la rezolvarea problemelor de
modelare pe care vechile limbaje nu o aveau.
1.1. Aplicarea limbajului UML pentru proiectarea aplicaiilor
Limbajul de modelare modificat (UML - The Unified Modeling Language) ofer
arhitecturi de sisteme ce funcioneaz pe analiza i proiectarea obiectelor cu un limbaj
corespunzator pentru specificarea, vizualizarea, construirea i documentarea
artefactelor sistemelor sofware i de asemenea pentru modelarea n ntreprideri. UML
este un limbaj de modelare care ofer o exprimare grafic a structurii i
comportamentului software. Pentru aceasta se utilizeaz notaiile UML. Notaia UML
reprezint un limbaj, i nu o metodologie. Aceasta este important deoarece un limbaj,
fa de o metodologie, poate fi asimilat cu uurin n orice companie fr a necesita
modificri.
Modelarea n acest limbaj se realizeaza prin combinarea notaiilor UML n cadrul
elementelor principale ale acestora denumite diagrame. Avnd n vedere c UML nu
este o metodologie, el nu cere nici un fel de munc formal (aa numitele artefacte
n limbajul IBM Rational6). El ofer ns mai multe tipuri de diagrame care folosite
cu o anumit metodologie, mresc uurina de nelegere a aplicaiei n dezvoltare.
n cadrul UML-ului varianta 1.4. descoperim zece tipuri de diagrame:
1. diagrama cazurilor de utilizare (Use case diagram),
2. diagrama claselor (Class diagram),
3. diagrama de pachete (Package diagram)
4. diagrama de secvene (Sequence diagram),
5. diagrama de colaborare (Communication diagram),
6. diagrama de stri (State Machine diagram),
7. diagrama de activiti (Activity diagram),
8. diagrama de componente (Component diagram),
9. diagrama de amplasare (construcie sau exploatare) (Deployment
diagram),
10. diagrama de obiecte (Object diagram) .
n varianta UML 2.0. apar n plus trei diagrame:
1. diagrama de compoziie a structurii (Composite Structure Diagram)
2. diagrama de sincronizare (Timing Diagram)
5

Sursa: http://www.iso.org/iso/iso_catalogue/catalogue_tc, ISO 19501/2005 Information technology Open Distributed Processing - Unified Modeling Language (UML), Version 1.4.2
6
Sursa: http://www-01.ibm.com/software/rational/uml/

3. diagrama interaciunii de ansamblu (Interaction Overview Diagram)


Fiecare diagram este folosit pentru un anumit tip de modelare, astfel:
diagrama cazurilor de utilizare -- pentru modelarea proceselor de afaceri
(business);
diagrama de secvene -- pentru modelarea dependenelor temporale i a
evenimentelor;
diagrama de colaborri -- pentru modelarea interaciunilor din cadrul sistemului;
diagrama de stri -- pentru modelarea comportamentului obiectelor din sistem;
diagrama de activiti -- pentru modelarea comportamentului cazurilor de
utilizare, a obiectelor i operaiilor;
diagrama claselor -- pentru modelarea structurii statice a claselor;
diagrama obiectelor -- pentru modelarea structurii statice a obiectelor;
diagrama componentelor -- pentru modelarea componentelor;
diagrama de amplasare -- pentru modelarea distribuirii fizice a componentelor
sistemului.
UML specific instrumentele de vizualizare i semantica pentru modelarea sistemului,
dar nu specific o metod pentru aplicarea acestei notaii. De fapt, fiecare diagram pe
care orice architect sau designer o folosete depinde n mare msur de natura
sistemului care urmeaz a fi modelat i de nivelul de abstractizare cerut, n multe
cazuri doar o parte din diagrama respectiv este cu adevrat folosit. Aceste diagrame
pot fi mprite n trei categorii:
Diagrame statice descriu structura i responsabilitaile sistemului
informatic (diagramele cazurilor de utilizare, claselor, obiectelor);
Diagrame dinamice descriu comportamentul i interaciunile care au loc
ntre diverse entiti n cadrul sistemului informatic (diagrame de activiti,
colaborare, secvene, stri, cazuri de utilizare);
Diagrame arhitecturale descriu componentele executabile ale sistemului
i determin locaiile fizice de execuie i nodurile de stocare a datelor
(diagrame de componente, amplasare).
UML versiunea 2.x cuprinde 13 tipuri de diagrame ierarhizate dup urmtoarea
tipologie:
Diagramele de structur subliniaz elementele ce trebuie s se regseasc
n sistemul care este modelat i conin:
diagrama claselor,
diagrama obiectelor,
diagrama componentelor,
diagrama de compoziie a structurii,
diagrama pachetelor,
diagrama de amplasare.
Diagramele de comportament evideniaz ce anume trebuie s se
desfoare n sistemul care se modeleaz i includ:
diagrama cazurilor de utilizare,
diagrama de activitate,
diagrama de stare.
Diagramele de interaciune evideniaz fluxul de control i de
date dintre elementele sistemului ce se modeleaz i reprezint un
subset al diagramelor de comportament. n cadrul lor se regsesc:
diagrama de secvene,
diagrama de colaborri,
diagrama de sincronizare,

diagrama de interaciune de ansamblu.


O sintez a tuturor acestor diagrame se regsete n urmtoarea figur:

Figur 1

Clasificarea diagramelor UML n versiune 2.x7

Lista oficial a instrumentelor de construcie a diagramelor UML este oferit de


OMG. Nici unul din urmtoarele instrumente nu este complet, dar sunt folositoare,
ofer posibiliti de realizare a tuturor diagramelor UML, precum i generarea unor
coduri n limbaje precum C++, Java, VB.NET:
Altova UModel 2008 Release 2
Artisans Real Time Studio
Embarcadero Describe
Rational Software Architect and Modeler
Sparx Systems Enterprise Architect
Una dintre condiiile ce trebuie ndeplinite ca un proiect s aib succes este aceea ca
cerinele proiectului s fie definite ntr-o manier care s permit o uoar nelegere,
indiferent de nivelul de pregtire informatic al celui care este implicat n proiect. De
asemenea, modificrile ce apar pe parcurs n cerine trebuie s fie cu uurin
asimilate de ctre membrii echipei de dezvoltare.
1.2. Fazele dezvoltrii unui sistem informatic prin limbajul UML
Sinteza fazele ce trebuie parcurse la proiectarea unui sistem informatic prin metoda
UML se prezint n urmtorul tabel8:
Faza de proiectare
1. Analiza
cerinelor

Descrierea fazei
Cerinele utilizatorului SI sunt modelate cu ajutorul seriilor de
vederi funizate de limbajul UML (diagrame, elemente model,
mecanisme generale i extensii).

Prelucrare dup http://en.wikipedia.org/wiki/Image:Uml_diagram.svg


Prelucrare dup A. Gavril, Integrarea sistemelor informatice de gestiune pe Internet, tez de
doctorat, ASE, Bucureti, 2005
8

Faza de proiectare

Descrierea fazei
Aceast faz are ca principal rol definirea claselor, obiectelor,
mecanismelor specifice procesului modelat. Clasele vor fi
2. Analiza
i stabilite n paralel cu relaiile lor specifice i descrise n cadrul
diagramei claselor, n timp ce relaiile dintre ele vor fi
abstractizarea
surprinse n modelele dinamice UML.

3. Design

4. Programarea
sau construcia

5. Testarea

Faza de design asigur transferarea rezultatelor din faza


anterioar ctre o soluie tehnic. Vor fi adugate noi clase n
infrastructura tehnic: interfaa utilizator, dirijarea BD n
vederea memorrii datelor n BDOO, comunicaia cu alte
sisteme i interfaa cu echipamentele hardware.
Prin intermediul fazei de programare, clasele obinute la faza
de design sunt transformate n cod surs prin intermediul unui
limbaj de programare orientat obiect.
Sunt efectuate mai multe tipuri de testri:
- teste pe unitate au loc individual asupra claselor sau
grupurilor de clase i sunt realizate exclusiv de ctre
programatori. Sunt utilizate diagramele claselor i
specificaiile de clas.
- teste integratoare vizeaz integrrile componentelor i
claselor n ordinea n care acestea coopereaz. Sunt utilizate
diagramele componentelor i de colaborare.
- testele sistemului realizat sunt aplicate asupra unei cutii
negre pentru a valida sistemul i a verifica cooperarea
acestuia cu utilizatorii
- testele de acceptare permit verificarea de ctre clientul SI
a gradului n care acesta satisface cerinele specificate n
prima faz a dezvoltrii aplicaiei. Sunt utilizate diagramele
cazurilor de utilizare (use-case).

Figur 2

Fazele de proiectare ale unui SI prin limbajul UML9

N. Davidescu, Proiectarea sistemelor informatice prin limbajul Unified Modeling Language (PSI2),
Ed. All Beck, 2003

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