Diferencia entre revisiones de «UML»

(Críticas a UML)
(Etiqueta: nuestro-nuestra)
 
(Etiqueta: nuestro-nuestra)
 
(No se muestran 8 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
{{Software|nombre=UML|logo=Logo_uml.jpg|fecha de creación=|versiones=|sitio web=}}
+
{{Ficha Software
 +
|nombre=UML
 +
|familia=
 +
|imagen=Logo_uml.jpg
 +
|tamaño=
 +
|descripción=lenguaje de modelado de sistemas de software
 +
|imagen2=
 +
|tamaño2=
 +
|descripción2=
 +
|creador=[[James Rumbaugh]], [[Grady Booch]], [[Ivar Jacobson]]
 +
|desarrollador=[[Cris Kobryn]], [[Ed Eykholt]]
 +
|diseñador=
 +
|modelo de desarrollo=
 +
|lanzamiento inicial=[[Agosto]] de [[1997]]
 +
|versiones=UML 1.1
 +
|última versión estable=Unified Modeling Language (UML) Versión 1.4.2
 +
|género=
 +
|sistemas operativos=
 +
|idioma=Inglés
 +
|licencia=
 +
|premios=
 +
|web=
 +
}}  
  
UML, por sus siglas en [[inglés]], Unified Modeling Language: es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables.  
+
'''UML''', por sus siglas en [[inglés]], '''Unified Modeling Language''': es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables.  
  
Es importante resaltar que UML es un "lenguaje" para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional), pero no especifica en sí mismo qué metodología o proceso usar.  
+
Es importante resaltar que UML es un "lenguaje" para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional), pero no especifica en sí mismo qué metodología o proceso usar.  
  
UML no puede compararse con la programación estructurada, pues UML significa (Lengua de Modelación Unificada), no es programación, solo se diagrama la realidad de una utilización en un requerimiento. Mientras que, programación estructurada, es una forma de programar como lo es la orientación a objetos, sin embargo, la orientación a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos  
+
UML no puede compararse con la programación estructurada, pues UML significa (Lengua de Modelación Unificada), no es programación, solo se diagrama la realidad de una utilización en un requerimiento. Mientras que, programación estructurada, es una forma de programar como lo es la orientación a objetos, sin embargo, la orientación a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos  
  
 
UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas.
 
UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas.
  
== [[Diagramas]] ==
+
==Historia==
En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos de manera concreta, a veces es útil categorizarlos jerárquicamente, como se muestra en la figura de la derecha.
 
  
Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado:
+
Cuando  la Rational Software Corporation contrató en  1994 a James Rumbaugh  quien trabajaba para General Electric. Asi consiguió tener a los  creadores de las dos técnicas más populares para  modelado de sistemas  orientados a objetos:: la Técnica de Modelado a Objetos de Rumbaugh, que  era mejor en análisis, y el Método Booch de Grady Booch, que era mejor  en diseño. Juntos, Rumbaugh y Booch  comenzaron a compatibilizar sus  métodos sentando las bases del Lenguaje Unificado.
Diagrama de clases
+
 
Diagrama de componentes
+
==Diagramas==
Diagrama de objetos
+
 
Diagrama de estructura compuesta (UML 2.0)
+
Jerarquia de los diagramas UML 2.0,  mostrados como un diagrama de clases
Diagrama de despliegue
+
En  UML 2.0 hay 13 tipos de  diagramas. Para comprenderlos, a veces es útil  categorizarlos  jerárquicamente, como se muestra en la figura de la  derecha.
Diagrama de paquetes
+
Diagramas de estructura enfatizan en los elementos que deben existir en el sistema modelado:  
Los Diagramas de Comportamiento enfatizan en lo que debe suceder en el sistema modelado:
+
*Diagrama de clases  
Diagrama de actividades
+
*Diagrama de componentes  
Diagrama de casos de uso
+
*Diagrama de objetos  
Diagrama de estados
+
*Diagrama de estructura compuesta  
Los Diagramas de Interacción son un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado:
+
*Diagrama de despliegue  
Diagrama de secuencia
+
*Diagrama de paquetes  
Diagrama de comunicación, que es una versión simplificada del Diagrama de colaboración (UML 1.x)
+
 
Diagrama de tiempos (UML 2.0)
+
Diagramas de comportamiento enfatizan en lo que debe suceder en el sistema modelado:  
Diagrama global de interacciones o Diagrama de vista de interacción (UML 2.0)
+
*Diagrama de actividades  
 +
*Diagrama de casos de uso  
 +
*Diagrama de estados  
 +
 
 +
Diagramas de Interacción, un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado:  
 +
*Diagrama de secuencia  
 +
*Diagrama de comunicación  
 +
*Diagrama  de tiempos (UML 2.0)
 +
 
 +
==Software libre para modelado en  UML==
 +
 
 +
Visual  Paradigm for UML, Herramienta      de  modelado UML y herramienta CASE  que, como en el caso anterior, cuenta  con una versión     gratuita  denominada Community Edition (enlace      externo)
 +
