Llenguatge de modelatge unificat

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Nota de desambiguació.svg Desambiguació : aquí es refereix "UML". Si esteu buscant altres significats, vegeu UML (desambiguació) .
UML logo.svg
Col·lecció de diagrames UML

En enginyeria de programari , UML ( Unified Modeling Language ) és un llenguatge de modelització i especificació basat en el paradigma orientat a objectes . El nucli del llenguatge va ser definit el 1996 per Grady Booch , Jim Rumbaugh i Ivar Jacobson (anomenats "els tres amics") sota l'ègida del Object Management Group (OMG) , un consorci que encara gestiona l'estàndard UML.

Història

Els llenguatges per a la modelització orientada a objectes van començar a desenvolupar-se en diferents contextos a partir dels anys vuitanta . Es tractava de notacions de diversos tipus, que permetien descriure l'estructura d'un sistema de programari orientat a objectes, en termes de classes i relacions entre classes, i possiblement el seu comportament dinàmic. La proliferació d'aquestes notacions va donar lloc a les que més tard es van anomenar " guerres de mètodes ", amb diversos dissenyadors o organitzacions que van adoptar i defensar una notació particular a costa d'altres adoptades en altres llocs. Cap a mitjans dels anys noranta es van començar a fusionar diferents mètodes i llenguatges i va començar a sorgir la possibilitat d’integrar els principals formalismes en una notació universalment acceptable.

Entre els mètodes i notacions més populars i generalitzats del període destacaven OMT (Object Modeling Technique) de Jim Rumbaugh i l’anomenat mètode Booch de Grady Booch , ambdós investigadors de Rational Software . El treball d’unificació va començar amb ells; Més tard, Jacobson va unir aquest esforç amb la seva casa de programari Objectory . El primer èxit conjunt d’aquest equip va ser OOSE (Object Oriented Software Engineering) .

Tot i que "els tres amics" treballaven per unificar els seus enfocaments d’anàlisi i disseny orientat a objectes, el projecte va ser acollit amb els auspicis de l’ OMG (Object Management Group) , un consorci fundat amb l’objectiu de crear i gestionar estàndards en el context de desenvolupament de programari orientat a objectes. El 1995, l'OMG va reunir a tots els principals metodòlegs del camp en una reunió internacional per debatre la notació unificada. El 1996 l’OMG va emetre una sol·licitud de proposta (RFP) per a aquesta notació. El mateix any, Booch, Rumbaugh i Jacobson van finalitzar les versions 0.9 i 0.91 d'UML. El projecte va tenir una bona acollida per la comunitat internacional i innombrables grans organitzacions es van unir a Rational per continuar-lo, per exemple Digital , Hewlett-Packard , IBM , Microsoft , Oracle i Unisys . El 1997 aquest grup ampliat va llançar UML 1.0 que va ser enviat a OMG com a resposta a la RFP de l'any anterior.

La versió 1.1 d'UML va ajudar a consolidar la semàntica del llenguatge i va incloure elements d'una proposta feta de manera independent a OMG per un grup format per IBM , ObjectTime , Ptech i altres.

Descripció

El llenguatge va néixer amb la intenció d’unificar enfocaments anteriors, a causa dels tres pares d’UML i d’altres, que van reunir les millors pràctiques del sector i van definir així un estàndard industrial unificat. UML té un paper molt important com a " lingua franca " a la comunitat de programació i disseny orientat a objectes. Gran part de la literatura de la indústria utilitza UML per descriure solucions analítiques i de disseny d’una manera sintètica i entenedora a un públic ampli.

La versió 2.0 es va consolidar el 2004 i va ser oficialitzada per OMG el 2005. UML 2.0 reorganitza molts dels elements de la versió anterior (1.5) en un marc ampliat i introdueix moltes eines noves, inclosos alguns nous tipus de diagrames. Tot i que OMG es refereix a UML 2.0 com la versió "actual" del llenguatge, la transició encara està en curs; les mateixes especificacions publicades per OMG encara no estan completament actualitzades i el suport de les eines per a UML 2.0 és, en la majoria dels casos, amb prou feines esbossat. L’última versió és la 2.5, finalitzada el 2013.

Característiques generals

La notació UML és semi-gràfica i semi-formal ; un model UML es compon d'una col·lecció organitzada de diagrames relacionats, construïts mitjançant la composició d'elements gràfics amb significats definits formalment, elements textuals formals i elements de text lliure. Té una semàntica molt precisa i un gran poder descriptiu.

El llenguatge s'ha dissenyat amb l'objectiu explícit de facilitar el suport de programari per a la creació de models i la integració d'aquest suport amb entorns de desenvolupament integrats . En particular, OMG gestiona una família d’estàndards relacionats amb UML, anomenada Model Driven Architecture (MDA), que té com a objectiu proporcionar els fonaments conceptuals i semàntics per al desenvolupament d’ entorns d’enginyeria d’anada i tornada avançats en què el modelatge UML pugui substituir de fet la programació tradicional. fins a cert punt. Tot i que aquest objectiu encara s’ha d’assolir, moltes IDE inclouen eines de modelatge en UML i proporcionen mecanismes automàtics per traduir diagrames UML parcials a codi i viceversa. Per contra, molts entorns de programari dedicats al modelatge UML us permeten generar codi en diferents idiomes.

UML és un llenguatge de modelatge general que proporciona conceptes i eines aplicables a tots els contextos. Com que determinats dominis d'aplicacions o famílies d'aplicacions poden necessitar conceptes addicionals i específics, UML proporciona un mecanisme estàndard que permet ampliar el llenguatge. Una extensió d'UML per a un context concret s'anomena perfil UML .

Aspectes del modelatge

UML us permet descriure un sistema segons tres aspectes principals, per a cadascun dels quals s’utilitzen diagrames específics que després es poden relacionar entre ells:

  • el model funcional ( model funcional) representa el sistema des del punt de vista de l'usuari, que descriu el seu comportament tal com es percep per fora, a part del seu funcionament intern. Aquest tipus de modelatge correspon, en enginyeria de programari , a l’ anàlisi de requisits . El modelatge funcional utilitza diagrames de casos d’ús .
  • el model d’objectes representa l’estructura i la subestructura del sistema mitjançant els conceptes de classe , objecte , relacions entre classes i entre objectes orientats a objectes. En enginyeria de programari, aquest tipus de modelatge es pot utilitzar tant en la fase d’ anàlisi del domini com en les diferents fases del projecte a diferents nivells de detall. Utilitzeu diagrames de classes , diagrames d' objectes i diagrames de desplegament .
  • el model dinàmic representa el comportament dels objectes del sistema, és a dir, la seva evolució al llarg del temps i la dinàmica de les seves interaccions. Està estretament relacionat amb el model d’objectes i s’utilitza en els mateixos casos. Utilitza diagrames de seqüències , diagrames d’ activitats i diagrames d’ estadístiques .

UML 2.0

La versió 2.0 d’UML, oficialitzada per OMG el 2005, presenta nombrosos canvis en comparació amb la versió anterior 1.5, que no obstant això continua sent la més àmpliament recolzada per les eines de modelatge i citada a la literatura.

Entre les principals novetats d’UML 2.0 es troben:

Alguns elements i diagrames del model han canviat els seus noms; per exemple, els diagrames de col·laboració ara s’anomenen diagrames de comunicació.

Aplicacions

UML no defineix cap mètode específic per crear models. Per tant, UML es pot utilitzar en el context de diferents enfocaments. OMG manté un mètode estàndard relacionat amb UML, però proposat com a especificació independent, anomenat RUP .

UML us permet construir models orientats a objectes per representar dominis de diversos tipus. En el context de l'enginyeria de programari, s'utilitza principalment per descriure el domini d'aplicació d'un sistema de programari i / o el comportament i l'estructura del propi sistema. El model s’estructura segons un conjunt de vistes que representen diferents aspectes del modelat (funcionament, estructura, comportament, etc.), tant amb finalitats d’ anàlisi com de disseny , mantenint la traçabilitat dels conceptes utilitzats en les diferents vistes. A més de modelar sistemes de programari, UML s'utilitza sovint per descriure dominis d'altres tipus, com ara sistemes de maquinari , estructures organitzatives corporatives, processos empresarials.

