Sunteți pe pagina 1din 13

Curs 7

INSTRUMENTE CASE BAZATE PE UML

1. Instrumentul Rational Rose

Rational Rose este un instrument care ofera suport pentru doua elemente esentiale in abordarea
moderna a unui proiect software: dezvoltare bazata pe componente si controlul dezvoltarii iterative.
Desi aceste elemente sunt conceptual independente, folosirea lor impreuna este naturala si benefica.
Modelarea vizuala reprezinta maparea proceselor unui sistem din lumea reala pe o notatie grafica.
Modelele sunt utile pentru intelegerea problemelor, comunicarea cu oricine este implicat intr-un anumit
proiect (client, expert in domeniu, analist, proiectant etc.), modelarea sistemelor complexe, pregatirea
documentatiei, proiectarea programelor si a bazelor de date. Modelarea permite o intelegere mai buna a
cerintelor, o proiectare mai curata, un sistem mai usor de intretinut.
In modelarea vizuala se foloseste ca standard Limbajul de Modelare Unificat (UML) care ofera o
modalitate de tranzitie intre modelul afacerii si domeniul calculatoarelor. Cu ajutorul UML toti membrii
unei echipe folosesc un vocabular comun, minimizand erorile de comunicare si crescand astfel eficienta.
Elementele principale ale instrumentului Rational Rose sunt:
a) Editorul de diagrame;
b) Generatorul de cod si instrumentele pentru reverse engineering si round trip;
c) Generatorul de documentatie;
d) Schimbul de informatii cu alte instrumente;
e) Suportul pentru adnotari formale textuale;
f) Integrarea cu instrumente de dezvoltare;
g) Suport acordat muncii in echipa.

a) Editorul de diagrame.

Interfata grafica a instrumentului Rational Rose se imparte in urmatoarele ferestre:

 Fereastra aplicatiei
 Fereastra de navigare
 Fereastra documentatiei
 Fereastra de lucru
 Fereastra specificatiilor
 Fereastra log-urilor

Fereastra aplicatiei contine bara de titlu, meniul aplicatiei si o zona de lucru in care se deschid toate
celelalte ferestre. Navigarea prin model este asigurata prin fereastra de navigare, care contine un obiect
de tip tree cu urmatoarele patru vederi:
o Use Case View
o Logical View
o Component View
o Deployment View

Use Case View (Proiectarea Cazurilor de Utilizare) contine Diagrame ale Cazurilor de Utilizare, Actori,
Cazuri de Utilizare si Diagrame de Secventa.
Logical View (Proiectarea Logica) contine Diagrame de Clasa, Pachete, Clase, Interfete, Obiecte si
Relatii. Un pachet poate contine la randul lui diagrame de clasa, clase, interfete, obiecte. Diagramele de
clasa contin clase, interfete, obiecte si asocierile sau legaturile dintre acestea.

1
Component View (Proiectarea Componentelor) contine diagrame ale componentelor si componente ale
modelului.
Deployment View (Implementarea) contine nodurile fizice ale sistemului si legaturile dintre ele.

Fereastra de documentatie contine documentatia pentru obiectul activ la un moment dat pe ecran
(obiectul selectat). Pot avea documentatie: actorii, cazurile de utilizare, pachetele, clasele, interfetele,
obiectele, relatiile (asocieri, agregari). De asemenea, trebuie mentionat ca toate aceste obiecte au o serie
de proprietati care pot fi vizualizate si modificate cu ajutorul unei ferestre numita Specification
(fereastra de specificatie). In aceasta fereastra se gaseste si documentatia obiectului.

Fereastra de lucru afiseaza continutul diagramelor. De mentionat ca diagramele pot fi de sapte feluri:
diagrame ale cazurilor de utilizare, diagrame de secventa, diagrame de colaborare, diagrame de
activitate, diagrame ale pachetelor, diagrame de stare, diagrame de lansare. In functie de diagrama care
este afisata in fereastra de lucru, aceasta contine o bara cu instrumente specifice, cu butoane necesare
pentru constructia diagramei respective.

Suportul oferit limbajului universal de modelare este foarte bun, Rational Rose permitand utilizarea
majoritatii conceptelor si construirea tuturor tipurilor de diagrame UML. Rational Rose mentine
automat consistenta intre diagrame si specificatiile lor. Se pot modifica proprietati sau relatii editand
specificatiile sau modificand icoanele in diagrama. Diagramele asociate sau specificatiile sunt automat
actualizate.

