Uml (Lenguaje Unificado de Modelado)
¿Que es ?
Uso en El Ciclo e Vida del Software
Son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro.
UML es un "lenguaje de modelado" o gráfico para visualizar, especificar, construir o describir métodos procesos o sistemas .
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.
Tipos de Diagrama
Uso
Diagrama de objetos
Los diagramas de objetos no muestran la multiplicidad ni los roles, aunque su notación es similar a los diagramas de clase.
Diagrama de componentes
Un diagrama de componentes representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes. Los componentes físicos incluyen archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes. Los diagramas de Componentes prevalecen en el campo de la arquitectura de software pero pueden ser usados para modelar y documentar cualquier arquitectura de sistema.
Diagrama de clases
Son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro.
Diagrama de despliegue
Se utiliza para modelar el hardware utilizado en las implementaciones de sistemas y las relaciones entre sus componentes.
Diagrama de paquetes
Muestra cómo un sistema está dividido en agrupaciones lógicas mostrando las dependencias entre esas agrupaciones. Dado que normalmente un paquete está pensado como un directorio, los diagramas de paquetes suministran una descomposición de la jerarquía lógica de un sistema.
Diagrama de estructura compuesta
Muestra la estructura interna de una clase y las colaboraciones que esta estructura hace posibles. Esto puede incluir partes internas, puertas mediante las cuales, las partes interactúan con cada una de las otras o mediante las cuales, instancias de la clase interactúan con las partes y con el mundo exterior, y conectores entre partes o puertas. Una estructura compuesta es un conjunto de elementos interconectados que colaboran en tiempo de ejecución para lograr algún propósito. Cada elemento tiene algún rol definido en la colaboración.
Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir.
Se puede aplicar en el desarrollo de software gran variedad de formas para dar soporte a una metodología de desarrollo de software , pero no especifica en sí mismo qué metodología o proceso usar.
Diagrama de estado
Muestran el conjunto de estados por los cuales pasa un objeto durante su vida en una aplicación en respuesta a eventos (por ejemplo, mensajes recibidos, tiempo rebasado o errores), junto con sus respuestas y acciones.
Diagrama de flujo
Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.
Representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama de actividades muestra el flujo de control general.
Diagrama de casos de uso
Sirven para especificar la comunicación y el comportamiento de un sistema mediante su interacción con los usuarios y/u otros sistemas. O lo que es igual, un diagrama que muestra la relación entre los actores y los casos de uso en un sistema.
Diagrama de tiempo
Un diagrama de tiempos o cronograma es una gráfica de formas de onda digitales que muestra la relación temporal entre varias señales, y cómo varía cada señal en relación a las demás
Diagrama de secuencia
Muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso.
Además contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario y mensajes intercambiados entre los objetos.
Diagrama de colaboración
Muestran explícitamente las relaciones de los roles. Por otra parte, un diagrama de comunicación no muestra el tiempo como una dimensión aparte, por lo que resulta necesario etiquetar con números de secuencia tanto la secuencia de mensajes como los hilos concurrentes.
Un uso de un diagrama de colaboración es mostrar la implementación de una operación. La comunicación muestra los parámetros y las variables locales de la operación, así como asociaciones más permanentes. Cuando se implementa el comportamiento, la secuencia de los mensajes corresponde a la estructura de llamadas anidadas y el paso de señales del programa.
Diagrama de interacción
Representa la forma en como un Cliente (Actor) u Objetos (Clases) se comunican entre si en petición a un evento. Esto implica recorrer toda la secuencia de llamadas, de donde se obtienen las responsabilidades claramente.
Se utiliza para modelar los aspectos dinámicos de un sistema.
Beneficios
Ventajas
-El UML se puede utilizar para modelar casi cualquier tipo de aplicación, que se ejecuta en cualquier tipo y combinación de hardware, sistema operativo, lenguaje de programación, y de la red, en UML.
-Permite especificar la estructura y el comportamiento del sistema y comunicarlo a todos los integrantes del proyecto.
-Permite dimensionar mejor los riesgos de un proyecto tener un mejor rendimiento antes de construir el sistema.
-Facilita la documentación de las decisiones de la arquitectura del proyecto.
-Ofrece mayor rigurosidad en la especificación.
-Permite realizar una verificación y validación del modelo realizado.
-Se pueden automatizar determinados procesos y permite generar código a partir de los modelos .
-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 planeacion y al control de proyectos.
-Alta reutilización y minimización de costos.
-Fácil actualización o modificado del software a programar
UML no es un método de desarrollo.
UML al no ser un método de desarrollo es independiente del ciclo de desarrollo
UML no se presta con facilidad al diseño de sistemas distribuidos.