Limbaj unificat de modelare

Limbajul unificat de modelare (UML) este instrumentul standard pentru crearea cadrelor software documentate ("desene"). Utilizând UML, puteți vizualiza, specifica, proiecta și documenta procesul de dezvoltare a sistemelor software. UML este proiectat astfel încât să satisfacă necesitățile de modelare a oricăror sisteme.







Modelul conceptual al UML conține trei elemente de bază ale limbajului: construcții de bază, reguli care determină modul în care aceste structuri pot fi combinate și unele mecanisme generale ale limbajului.

UML nu este dependentă de realitate simulată, cel mai bine este să-l aplice atunci când simulare se bazează pe luarea în considerare a descrierii text a proceselor care au loc în zona de subiect, este iterativ și incremental, iar sistemul are o arhitectură distinctă.

Astfel, este ideal pentru Procesul Unificat de Dezvoltare.
UML este o limbă pentru vizualizarea, specificarea, construirea și documentarea artefactelor sistemelor software.

UML constă dintr-un dicționar și reguli care vă permit să combinați cuvintele incluse în el și să obțineți construcții semnificative. În limba de modelare, dicționarul și regulile sunt orientate spre reprezentarea conceptuală și fizică a sistemului.

Un proces bine organizat trebuie să arate ceea ce este necesar artefacte, ceea ce este nevoie de resurse pentru a le crea, modul de utilizare a acestor artefacte, în scopul de a evalua activitatea desfășurată și de a gestiona proiectul în ansamblu.

În UML, există patru tipuri de entități: structurale; comportament; grupare; Adnotată.

Entitățile sunt elementele principale orientate spre obiect ale limbii, cu ajutorul cărora puteți crea modele corecte. Entitățile structurale sunt substantive în modelele din limba UML. Șapte soiuri de entități structurale sunt reflectate sub forma unei imagini grafice a UML.

O clasă este o descriere a unei colecții de obiecte cu atribute, operații, relații și semantice comune. Din punct de vedere grafic, clasa este reprezentată sub forma unui dreptunghi în care sunt inscripționate numele, atributele și operațiunile sale:

-PrivateAttribute. char #ProtectedAttribute + PublicAttribute

+Funcția1 (în S.String) + Operația2 ()

O interfață este o colecție de operații care definesc un anumit serviciu (serviciu, set de servicii) pe care o oferă o clasă sau o componentă.

Pe diagrame, interfața este reprezentată ca un cerc, sub care este indicată denumirea acesteia. Interfața este de obicei atașată la clasa sau componenta de implementare.

Cooperarea definește interacțiunea, este o colecție de roluri și alte elemente care, împreună, produc un efect de cooperare care nu se reduce la suma obișnuită de termeni. Din punct de vedere grafic, cooperarea este reprezentată sub forma unei elipse, care este limitată de linia punctată, în interior, numai numele este de obicei închis.

Cazul de utilizare este o descriere a succesiunii acțiunilor efectuate de sistem care produce rezultatul observat. Din punct de vedere grafic, precedentul este reprezentat sub forma unei elipse, delimitată de o linie continuă care conține numele.

O clasă activă este o clasă a cărei obiecte sunt implicate într-unul sau mai multe procese sau fire și, prin urmare, pot iniția o acțiune de control. O clasă activă din punct de vedere grafic este reprezentată ca o clasă simplă, mărginită de un dreptunghi cu linii aldine și include numele, atributele și operațiile.

-PrivateAttribute. char #ProtectedAttribute + PublicAttribute

+Funcția1 (în S.String) + Operația2 ()

O componentă este o parte fizică înlocuibilă a unui sistem care corespunde unui set de interfețe și asigură implementarea acestuia. Din punct de vedere grafic, componenta este afișată sub formă de dreptunghi în formă de file cu numele.

Un nod este un element al unui sistem real (fizic) care există în timpul funcționării unui produs software și este o anumită resursă computațională cu capacitate de memorie și capacitate de procesare. Din punct de vedere grafic, pentru o imagine de nod, se utilizează un cub, care conține de obicei numai numele nodului.

