Lenguaje Unificado de Modelado (LUM o UML, por sus siglas en inglés, UnifiedModeling
Languaje) 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. UML ofrece un estándar para describir un "plano" del sistema
(modelo), incluyendo aspectos conceptuales tales como procesos de negocio,
funciones del sistema, y aspectos concretos como expresiones de lenguajes de
programación, esquemas de bases de datos y componentes reutilizables.
Es importante resaltar que UML es un "lenguaje de
modelado" para especificar o para describir métodos o procesos. Se utiliza
para definir un sistema, 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 el desarrollo de software
entregando gran variedad de formas para dar soporte a una metodología de
desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no
especifica en sí mismo qué metodología o proceso usar. UML cuenta con varios
tipos de diagramas, los cuales muestran diferentes aspectos de las entidades
representadas.
Metas de UML.
Una de las metas principales de UML es avanzar en el
estado de la integración institucional proporcionando herramientas de
interoperabilidad para el modelado visual de objetos. Sin embargo para lograr
un intercambio exitoso de modelos de información entre herramientas, se
requirió definir a UML una semántica y una notación.
Una herramienta de UML debe mantener la consistencia
entre los diagramas en un mismo modelo. Bajo esta definición una herramienta
que solo dibuje, no puede cumplir con la notación de UML.
El lenguaje está dotado de múltiples herramientas para
lograr la especificación determinante del modelo, pero en nuestro caso se
trabaja en forma simplificada sobre:
· Modelamiento
de Clases
· Casos de
Uso
· Diagrama
de Interacción.
· Los
diagramas de clases de UML forman la vista lógica.
· Los
diagramas de interacción de UML constituyen la vista de proceso.
· La vista
de desarrollo captura el software en su entorno de desarrollo.
· Los
diagramas de despliegue integran la vista física.
· Los
escenarios: el modelo de casos de uso.
Diagramas de visión
UML 2.2 tiene 14 tipos de diagramas de dividirse en
dos categorías. Siete tipos de diagramas representan la información
estructural, y los otros siete representan
tipos generales de comportamiento, entre ellos cuatro
que representan diferentes
aspectos de las interacciones. Estos diagramas pueden
clasificarse
jerárquicamente como se muestra en el siguiente
diagrama de clases:
UML no limita los tipos de elemento UML a un tipo de
esquema determinado. En general, todos los elementos de UML pueden aparecer en
casi todos los tipos de diagramas, esta flexibilidad ha sido parcialmente restringida
en UML 2.0. Perfiles UML pueden definir los tipos de diagrama adicional o
extender los diagramas existentes con anotaciones adicionales.
De acuerdo con la tradición de los dibujos de
ingeniería, un uso comentario o nota explicando, coacción, o la intención es
permitido en un diagrama UML.
Diagramas de Estructura
Diagramas de estructura hincapié en las cosas que
deben estar presentes en el sistema que se modela. Dado que los diagramas de
estructura representan la estructura, se utilizan ampliamente en la documentación
de la arquitectura de software de sistemas de software.
· Diagrama
de clases: se describe la estructura de un sistema
por el que muestra las clases del sistema, sus atributos y las relaciones entre
las clases.
· Diagrama
de componentes: describe cómo un sistema de software se divide
en componentes y muestra las dependencias entre estos componentes.
· Diagrama
de estructura de material compuesto: se
describe la estructura interna de una clase y las colaboraciones que esta
estructura hace posible.
· Diagrama
de implementación: se describe el hardware utilizado en la implementación
de sistemas y los entornos de ejecución y los artefactos desplegados en el
hardware.
· Diagrama
de objetos: muestra una vista total o parcial de la estructura
de un sistema de ejemplo el modelo en un momento determinado.
· Diagrama
de paquetes: describe cómo un sistema se divide en agrupaciones
lógicas mostrando las dependencias entre estos grupos.
· Diagrama
de perfil: opera en el nivel metamodelo para mostrar
los estereotipos de las clases con el estereotipo <<stereotype>>, y
los perfiles en forma de paquetes con el estereotipo <<perfil>>. La
relación de extensión (línea sólida con cerrado, lleno de punta de flecha)
indica qué elemento metamodelo un estereotipo determinado se está extendiendo.
Diagrama de clases
Diagrama de componentes
Diagramas de estructura compuesta
Diagrama de objeto
Paquetediagrama
1 UML Diagrama de Actividad
Estado de la máquina diagrama
Diagrama de casos de uso
Los diagramas de interacción
Diagramas de interacción, un subconjunto de los
diagramas de comportamiento, hacen hincapié en el flujo de datos y de control
de las cosas en el sistema modelado:
· Diagrama
de la comunicación: muestra las interacciones entre los
objetos o partes en términos de mensajes en secuencia. Que representan una combinación
de información tomada de la Clase, Secuencia, y utilizar los diagramas de casos
que describen tanto la estructura estática y comportamiento dinámico de un
sistema.
· Diagrama
de descripción de la interacción: ofrece un
panorama en el cual los nodos representan los diagramas de comunicación.
· Diagrama
de secuencia: muestra cómo los objetos se comunican
entre sí en términos de una secuencia de mensajes. También indica la vida útil
de los objetos en relación con los mensajes.
· Diagramas
de tiempo: un tipo específico de diagrama de
interacción, donde la atención se centra en las limitaciones de tiempo.
Comunicación diagrama
Interacción diagrama general
Diagrama de secuencia
La máquina del Protocolo de Estado es una variante de
la sub-máquina de estados.
Se puede utilizar con los protocolos modelo de
comunicación de red.
Modelos Meta
Capacidades de desajuste lenguaje UML y la aplicación.
Como con cualquier sistema de notación, UML es capaz
de representar algunos sistemas de forma más concisa y eficiente que otros.
Así, un desarrollador gravita hacia soluciones que se encuentran en la intersección
de las capacidades de UML y el lenguaje de implementación. Este problema es
especialmente agudo si el lenguaje de implementación no se adhiere a la ortodoxia
la doctrina orientada a objetos, como la intersección de conjuntos entre UML y
el lenguaje de implementación puede ser mucho más pequeño.
Inutilidad
Los casos de uso y sus diagramas asociados,
especialmente en proyectos donde estos se miden ya sea por kilos o, a veces el
pie, a menudo son más comúnmente conocida como "casos inútil". Narraciones
de usuario sencilla, por ejemplo "lo que hago en el trabajo" han
demostrado ser mucho más simple para grabar y más inmediatamente útiles.
Exclusivo
El término "unificado" se aplica únicamente
a la unificación de los muchos idiomas antes de objetos existentes y la
competencia orientada. Importantes técnicas bien conocidas y populares, casi
universalmente utilizado en la industria, tales como diagramas de flujo de
datos y gráficos de estructura no fueron incluidos en el pliego de condiciones.
Expertos en modelización han escrito duras críticas de
UML, como Bertrand Meyer,
"UML: El giro positivo", y Brian
Henderson-Sellers y César González-Pérez en
"Usos y abusos del Mecanismo de estereotipo en
UML 1.x y 2.0".
PROCESO DE DESARROLLO
Aunque UML es bastante independiente del proceso de
desarrollo que se siga, los mismos creadores de UML han propuesto su propia
metodología de desarrollo, denominada el Proceso Unificado de Desarrollo.
El Proceso Unificado está basado en componentes, lo cual
quiere decir que el sistema software en construcción está formado por
componentes software interconectados a través de interfaces bien definidos.
Además, el Proceso Unificado utiliza el UML para expresar gráficamente todos
los esquemas de un sistema software. Pero, realmente, los aspectos que definen
este Proceso
Unificado son tres: es iterativo e incremental,
dirigido por casos de uso y centrado en la arquitectura]:
• Dirigido por casos de uso: Basándose en los casos de
uso, los desarrolladores crean una serie de modelos de diseño e implementación
que los llevan a cabo. Además, estos modelos se validan para que sean conformes
a los casos de uso. Finalmente, los casos de uso también sir-ven para realizar
las pruebas sobre los componentes desarrollados.
• Centrado en la arquitectura: En la arquitectura de
la construcción, antes de construir un edificio éste se contempla desde varios
puntos de vista: estructura, conducciones eléctricas, fontanería, etc. Cada uno
de estos aspectos está representado por un gráfico con su notación
correspondiente.
Siguiendo este ejemplo, el concepto de arquitectura
software incluye los aspectos estáticos y dinámicos más significativos del
sistema.
• Iterativo e incremental: Todo sistema informático
complejo supone un gran esfuerzo que puede durar desde varios meses hasta años.
Por lo tanto, lo más práctico es dividir un proyecto en varias fases.
Actualmente se suele hablar de ciclos de vida en los que se realizan varios
recorridos por todas las fases. Cada recorrido por las fases se denomina
iteración en el proyecto en la que se realizan varios tipos de trabajo
(denominados flujos). Además, cada iteración parte de la anterior incrementado
o revisando la funcionalidad implementada. Se suele denominar proceso.
Es fácil predecir que UML será el lenguaje de modelado
de software de uso universal. Las principales razones para ello son:
· En el
desarrollo han participado investigadores de reconocido prestigio.
Ha sido apoyado por prácticamente todas las empresas
importantes de informática.
· Se ha
aceptado como un estándar por la OMG.
· Prácticamente
todas las herramientas CASE y de desarrollo la han adaptado como lenguaje de
modelado.
En resumen, UML resuelve de forma bastante
satisfactoria un viejo problema del desarrollo de software como es su modelado
gráfico. Además, se ha llega-do a una solución unificada basada en lo mejor que
había hasta el momento, lo cual lo hace todavía más excepcional.
muy buena la informacion! gracias por postear :v
ResponderEliminar