L'estàndard UML, gestionat per OMG, defineix una sintaxi i regles d'interpretació; per tant, no és un mètode de disseny i per aquest motiu es pot adoptar amb mètodes diferents o en camps diferents de la informàtica.

Estructura d’un model UML

Un model UML consisteix en:

  1. Vistes: mostren els diferents aspectes del sistema mitjançant un conjunt de diagrames.
  2. Diagrames: permeten descriure gràficament les vistes lògiques.
  3. Elements del model: conceptes que permeten crear diversos diagrames (per exemple, actors, classes, paquets, objectes, etc.).

Les Vistes

La capa més externa de la UML consta de les següents vistes :

  1. Utilitzeu la vista de casos que s’utilitza per analitzar els requisits de l’usuari. L’objectiu d’aquest nivell d’anàlisi és estudiar el sistema considerant-lo com una caixa negra. Cal centrar-se en allò que ha de fer el sistema, abstracte al màxim del com: cal identificar tots els actors, els casos d’ús i les seves associacions. És important detallar els requisits del client, entendre els seus desitjos més o menys conscients, intentar predir possibles desenvolupaments futurs, etc.
  2. Vista de disseny descriu com s’han d’implementar les funcionalitats del sistema; en altres paraules, analitza el sistema des de l'interior (caixa transparent).
  3. La vista d’implementació descriu paquets, classes i les seves dependències entre si.
  4. Process View identifica els processos i les entitats que els executen per a un ús eficaç dels recursos i per poder establir una execució paral·lela d’objectes.
  5. La visualització de desplegament mostra l'arquitectura física del sistema i defineix la posició dels components del programari a la pròpia estructura.

Diagrames clàssics (UML 1.x)

Diagrama de casos d’ús

Icona de la lupa mgx2.svg El mateix tema en detall: diagrama de casos d’ús .

Els diagrames de casos d’ús (UCD) modelen el comportament extern d’un sistema en funció de les funcions que posa a disposició dels actors que hi interactuen (usuaris, altres sistemes de programari, etc.). Els UCD són el diagrama principal de la vista de casos d’ús . En molts models de desenvolupament de programari basats en UML, els casos d'ús són la visió principal del sistema (processos "basats en casos d'ús").

Diagrama de classes

Icona de la lupa mgx2.svg El mateix tema en detall: diagrama de classes .

Esquema d'objectes

Icona de la lupa mgx2.svg El mateix tema en detall: diagrama d'objectes .

Diagrama d’estadístiques

Icona de la lupa mgx2.svg El mateix tema en detall: diagrama de diagrames d’estats .

Esquema d'activitats

Icona de la lupa mgx2.svg El mateix tema en detall: Esquema d'activitats .

Diagrama de seqüències

Icona de la lupa mgx2.svg El mateix tema en detall: diagrama de seqüència .

Esquema de comunicació

Nota : Aquest tipus de diagrama s'anomenava "diagrama de col·laboració" a UML 1.x

Icona de la lupa mgx2.svg El mateix tema en detall: Esquema de comunicació .

Diagrama de components

Icona de la lupa mgx2.svg El mateix tema en detall: diagrama de components .

Diagrama de desplegament

Icona de la lupa mgx2.svg El mateix tema en detall: diagrama de desplegament .

Relacions entre diagrames

El diagrama de classes i els diagrames d’interacció s’utilitzen per modelar la implementació dels casos d’ús, mentre que el diagrama de components i el diagrama de desplegament permeten especificar l’arquitectura del sistema que implementarà els casos d’ús. Els diagrames d’estats i d’activitats poden tenir un paper específic. Podeu utilitzar un diagrama d’estats per representar l’evolució dels estats, és a dir, les condicions en què es pot trobar el sistema durant l’execució del cas d’ús. A més, podeu representar la seqüència de passos i condicions que especifiquen un o més casos d'ús amb un diagrama d'activitat. Els diagrames UML permeten modelar l'estructura estàtica i el comportament dinàmic d'un sistema. El sistema es representa com un conjunt d’objectes (mòduls de programari) que col·laboren i reaccionen a esdeveniments externs per realitzar activitats en benefici dels clients (usuaris). Alguns models UML emfatitzen alguns aspectes del sistema i ignoren d'altres que poden ser ressaltats per altres models. Junts, tots els models proporcionen una descripció completa del sistema i es poden classificar en tres grups:

  1. models d'estat (vista estàtica): descriuen les estructures de dades estàtiques i es poden obtenir utilitzant, per exemple, diagrames de classes;
  2. Models de comportament (vista operativa): descriuen la col·laboració entre objectes. Hi ha moltes tècniques de visualització per al modelatge del comportament, com ara diagrama de casos d’ús, diagrama de seqüències, diagrama de col·laboració i diagrama d’activitats;
  3. models de canvi d'estat (visualització dinàmica): descriviu els estats permesos pel sistema al llarg del temps. La primera tècnica de visualització és el diagrama d’estats, basat en un model d’evolució dels estats d’un objecte.

Nous diagrames introduïts a UML 2.0

Diagrama del paquet

Icona de la lupa mgx2.svg El mateix tema en detall: diagrama de paquets .

Diagrama d’estructures compostes

Icona de la lupa mgx2.svg El mateix tema en detall: Esquema d’estructures compostes .

Diagrama de temps

Icona de la lupa mgx2.svg El mateix tema en detall: Diagrama de temps .

Diagrama de visió general de la interacció

Icona de la lupa mgx2.svg El mateix tema en detall: Diagrama de visió general de la interacció .

Extensibilitat i perfils

UML inclou tres mecanismes que permeten a l'usuari ampliar la seva sintaxi i semàntica : estereotips , valors etiquetats i restriccions . Aquestes eines es poden utilitzar en el context d'un model per expressar conceptes d'una altra manera irrepresentables en UML o irrepresentables d'una manera clara i prou abstracta, etc. Els perfils UML són col·leccions d’estereotips, valors etiquetats i restriccions que especialitzen el llenguatge per a dominis d’aplicacions particulars o per a l’ús d’UML juntament amb tecnologies particulars. Entre els perfils oficialment reconeguts per OMG hi ha perfils per a CORBA , per a sistemes distribuïts , per a sistemes amb restriccions de QoS i per a sistemes en temps real .

Programari UML

Hi ha moltes eines de programari per modelar a UML i molts entorns de desenvolupament integrats que inclouen funcions de modelatge a UML.

Eines de programari lliure

Aquí teniu algunes eines de programari de codi obert i gratuïtes per modelar en UML. Consulteu també el lloc oficial UML per obtenir una llista actualitzada. La majoria d’aquestes eines només són parcials o no admeten la versió 2.0 d’UML.

Eines propietàries

S'informen d' eines propietàries per al modelatge UML.

Bibliografia

  • UML o cap a l’estàndard ( JPG ), a MCmicrocomputer , n. 180, Roma, Technimedia, gener de 1998, pp. 126-128, ISSN 1123-2714 ( WC ACNP ) .
  • (EN) Grady Booch , James Rumbaugh , Ivar Jacobson , Unified Modeling Language Guide for User, Addison-Wesley 1999
  • (EN) Ivar Jacobson, Grady Booch, James Rumbaugh, Unified Software Development Process, Addison-Wesley 1999
  • ( EN ) James Rumbaugh, Ivar Jacobson, Grady Booch, Unified Modeling Language Reference Manual , Addison-Wesley 2004 (basat en UML 2.0)
  • ( EN ) Martin Fowler , Uml Distilled: Aplicació del llenguatge de modelatge d'objectes estàndard , Addison-Wesley 2003 (UML 2.0)
  • ( EN ) Craig Larman , Aplicar UML i patrons: una introducció a l'anàlisi i el disseny orientats a objectes i al procés unificat , Prentice Hall 2005
  • (EN) Robert C. Martin , UML per a programadors de Java, Addison Wesley, 2003 (UML i programació en Java )

Articles relacionats

Altres projectes

Enllaços externs

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