Cele șapte elemente de bază enumerate: clasele, interfețele, cooperațiile, cazurile de utilizare, clasele active, componentele și nodurile sunt principalele entități structurale care pot fi utilizate în modelul UML.

Lucrurile comportamentale sunt componentele dinamice ale modelului UML. Ele sunt verbe ale limbii, descriu comportamentul modelului în timp și spațiu. Există doar două tipuri de bază ale entităților comportamentale.

Interacțiunea este comportament, esența căruia este schimbul de mesaje între obiecte într-un context specific pentru a atinge un anumit scop. Folosind interacțiunea, puteți descrie atât o singură operație cât și comportamentul unei colecții de obiecte. Interacțiunea implică o serie de alte elemente, cum ar fi mesaje, secvențe de acțiuni (comportament inițiat de mesaje) și comunicare (între obiecte). Din punct de vedere grafic, mesajul este afișat ca o săgeată, peste care este scris numele operațiunii corespunzătoare.

O mașină de stat este un algoritm de comportament care determină secvența stărilor prin care un obiect sau o interacțiune trece prin ciclul său de viață ca răspuns la diverse evenimente și reacții la aceste evenimente. Cu ajutorul automatelor, se descrie comportamentul unei anumite clase sau colaborări de clasă. Un număr de alte elemente sunt legate de automaton: stări, tranziții de la o stare la alta, evenimente - entități care inițiază tranziții și tipuri de acțiuni - reacție la tranziții.

Interacțiunile și automatele sunt entități comportamentale de bază incluse în modelul UML. Semantic, acestea sunt adesea asociate cu diverse elemente structurale, în primul rând cu clase, cooperări și obiecte.
Grupurile entităților reprezintă părțile organizatoare ale modelului UML. Acestea sunt blocurile în care modelul poate fi descompus.

O astfel de entitate primară este într-un singur exemplu - este un pachet.

Pachetele (pachetele) reprezintă un mecanism universal pentru organizarea elementelor în grupuri. În pachet, puteți plasa entități structurale, comportamentale și alte entități de grupare. Spre deosebire de componente, pachetele au caracter pur conceptual și există doar în procesul de dezvoltare.

În limbajul UML, sunt definite patru tipuri de relații: • dependența; · Asociația; · Generalizare; · Implementarea. Aceste relații sunt principalele construcții de conectare din UML și sunt folosite pentru a construi modelele corecte.







Dependența este o relație semantică între două entități, în care schimbarea una dintre ele, independentă, poate afecta semantica celuilalt, dependentă.

Asociația - o relație structurală care descrie un set de legături, unde o legătură este înțeleasă ca o anumită relație semantică între obiecte. Un fel de asociere este agregarea - așa-numita relație structurală între întreg și părțile sale. Din punct de vedere grafic, asocierea este reprezentată ca o linie, alături de care pot exista simboluri suplimentare.

Generalizarea este o relație de specializare / generalizare în care obiectul unui element specializat (cu alte cuvinte, descendent) poate fi înlocuit de obiectul elementului generalizat (părinte, strămoș). Așa cum ar trebui să fie în programarea orientată obiect, copilul moștenește structura și comportamentul strămoșului său (părinte). Din punct de vedere grafic, relația de generalizare este reprezentată ca o linie cu o săgeată deschisă îndreptată spre strămoș.

Implementarea este o relație semantică între clasificatori, în care un clasificator definește o obligație, iar alta garantează implementarea acesteia. Relația de implementare are loc în două cazuri: între interfețe și clase sau componente care le implementează și între cazurile de utilizare și cooperativele care le implementează. Relația de implementare este reprezentată ca o linie punctată cu o săgeată deschisă.

Există, de asemenea, opțiunile lor, cum ar fi rafinamentul, urmărirea, includerea și extensia pentru dependențe.

O diagramă în UML este o reprezentare grafică a unui set de elemente, reprezentat ca un grafic legat cu vârfuri (entități) și margini (relații).

