lunes, 18 de junio de 2012

LENGUAJE UNIFICADO DE MODELADO



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 despliegue



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.






1 comentario: