Notación UML: Fundamentos y Características Esenciales para el Modelado de Software
La Notación UML (Lenguaje Unificado de Modelado) es una forma general de describir la estructura y el comportamiento de un sistema, incluyendo cómo se conectan los objetos y la relación entre ellos. Busca la simplicidad; es intuitiva, homogénea y coherente. No es una notación cerrada: es genérica, extensible y configurable por el usuario.
Vistas Esenciales de UML
UML organiza la descripción de un sistema a través de diferentes vistas, cada una enfocada en un aspecto particular:
- Vista de Componentes: Muestra la organización del código y demás archivos. Consiste en el Diagrama de Componentes y está orientada al equipo de desarrollo.
- Vista Lógica: Muestra el diseño de la funcionalidad del sistema, incluyendo su estructura y comportamiento.
- Vista de Caso de Uso: Muestra la funcionalidad del sistema tal como es percibida por actores externos. Su contenido conduce el proceso de desarrollo y verificación.
- Vista de Despliegue: Muestra la implantación del sistema en la arquitectura física. Es utilizada por los equipos de desarrollo, integración y pruebas.
- Vista de Concurrencia: Muestra la concurrencia en el sistema, dividido en procesos y procesadores. Da cuenta de los aspectos de comunicación y sincronización derivados.
Modelado con Diagramas UML: Tipos y Aplicaciones
UML se compone de diversos tipos de diagramas, cada uno diseñado para modelar aspectos específicos de un sistema. Los principales son:
- Diagramas de Casos de Uso
- Diagramas de Clases
- Diagramas de Objetos
- Diagramas de Componentes
- Diagramas de Distribución (o Despliegue)
- Diagramas de Actividad
- Diagramas de Estados (o Máquina de Estados)
- Diagramas de Colaboración (o Comunicación)
- Diagramas de Secuencia
Tipos de Diagramas UML y su Propósito
A continuación, se detallan algunos de los diagramas más relevantes:
- Diagramas de Casos de Uso: Representan las funciones del sistema desde el punto de vista del usuario.
- Diagramas de Secuencia: Son una representación temporal de los objetos del sistema y sus interacciones, mostrando la cronología de los envíos de mensajes.
- Diagramas de Colaboración: Son una representación espacial de los objetos, enlaces e interacciones.
- Diagramas de Clases: Representan la estructura estática en términos de clases y relaciones.
- Diagramas de Actividades: Representan el comportamiento de una operación en términos de acciones.
- Diagramas de Transición de Estados: Representan el comportamiento de una clase en términos de estados.
- Diagramas de Componentes: Representan los componentes físicos de una aplicación.
- Diagramas de Despliegue: Representan el despliegue de los componentes sobre los dispositivos materiales.
Componentes Clave del Modelado de Negocio en UML
El modelado de negocio en UML incorpora elementos específicos para describir los procesos y la estructura de una organización:
- Caso de Uso de Negocio
- Actor de Negocio
- Realización de Caso de Uso de Negocio
- Unidad de Organización
- Entidad de Negocio
- Trabajador de Negocio
El Concepto de Actor en UML
Un Actor representa un papel o rol interpretado por una persona o una cosa que interactúa con un sistema. Se determinan observando a los usuarios directos del sistema.
Clasificación de Actores en UML
Los actores se pueden categorizar en:
- Primarios: Agrupan a todo aquello que utiliza las funciones principales del sistema para satisfacer un requerimiento.
- Secundarios: Agrupan a todo aquello de lo que el sistema se vale para atender los requerimientos de los actores principales.
- Tipos de Actores: Pueden ser Personas, Dispositivos u Otros Sistemas.
Escenarios de Casos de Uso: Detalle y Propósito
Un Escenario de Caso de Uso es una descripción de una situación del negocio que puede ser visualizada por los usuarios de un sistema. Es decir, un escenario es una secuencia de interacciones que ocurren bajo ciertas condiciones para lograr el objetivo del actor primario, y que tienen un resultado particular con respecto a este objetivo.
Atributos y Estereotipos en el Modelado UML
Visibilidad de los Atributos
La visibilidad de los atributos en UML define el acceso a los elementos de una clase:
- Público (+): Hace el elemento visible a todos los clientes de la clase.
- Protegido (#): Hace el elemento visible a las subclases de la clase.
- Privado (-): Hace el elemento visible solo para la clase.
Estereotipos en UML
Un Estereotipo es un mecanismo que se utiliza para categorizar las clases, extendiendo la semántica de UML. UML define tres estereotipos primarios para el modelado de clases de análisis:
<<Borde>>(boundary)<<Control>><<Entidad>>(entity)
Mensajes Recursivos y Períodos de Actividad
Los mensajes recursivos: El caso particular de envíos de mensajes recursivos se representa por un desdoblamiento de la banda rectangular en los diagramas de secuencia.
Un período de actividad corresponde al tiempo durante el que un objeto efectúa una acción, bien directamente, o bien por medio de otro objeto que le sirve de subcontratado.
Diagramas de Secuencia: Interacciones Temporales
Los Diagramas de Secuencia muestran interacciones entre objetos según un punto de vista temporal. Representan una interacción entre objetos en base a la cronología de los envíos de mensajes.
Reglas de Implementación de Casos de Uso
La descripción de un Caso de Uso (UC) comprende los elementos siguientes:
- Inicio
- Fin
- Interacción con el actor
- Intercambio de información
- Cronología y origen de la información
- Las repeticiones de comportamiento
- Opcionalidad
Organización del Sistema: Paquetes y Componentes UML
Cada paquete es una agrupación de elementos según un criterio puramente lógico. La forma general del sistema (la arquitectura del sistema) viene expresada por la jerarquía de paquetes y por la red de relaciones de dependencia entre paquetes.
Un componente de UML representa una parte modular de un sistema. Un componente tiene una vista externa con propiedades y operaciones públicas, y tiene una vista interna con propiedades privadas y la realización de clasificadores.
Clases en UML: Estructura y Tipos
Una clase es una descripción abstracta –condensada– de un conjunto de objetos del ámbito de la aplicación. Las clases se representan por rectángulos compartimentados.
Clasificación de Clases UML
Existen diversos tipos de clases en UML, incluyendo:
- Clases Límite o Borde (Boundary)
- Clases Entidad (Entity)
- Clase Control (Control)
- Clase Parametrizable
- Clase Utilidad
- Clase Parametrizada Utilidad
- Metaclase
Eventos en UML: Desencadenantes de Transiciones de Estado
Los Eventos sirven de desencadenante para pasar de un estado a otro. Los eventos determinan qué caminos deben seguirse en un diagrama de estados.