2
Fereastra specificatiilor permite sa se afiseze si sa se modifice proprietatile si relatiile unui element al
modelului, cum ar fi o clasa, o asociere, o operatie, sau o activitate. In formatiile sunt prezentate
textual.

Fereastra log-urilor serveste la raportarea rezultatelor si a erorilor care apar ca in urma executarii unei
comenzi sau actiuni in modelul curent. Mesajele afisate in loguri sunt prefixate cu un marcaj de timp,
permitandu-se astfel identificarea momentului cand evenimentul sau actiunea au avut loc.

b) Generatorul de cod si instrumentele pentru reverse engineering si round-trip.

Generarea de cod se poate face pentru diagramele de clase, pachete si pentru diagramele de
componente. Pentru a genera cod clasele trebuie asignate limbajului in care se doreste generarea de
cod. Aceasta se realizeaza pentru mai multe limbaje: C++, ANSI C++, Java/J2EE, Ada, CORBA IDL,
Visual Basic. Pentru C++, ANSI C++, Java/J2EE si CORBA IDL este posibila si ingineria inversata si
round-trip. In plus, este posibila modelarea aplicatiilor Web, aceasta incluzand generarea de cod si
ingineria inversata pentru urnatoarele tehnologii: jsp, asp, html si componente COM.
Suportul pentru modelarea datelor este foarte bine reprezentat, instrumentul permitand generarea de
cod, ingineria inversata si round-trip pentru ANSI SQL si pentru urmatoarele sisteme de gestiune a
datelor:

o IBM DB2 MVS si UDB


o Oracle
o Microsoft SQL Server
o Sybase Adaptive Server
Este posibila, de asemenea, generarea de cod si inginerie inversata pentru XML DTD.
3
c) Generatorul de documentatie

Generarea documentatiei se realizeaza in format HTML asigurandu-se o buna navigabilitatea intre


modele. Generarea se poate face pentru diverse grade de detaliere si se ofera posibilitatea selectarii
vederilor si a modelelor pentru care se doreste generarea. Pentru reprezentarea diagramelpor se poate
opta intre trei formate grafice: bitmap, PNG si JPEG.

d) Schimbul de informatii cu alte instrumente

Schimbul de informatii cu alte instrumente de modelare este posibil prin intermediul formatului petal si
prin intermediul formatului XMI (XML Metadata Interchange).

e) Suportul pentru adnotari formale textuale

Desi instrumentul permite extinderea functionalitatilor folosind un limbaj scriptic propriu, nu se fac
verificari asupra modului cum sunt definite constrangerile.

f) Integrarea cu instrumente de dezvoltare

Integrarea cu instrumentele de dezvoltare a fost studiata pentru mediile Windows. Astfel Rational Rose
permite integrarea cu Microsoft Visual Studio si Forte for Java. In plus, exista medii de dezvoltare
proprii, Rational XDE (pentru Java si pentru platforma .Net), care, pe langa integrarea cu Rational
Rose Enterprise Edition, permit construirea de modele.

g) Suport acordat muncii in echipa

Rational Rose acorda suport echipelor de analisti, arhitecti si dezvoltatori software, dupa cum urmeaza:

o Permite dezvoltari in paralel pentru un model prin descompunerea acestuia in mai multe unitati
controlate (controlled units): permit definirea de portiuni dintr-un model si pot fi gestionate
folosind un instrument pentru controlul versiunilor.
o Permite mutarea sau copierea fisierelor cu modele sau al unitatilor controlate intre diferite spatii
de lucru folosind mecanismul hartii caii virtuale (virtual path map).
o Permite integrarea cu instrumentele ClearCase si Microsoft SourceSafe pentru controlul
versiunilor.
o Ofera un instrument separat, numit Integratorul de modele (Model Integrator), care permite
compararea si unificarea modelelor.
o Permite reutilizarea unor portiuni largi din diverse proiecte dezvoltate anterior, prin posibilitatea
adaugarii de cadre de lucru.

2. Instrumentul MagicDraw

MagicDraw reprezinta un instrument de modelare vizual, bazat pe UML, care ofera suport
lucrului in echipa. El se adreseaza tuturor persoanelor implicate in dezvoltarea unui proiect software:
experti in domeniul pentru care este construita aplicatia, analisti software, programatori, persoane
responsabile cu asigurarea calitatii, persoane responsabile cu scrierea documentatiei.

Instrumentul este disponibil in mai multe editii, fiecare dintre ele oferind diverse facilitati. Cea mai
completa dintre editii este MagicDraw Enterprise Edition, care permite lucrul cu mai multe tehnologii si
baze de date si, de asemenea, ofera suport si lucrului in echipa.
4
Si instrumentul MagicDraw va fi analizat dupa aceleasi criterii:
a) Editorul de diagrame;
b) Generatorul de cod si instrumentele pentru reverse engineering si round trip;
c) Generatorul de documentatie;
d) Schimbul de informatii cu alte instrumente;
e) Suportul pentru adnotari formale textuale;
f) Integrarea cu instrumente de dezvoltare;
g) Suport acordat muncii in echipa.

a) Editorul de diagrame

Zona de lucru a instrumentului MagicDraw este compusa din:

 Meniul principal si bara cu instrumente care permite accesul la principalele functionalitati ale
meniului.
 Fereastra de navigare (browser-ul) – cuprinde toate elementele modelului.

Utilizatorul poate selecta un element si, utilizand un meniu contextual, poate selecta crearea unei noi
diagrame asociate elementului respectiv.

5
Diagramele se pot crea in pachetul, modelul sau subsistemul selectat. Pentru un caz de utilizare se pot
crea diagrame ale cazurilor de utilizare, secventa, stare si activitati.
Fereastra de navigare permite afisarea in mai multe moduri:

o Arborele de continut – grupeaza datele in seturi logice;


o Arborele de diagrame – grupeaza diagramele in functie de tip, sau le afiseaza sub forma de lista;
o Arborele de mostenire – reprezinta ierarhia de clase din proiect;
o Arborele de extensii – prezinta toate constrangerile, valorile eticheta si stereotipurile create sau
predefinite.

 Fereastra de desenare efectiva a diagramelor – permite crearea de noi elemente cu ajutorul


optiunilor din meniul principal sau din meniul contextual, sau adaugare de elemente prin operatii
de tip drag and drop.
 Sunt oferite utilizatorului functionalitati de autoaranjare a elementelor ce compun o diagrama.
De asemenea exista faciolitati de tip zoom in / zoom out care permit o vedere detaliata / de
ansamblu asupra diagramei (sau a unor portiuni din aceasta).
 Fereastra de proprietati – fiecare diagrama, sau element al unei diagrame, are asociata o
fereastra de proprietati. Aceasta are o structura diferita in functie de diagrama sau elementul
asociat.

6
b) Generatorul de cod si instrumentele pentru inginerie inversata si round-trip

Pentru generarea de cod instrumentul permite crearea de seturi pentru ingineria codului. Aceste seturi
reprezinta o poarta intre codul sursasi modelul dezvoltat in UML: prin ele se realizeaza ingineria
directa, inversata si round-trip. Aceste operatii se pot realiza pentru urmatoarele tipuri de coduri: Java,
C++, IDL, DDL, EJB, C#.

c) Generatorul de documentatie

MagicDraw permite generarea de rapoarte pentru proiectul deschis (in lucru) in urmatoarele formate:
HTML, PDF, RTF, PostScript, XSL-FO. Pentru generarea de rapoarte utilizatorul poate alege intre
mai multe modele predefinite, sau poate sa-si creeze propriul sau stil.

Sunt disponibile urmatoarele stiluri predefinite:

 Raport al modelului – descrie modelul UML din puncte de vedere diferite.


Se pot crea noi vederi, sau se pot folosi cele predefinie:
o Raport al modelului comportamental – include elemente comportamentale: elemente ale
diagramelor de clase, colaborari, diagrame de stare si activitati.
o Predefinite (built-in) – include toate elementele modelului disponibile.
o Raport al modelului static – include elementele diagramelor de clase si de implementare.

 Raport al cazurilor de utilizare – descrie functionalitatile sistemului si actorii.

 Descrierea proiectului software – descrie proiectul sistemului. Docmentul va include sectiuni


care descriu scopul proiectului, strategiile, constrangerile si liniile directoare, arhitectura
sistemului si proiectul detaliat.

 Raport al extensiilor modelului – descrie extensiile UML folosite: constrangeri, valori eticheta,
stereotipuri.

d) Integrarea cu alte instrumente de dezvoltare

MagicDraw permite integrarea cu Forte for Java si Borland JBuilder. Pentru schimbul de informatii cu
alte instrumente de modelare, MagicDraw utilizeaza formatul XMI, el fiind capabil atat sa exporte cat si
sa importe documente, in si din, format XMI.

e) Suportul pentru adnotari formale textuale

Instrumentul permite verificarea sintaxei expresiilor specificate folosind limbajul OCL (pentru
constrangeri, conditii in diagramele de stare/activitati etc.).

3. Instrumentul Poseidon UML

Poseidon UML este un instrument CASE dezvoltat in totalitate in limbajul Java, in scopul
asigurarii portabilitatii pe cat mai multe platforme. Poseidon UML a evoluta din instrumentul
ArgoUML (un instrument UML open source), reprezentand o varianta comerciala a acestuia. Exista
mai multe editii corespunzatoare aceleiasi versiuni: community, standard, professional, enterprise si
embedded. Fiecare dintre editii ofera diverse facilitati utilizatorilor. Elementele principale ale produsului
sunt:

7
a) Editorul de diagrame;
b) Generatorul de cod si instrumentele pentru reverse engineering si round trip;
c) Generatorul de documentatie;
d) Schimbul de informatii cu alte instrumente;
e) Suportul pentru adnotari formale textuale;

a) Editorul de diagrame

Zona de lucru a instrumentului Poseidon UML este separata in cinci parti. In partea de sus a ferestrei
exista un meniu principal si o bara cu instrumente care permite accesul la functiile principale. Sub
acestea se gasesc alte ferestre:

 Fereastra de navigare – este folosit pentru accesarea tuturor partilor pincipale ale unui model
prin reprezentarea elementelor acestuia in diverse structuri arborescente. Exista mai multe
posibilitati de organizarea a elementelor modelului: arborele poate fi sortat alfabetic dupa
numele elementelor, numele diagramelor, sau dupa tipul diagramelor. Modalitatea clasica de
organizare este in functie de pachete. Poseidon foloseste o metoda de organizare a pachetelor in
functie de view-uri, aceasta metoda constituind unul dintre punctele forte ale instrumentului
(ofera o mare flexibilitate in navigare).
 Fereastra pentru diagrame – reprezinta (asa cum este si normal) principala fereastra de lucru a
instrumentului. Permite afisarea mai multor vederi (la fel ca si fereastra de navigare) si permite
utilizarea tab-urilor pentru afisarea mai multor spatii de lucru.

8
 Fereastra pentru detalii – permite organizarea si prezentarea tuturor informatiilor legate de
elementele ce compun diagramele.
 Fereastra pentru o vedere de ansamblu – atunci cand diagramele devin mari este dificila
urmarirea tuturor elementelor (mai ales atunci cand acestea sunt in afara suprafetei afisate).
Aceasta fereastra ofera o vedere de ansamblu asupra diagramei si facilitati de zoom atat pentru
fereastra vedere de ansamblu cat si pentru fereastra in care se editeaza diagramele.

b) Generatorul de cod si instrumentele pentru inginerie inversata si round-trip

Instrumentul ofera un cadru de lucru foarte flexibil si puternic pentru generarea de cod. In mod curent
este folosit pentru generarea unei varietati de tipuri de cod incluzand Java si HTML. Codul java este
generat pe baza claselor modelului si a celorlalte informatii cuprinse in diagramele de clase. Celelalte
limbaje pentru care poate fi generat cod sunt: php, Delphi, C#, VB.Net, Corba IDL, SQL DDL.

Poseidon UML ofera posibilitatea personalizarii template-urilor pentru generarea de cod, sau a
adaugarii de template-uri noi. Aceste modificari sunt posibile prin utilizarea unui limbaj denumit VTL
(Velocity Template Language), sau prin utilizarea unor biblioteci de clase Java.
In ceea ce priveste ingineria inversata, instrumentul ofera aceasta facilitate pentru codul Java.
Facilitatea de round-trip reprezinta una din cele mai complexe caracteristici ale instrumentului si este
disponibila prin utilizarea unui plug-in: RoundTrip UML/Java Plug-in (facilitatea disponibila numai
pentru Professional Edition). Dar, acest plug-in, reprezinta in principal un instrument de import care
importa schimbarile aparute in cod si actualizeaza modelul, daca este necesar. Generarea automata de
cod in background nu este implementata, actualizarea codului urmand sa se faca la urmatoarea generare
de cod.
9
c) Generatorul de documentatie

Poseidon UML permite generarea documentatiei in format HTML. Sunt generate fisiere HTML,
diagramele fiind incluse sub forma de imagini in format jpeg, si este posibila navigarea prin
documentatie (intre diversele modele si elemente ale acestora). Documentatia este generata pentru:
modele, pachete, clase, interfete, operatii, metode, asocieri, actori, cazuri de utilizare, relatii de
includere si de extensie.

d) Integrarea cu alte instrumente de dezvoltare

Microsoft Visio permite reverse engineering din Visual C++, Visual J++ si Visual Basic. Schimbul cu
alte instrumente de modelare este posibil prin intermediul formatului XMI. Poseidon permite exportul,
respectiv importul, tuturor tipurilor de diagrame in format XMI.

e) Suportul pentru adnotari formale textuale

UML este un limbaj grafic, foarte potrivit pentru descrierea abstractizarilor la un nivel inalt (arhitecturi,
procese etc.). Exista anumite detalii, cum ar fi algoritmi, ecuatii sau constrangeri, pentru care o notatie
textuala este mult mai potrivita. Aceasta este realizata prin limbajul OCL (Object Constraints
Language). Limbajul OCL poate fi folosit (nu exista restrictii in aceasta privinta), desi instrumentul nu
face niciun fel de verificari in ceea ce privese limbajul OCL.

4. Instrumentul Microsoft Visio

Microsoft Visio permite construierea mai multor tipuri de diagrame: diagrame pentru descrierea
proceselor de afaceri, pentru proiectarea bazelor de date, pentru construirea de organigrame pentru
intreprinderi, pentru dezvoltarea de sisteme informatice etc. Dintre diagramele pentru dezvoltarea de
sisteme informatice se pot mentiona: diagrame dezvoltate in UML, diagrame pentru modelarea fluxului
de date etc.

In continuare instrumentul va fi analizat din punct de vedere al unui instrument CASE bazat pe UML.
La fel ca pentru instrumentele prezentate, s-au studiat urmatoarele aspecte:

a) Editorul de diagrame;
b) Generatorul de cod si instrumentele pentru reverse engineering si round trip;
c) Generatorul de documentatie;
d) Schimbul de informatii cu alte instrumente;
e) Suportul pentru adnotari formale textuale;
f) Integrarea cu instrumente de dezvoltare;

a) Editorul de diagrame
Zona de lucru este compusa din:

 Meniul principal si o bara de instrumente care permit accesul la principalele functionalitati ale
instrumentului.
 Fereastra care contine elementele de modelare. Sunt cuprinse toate tipurile de diagrame si exista
o buna acoperire a conceptelor UML.
 Exploratorul modelului, care ofera, sub forma unui arbore, o vedere asupra modelului si o
modalitate de navigare printre elementele acestuia.
10
 Fereastra de lucru in care se realizeaza constructia efectiva a modelului.

11
Elementele de modelului sunt create prin operatii de drag-and-drop din fereastra ce contine elementele
de modelare.
Pentru fiecare element al modelului se poate deschide o fereastra pentru specificarea detaliata a
proprietatilor acestuia.

b) Generatorul de cod si instrumentele pentru reverse engineering si round-trip

Microsoft Visio permite generarea scheletului codului, pe baza diagramelor de clase, pentru limbajele
Visual C++, C# si Visual Basic. Ingineria inversata este posibila pentru aplicatii dezvoltate in Visual
C++, Visual Basic si pentru cele dezvoltate folosind platforma Microsoft Visual Studio .Net. In urma
procesului de reverse engineering sunt generate modelele ce descriu structura statica a aplicatiei.

12
c) Generatorul de documentatie

Instrumentul permite salvarea sub forma de pagini Web a modelelor dezvoltate. De asemenea, este
posibila salvarea diagramelor in diverse formate grafice (svg, jpg, gif etc.) astfel incat sa poata fi incluse
in documentatia proiectului.

d) Schimbul de informatii cu alte instrumente

Microsoft Visio nu permite exportul sau importul in, si din fisiere, in format XMI.

e) Suportul pentru adnotari formale textuale

Desi sunt permise adnotari formale textuale (inclusiv folosind libajul OCL), nu se fac niciun fel de
verificari asupra corectitudinii acestora.

f) Integrarea cu alte instrumente de dezvoltare

Instrumentul se integreaza cu Visual Studio si cu Visual Studio .Net.

13