Este es el último capítulo sobre la vista estática de UML, ¡pero no desesperéis que aún quedan muchas más entradas sobre ello!.
Willy deja de dar la murga y tómate una chocolatina que estás bajo de glucosa. ¡oh, wait!.... |
Resumiendo, lo que veremos en esta entrada es la explicación de dependencia, restricciones e instancia. ¡Y sin más dilación empezamos con la diversión!.
3. Dependencia
Nos indica una relación semántica entre dos o más elementos del modelo, es decir, nos informa sobre una situación en la cual un cambio sobre el elemento proveedor puede requerir un cambio o indicar un cambio en el significado cliente de la dependencia. En otras palabras, es una clase de uso, es decir la clase B usa a la clase A.
Querido raptor, a veces me pregunto el porqué de vuestra extinción... |
Hay varias clases de dependencia como se muestra en la siguiente tabla:
Relación
|
Función
|
Palabra
clave
|
Acceso
|
Importación privada de los contenidos de otro paquete
|
acces/accede
|
Creación
|
Establece que una clase crea instancia de otra clase
|
create/crea
|
Dependencia de traza
|
Indica que existe una conexión entre elementos en diferentes modelos.
Menos preciso que una correspondencia
|
trace/traza
|
Derivación
|
Establece que una instancia puede ser calculada a partir de otra
instancia
|
derive/deriva
|
Envío
|
Relación entre emisor de una señal y el receptor de la misma
|
send/envía
|
Instanciación
|
Establece que un método de una clase creo instancias de otra clase
|
instantiatie/usa instancias
|
Ligadura
|
Asignación de valores a los parámetros de una plantilla para generar
un nuevo elemento del modelo
|
bind/ligado
|
Llamada
|
Establece que un método de una clase llama a una operación de otra
clase
|
call/llamada
|
Permiso
|
Permiso para que un elemento use los contenidos de otro elemento
|
permit/permite
|
Realización
|
Correspondencia entre una implementación y su especificación
|
realize/realiza
|
Refinamiento
|
Establece que existe una correspondencia entre elementos a dos
niveles semánticos
|
refine/refina
|
Sustitución
|
Establece que la clase origen soporta interfaces y contratos de la
clase destino y puede ser sustituida por esta
|
subsitute/sustituye
|
Uso
|
Establece que un elemento necesita de la presencia de otro elemento
para su correcto funcionamiento(incluye llamada, creación, instanciación,
envío)
|
use/usa
|
Tabla obtenida del libro El Lenguaje Unificado de Modelado, Manual de Referencia
A continuación explicaremos un poco más algunos de los tipos de dependencia:
- Dependencia de traza: Se usa normalmente para conocer donde están los requisitos del sistema en los modelos y saber los cambios que se han efectuado sobre los mismos.
- Refinamiento: Relación entre dos versiones de un concepto en diferentes etapas del desarrollo o en diferentes niveles de abstracción. Normalmente uno de ellos es una versión finalizada mientras que el otro no (es un esbozo de dicha versión final o un concepto más abstracto o genérico). El elemento más detallado contendrá las decisiones de diseño tomadas. En otras palabras es un recordatorio para saber la interrelación entre múltiples modelos.
- Dependencia de derivación: Indica que un elemento puede ser calculado a partir de otro elemento.
- Dependencia de uso: El comportamiento o la implementación de un elemento afecta al comportamiento o implementación de otro. Un ejemplo de este tipo son los requisitos del compilador que necesitan la definición de una clase para compilar otra clase. Aunque es aconsejable especificar el tipo de dependencia de uso suele omitirse porque su propósito es resaltar la dependencia solamente.
- Dependencia de importación: Añade los nombres de los contenidos del espacio de nombres destino al espacio de nombres desde el que se importa.
4. Restricción
UML incluye la definición de un lenguaje de restricción llamado OCL (Onject Constraint Language) del cual hablaremos en profundidad en otra entrada, para las restricciones de UML. Su uso está pensado para indicar propiedades de existencia y propiedades universales.
Se muestran como expresiones de texto entre llaves y se deben escribir en lenguaje natural o formal. Nos dan a entender que un atributo de la clase o relación tiene un límite impuesto.
5. Instancia
Como definición general una instancia es una entidad de tiempo de ejecución con identidad (o lo que es lo mismo, algo que puede distinguirse de otras entidades en tiempo de ejecución) con un valor en todo momento que puede cambiar en respuesta a operaciones realizadas sobre él.
En la vista estática una instancia hace referencia a una instantánea que es una configuración estática específica de un sistema en un instante. Consta de objetos y otras instancias, valores y enlaces:
Las instantáneas son ejemplos de sistemas, no definiciones de sistemas.
Hasta aquí la entrada de hoy. Espero que os haya ayudado para entender, si no todos, al menos algunos conceptos.
¡Gracias por leerme!.
En la vista estática una instancia hace referencia a una instantánea que es una configuración estática específica de un sistema en un instante. Consta de objetos y otras instancias, valores y enlaces:
- Cada objeto es una instancia directa de una clase que lo describe completamente y una instancia indirecta de los antecesores de esa clase.
- Cada enlace es una instancia de una asociación.
- Cada valor es una instancia a un tipo de datos.
- El estado de un sistema es una instancia válida del sistema si cada instancia en él es una instancia de algún elemento de un modelo del sistema bien formado y si todas las restricciones impuestas por el modelo son satisfechas por las instancias.
Las instantáneas son ejemplos de sistemas, no definiciones de sistemas.
Hasta aquí la entrada de hoy. Espero que os haya ayudado para entender, si no todos, al menos algunos conceptos.
¡Gracias por leerme!.
No hay comentarios:
Publicar un comentario