Diferencia entre revisiones de «UML»

(Historia)
(Etiqueta: nuestro-nuestra)
(Etiqueta: nuestro-nuestra)
Línea 1: Línea 1:
{{Normalizar}}{{Software|nombre=UML|logo=Logo_uml.jpg|fecha de creación=|versiones=|sitio web=}}
+
{{Ficha Software
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.  
+
|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=
 +
}}
  
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''',  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 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  
+
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.
 
UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas.
Línea 10: Línea 33:
 
==Historia==
 
==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.
+
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==  
 
==Diagramas==  
  
 
Jerarquia de los diagramas UML 2.0,  mostrados como un diagrama de clases
 
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.  
+
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:  
 
Diagramas  de estructura enfatizan en los elementos que deben existir en el  sistema modelado:  
 
*Diagrama de clases  
 
*Diagrama de clases  
Línea 29: Línea 52:
 
*Diagrama  de estados  
 
*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:  
+
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 secuencia  
 
*Diagrama de comunicación  
 
*Diagrama de comunicación  
Línea 36: Línea 59:
 
==Software libre para modelado en  UML==
 
==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)  
+
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)  
 
ArgoUml, Herramienta de modelado UML escrito en java  (enlace      externo)  
 
Dia Puede ser usado para modelar varios  tipos      de diagramas UML (enlace externo)  
 
Dia Puede ser usado para modelar varios  tipos      de diagramas UML (enlace externo)  
Línea 42: Línea 65:
 
MonoUML  Herramienta CASE para la plataforma mono      (Sitio      Oficial)  
 
MonoUML  Herramienta CASE para la plataforma mono      (Sitio      Oficial)  
 
UMLet  Herramienta para modelado rápido de UML también      escrita en Java  (enlace externo)       
 
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)  
+
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)
 
StarUML  Herramienta de modelado para Windows desarrollada en Delphi. Bastante  estable y usable (enlace externo)
  
Línea 53: Línea 76:
 
==Estandarización  de UML==
 
==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.
+
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 68: Línea 91:
 
== 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]]

Revisión del 11:58 29 may 2012

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.

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