Que Es UML?
UML es una técnica para la especificación sistemas en todas sus fases.
Nació en 1994 cubriendo los aspectos principales de todos los métodos
de diseño antecesores y, precisamente, los padres de UML son Grady Booch,
autor del método Booch; James Rumbaugh, autor del método OMT e Ivar Jacobson,
autor de los métodos OOSE y Objectory. La versión 1.0 de UML fue liberada
en Enero de 1997 y ha sido utilizado con éxito en sistemas construidos
para toda clase de industrias alrededor del mundo: hospitales, bancos,
comunicaciones, aeronáutica, finanzas, etc.
Los principales beneficios de UML son:
- 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.
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:
- 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.
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.
No hay comentarios:
Publicar un comentario