ArgoUml, Herramienta de modelado UML escrito en java  (enlace      externo)
 +
Dia Puede ser usado para modelar varios  tipos      de diagramas UML (enlace externo)
 +
Umbrello Herramienta  para modelado UML para el entorno KDE (enlace externo)
 +
MonoUML  Herramienta CASE para la plataforma mono      (Sitio      Oficial)  
 +
UMLet  Herramienta para modelado rápido de UML también      escrita en Java  (enlace externo)     
 +
gModeler  Herramienta para modelado de UML basada en      Flash (utilizable  desde el navegador), que permite  generar codigo Action      Script 2.0 Compatible (enlace externo)  
 +
StarUML  Herramienta de modelado para Windows desarrollada en Delphi. Bastante  estable y usable (enlace externo)
 +
 
 +
==Software Open  Source para modelado en UML==
 +
 
 +
Omondo plugin para  Eclipse. Herramienta de modelado UML      para Java
 +
TCM  herramienta para crear diversoso tipos de diegramas incluidos UML
 +
JUDE  Community Herramienta de modelado UML (Sitio Oficial)
 +
 
 +
==Estandarización  de UML==
 +
 
 +
Además  de haberse convertido en un estándar  de facto, UML es un estándar  industrial promovido por el grupo OMG al  mismo nivel que el estándar  CORBA para intercambio de objetos  distribuidos. Para la revisión de UML  se formaron dos "corrientes" que  promovían la aparición de la nueva  versión desde distintos puntos de  vista. Finalmente se impuso la visión  más industrial frente a la  académica. Recientemente se ha publicado la  versión 2.0 en la que  aparecen muchas novedades y cambios que,  fundamentalmente, se centran en  resolver carencias prácticas. Además,  esta versión recibe diversas  mejoras que provienen del lenguaje SDL.
  
 
== Críticas a UML ==
 
== Críticas a UML ==
  
A pesar de su status de estándar ampliamente reconocido y utilizado, UML siempre ha sido muy criticado por su carencia de una semántica precisa, lo que ha dado lugar a que la interpretación de un modelo UML no pueda ser objetiva. Otro problema de UML es que no se presta con facilidad al diseño de sistemas distribuidos. En tales sistemas cobran importancia factores como transmisión, serialización, persistencia, etc. UML no cuenta con maneras de describir tales factores. No se puede, por ejemplo, usar UML para señalar que un objeto es persistente o remoto, o que existe en un servidor que corre continuamente y que es compartido entre varias instancias de ejecución del sistema analizado. Sin embargo, UML sí acepta la creación de nuestros propios componentes para este tipo de modelado.
+
A pesar de su status de estándar ampliamente reconocido y utilizado, UML siempre ha sido muy criticado por su carencia de una semántica precisa, lo que ha dado lugar a que la interpretación de un modelo UML no pueda ser objetiva. Otro problema de UML es que no se presta con facilidad al diseño de sistemas distribuidos. En tales sistemas cobran importancia factores como transmisión, serialización, persistencia, etc. UML no cuenta con maneras de describir tales factores. No se puede, por ejemplo, usar UML para señalar que un objeto es persistente o remoto, o que existe en un servidor que corre continuamente y que es compartido entre varias instancias de ejecución del sistema analizado. Sin embargo, UML sí acepta la creación de nuestros propios componentes para este tipo de modelado.
 
Entorno de desarrollo integrado
 
Entorno de desarrollo integrado
 
Herramienta CASE
 
Herramienta CASE
Línea 39: Línea 88:
 
OCL, Lenguaje de especificación para los diferentes modelos en UML.
 
OCL, Lenguaje de especificación para los diferentes modelos en UML.
 
Webml, Metodología para el diseño de Sistemas de Información Web.
 
Webml, Metodología para el diseño de Sistemas de Información Web.
 
+
== Véase también==
 +
*[[Altova Umodel]]
 
== Fuente ==
 
== Fuente ==
 
