Lenguaje Unificado de Modelado (LUM o UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje
de modelado de sistemas 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
compuestos reciclados.
- Mejores tiempos totales de desarrollo (de 50 % o más).
- Modelar sistemas (y no sólo de software) utilizando conceptos orientados a objetos.
- Establecer conceptos y artefactos ejecutables.
- Encaminar el desarrollo del escalamiento en sistemas complejos de misión crítica.
- Crear un lenguaje de modelado utilizado tanto por humanos como por máquinas.
- Mejor soporte a la planeación y al control de proyectos.
- Alta reutilización y minimización de costos.
- Vista Use-Case: Una vista que muestra la funcionalidad del sistema como la perciben los actores externos.
- Vista Lógica: Muestra cómo se diseña la funcionalidad dentro del sistema, en términos de la estructura estática y la conducta dinámica del sistema.
- Vista de Componentes: Muestra la organización de los componentes de código.
- Vista Concurrente: Muestra la concurrencia en el sistema, direccionando los problemas con la comunicación y sincronización que están presentes en un sistema concurrente.
- Vista de Distribución: muestra la distribución del sistema en la arquitectura física con computadoras y dispositivos llamados nodos.
Se puede aplicar en el desarrollo de
software 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 no puede compararse con la
programación estructurada, pues UML significa Lenguaje Unificado de Modelado,
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 programación
orientada 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.
Los principales beneficios de UML son:
UML, ¿Método o Lenguaje de Modelado?
UML es un lenguaje para hacer modelos y es
independiente de los métodos de análisis y diseño. Existen diferencias
importantes entre un método y un lenguaje de modelado. Un método es
una manera explícita de estructurar el pensamiento y las acciones de cada
individuo. Además, el método le dice al usuario qué hacer, cómo hacerlo, cuándo
hacerlo y por qué hacerlo; mientras que el lenguaje de modelado carece de estas
instrucciones. Los métodos contienen modelos y esos modelos son utilizados para
describir algo y comunicar los resultados del uso del método.
Un modelo es expresado en un lenguaje de
modelado. Un lenguaje de modelado consiste de vistas, diagramas, elementos
de modelo ¾ los símbolos utilizados en los
modelos ¾ y un conjunto de mecanismos generales o
reglas que indican cómo utilizar los elementos. Las reglas son sintácticas,
semánticas y pragmáticas
Vistas: Las vistas muestran
diferentes aspectos del sistema modelado. Una vista no es una gráfica, pero sí
una abstracción que consiste en un número de diagramas y todos esos diagramas
juntos muestran una "fotografía" completa del sistema. Las vistas
también ligan el lenguaje de modelado a los métodos o procesos elegidos para el
desarrollo. Las diferentes vistas que UML tiene son:
Diagramas: Los diagramas son
las gráficas que describen el contenido de una vista. UML tiene nueve tipos de diagramas
que son utilizados en combinación para proveer todas las vistas de un sistema:
diagramas de caso de uso, de clases, de objetos, de estados, de secuencia, de
colaboración, de actividad, de componentes y de distribución.
Símbolos o Elementos de modelo: Los conceptos
utilizados en los diagramas son los elementos de modelo que representan
conceptos comunes orientados a objetos, tales como clases, objetos y mensajes,
y las relaciones entre estos conceptos incluyendo la asociación, dependencia y
generalización. Un elemento de modelo es utilizado en varios diagramas
diferentes, pero siempre tiene el mismo significado y simbología.
Reglas o Mecanismos generales: Proveen comentarios
extras, información o semántica acerca del elemento de modelo; además proveen
mecanismos de extensión para adaptar o extender UML a un método o proceso
específico, organización o usuario.
FASES DEL DESARROLLO DE UN SISTEMA
Las fases del desarrollo de sistemas que soporta
UML son: Análisis de requerimientos, Análisis, Diseño, Programación y Pruebas.
Análisis de Requerimientos
UML tiene casos de uso (use-cases) para capturar
los requerimientos del cliente. A través del modelado de casos de uso, los
actores externos que tienen interés en el sistema son modelados con la
funcionalidad que ellos requieren del sistema (los casos de uso). Los actores y
los casos de uso son modelados con relaciones y tienen asociaciones entre ellos
o éstas son divididas en jerarquías. Los actores y casos de uso son descritos
en un diagrama use-case. Cada use-case es descrito en texto y especifica los
requerimientos del cliente: lo que él (o ella) espera del sistema sin
considerar la funcionalidad que se implementará. Un análisis de requerimientos
puede ser realizado también para procesos de negocios, no solamente para
sistemas de software.
Análisis
La fase de análisis abarca las abstracciones
primarias (clases y objetos) y mecanismos que están presentes en el dominio del
problema. Las clases que se modelan son identificadas, con sus relaciones y
descritas en un diagrama de clases. Las colaboraciones entre las clases para
ejecutar los casos de uso también se consideran en esta fase a través de los
modelos dinámicos en UML. Es importante notar que sólo se consideran clases que
están en el dominio del problema (conceptos del mundo real) y todavía no se
consideran clases que definen detalles y soluciones en el sistema de software,
tales como clases para interfaces de usuario, bases de datos, comunicaciones,
concurrencia, etc.
Diseño
En la fase de diseño, el resultado del análisis es
expandido a una solución técnica. Se agregan nuevas clases que proveen de la
infraestructura técnica: interfaces de usuario, manejo de bases de datos para
almacenar objetos en una base de datos, comunicaciones con otros sistemas, etc.
Las clases de dominio del problema del análisis son agregadas en esta fase. El
diseño resulta en especificaciones detalladas para la fase de programación.
Programación
En esta fase las clases del diseño son convertidas
a código en un lenguaje de programación orientado a objetos. Cuando se crean
los modelos de análisis y diseño en UML, lo más aconsejable es trasladar
mentalmente esos modelos a código.
Pruebas
Normalmente, un sistema es tratado en pruebas de
unidades, pruebas de integración, pruebas de sistema, pruebas de aceptación,
etc. Las pruebas de unidades se realizan a clases individuales o a un grupo de
clases y son típicamente ejecutadas por el programador. Las pruebas de
integración integran componentes y clases en orden para verificar que se
ejecutan como se especificó. Las pruebas de sistema ven al sistema como una
"caja negra" y validan que el sistema tenga la funcionalidad final
que le usuario final espera. Las pruebas de aceptación conducidas por el
cliente verifican que el sistema satisface los requerimientos y son similares a
las pruebas de sistema.
La información fue sacada de:
http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado
No hay comentarios:
Publicar un comentario