Limbajul Uml
Cuprins :
1. Notiuni introductive
1.1 Modelare
1.2 Limbajul UML
1.3 Neajunsuri UML, nevoia de xUML
2. Executable Unified Modelling Language
2.1 Caracteristici xUML
2.2 Procesul xUML
2.3 xUML Action Specification Language
2.4 Implementare xUML
3. Concluzii
4. Bibliografie
1.1 Modelare
Modelarea reprezinta o parte foarte importanta pentru orice sistem informatic, in special pentru proiectele complexe. Aceasta este definita prin procesul de creare si folosire a unui ansamblu de modele ale sistemului informatic cu scopul de a-l clarifica, de a-l intelege mai bine pentru a putea fi dezvoltat, imbunatatitsi utilizat in mod corespunzator.
Un model informational este format din mai multe componente care corespund conceptelor de reprezentare ale sistemului informatic si constituie abstractizarea unui sistem sau a unei componente a acestuia pentru a scoate in evidenta partiele esentiale.
In cazul unui sistem informatic, exista mai multe tipuri de modele. Acestea sunt create in etapele care preced codificarea sistemului si sunt utilizate inainte de codificare pentru a verifica daca toate cerintele utilizatorului sunt acoperite, daca functiile prefazute sunt complete si corect modelate, daca arhitectura este robusta si extensibila, dar si dupa coduficare, pentru verificarea si validarea sistemului si pentru o buna mentenanta.
Un limbaj de modelare poate fi reprezentat in mai multe feluri: grafic, prin text, algebric, comportamental si altele. Modelarea grafica foloseste diagrame cu simboluri care reprezinta concepte si linii care contecteaza aceste simboluri si reprezinta relatii. Modelarea folosind text utilizeaza cuvinte cheie insotite de parametri sau termeni pentru a realiza expresii interpretabile de calculator si utilizator, asa cum este pseudocodul.
Fiecare tip de model informational permite evidentierea unor anumite aspecte ale sistemului si doar prin utilizarea combinata a mai multor tipuri de modele este posibila o analzia complexa. Astfel, se permite o evaluare mai buna a diferitelor laturi ale sistemului, prin relationarea cu alte componente gasindu-se informatii generale despre sistemul informatic.
In timp, au aparut foarte multe limbaje de modelare software, fiecare avand propriile notatii si tinteau anumite aspecte ale unui sistem. Utilizatorii au simtit nevoia de un limbaj standardizat. Unificarea acestora s-a impus din necesitatea de a facilita schimburile de idei si proiecte si a fost susținută de personalități marcante din domeniul ingineriei software (Software Engineering). La mijlocul anilor '90 s-au dovedit mai eficiente trei metode:
Booch – folosita pentru proiectare si implementare, avand dezavantajul unor notatii complicate
OMT(Object Modeling Technique) – folosita pentru analiza si sisteme informationale cu multe date
OOSE(Object Oriented Software Engineering) – metoda care vine cu conceptul de cazuri de utilizare care ajuta la intelegerea comportamentului sistemului in ansamblu
1.2 Limbajul UML
UML (Unified Modeling Language – Limbaj unificat de modelare) a aparut in 1996 in urma colaborarii dintre Grady Booch, Ivar Jacobson si James Rumbaugh. Acesta este un limbaj de modelare pentru construirea, specificarea, vizualizare si documentarea modelelor. A fost conceput si standardizat in special pentru modelarea sistemelor software. UML este folosit pentru definirea unui produs software din punct de vedere al entitatilor existente, al fluxului de operatii si al relatiilor dintre entitatile existente.
In limbajul UML sunt definite mai multe tipuri de diagrame (modele) care pot fi folosite pe parcursul etapelor de proiectare, si ofera mai multe vederi ale platformei dezvoltate. UML are definite semantica și notațiile diagramelor, care pot fi folosite într-un mod foarte flexibil, în funcție de necesitătile particulare de dezvoltare, fără să se prevada nici o restricție asupra modului de utilizare a diagramelor.
Limbajul UML are specificate, printre altele, urmatoarele tipuri importante de diagrame: diagrame ale claselor, diagrama secvențelor, diagrama de colaborare, diagrame de stare, diagrame de utilizare.
Diagramele sunt clasificate in diagrame de: structura, comportament si interactiune. Versiunea 2.0 are 13 tipuri de diagrame.
Diagrama claselor este importanta in special in proiectele dezvoltate în abordarea obiect orientată. Diagrame ale clasele se dezvoltă atat în etapele de analiză cat si in etapele de proiectare, cu diferite niveluri de detaliere si ele reprezinta modelul conceptual al sistemului, care stabilește structura sistemului.
Diagramele de colaborare, diagramele secventelor si diagramele de stare reprezinta comportarea sistemului, in diferite faze de executie. Se folosesc de obicei in proiectare si implementare.
Diagramele de cazuri de utilizare (Use Case) sunt diagrame de descriere a comportării sistemelor din punct de vedere al utilizatorului. Aceste diagrame sunt simplu de înțeles, astfel încat cu ele pot lucra atât dezvoltatorii (proiectantii sistemelor) cît și clienții acestora. Se folosesc în special în etapa de analiză, dar și în etapele de proiectare și testare.
Mai există și alte diagrame: diagrama componentelor, diagrame de instalare (deployment), diagrama pachetelor (package). Toate aceste diagrame se reprezintă folosind elemente ale limbajului (simboluri) care sunt figuri geometrice simple (linii, dreptunghiuri, ovale). Exista unele simboluri care se pot folosi în orice tip de diagramă (de exemplu simbolurile de documentare), iar alte simboluri sunt specifice diagramei în care se folosesc. Mai mult, unele simboluri (de exemplu o linie cu sageata la capat) poate avea diferite semnificații, în funcție de diagrama în care se folosesc. Există posibilitatea de a genera cod pe baza unui proiect UML, pentru diferite limbaje de programare. Prin urmare, faza de implementare a codului va fi accelerata, oferind avantajul eliminării erorilor de scriere a codului.
Principalele parti ale UML sunt:
Vederile – acestea surprind aspecte particulare ale sistemului de modelat. O vedere este o abstractizare a sistemului, iar pentru construirea lui se foloseste un numar de diagrame. Fiecare vedere este descrisa folosind un numar de diagrame care contin informatii relative la un anumit aspect al sistemului. Ele se acopera unele pe altele, asa ca este posibil ca o anumita diagrama sa faca parte din mai multe vederi.
Diagramele sunt grafuri care descriu continutul unei vederi.
Elementele de modelare – sunt conceptele folosite in diagrame care au corespondenta in programarea orinetata obiect: mesaje, obiecte, clase si relatii intre acestea: asocierea, dependenta, generalizarea;
Mecanisemele generale – permit introducerea de comentarii si alte informatii despre un element
Caracteristici si avantaje ale limbajului UML:
UML este orientat pe obiect si sustine conceptele paradigmelor obiectelor si, in acelasi timp, evita cele mai multe defecte ale nivelului de programare orientat pe obiect
Este flexibil. Poate fi folosit pentru aplicatii din domenii foarte vaste, de la sisteme software, aplicatii stiintifice, pana la modelarea configuratiilor hardware.
In prezent este standardizat si acceptat la scara larga fiind folosit de cercetatori si specialisti si este sustinut de cele mai multe unelte de dezvoltare software-ul
1.3 Neajunsuri UML, nevoia de xUML
Limbajul UML a fost imbunatatit considerabil de la prima versiune dezvoltata si are numeroase avantaje. Totusi, acesta are si neajunsuri notabile.
UML poate fi folosit in multe domenii pentru ca are definite concepte importante din diversie arii, concepte introduse de-a lungul timpului. In acelasi timp, pentru cei mai multi, UML pare complicat la prima vedere si este dificil de inteles in intreg ansamblul sau pentru a putea fi folosit intr-o aplicatie specifica.
Limbajul UML are unele parti nedefinite deoarece dezvoltatorii sau au dorit sa il lase flexibil pentru a putea fi folosit in domenii diverse si specifice pentru limbajele in care se va face implementarea. Se dorea ca limbajul UML sa poata genera direct codul in limbajele de programare orientate pe obiect. Avand in vedere ca limbajele difera prin multe aspecte, aceste parti UML intentionat nu au fost definite.
In general, UML descrie un sistem in doua feluri: specificand rezultatele dorite (cu diagrame de secventa, use case) sau specificand software-ul care atunci cand este executat va produce rezultatele dorite (clase, asocieri, operatii), dar nu are definite module concrete pentru a face automat acest lucru. UML este complex si acopera multe paradigme de dezvoltare: comportament sincron/asincron, masini Mealy si Moore, modelare abstracta si modelare de limbaj specific, astfel uneori poate fi ambiguu.
Nevoia pentru modele care executa in mod corect teste, in care cerintele pot fi validate inainte de implementarea propriu zisa si existenta unei tranzitii mai usoare intre diagrame si cod astfel incat modelele sa aiba o interpretare clara a dus la aparitia Limbajului Executabil Unificat de Modelare, xUML.
2.3 xUML Action Specification Language
Cel mai mic strat din modelul xUML independent de platforma este cel in care sunt definite actiunile.Actiunile sunt definite ca raspuns al semnalelor in modelele de stare si in operatiunile de implementare a metodelor.
Actiunile sunt exprimate cu ajutorul unui limbaj de actiune ( AL ) care este un limbaj de nivel inalt ce asigura logica de control si manipulare a modelului structural UML, precum si caracteristici ca aritmetica.
Un exemplu al unui limbaj de actiune( in acest caz ASL ).
O caracteristica cheie a unui AL este aceea ca permite ca procesarea, in cadrul modelului xUML, sa fie exprimata la nivelul UML de abstractizare.Acest lucru inseamna ca actiunile sunt specificate intr-un mod independent de implementare, furnizand astfel designerilor de sisteme libertatea alegerii celei mai potrivite organizatii software.
Poate fi folosit si un AI, de exemplu, pentru a stabili conditiile initiale pentru executarea de model, precum si stimuli externi “test”. de specialitate.In plus, ALS permite modelelor sa acceseze codul de mostenire pre-existent sau alte domenii de implementare.
In prezent, se utilizeaza diferite ALS-uri, ce depind in mare masura de unealta de sprijin aleasa.De exemplu, produsul IBM Rhapsody foloseste o varianta de C++ simplificata si imbunatatita, in timp ce produsul iUML foloseste ASL.
2.4 Implementarea xUML
xUML imbunatateste calitatea modelarii.Modelele nu pot fi judecate doar pe criterii subiective, ci si prin faptul ca acestea prezinta comportamentul dorit si indeplinesc cerintele in mod satisfacator.
Scopurile sunt acelea de a construi modele care sunt executate in mod corect, evita paralizia analitica, iar criteriile sunt obiective si prin urmare mai folositoare.
Un sistem este compus din mai multe discipline, conoscute sub numele de domenii in termenii xUML.UML executabil este folosit pentru modelarea unui domeniu.
Odata ce un domeniu este modelat,acesta poate fi testat indiferent de implementare, prin executarea modelului.Fiecare domeniu poate fi verificat si validat independent de orice alt domeniu.Acest lucru permite erorilor detectate sa fie asociate cu domeniul si independent de alte preocupari ale sistemului.
Verificarea va implicia lucruri precum revizuirea umana a modelelor, efectuate de experti in domeniul relevant precum si verificarea automata a semanticii xUML,verificarea faptului ca modelul xUML respecta metamodelul xUML.
Validarea va implica de obicei utilizarea unui instrument xUML pentru executia modelului.Aceasta executie poate avea loc fie inainte,fie dupa compilarea modelului.
Pentru a sprijini executia pe implementarea tinta,modelul domeniului trebuie tradus intr-o forma mai putin abstracta.Acest proces de traducere se nuemste compilarea modelului.Cele mai multe compilatoare de model vieaza un limbaj de programare bine-cunoscut, deoarece acesta permite reutilizarea tehnologiilor de compilare existente.
Optimizarea modelelor de domeniu, din motive de implementare reduc nivelul de abstractizare,afecteaza independenta domeniului si cresc costul reutilizarii.In xUML, optimizarile sunt realizate de compilatorul de modele fie automat sau prin intermediul marcajului.Marcarea permite unor elemente specifice ale modelului sa fie vizate pentru implementari specifice de nivel inferior, permitand deciziile arhitecturale mai largi, precum precizarea faptului ca obiectele sau colectia de obiecte ar trebui implementate ca o lista legata de 2 ori.
Modelele xUML permit o gama larga de strategii de implementare ce pot fi adoptate.
-Pot fi definite mapari catre PSMs si mediul specific implementarii.Implementarile manuale pot continua, urmand aceste mapari, ce definesc felul in care pot fi transformate elementele UML in structuri de cod.Maparile catre C++,Java,etc. sunt necesare pentru a asigurarea consistentei stilurilor implementarilor.
-Prin automatizarea maparilor PIM si PSM, PIMs-urile executabile pot fi traduse automat in limbajul tinta si mediul respectiv.Chiar daca traseul traducerii nu este adoptat initial, el ramane o optiune valabila pentru implementarile viitoare ale sistemului.
Exista in comert traducatoare sau generatoare de cod ce folosesc PIMs-uri executabile ca punct de plecare.Acestea pot fi potrivite pentru arhitectura tinta a proiectului si ar trebui evaluate.Chiar daca sunt nepotrivite, exista beneficii in folosirea generatoarelor de cod aflate pe piata: ele pot fi folosite ca prototipuri de modele de domeniu, pentru a extrage parametrii valoroasi, pot fi modificare pentru a fi compatibile cu arhitectura tinta a proiectului, actioneaza ca un demonstrator si ofera incredere mai mare in procesul respectiv.
3. Concluzii
Unified Modeling Language (prescurtat UML) este un limbaj standard pentru descrierea de modele și specificații pentru software.
UML a fost creat prin combinarea mai multor metodologii de modelare bine-cunoscute.In ciuda popularitatii sale si al investitiilor in uneltele UML, Limbajul unificat de modelare nu este inca implementabil intr-un cod care poate rula.Unele din problemele descoperite are de a face cu dimensiunea limbii si a dificultatilor semanticii.
A fost astfel necesara aparitia xUML(executable UML).
Prin utilizarea xUML, dezvoltatorii pot construi modele UML care nu pot fi numai interpretate de catre cititorii umani, dar pot fi si testate si validate prin executarea efectiva, iar in cele din urma traduse direct si complet in cod tinta.Aceasta tehnologie ofera potential imens in accelerarea proiectelor de dezvoltare, cresterea fiabilitatii si reducerea costurilor.
De asemenea, prin folosirea xUML analistii pot vedea mai rapid rezultatele eforturilor lor si au astfel mai multa incredere ca ceea ce fac este corect, iar managerii devin mai increzatori ca sunt facute progrese.
4.Bibliografie
http://ro.wikipedia.org/wiki/Unified_Modeling_Language
http://en.wikipedia.org/wiki/Executable_UML
Model Driven Architecture with Executable UML, Volumul 1-Chris Raistrick, Paul Francis, John Write, Colin Carter, Ian Wilkie
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Limbajul Uml (ID: 149978)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
