Documente Academic
Documente Profesional
Documente Cultură
Introducere
Problema principal care apare n dezvoltarea programelor este complexitatea. Folosirea
de modele poate nlesni abordarea de probleme complexe.
Un model este o simplificare unui anumit sistem, ce permite analizarea unora dintre
proprietile acestuia. Lucrul cu modelele poate facilita o mai bun nelegere a sistemului
modelat, datorit dificultii intrinseci de nelegere a sistemului n ntregul sau.
Folosirea tehnicii divide et impera permite nelegerea prilor componente ale unui
sistem, iar ansamblul sistemului ca o interaciune ntre prile acestuia. Un model reuit reine
caracteristicile importante ale obiectului modelat i le ignor pe cele irelevante. De remarcat c
noiunile de important / irelevant sunt relative, ele depinznd de scopul pentru care se face
modelarea. Astfel apare plauzibil construirea mai multor modele pentru un anumit obiect,
fiecare surprinznd anumite aspecte ale acestuia.
Orice metodologie de dezvoltare a programelor abordeaz problema comunicrii ntre
membrii echipei. Este posibil s apar situaii n care modelul construit de proiectant s nu fie
neles exact de cel ce scrie cod, fie din cauza lipsei de precizie a modului n care este prezentat
modelul, fie datorit lipsei unor elemente importante ale acestuia; adesea o serie de amnunte
subtile ce sunt evidente pentru designer nu sunt transmise. O rezolvare a problemei comunicrii
ar fi ca aceeai persoan s fie implicat direct n toate fazele dezvoltrii. Chiar i aa, apare des
situaia n care o persoan trebuie s continue munca alteia.
Se impune aadar existena unui limbaj formal de comunicare al cerinelor.
Termenul formal este esenial. De obicei, chiar i n proiecte de dimensiuni reduse, se
face modelare, ns ntr-un limbaj specific celui care modeleaz, determinat de viziunea asupra
problemei i de pregtirea acestuia. Folosirea unui limbaj intern nu trebuie privit ca negativ,
ea avnd se pare un rol esenial n gndire n general i n modelare n particular. Modelarea este
posibil, chiar i fr folosirea explicit a unui limbaj.
Formalismul limbajului de modelare const n stabilirea de elemente cu o semantic
asupra creia se convine i cu ajutorul crora s se poat transmite idei n mod ct mai eficient i
mai puin ambiguu.
Limbajul de modelare UML i propune s defineasc o modalitate ct mai precis,
general i extensibil de comunicare a modelelor. El a fost creat n primul rnd pentru a facilita
proiectarea programelor, ns datorit expresivitii sale poate fi folosit i n alte domenii
(proiectare hardware, modelarea proceselor de afaceri etc.). Folosirea UML faciliteaz
comunicarea modelelor, ns nu asigur crearea unui model bun. Limbajul de modelare nu
specific i nu poate specifica ce modele trebuie create, n ce ordine i cum trebuie ele utilizate
pentru un sistem particular.
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 succes din aceast perioad sunt:
Booch - potrivit mai ales pentru proiectare i implementare, cu dezavantajul
unor notaii complicate;
OOSE (Object-Oriented Software Engineering) - aceast metod a propus aanumitele cazuri de utilizare, care ajutau la nelegerea comportamentului
ntregului sistem;
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.
Cei trei autori ai limbajelor de modelare principale, Booch, Jacobson i Rumbaugh au
ajuns la concluzia ca ar fi mai bine s conduc evoluia limbajelor lor pe un acelai drum, pentru
a elimina diferenele gratuite ce nu fceau dect sa ncurce utilizatorii. Un al doilea motiv a fost
unul pragmatic, reieit din necesitatea industriei software de a avea o oarecare stabilitate pe piaa
limbajelor de modelare. Al treilea motiv a fost convingerea c prin unirea forelor se pot aduce
mbuntiri tehnicilor existente.
Dezvoltarea UML a nceput n mod oficial n octombrie 1994, cnd Rumbaugh s-a
alturat lui Booch n cadrul companiei Rational Software, 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 s-a alturat echipei de la Rational 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 ca 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, I-Logix, Intellicorp, IBM, MCI Systemhouse, Microsoft,
Oracle, Rational, Texas Instruments etc.
UML 1.0 a fost propus spre standardizare n cadrul OMG n ianuarie 1997.
Pn 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.
Versiunea 1.2 a UML a fost o revizie editorial; versiunile 1.3 au fost publicate ncepnd
cu sfritul anului 1998.
n septembrie 2001 a fost publicat versiunea 1.4 i n martie 2003 a fost versiunea 1.5.
n octombrie 2004 a fost introdus versiunea 2.0.
UML este un limbaj de modelare bazat pe notaii grafice folosit pentru a specifica,
vizualiza, construi i documenta componentele unui program.
UML este un limbaj cu ajutorul cruia se pot construi (descrie) modele. Un model
surprinde un anumit aspect al unui program i acelai model poate fi descris la diferite nivele de
abstractizare. Fiecrui model i corespunde o diagram. Tipurile de diagrame existente n UML
sunt:
Diagrama cazurilor de utilizare (Use Case Diagram)
Diagrama de clase (Class Diagram)
Diagrame care descriu comportamentul:
Diagrame de implementare:
Fiecreia din cele trei mari faze din dezvoltarea un proiect software i corespund una sau
mai multe diagrame UML i anume:
-