[http://www.uml.org UML]
 
[http://www.uml.org UML]
 +
*Introducción      a UML 2.0 (Castellano)
 +
*Introducción      a UML 2.0 Parte II (Castellano)
 +
*Introducción a UML 2.0 (En      Ingles)
 +
*Amplia información      sobre UML (Inglés)
 +
*Lista de herramientas UML
  
 
[[Category:Ciencias_informáticas]]
 
[[Category:Ciencias_informáticas]]

última versión al 13:08 22 abr 2018

UML
Información sobre la plantilla
Logo uml.jpg
lenguaje de modelado de sistemas de software
CreadorJames Rumbaugh, Grady Booch, Ivar Jacobson
DesarrolladorCris Kobryn, Ed Eykholt
Lanzamiento inicialAgosto de 1997
VersionesUML 1.1
Última versión estableUnified Modeling Language (UML) Versión 1.4.2
IdiomaInglés

UML, por sus siglas en inglés, Unified Modeling Language: es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables.

Es importante resaltar que UML es un "lenguaje" para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional), pero no especifica en sí mismo qué metodología o proceso usar.

UML no puede compararse con la programación estructurada, pues UML significa (Lengua de Modelación Unificada), no es programación, solo se diagrama la realidad de una utilización en un requerimiento. Mientras que, programación estructurada, es una forma de programar como lo es la orientación a objetos, sin embargo, la orientación a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos

UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas.

Historia

Cuando la Rational Software Corporation contrató en 1994 a James Rumbaugh quien trabajaba para General Electric. Asi consiguió tener a los creadores de las dos técnicas más populares para modelado de sistemas orientados a objetos:: la Técnica de Modelado a Objetos de Rumbaugh, que era mejor en análisis, y el Método Booch de Grady Booch, que era mejor en diseño. Juntos, Rumbaugh y Booch comenzaron a compatibilizar sus métodos sentando las bases del Lenguaje Unificado.

Diagramas

Jerarquia de los diagramas UML 2.0, mostrados como un diagrama de clases En UML 2.0 hay 13 tipos de diagramas. Para comprenderlos, a veces es útil categorizarlos jerárquicamente, como se muestra en la figura de la derecha. Diagramas de estructura enfatizan en los elementos que deben existir en el sistema modelado:

  • Diagrama de clases
  • Diagrama de componentes
  • Diagrama de objetos
  • Diagrama de estructura compuesta
  • Diagrama de despliegue
  • Diagrama de paquetes

Diagramas de comportamiento enfatizan en lo que debe suceder en el sistema modelado:

  • Diagrama de actividades
  • Diagrama de casos de uso
  • Diagrama de estados

Diagramas de Interacción, un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado:

  • Diagrama de secuencia
  • Diagrama de comunicación
  • Diagrama de tiempos (UML 2.0)

Software libre para modelado en UML

Visual Paradigm for UML, Herramienta de modelado UML y herramienta CASE que, como en el caso anterior, cuenta con una versión gratuita denominada Community Edition (enlace externo) ArgoUml, Herramienta de modelado UML escrito en java (enlace externo) Dia Puede ser usado para modelar varios tipos de diagramas UML (enlace externo) Umbrello Herramienta para modelado UML para el entorno KDE (enlace externo) MonoUML Herramienta CASE para la plataforma mono (Sitio Oficial) UMLet Herramienta para modelado rápido de UML también escrita en Java (enlace externo) gModeler Herramienta para modelado de UML basada en Flash (utilizable desde el navegador), que permite generar codigo Action Script 2.0 Compatible (enlace externo) StarUML Herramienta de modelado para Windows desarrollada en Delphi. Bastante estable y usable (enlace externo)

Software Open Source para modelado en UML

Omondo plugin para Eclipse. Herramienta de modelado UML para Java TCM herramienta para crear diversoso tipos de diegramas incluidos UML JUDE Community Herramienta de modelado UML (Sitio Oficial)

Estandarización de UML

Además de haberse convertido en un estándar de facto, UML es un estándar industrial promovido por el grupo OMG al mismo nivel que el estándar CORBA para intercambio de objetos distribuidos. Para la revisión de UML se formaron dos "corrientes" que promovían la aparición de la nueva versión desde distintos puntos de vista. Finalmente se impuso la visión más industrial frente a la académica. Recientemente se ha publicado la versión 2.0 en la que aparecen muchas novedades y cambios que, fundamentalmente, se centran en resolver carencias prácticas. Además, esta versión recibe diversas mejoras que provienen del lenguaje SDL.

Críticas a UML

A pesar de su status de estándar ampliamente reconocido y utilizado, UML siempre ha sido muy criticado por su carencia de una semántica precisa, lo que ha dado lugar a que la interpretación de un modelo UML no pueda ser objetiva. Otro problema de UML es que no se presta con facilidad al diseño de sistemas distribuidos. En tales sistemas cobran importancia factores como transmisión, serialización, persistencia, etc. UML no cuenta con maneras de describir tales factores. No se puede, por ejemplo, usar UML para señalar que un objeto es persistente o remoto, o que existe en un servidor que corre continuamente y que es compartido entre varias instancias de ejecución del sistema analizado. Sin embargo, UML sí acepta la creación de nuestros propios componentes para este tipo de modelado. Entorno de desarrollo integrado Herramienta CASE Técnica de Modelado a Objetos Programación orientada a objetos XMI, un formato estándar basado en XML para el intercambio de modelos UML. OCL, Lenguaje de especificación para los diferentes modelos en UML. Webml, Metodología para el diseño de Sistemas de Información Web.

Véase también

Fuente

UML

  • Introducción a UML 2.0 (Castellano)
  • Introducción a UML 2.0 Parte II (Castellano)
  • Introducción a UML 2.0 (En Ingles)
  • Amplia información sobre UML (Inglés)
  • Lista de herramientas UML