Fundamentos de UML: Modelos, Diagramas y Procesos de Desarrollo
Clasificado en Informática
Escrito el en
español con un tamaño de 6,85 KB
Modelos UML: Notación, Herramientas y Procesos
En el desarrollo de software, se utilizan diversos modelos, notaciones, herramientas y procesos como FAST y RUP para estructurar y gestionar proyectos complejos.
¿Qué es UML? Fundamentos y Conceptos Clave
Definición y Alcance
UML (Unified Modeling Language o Lenguaje Unificado de Modelado) es un lenguaje de propósito general para el modelado orientado a objetos. Su fortaleza radica en que combina notaciones provenientes de diversas áreas del modelado, incluyendo:
- Modelado orientado a objetos.
- Modelado de datos.
- Modelado de componentes.
- Modelado de grupos de trabajo (Workflows).
Es importante destacar que UML no es una metodología en sí misma. Por lo tanto, no cubre todas las necesidades de especificación de un proyecto de software (por ejemplo, no define los documentos a generar).
Aspectos Relevantes y Estandarización
UML es el lenguaje de modelado predominante en la actualidad por varias razones clave:
- Participación de metodólogos influyentes y de importantes empresas en su creación y evolución.
- Es un estándar de facto y de jure en la industria.
Su estatus como estándar se puede verificar en la amplia disponibilidad de herramientas que proveen notación UML y en la extensa bibliografía existente sobre el tema.
Modelos y Diagramas en UML
Un modelo captura una vista de un sistema del mundo real. Es una abstracción que describe los propósitos del sistema que son relevantes para un problema particular. Por otro lado, un diagrama es una representación gráfica de una colección de elementos de un modelo.
Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés. Cada modelo es completo desde su propio punto de vista del sistema, y deben existir relaciones de trazabilidad entre los diferentes modelos.
Tipos de Diagramas en UML
UML organiza sus diagramas en varias categorías para representar diferentes aspectos de un sistema:
- Diagrama de Casos de Uso
- Diagrama de Clases
- Diagrama de Objetos
- Diagramas de Comportamiento:
- Diagrama de Estado
- Diagrama de Actividad
- Diagramas de Interacción:
- Diagrama de Secuencia
- Diagrama de Colaboración (o Comunicación)
- Diagramas de Implementación:
- Diagrama de Componentes
- Diagrama de Despliegue
Organización de los Modelos
Propuesta de RUP (Rational Unified Process)
El Proceso Unificado de Rational (RUP) propone una organización basada en los siguientes modelos:
- Modelo de casos de uso del negocio
- Modelo de objetos del negocio
- Modelo de casos de uso
- Modelo de análisis
- Modelo de diseño
- Modelo de despliegue
- Modelo de datos
- Modelo de implementación
- Modelo de pruebas
Paquetes en UML
Los paquetes en UML ofrecen un mecanismo general para la organización, agrupando elementos del modelado. Cada paquete corresponde a un submodelo (o subsistema) del modelo principal (sistema). Un paquete puede contener otros paquetes sin límites de anidamiento, pero cada elemento pertenece a un único paquete.
Descripción de Diagramas Principales
Diagrama de Casos de Uso
Son una técnica para capturar información respecto a los servicios que un sistema proporciona a su entorno. Se considera una técnica fundamental para la captura y especificación de requisitos.
Diagrama de Clases
Es el diagrama principal para el análisis y diseño del sistema. Presenta las clases del sistema junto con sus relaciones estructurales y de herencia. La definición de una Clase incluye definiciones para sus atributos y operaciones. El modelo de Casos de Uso debería aportar información para establecer las clases, objetos, atributos y operaciones del sistema.
Profundizando en los Casos de Uso
Los Casos de Uso describen, bajo la forma de acciones y reacciones, el comportamiento de un sistema desde el punto de vista del usuario. Permiten definir los límites del sistema y las relaciones entre este y su entorno. Son descripciones de la funcionalidad del sistema independientes de la implementación, lo que facilita que el usuario final pueda entenderlos y participar en su validación.
Actores
Un actor representa un rol que interactúa con el sistema. Se clasifican en:
- Actores Principales: Personas que usan el sistema.
- Actores Secundarios: Personas que administran o mantienen el sistema.
- Material Externo: Dispositivos materiales imprescindibles que forman parte del ámbito de la aplicación y deben ser utilizados.
- Otros Sistemas: Sistemas con los que el sistema actual interactúa.
Es importante notar que una misma persona física puede interpretar varios papeles como actores distintos. El nombre del actor debe describir el rol desempeñado.
Escenarios y Ciclo de Vida
Los Casos de Uso se determinan observando y precisando, actor por actor, las secuencias de interacción (escenarios) desde la perspectiva del usuario. Un Escenario es una instancia de un Caso de Uso. Los Casos de Uso intervienen durante todo el ciclo de vida del software, y el proceso de desarrollo estará dirigido por los Casos de Uso.
Relaciones en los Diagramas de Casos de Uso
UML define cuatro tipos de relaciones principales en estos diagramas:
- Comunicación (Association): Representa la interacción entre un actor y un caso de uso.
- Inclusión (<<include>>): Una instancia del caso de uso origen incluye también el comportamiento descrito por el caso de uso destino.
- Extensión (<<extend>>): El caso de uso origen extiende opcionalmente el comportamiento del caso de uso destino.
- Herencia (Generalization): El caso de uso origen (hijo) hereda la especificación del caso de uso destino (padre) y posiblemente la modifica o amplía.