Conferencia # 3 Ingeniería de Software II Disciplina Analysis & Design. Actividad: Refinar la Arquitectura
Objetivos Brindar una descripción general del flujo de trabajo asociado a la actividad Refinar la Arquitectura. Profundizar en las sub-actividades “Describir la Distribución” e “Identificar Mecanismos de Diseño” (Estudio individual).
Bibliografía Ayuda en línea de Rational Unified Process 2003 Monografía Mecanismos de Diseño Monografía Documentando Mecanismos de Diseño
Recapitulando. Donde estamos?
Entradas Entrada: Glosario Documento de la Arquitectura Requisitos Adicionales Modelo de Diseño Modelo de Casos de Uso Realizaciones de Casos de Uso Modelo de Análisis Clases de Análisis
Salidas Subsistemas de Diseño Interfaces Paquetes de Diseño Clases Activas Clases Modelo de Diseño
Actividad Refinar la Arquitectura. Propósito: Completar la Arquitectura de la presente Iteración. Arquitectura: Primero en el Proyecto… … y en la iteración presente.
Trabajo Independiente Visto Anteriormente Se verá Próximamente Sistemas en Tiempo Real
Describir la Distribución To describe how the functionality of the system is distributed across physical nodes. This activity applies only to distributed systems. (RUP 2003) Procesadores Dispositivos Protocolos
Describir la Distribución Entrada Deployment Model (de iteraciones previas) Design Model Implementation Model Software Architecture Document Supplementary Specifications (Requisitos Adicionales)
Describir la Distribución Salidas Deployment Model Software Architecture Document
Describir la Distribución Pasos: 1. Analizar los requisitos de Distribución. 2. Definir la configuración de la Red. 3. Asignar elementos del sistema a los nodos.
Paso 1. Analizar los requisitos de Distribución. Demanda de Distribución en el Dominio del problema (Sistemas legados) La configuración de Despliegue Seleccionada. (Aplicaciones Web)
Paso 1. Analizar los requisitos de Distribución. Recursos de Computo Requeridos. Necesidad de Tolerancia a Fallos
Enlaces Redundantes para tolerancia a fallos
Paso 1. Analizar los requisitos de Distribución. Razones Económicas. Flexibilidad y Escalabilidad.
Balance de Carga
Paso 2. Definir la configuración de la Red. El ancho de banda de un tramo específico (de ser requerido) Los enlaces redundantes en la red (de ser necesarios, para garantizar tolerancia a fallos) Si existe Internet en medio de la solución. Identificar Nodos
Paso 2. Definir la configuración de la Red. Describiendo los nodos: Configuración de Hardware número de procesadores Espacio en disco Cantidad de memoria Velocidad Propósito: (Cliente Servidor de Aplicación Servidor Web Servidor de Datos ) Configuración de Software Sistema Operativo Software Especifico
Paso 3. Asignar elementos del sistema a los nodos. Asignación Lógica (elementos lógicos diseñados) Clases, Subsistemas, Paquetes (de Diseño)
Paso 3. Asignar elementos del sistema a los nodos. Asignación Física (ficheros obtenidos en Implementación) .Exe, .JAR, .EAR, .DLLs, .dcp
Paso 3. Asignar elementos del sistema a los nodos. Diagramas de Clases o de Componentes para cada nodo.
Mecanismos de Diseño Conjunto de Clases y/o subsistemas, que colaboran para dar respuesta a requisitos que son comunes a varios proyectos o a varios casos de uso de un mismo proyecto. RUP 2003
Ejemplos Persistencia Autorización Transacciones Registro de Trazas Donde hemos visto estos aspectos recientemente ?? Elementos de Diseño identificados.
Desde Análisis Existían
Para qué nos sirven Lograr un diseño Homogéneo y Controlado Reutilizar Conocimiento Simplificar la Documentación
Documentar Mecanismo de diseño Elementos Clientes Participantes Concretos (Propios o Aportados por una tecnología) Vista Estática (Diag. de Clases) Colaboraciones Genéricas (Diag. Interacción)
Vista estática de un Mecanismo de Acceso a Datos usando JDBC
Colaboraciones Las colaboraciones capturan escenarios de uso del mecanismo. Ej. Mecanismo de Acceso a Datos Cargar Elemento Cargar Lista Update Create Delete
Encontrar Mecanismos de Diseño. Pasos Identificar Mecanismos empleados Anteriormente Identificar Nuevos Posibles Mecanismos Documentarlos de manera Global al Proyecto
Trabajo independiente Consultar Monografía Mecanismos de Diseño Consultar Monografía Documentando un Mecanismo de Diseño Identificar y preparar exposición de posibles Mecanismos en su proyecto Nombre, Participantes (Incluye Diagrama de clases para mostrarlos), Clientes(Resaltar en el diagrama qué elementos serán clientes del mecanismo), Listado de Escenarios de Uso(Solo el listado )
FIN