Scopul principal al diagramei este vizualizarea sistemului dezvoltat din diferite puncte de vedere. Diagramele oferă o reprezentare condensată a elementelor care alcătuiesc sistemul dezvoltat. Același element poate fi prezent în toate diagramele sau numai în câteva (cea mai comună variantă) sau nu poate fi prezent într-unul (foarte rar). Conform teoriei, diagramele pot conține orice combinație de entități, cu toate acestea, în practica de modelare, se utilizează un număr relativ mic de combinații tipice, fiecare dintre acestea corespund uneia dintre cele cinci tipuri cele mai necesare care alcătuiesc arhitectura sistemului software. Astfel, în UML sunt definite nouă tipuri de diagrame.

Diagrame de clasă, care prezintă clase, interfețe, obiecte și cooperări, relații. La modelarea sistemelor orientate pe obiecte, acest tip de diagrame este folosit cel mai des.

Diagramele obiectelor (diagrama obiectelor), pe care sunt reprezentate obiectele și relațiile dintre ele. Acestea sunt instantanee statice ale instanțelor entității afișate în diagramele de clasă.

Utilizați diagrame de caz, care reprezintă precedente, actori (un caz particular de clase), relațiile dintre ele. Utilizați diagramele de cazuri se referă la vizualizarea statică a sistemului în ceea ce privește utilizarea acestuia. Acest tip de diagrama este deosebit de important în organizarea și modelarea comportamentului sistemului.

Diagramele de interacțiune, care reprezintă relațiile dintre obiecte, indică în special mesajele pe care obiectele le pot schimba. Două cazuri speciale de diagrame sunt de obicei luate în considerare: diagrame de secvențe, care reflectă ordonarea temporală a mesajelor și diagrame de colaborare, care arată structura organizatorică a obiectelor de schimb de mesaje. Aceste tipuri de diagrame sunt izomorfe, adică ele pot fi transformate în mod liber unul în celălalt.

Diagramele Statechart reprezintă un automat care include state, tranziții, evenimente și tipuri de acțiuni. Aceste diagrame se referă la viziunea dinamică a sistemului, în special rolul lor în modelarea comportamentului interfeței, clasei sau cooperării.

Diagramele de activitate sunt un caz special al diagramelor de stare. Diagrama prezintă tranzițiile fluxului de control de la o activitate la alta în cadrul sistemului. Acest tip de diagrama se referă la reprezentările dinamice ale sistemului și este cel mai util în modelarea funcționării sale, deoarece reflectă fluxul fluxului de control între obiecte.

Diagramele componente, care reprezintă organizarea unui set de componente și a dependențelor existente între ele. Diagramele componente se referă la vizualizarea statistică a sistemului din punctul de vedere al implementării. Ele pot fi legate de diagrame de clasă pentru un motiv foarte simplu: o componentă este de obicei mapată la una sau mai multe clase, interfețe sau cooperative.

Diagramele de implementare, care reprezintă configurația nodurilor de procesare ale sistemului și a componentelor plasate în ele. Diagramele de implementare se referă la vizualizarea statică a sistemului în termeni de implementare. Acestea sunt legate de diagramele componente, deoarece una sau mai multe componente sunt de obicei plasate în nod.

Construcțiile UML nu pot fi combinate între ele în niciun fel. În UML, există un set de reguli care determină modul în care ar trebui să pară un model bine conceput.

Normele semantice, disponibile în UML, permit să se determine în mod corect și fără ambiguitate:

· Nume care pot fi date entităților, relațiilor și diagramelor;

· Scopes - contexte în care numele are un anumit sens;

· Vizibilitate atunci când numele sunt vizibile și pot fi folosite de alte elemente;

· Integritatea, ca elemente trebuie să fie corelate în mod corespunzător și consecvent între ele;

· Executarea a ceea ce înseamnă a efectua sau simula un model dinamic.

Modelele care sunt create în procesul de dezvoltare a software-ului, în timp, tind să evolueze, și pot fi considerate ambigue de către diferiți membri ai echipei de dezvoltare la momente diferite.

