Descargar

Modelado Estructural y Paquetes de Software (página 3)

Enviado por Pablo Turmero


Partes: 1, 2, 3
edu.red

Realización Relación entre clasificadores, un clasificador Especifica un contrato que otro clasificador garantiza que cumplirá. ICollection add() remove() contains() <> List ICollection List

edu.red

Interfaces, tipos y roles Una interfaz es una colección de operaciones que especifican los servicios de una clase o componente. Las interfaces modelan las líneas de separación o puntos de conexión (seams) de un sistema. Una interfaz permite separar la especificación de la implementación. Un tipo especifica un dominio de valores junto con operaciones (no métodos) aplicables a esos valores. Un rol denota el comportamiento de una entidad dentro de un particular contexto.

edu.red

Interfaces Interfaz requerida Interfaz proporcionada

edu.red

Clases Estructuradas

edu.red

Clases Estructuradas Estructura interna de una clase Biblioteca estudiante: Prestatario [0..*] (Gp:) PrestamoEstud: Prestamo [0..4]

personal: Prestatario [0..*] (Gp:) PrestamoPerso: Prestamo [0..9]

:Libro: [0..*] 0..* 1 1 0..* :Bibliotecario [1..*] biblioConectado:Bibliotecario [0..1]

edu.red

Diagrama de estructura compuesto Biblioteca estudiante: Prestatario [0..*] (Gp:) PrestamoEstud: Prestamo [0..4]

personal: Prestatario [0..*] (Gp:) PrestamoPerso: Prestamo [0..9]

Libro: [0..*] 0..* 1 1 0..* :Bibliotecario [1..*] biblioConectado:Bibliotecario [0..1]

edu.red

Paquetes Elemento organizativo Puede agrupar elementos de cualquier tipo Permite agrupar elementos relacionados semánticamente Un elemento es exclusivo a un paquete: Si eliminamos el paquete se elimina el elemento Establece un espacio de nombres Posibilidad de anidar paquetes

edu.red

Paquetes: Notación

edu.red

Importación/Exportación en paquetes Visibilidad pública y privada Relaciones de importación y generalización. La parte pública de un paquete son sus exportaciones. Cuando un paquete A importa a otro B, todos los elementos públicos de B son añadidos a A, se accede a ellos sin calificar su nombre. La complejidad de un gran número de abstracciones es controlada a través de los paquetes y de la importación.

edu.red

Importación/Exportación en paquetes La relación de acceso es igual que la importación, pero los elementos públicos son añadidos como privados. La relación de importación es transitiva. Importación y acceso se representan mediante relaciones de dependencia estereotipadas con <> y <>. Los paquetes anidados tienen acceso al espacio de nombres del paquete que los contiene.

edu.red

(Gp:) Servidor (Gp:) + BaseDeDatos (Gp:) + ServicioDeRegistro (Gp:) Cliente (Gp:) + FormularioPedido (Gp:) + FormularioDeSeguimiento (Gp:) – Pedido (Gp:) GUI (Gp:) + Ventana (Gp:) + Formulario (Gp:) # GestorEventos (Gp:) Politicas (Gp:) + ReglasPedidos (Gp:) + GUI:Ventana (Gp:) <> (Gp:) <>

<> <> <>

edu.red

Generalización de Paquetes (Gp:) WindowsGUI (Gp:) + GUI:Ventana (Gp:) + Formulario (Gp:) – GUI:GestorEventos (Gp:) + VBForm (Gp:) GUI (Gp:) + Ventana (Gp:) + Formulario (Gp:) – GestorEventos (Gp:) MacGUI

edu.red

edu.red

Paquetes Un paquete bien estructurado debe: ser cohesivo estar poco acoplado pocos anidamientos conjunto equilibrado de elementos

edu.red

Uso de los paquetes Agrupar elementos relacionados para manejarlos en conjunto. Ejemplos: Paquete “Clases e interfaces del modelo” Paquete “Interfaces de usuario” Paquete “Servicios base de datos” Paquete “Modelo del análisis”

edu.red

Uso de los paquetes (Gp:) Modelo de Análisis

edu.red

Modelo Un modelo captura una vista de un sistema físico. Es una abstracción de ese sistema con cierto propósito, para cierto conjunto de personas interesadas y a cierto nivel de abstracción. Un modelo contiene todos los elementos de modelado necesarios. Un modelo y sus elementos se representan mediante diagramas, que expresan una vista del modelo.

edu.red

Modelo

edu.red

Vistas UML: 4 + 1 Vista de Diseño Vista de Implementacion Vista de Interacción Vista de Despliegue Vista de casos de uso vocabulario funcionalidad ensamblado gestion conf. topología entrega distribución instalación capacidad de procesamiento escalabilidad rendimiento comportamiento

edu.red

Vistas UML: 4 +1 Vista de Diseño Vista de Implementacion Vista de Interacción Vista de Despliegue Vista de casos de uso clases interfaces colaboraciones componentes nodos clases activas casos de uso

edu.red

Vistas UML Vista de Diseño Vista de Implementación Vista de Interacción Vista de Despliegue Vista de casos de uso Diagramas de clase Diagramas de interacción Diagramas de estado Diagramas de componentes Diagrama de interacción Diagramas de estado Diagramas de despliegue Diagramas de casos de uso Diagramas de clase Diagramas de interacción Diagramas de estado

edu.red

Contenidos Modelado del Comportamiento Diagramas de interacción Diagramas de actividades Máquinas de estado Componentes Modelado de la Implementación Artefactos y despliegue Diagramas de despliegue Colaboraciones UML, Metamodelado y MDA

edu.red

Enlaces y Conectores Un enlace es : una conexión semántica entre objetos. comúnmente es una instancia de una asociación. un camino por el cual enviar un mensaje Una línea de vida es un participante en una interacción. Un conector es un enlace entre líneas de vida

edu.red

Enlaces y Asociaciones mensaje enlace objeto

edu.red

Enlaces Restricciones para expresar la naturaleza del enlace: association self global local parameter

edu.red

Diagrama de Objetos

edu.red

Diagrama de Objetos

edu.red

Diagrama de Objetos alumnos * profesores * grupos *

edu.red

Interacciones y Mensajes Interacción: Comportamiento que comprende un conjunto de mensajes intercambiados entre un conjunto de líneas de vida dentro de un contexto para lograr un propósito. Mensaje: especificación de una particular comunicación entre líneas de vida de una interacción que transmite información, con la expectativa de desencadenar una actividad.

edu.red

Líneas de Vida mensaje línea de vida irene:Persona umu: Empresa asignar(desarrollo)

edu.red

Líneas de Vida mensaje conector línea de vida :Empresa irene:Persona umu: Empresa

edu.red

Tipos de mensajes Síncrono El emisor espera hasta recibir el resultado Asíncrono El emisor no espera a recibir el resultado Retorno Indica el retorno de una llamada Creación y destrucción <> y <>

edu.red

Modelado del comportamiento Se describe cómo los objetos colaboran entre sí para realizar cierta actividad. Se expresan mediante los diagramas de interacción: Diagramas de Secuencia y Diagramas de Comunicación También se describe las máquinas de estado que caracterizan a los objetos y flujos de actividades Diagramas de estado Diagramas de actividades

edu.red

Diagramas de Interacción Describen una interacción y hay dos tipos. Diagramas de Secuencia: Destacan la ordenación temporal de los mensajes Diagramas de Comunicación: Destacan la organización estructural de los objetos participantes. Equivalencia semántica

edu.red

Diagramas de Secuencia Incluye: Líneas de vida (antes objetos y su línea de tiempo ) Focos de control o activación Mensajes: a instancias o de creación Mensaje self Información de control (en UML 2 sólo en diagramas de comunicación): condiciones y marcas de iteración Indicar el objeto devuelto por el mensaje: return (añadirlos sólo cuando ayuden a clarificar la interacción)

edu.red

Mensajes Simple: metodo(arg) Creación de objetos: <> Destrucción de objetos: <> Asignación: v:= método(arg) Identificar hilo: número del mensaje en la secuencia precedido por el nombre del proceso o hilo

En UML 2.0 en diagramas de comunicación:

Condición: [condicion] metodo(arg) Iteración: * metodo(arg), [1..n] metodo(arg) Numeración jerárquica o secuencial o ninguna

edu.red

Mensajes Simple: preparar(), addPedido(p) Condición: [condicion] metodo(arg) Iteración: * preparar() Asignación: hayStock:= eliminar() Identificar hilo: D3 : activar()

edu.red

Diagrama de Comunicación c:Cliente :Transaccion p:ProxyODBC 1: <> 2: establecerAcciones 3: establecerValores 4: establecerValores 6: <> t {local} proxy {global} {new}

edu.red

Operadores de control Ejecución opcional (opt) El cuerpo se ejecuta si se cumple una condición Ejecución condicional (alt) El cuerpo se divide en varias regiones, cada una con una condición asociada. Se ejecuta el cuerpo de la región cuya condición se satisface. Ejecución paralela (par) El cuerpo se divide en varias regiones. Cada región representa una computación paralela. Se ejecuta de forma paralela el cuerpo de cada región Ejecución iterativa (loop) El cuerpo se ejecuta mientras se cumple una condición Ejecución referencia (ref) El cuerpo hace referencia a otra interacción

edu.red

Uso de los diagramas de interacción Modelado del aspecto dinámico. Modelado del flujo de control que caracteriza el comportamiento de un sistema: casos de uso colaboraciones patrones frameworks operaciones

edu.red

Diagramas de Secuencia vs. Diagramas de Comunicación Equivalencia semántica Simples para comportamientos simples. Si hay mucho comportamiento condicional, usar diferentes escenarios. Diagramas de secuencia muestran mejor el orden en que se ejecutan los mensajes Diagramas de colaboración muestran claramente los objetos a los que está conectado un determinado objeto. Permiten la generación de código

edu.red

Diagramas de Actividad Representa una actividad. Basados en las redes de Petri. Formado por nodos conectados por arcos: nodos acción y actividad nodos de control, como control de concurrencia y decisión nodos objeto flujos de control y de flujo de objetos Una actividad o una acción produce algún efecto que provoca algún cambio en el sistema o retorna un valor.

edu.red

Nodos de Actividad Nodos de acción Realizan un trabajo: llamadas a operaciones, actividades, comportamiento, envío de señales, aceptar un evento. Nodos de control Controlan el flujo de la actividad Nodos de objetos Objetos o datos utilizados en la actividad Flujo de control de la actividad Flujo de objetos en la actividad

edu.red

Semántica actividades Basada en el flujo de tokens. Un token contiene un dato, objeto o punto de control y está presente en un nodo. Un nodo inicia la ejecución cuando se satisfacen las condiciones sobre sus tokens de entrada; al inicio acepta tokens de sus entrada y un token es colocado en el nodo; al finalizar ofrece tokens a sus arcos de salida y elimina el token. Existen reglas de flujo de tokens

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente