Limbaj de modelare unificat

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - "UML" se referă aici. Dacă căutați alte semnificații, consultați UML (dezambiguizare) .
Logo UML.svg
Colecție de diagrame UML

În ingineria software , UML ( Unified Modeling Language ) este un limbaj de modelare și specificație bazat pe paradigma orientată obiect . Nucleul limbajului a fost definit în 1996 de Grady Booch , Jim Rumbaugh și Ivar Jacobson (numiți „cei trei prieteni”) sub egida Object Management Group (OMG) , un consorțiu care încă gestionează standardul UML.

Istorie

Limbajele pentru modelarea orientată pe obiecte au început să se dezvolte în diferite contexte începând cu anii 1980 . Acestea au fost notații de diferite tipuri, care au făcut posibilă descrierea structurii unui sistem software orientat obiect, în termeni de clase și relații între clase și, eventual, comportamentul său dinamic. Proliferarea acestor notații a dat naștere la ceea ce mai târziu a fost numit „ războaie de metode ”, mai mulți designeri sau organizații adoptând și susținând o anumită notație în detrimentul altora adoptate în altă parte. Pe la mijlocul anilor '90 au început să se contopească diferite metode și limbaje și a început să apară posibilitatea integrării formalismelor principale într-o notație universal acceptabilă.

Printre cele mai populare și răspândite metode și notații ale perioadei s-au remarcat OMT (Object Modeling Technique) de Jim Rumbaugh și așa-numita metodă Booch de Grady Booch , ambii cercetători de la Rational Software . Munca de unificare a început cu ei; Jacobson s-a alăturat mai târziu acestui efort cu casa sa software Objectory . Prima realizare comună a acestei echipe a fost OOSE (Object Oriented Software Engineering) .

În timp ce „cei trei prieteni” au lucrat pentru a-și uni abordările în ceea ce privește analiza și proiectarea orientată pe obiecte, proiectul a fost binevenit sub auspiciile OMG (Object Management Group) , un consorțiu fondat cu scopul de a crea și gestiona standarde în contextul dezvoltarea de software orientat obiect. În 1995, OMG a adunat pe toți metodologii de frunte în domeniu la o întâlnire internațională pentru a discuta notația unificată. În 1996, OMG a emis o cerere de propunere (RFP) pentru această notație. În același an, Booch, Rumbaugh și Jacobson au finalizat versiunile UML de 0,9 și 0,91. Proiectul a fost bine primit de comunitatea internațională și nenumărate organizații mari s-au alăturat companiei Rational pentru a-l continua, de exemplu Digital , Hewlett-Packard , IBM , Microsoft , Oracle și Unisys . În 1997, acest grup extins a lansat UML 1.0, care a fost trimis către OMG ca răspuns la cererea de oferte din anul precedent.

Lansarea 1.1 a UML a contribuit la consolidarea semanticii limbajului și a inclus elemente dintr-o propunere făcută independent către OMG de un grup de IBM , ObjectTime , Ptech și alții.

Descriere

Limba s-a născut cu intenția de a unifica abordările anterioare, datorită celor trei părinți ai UML și a altor persoane, adunând cele mai bune practici din sector și definind astfel un standard industrial unificat. UML joacă un rol foarte important ca „ lingua franca ” în comunitatea de proiectare și programare orientată pe obiecte. O mare parte din literatura de specialitate utilizează UML pentru a descrie soluții analitice și de proiectare într-un mod sintetic și ușor de înțeles pentru un public larg.

Versiunea 2.0 a fost consolidată în 2004 și oficializată de OMG în 2005. UML 2.0 reorganizează multe dintre elementele versiunii anterioare (1.5) într-un cadru extins și introduce multe noi instrumente, inclusiv câteva noi tipuri de diagrame. Deși OMG se referă la UML 2.0 ca versiunea „actuală” a limbajului, tranziția este de fapt încă în curs; aceleași specificații publicate de OMG nu sunt încă complet actualizate și suportul instrumentelor pentru UML 2.0 este, în majoritatea cazurilor, abia schițat. Cea mai recentă versiune este 2.5, finalizată în 2013.

Caracteristici generale

Notarea UML este semi-grafică și semi-formală ; un model UML este alcătuit dintr-o colecție organizată de diagrame conexe, construite prin compunerea de elemente grafice cu semnificație definită formal, elemente textuale formale și elemente de text liber. Are o semantică foarte precisă și o mare putere descriptivă.

Limbajul a fost conceput cu scopul explicit de a facilita suportul software pentru construirea de modele și integrarea acestui suport cu medii de dezvoltare integrate . În special, OMG gestionează o familie de standarde legate de UML, numită Model Driven Architecture (MDA), care își propune să ofere bazele conceptuale și semantice pentru dezvoltarea unor medii avansate de inginerie dus-întors în care modelarea UML poate înlocui de fapt programarea tradițională într-o oarecare măsură. Deși acest obiectiv este încă de atins, multe IDE includ instrumente de modelare în UML și oferă mecanisme automate pentru traducerea diagramelor UML parțiale în cod și invers. În schimb, multe medii software dedicate modelării UML vă permit să generați cod în diferite limbi.

UML este un limbaj general de modelare care oferă concepte și instrumente aplicabile în toate contextele. Deoarece anumite domenii de aplicații sau familii de aplicații pot avea nevoie de concepte suplimentare și specifice, UML oferă un mecanism standard care permite extinderea limbajului. O extensie UML pentru un anumit context se numește profil UML .

Aspecte ale modelării

UML vă permite să descrieți un sistem în conformitate cu trei aspecte principale, pentru fiecare dintre care sunt utilizate diagrame specifice care pot fi apoi legate între ele:

  • modelul funcțional ( modelul funcțional) reprezintă sistemul din punctul de vedere al utilizatorului, care descrie comportamentul său așa cum este perceput în exterior, în afară de funcționarea sa interioară. Acest tip de modelare corespunde, în ingineria software-ului , analizei cerințelor . Modelarea funcțională utilizează Diagrame de caz de utilizare .
  • modelul obiect reprezintă structura și substructura sistemului folosind conceptele orientate pe obiecte de clasă , obiect , relații între clase și între obiecte. În ingineria software, acest tip de modelare poate fi utilizat atât în ​​faza de analiză a domeniului , cât și în diferitele faze ale proiectului, la diferite niveluri de detaliu. Utilizați diagrame de clasă , diagrame de obiecte și diagrame de implementare .
  • modelul dinamic reprezintă comportamentul obiectelor din sistem, adică evoluția lor în timp și dinamica interacțiunilor lor. Este strâns legat de modelul obiect și este utilizat în aceleași cazuri. Folosește diagrame de succesiune , diagrame de activitate și diagrame de statistică .

UML 2.0

Versiunea 2.0 a UML, oficializată de OMG în 2005, are multe caracteristici noi în comparație cu versiunea anterioară 1.5, care este încă cea mai larg susținută de instrumentele de modelare și menționată în literatură.

Printre principalele caracteristici noi ale UML 2.0 se numără:

Unele elemente de model și diagrame și-au schimbat numele; de exemplu, diagramele de colaborare sunt acum numite diagrame de comunicare.

Aplicații

UML nu definește nicio metodă specifică pentru crearea modelelor. Prin urmare, UML poate fi utilizat în contextul diferitelor abordări. OMG menține o metodă standard legată de UML, dar propusă ca specificație independentă, numită RUP .

UML vă permite să creați modele orientate obiect pentru a reprezenta domenii de diferite tipuri. În contextul ingineriei software, este utilizat în principal pentru a descrie domeniul aplicației unui sistem software și / sau comportamentul și structura sistemului în sine. Modelul este structurat în funcție de un set de puncte de vedere care reprezintă diferite aspecte ale lucrului modelat (funcționare, structură, comportament și așa mai departe), atât în scopuri de analiză, cât și de proiectare , menținând trasabilitatea conceptelor utilizate în diferite puncte de vedere. În plus față de modelarea sistemelor software, UML este adesea folosit pentru a descrie domenii de alte tipuri, cum ar fi sisteme hardware , structuri organizaționale corporative, procese de afaceri.

Standardul UML, administrat de OMG, definește o sintaxă și reguli de interpretare; de aceea nu este o metodă de proiectare și din acest motiv poate fi adoptată cu metode diferite sau în alte domenii decât IT.

Structura unui model UML

Un model UML constă din:

  1. Vizualizări: arată diferitele aspecte ale sistemului prin intermediul unui set de diagrame.
  2. Diagrame: vă permit să descrieți grafic vizualizările logice.
  3. Elemente ale modelului: concepte care vă permit să creați diferite diagrame (de exemplu, actori, clase, pachete, obiecte și așa mai departe).

Vizualizările

Stratul cel mai exterior al UML constă din următoarele vizualizări :

  1. Utilizați Vizualizare caz utilizată pentru a analiza cerințele utilizatorilor. Obiectivul acestui nivel de analiză este de a studia sistemul considerându-l ca o cutie neagră. Este necesar să ne concentrăm asupra a ceea ce trebuie să facă sistemul, abstractizând cât mai mult posibilul mod: este necesar să identificăm toți actorii, cazurile de utilizare și asociațiile acestora. Este important să detaliați cerințele clientului, să le înțelegeți dorințele mai mult sau mai puțin conștiente, să încercați să preziceți posibilele evoluții viitoare etc.
  2. Design View descrie modul de implementare a funcționalităților sistemului; cu alte cuvinte, analizează sistemul din interior (casetă transparentă).
  3. Vizualizarea implementării descrie pachetele, clasele și dependențele lor una de cealaltă.
  4. Vizualizarea proceselor identifică procesele și entitățile care le execută atât pentru o utilizare eficientă a resurselor, cât și pentru a putea stabili executarea paralelă a obiectelor.
  5. Deployment View arată arhitectura fizică a sistemului și definește poziția componentelor software în structura însăși.

Diagramele clasice (UML 1.x)

Diagrama cazului de utilizare

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama cazului de utilizare .

Use Case Diagrams (UCDs) modelează comportamentul extern al unui sistem în ceea ce privește funcțiile pe care le pune la dispoziția actorilor care interacționează cu aceștia (utilizatori, alte sisteme software etc.). UCD-urile sunt diagrama principală din Vizualizarea cazului de utilizare . În multe modele de dezvoltare de software bazate pe UML, cazurile de utilizare sunt principala viziune a sistemului (procesele „folosite de cazurile de utilizare”).

Diagrama clasei

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama clasei .

Diagrama obiectelor

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama obiectelor .

Diagramă statechart

Pictogramă lupă mgx2.svg Același subiect în detaliu: diagramă Statechart .

Diagrama de activitate

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama activității .

Diagrama secvenței

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama secvenței .

Diagrama de comunicare

Notă : Acest tip de diagramă se numea „Diagrama de colaborare” în UML 1.x

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama de comunicare .

Diagrama componentelor

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama componentelor .

Diagrama de implementare

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama de implementare .

Relațiile dintre diagrame

Diagrama de clasă și diagramele de interacțiune sunt utilizate pentru a modela implementarea cazurilor de utilizare, în timp ce diagrama de componente și diagrama de implementare vă permit să specificați arhitectura sistemului care va implementa cazurile de utilizare. Un rol specific poate fi jucat de diagramele de stare și de activitate. Puteți utiliza o diagramă de stare pentru a reprezenta evoluția stărilor, adică a condițiilor în care sistemul se poate găsi în timpul executării cazului de utilizare. În plus, puteți reprezenta secvența de pași și condiții care specifică unul sau mai multe scenarii de caz de utilizare cu o diagramă de activitate. Diagramele UML permit modelarea structurii statice și a comportamentului dinamic al unui sistem. Sistemul este reprezentat ca un set de obiecte (module software) care colaborează și reacționează la evenimente externe pentru a efectua activități în beneficiul clienților (utilizatorilor). Anumite modele UML subliniază unele aspecte ale sistemului și ignoră altele care pot fi evidențiate de alte modele. Împreună, toate modelele oferă o descriere completă a sistemului și pot fi clasificate în trei grupe:

  1. modele de stare (vizualizare statică): descriu structurile de date statice și pot fi obținute folosind de exemplu diagrame de clasă;
  2. Modele de comportament (vedere operațională): descrie colaborarea dintre obiecte. Există multe tehnici de vizualizare pentru modelarea comportamentului, cum ar fi diagrama de caz de utilizare, diagrama de secvență, diagrama de colaborare și diagrama de activitate;
  3. modele de schimbare a stării (vizualizare dinamică): descrie stările permise de sistem în timp. Prima tehnică de vizualizare este diagrama de stare, bazată pe un model de evoluție a stărilor unui obiect.

Noi diagrame introduse în UML 2.0

Diagrama pachetului

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama pachetului .

Diagrama structurii compozite

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama structurii compozite .

Diagrama de sincronizare

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama de sincronizare .

Diagrama de prezentare generală a interacțiunii

Pictogramă lupă mgx2.svg Același subiect în detaliu: Diagrama de prezentare generală a interacțiunii .

Extensibilitate și profiluri

UML include trei mecanisme care permit utilizatorului să își extindă sintaxa și semantica : stereotipuri , valori etichetate și constrângeri . Aceste instrumente pot fi utilizate în contextul unui model pentru a exprima concepte altfel nereprezentabile în UML sau nereprezentabile într-un mod clar, suficient de abstract și așa mai departe. Profilurile UML sunt colecții de stereotipuri, valori etichetate și constrângeri care specializează limba pentru anumite domenii de aplicații sau pentru utilizarea UML împreună cu anumite tehnologii. Printre profilurile recunoscute oficial de OMG există profiluri pentru CORBA , pentru sisteme distribuite , pentru sisteme cu constrângeri QoS și pentru sisteme în timp real .

Software UML

Există multe instrumente software pentru modelare în UML și multe medii de dezvoltare integrate care includ funcții de modelare în UML.

Instrumente software gratuite

Iată câteva instrumente software gratuite și open source pentru modelarea în UML. Consultați și site-ul oficial UML pentru o listă actualizată. Majoritatea acestor instrumente doar parțial sau nu acceptă versiunea UML 2.0.

Instrumente proprietare

Sunt raportate instrumente proprietare pentru modelarea UML.

Bibliografie

  • UML sau către standard ( JPG ), în MCmicrocomputer , n. 180, Roma, Technimedia, ianuarie 1998, pp. 126-128, ISSN 1123-2714 ( WC ACNP ) .
  • (RO) Grady Booch , James Rumbaugh , Ivar Jacobson , Unified Modeling Language Ghidul utilizatorului, Addison-Wesley 1999
  • (EN) Ivar Jacobson, Grady Booch, James Rumbaugh, Unified Software Development Process, Addison-Wesley 1999
  • ( RO ) James Rumbaugh, Ivar Jacobson, Grady Booch, Unified Modeling Language Reference Manual , Addison-Wesley 2004 (bazat pe UML 2.0)
  • ( EN ) Martin Fowler , Uml Distilled: Aplicarea limbajului standard de modelare a obiectelor , Addison-Wesley 2003 (UML 2.0)
  • ( EN ) Craig Larman , Aplicarea UML și tiparele: o introducere în analiza și proiectarea orientate pe obiecte și procesul unificat , Prentice Hall 2005
  • (RO) Robert C. Martin , UML pentru programatori Java, Addison Wesley, 2003 (UML și programare în Java )

Elemente conexe

Alte proiecte

linkuri externe

Controllo di autorità LCCN ( EN ) sh97003561 · GND ( DE ) 4469781-8 · BNF ( FR ) cb131836959 (data)