Din acest motiv, sunt create nu numai modele bine concepute, ci și cele care:

· Conține elemente ascunse (un număr de elemente nu sunt prezentate pentru a simplifica percepția);

· Incomplete (elementele individuale sunt omise);

· Necoordonate (integritatea modelului nu este garantată).

MECANISME GENERALE A UML

Simularea este simplificată și mai eficientă, dacă respectați anumite înțelegeri. Lucrul cu UML este facilitat în mare măsură de utilizarea consistentă a mecanismelor comune: · specificații; · Adăugări (podoabe); · Diviziuni adoptate (diviziuni comune); · Mecanisme de extindere.

Atunci când modelează sisteme orientate pe obiecte, realitatea este împărțită în două metode.

În primul rând, există o diviziune în clase și obiecte. O clasă este o abstractizare, iar un obiect este o întruchipare concretă a acestei abstracțiuni. În acest sens, aproape toate construcțiile lingvistice sunt caracterizate de o dihotomie "clasă / obiect". De exemplu, există precedente și copiile precedente, componente și instanțe componente, noduri și cazuri de noduri, și așa mai departe .. In reprezentarea grafica a obiectului este comun de a utiliza același simbol ca și pentru clasa, iar numele spune.

În al doilea rând, există o divizare în interfață și implementarea acesteia. Interfața declară obligații, iar implementarea reprezintă o întruchipare concretă a acestor obligații și se angajează să urmeze exact semantica declarată a interfeței. Și în această privință, aproape toate modelele UML sunt caracterizate de dihotomia "interfață / implementare".

Mecanismele de extensie UML includ:

· Stereotipuri (stereotip), care extind vocabularul UML, permițându-vă să creați altele noi, bazate pe blocurile existente ale limbii, specifice pentru rezolvarea problemelor specifice;

· Valoare marcată, care extinde proprietățile constructelor UML de bază, permițând includerea de noi informații în specificația elementului;

· Constrângeri care extind semantica construcțiilor UML, permițându-vă să creați altele noi și să suprascrieți regulile existente.

Cu ajutorul mecanismelor de extensie, puteți crea noi construcții de limbaj, puteți modifica cele existente și chiar puteți modifica semantica lor.

Un model este o simplificare a realității, o abstracție creată pentru a înțelege mai bine sistemul. Un sistem foarte des descompus într-un număr de subsisteme este un set de elemente organizate într-un fel într-un fel încât să îndeplinească un obiectiv specific. Sistemul este descris de un set de modele, dacă este posibil, luând în considerare acest lucru din diferite puncte de vedere. Elementele constitutive importante ale modelului sunt entități structurale.

În UML, toate abstractizările sistemului software sunt organizate sub formă de modele, fiecare reprezentând un aspect relativ independent, dar important al sistemului dezvoltat. Pentru a vizualiza abstracțiile, puteți utiliza diagrame.

UML furnizează instrumente pentru reprezentarea grafică a sistemelor și subsistemelor. Această notație vă permite să vizualizați descompunerea sistemului în subsisteme mai mici.

Un sistem (sistem), probabil descompus într-un număr de subsisteme, este un set de elemente organizate într-un fel într-un mod care să îndeplinească un obiectiv specific. Un subsistem este o uniune de elemente, un număr dintre acestea constituind o specificare a comportamentului propus de celelalte elemente ale sale.

Sistemul este foarte esența pentru care modelul este în curs de elaborare, și acoperă toate artefactele care alcătuiesc esența acestei, inclusiv modele și elemente ale acestor modele, cum ar fi clase, interfețe, componente, noduri și legături între ele.

Principala relație dintre sisteme și subsisteme este agregarea. Sistemul (întreg) poate consta în subsisteme zero și mai multe (părți).

Un model este o simplificare a lumii reale, realitatea este descrisă în contextul sistemului modelat, este o abstractizare a sistemului.







Articole similare

Trimiteți-le prietenilor: