Sistemas de Información II. Diseño de Sistemas Orientado a Objetos

Documentos relacionados
TEMA 4. PROCESO UNIFICADO

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

Elementos Diagramas de Clases Clase:

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ

Diagramas De Casos De Uso

Diseño arquitectónico 1ª edición (2002)

Lenguaje de Modelamiento Unificado.

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.

Ingeniería a de Software CC51A

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

UML Unifield Modeling Languaje

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

Cristian Blanco

Guía del Curso Analista Programador Java: Business Apps Expert

Proceso Unificado (Iterativo e incremental)


UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso

Capacitación adquirida por el alumno al finalizar este modulo

DIAGRAMAS DE UML. Prof. Wenceslao Chávez Bedoya

Sistemas de Información II Requerimientos. Análisis de Requisitos

UML: INTRODUCCIÓN, ORIENTACIÓN a Objetos

DISEÑO DEL SISTEMA DE INFORMACION (DSI)

Capítulo 16. Diagrama de Clases UML

Desarrollo Orientado a Objetos en Métrica v. 3

TEMA 4. PROCESO UNIFICADO

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

Descripción del Curso

TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Diagramas de interacción

PROTOCOLO IP. Vicente Sánchez Patón. I.E.S Gregorio Prieto. Tema 1 SRI

Capítulo III: MARCO METODOLÓGICO

Modelado Básico con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

Lenguajes de marcado para presentación de Páginas web.

M. C. Felipe Santiago Espinosa

IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web

Tema: Herramientas UML, Análisis y diseño UML

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO

Tema: Herramientas UML, Análisis y diseño UML

RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1

ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML

Diseño Organizacional

Capítulo 2.- Marco Teórico

INGENIERÍA DEL SOFTWARE

Sistemas de información Administrativa II

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta

BASES DE DATOS TEMA 2 MODELOS DE DATOS

El proceso de diseño. Análisis de tareas

Ingeniería del Software I

Aplicaciones de Microsoft Dynamics CRM 4.0

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

REDES DE DATOS Modelo OSI. Angélica Flórez Abril, MSc.

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010

El Lenguaje Unificado de Modelado (UML)

DIAGRAMAS DE ACTIVIDAD SESION 9. Cap. 9 Kendall & Kendall Cap 5 Jacobson

Requerimientos de Software

De Desempeño De Conocimiento SABERES ESENCIALES CONTENIDOS RUTA FORMATIVA Saber Conocer Nociones, Proposiciones, Conceptos Categorías

Examen de Ingeniería del Software / 3º de Informática de Gestión 7 de febrero de 2007

Análisis y Diseño de Sistemas

Planificaciones Análisis de la Información. Docente responsable: GONZALEZ NORBERTO DANIEL. 1 de 6

Diseño Basado en Componentes. UML aplicado al diseño basado en componentes. Tabla de contenidos. Introducción a UML. Definición e historia

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Guía del Curso Técnico en Mantenimiento de CRM: Recursos Empresariales y de Gestión de Relaciones con Clientes

Tecnológico Nacional de México INSTITUTO TECNOLÓGICO DE SALINA CRUZ

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES RED DIGITAL DE SERVICIOS INTEGRADOS (RDSI) ESTRUCTURA GENERALES

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

Sistemas Distribuidos: Migración de Procesos

METODOLOGÍAS ÁGILES. Proceso Unificado Ágil (AUP) Ingeniería del Software II Análisis de Sistemas

INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN

1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...

SISTEMAS OPERATIVOS MONOPUESTO 1. CONTENIDOS MÍNIMOS PARA LA EVALUACIÓN POSITIVA

Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software

Curso Microsoft SharePoint Server 2010 Designing and Developing Applications (10232)

Análisis y Diseño de Sistemas

Gestion y Modelación de Datos Introducción

INFORMÁTICA Y COMUNICACIONES

de Procesos de Negocio 4. Productos de la ingeniería del software 5. Procesos de la ingeniería del software

Protocolos y funcionalidad de la capa de Aplicación

Casos de Uso. Introducción. Actores

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

BASES DE DATOS TEMA 1 PERSPECTIVA DEL ÁREA DE BASES DE DATOS

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

Soluciones de administración de clientes e impresión móvil

FICHA PÚBLICA DEL PROYECTO

T3-Análisis y Diseño del Sistema Software

INTERFACES INTELIGENTES. ING. MA. MARGARITA LABASTIDA ROLDÁN E mail:

Comunicación de Datos I Profesora: Anaylen López Sección IC631 MODELO OSI

Introducción a la Orientación a Objetos

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

SEMESTRE: CREDITOS: 3 Horas Presénciales: 3 Horas de Acompañamiento: 1 Total Horas Semanales 4 CODIGO: Sistemas de Información

MS_ Enabling and Managing Office 365.

20483 Programación en C#

Curso Taller de Arquitectura de Software usando UML

Transcripción:

Diseño de Sistemas Orientado a Objetos

Análisis de Sistemas Orientado a Objeto El Proceso Unificado Concepción Elaboración Construcción Transición Modelado del Negocio Requerimientos Análisis y Diseño Implementación Prueba Implantación Admón. del Proyecto Iteraciones IT #1 IT # 2 IT # 3 IT # 4 IT # 5 IT # 6 IT # 7 IT # 8

Objetivos Introducción Contenido Flujo de Trabajo de Diseño Modelo de Diseño en RUP El Diseño en el Proceso Unificado RUP

Objetivos Sistemas de Información II Introducir la descripción general del modelado estático (estructura) y dinámico (comportamiento) internos de un sistema entrando en detalles estructurales (clases, atributos y relaciones entre clases) y de comportamiento (operaciones, estados y actividades). Continuar con el estudio del Proceso Unificado en el flujo de trabajo de análisis y diseño. Presentar el modelo de diseño del Proceso Unificado.

Introducción En el flujo de requisitos se construye un modelo que representa el comportamiento observable o externo del sistema que se quiere obtener En los flujos de análisis, diseño e implementación, se representa la estructura y el comportamiento internos del sistema a realizar En los tres flujos se trabaja a diferentes niveles de abstracción, desde el más elevado en el análisis, hasta el más bajo en la implementación

Flujo de Trabajo de Diseño

Flujo de Trabajo de Diseño La técnica de modelado consiste en identificar, a través de las especificaciones de las clases de análisis las clases de diseño correspondientes Para cada clase de análisis se puede derivar una o más clases de diseño: Clase de control clase activa (>= 1) Clase de entidad clase de entidad (>= 1) Clase de interfaz clase de interfaz (>= 1)

Flujo de Trabajo de Diseño Clase de control: Se deriva al menos una clase activa, que representa un proceso o un hilo de proceso (thread) <<trace>> Gestor de cuentas Gestor de cuentas <<trace>> Gestor clientes Gestor clientes

Flujo de Trabajo de Diseño Clase de entidad: Se deriva al menos una clase de entidad, que guarda la información de una entidad u objeto del sistema, y se puede ligar a una clase activa para su gestión <<trace>> Facturas Facturas <<trace>> itemsfactura <<trace>> Clientes Clientes

Flujo de Trabajo de Diseño Clase de interfaz: Se deriva al menos una clase de interfaz y se puede ligar a una clase activa para su gestión y conexión con otros tipos de clases interfazdatos Cliente <<t race>> <<trace>> interfazproductos InterfazFacturar <<trac e>> int erfazpago

Flujo de Trabajo de Diseño El proceso de conversión del Modelo de Análisis (MA) al Modelo de Diseño (MD), la estrategia adoptada es mixta: Top-Down Level-to-Level Estrategia Top-Down: Se parte del Diagrama de Clases de Análisis de Contexto (DCAX, MA nivel 0) Inicialmente, cada uno de los paquetes / subsistemas en el DCAX puede corresponder a un subsistema en el Diagrama de Clases de Diseño de Contexto (DCDX, MD nivel 0) Sistemas de Información II

Flujo de Trabajo de Diseño: Estrategia Top-Down

Flujo de Trabajo de Diseño Estrategia Level-to-Level: Se trabaja con los diagramas de clases de Análisis de niveles inferiores (nivel 1, 2,...) Inicialmente, cada uno de los paquetes/subsistemas en el DCAX puede corresponder a un subsistema en el Diagrama de Clases de Diseño de Contexto (DCDX, MD nivel 0) Se puede tomar como guía la estructura de los DCA de niveles 1, 2,...y se aplican las transformaciones consiguientes, con las debidas precauciones.

Flujo de Trabajo de Diseño: Estrategia Level-to-Level

Flujo de Trabajo de Diseño El Modelo de Diseño consta igualmente de dos vistas: Vista de Diseño Estática: Descripción de la estructura del sistema a modelar con decisiones de implementación. Compuesta fundamentalmente por clases que se pueden agrupar en: Agrupaciones lógicas de clases o subsistemas, y que se pueden representar por los elementos de UML denominados paquetes Diagramas de clases de diseño (DCD) con la estructura de niveles ya conocida. Sistemas de Información II

Flujo de Trabajo de Diseño Vista de Diseño Dinámica: Descripción del comportamiento del sistema a modelar con decisiones de implementación. Compuesta fundamentalmente por diagramas UML: Diagrama de Interacción/ Secuencia de sucesos Diagrama de Interacción/ Colaboración Diagrama de Estados Diagrama de Actividades

Flujo de Trabajo de Diseño

EL Diseño en el proceso Unificado Visión General Artefactos Modelo de diseño. Clases de diseño. Realización en diseño de los casos de uso. Subsistemas en diseño. Interfaz. Modelado de Despliegue Descripción de la Arquitectura Actividades Diseño de los casos de uso. Diseño de las clases. Diseño de subsistemas. Diseño de la arquitectura

EL Diseño en el proceso Unificado: Visión General

EL Diseño en el proceso Unificado: Visión General Abordar requisitos no funcionales y restricciones en relación a: Lenguajes de programación, reutilización de componentes, sistemas operativos, tecnologías de: distribución, concurrencia, bases de datos, interfaces de usuario, gestión de transacciones, etc. Descomponer el modelo de análisis en subsistemas que puedan desarrollarse en paralelo. Definir la interfaz de cada subsistema. Derivar una representación arquitectónica del sistema

EL Diseño en el proceso Unificado: Visión General Acercar el modelo de análisis al modelo de implementación Los milagros más comunes de la ingeniería del software son las transiciones desde el análisis hasta el diseño y desde el diseño al código (Richard Due).

EL Diseño en el proceso Unificado: Visión General Modelado de Análisis Modelo conceptual Pueden obtenerse varios diseños Menos formal Menos caro de desarrollar Puede eliminarse Modelado de Diseño Modelo físico Específico a una implementación Mas formal Más caro (5 veces más) Debe mantenerse todo el cv

EL Diseño en el proceso Unificado: Visión General

EL Diseño en el proceso Unificado Visión General Artefactos Modelo de diseño. Clases de diseño. Realización en diseño de los casos de uso. Subsistemas en diseño. Interfaz. Modelado de Despliegue Descripción de la Arquitectura Actividades Diseño de los casos de uso. Diseño de las clases. Diseño de subsistemas. Diseño de la arquitectura

Artefactos: Modelo de Diseño Casos de uso en el dominio de la solución Cómo soportar requisitos funcionales/no funcionales y otras restricciones en el entorno de implementación Entrada fundamental para actividades de implementación

Artefactos: Clases de Diseño Una clase de diseño es una abstracción de una clase de implementación Las operaciones atributos, tipos, visibilidad (public, protected, private...), se pueden especificar con la sintaxis del lenguaje elegido Las relaciones entre clases de diseño se traducen de manera directa al lenguaje: generalización: herencia asociaciones, agregaciones: atributos Se pueden postergar algunos requisitos a implementación (por ejemplo: manera de nombrar los CAL/Notación atributos, Modelo del Negocio operaciones,...)

Artefactos: Clases de Diseño Realizan interfaces. Una clase de diseño puede ser activa (los objetos de la clase tienen su propio flujo de control y se ejecutan concurrentemente con otros objetos activos). Depende de la tecnología de concurrencia utilizada por el lenguaje de implementación.

Artefactos: Realización en diseño de los casos de uso Es una colaboración que describe cómo se realiza en diseño un caso de uso en términos de clases de diseño y sus interacciones

Artefactos: Realización en diseño de los casos de uso La realización en diseño de un caso de uso, incluye: Diagramas de clases de Diseño: clases participantes Diagramas de interacción: escenarios del caso de uso Descripción textual del flujo de eventos

Artefactos: Realización en diseño de los casos de uso Modelo de Análisis factura Vendedor (from Use Case View) interfacefacura gestorfactura producto

Artefactos: Realización en diseño de los casos de uso Modelo de Diseño cliente interfacepago 1 +posee 0..n +pertenece Vendedor (f rom Use Case Vie w) int erfacefactura gestorfactura fact ura 0..n +contiene interfaceproducto 1..n +esta contenida itemsfactura +produce 1 inventario producto +se asocia 1

Artefactos: Subsistemas de Diseño Para organizar los artefactos de diseño: clases de diseño, realización de casos de uso, interfaces y otros subsistemas. Fuertemente cohesionados y débilmente acoplados

Artefactos: Interfaz Los interfaces se utilizan para especificar las operaciones de las clases y los subsistemas de diseño Especifica una colección de operaciones públicas, tipos y parámetros necesarios para acceder y usar las capacidades de una clase de diseño o un subsistema Las clases de diseño soportan las operaciones de su interfaz mediante métodos. Los subsistemas de diseño soportan las operaciones de su interfaz mediante las clases de diseño (o subsistemas) que contiene

Artefactos: Interfaz La mayoría de las interfaces entre subsistemas se consideran relevantes para la arquitectura debido a que definen las interacciones permitidas entre los subsistemas

Actividades: Diseño de la Arquitectura

Artefactos: 3.1.6 Artefactos. Modelo Modelo de Despliegue de Despliegue Es un modelo de objetos que describe la distribución física del sistema en términos de cómo se distribuye la funcionalidad entre los nodos de cómputo Correspondencia entre la arquitectura software y la arquitectura del sistema Cada nodo representa un recurso de cómputo, normalmente un procesador o un dispositivo hardware similar Los nodos poseen relaciones que representan medios de comunicación que hay entre ellos, tales como una Intranet o Internet. El modelo de despliegue puede describir diferentes configuraciones de red

Artefactos: Modelo de Despliegue La funcionalidad de un nodo viene representada por los componentes que se ejecutan en él. El modelo de despliegue representa un mapeo claro entre la arquitectura software y la hardware. Un diagrama de distribución muestra la ubicación de los componentes en nodos, de tal forma que se obtenga una vista de distribución del sistema Los procesadores y dispositivos son estereotipos comunes de Nodo. Los nodos se conectan en el diagrama a través de una línea, que refleje la ruta de comunicación entre ellos Los elementos esenciales de un diagrama de distribución son los nodos y las conexiones 10 Modelo Físico = Modelo de Diseño + Modelo de Despliegue

Artefactos: Descripción de la Arquitectura (Vista Modelo de Diseño) Contiene una vista de la arquitectura del modelo de diseño que muestra sus artefactos relevantes para la arquitectura. Suele considerarse significativos para la arquitectura los siguientes artefactos del modelo de diseño: La descomposición del modelo de diseño en subsistemas, sus interfaces y las dependencias entre ellos. Esta descomposición es muy significativa, debido a que los subsistemas y sus interfaces constituyen la estructura fundamental del sistemas. Clases de diseño fundamentales con una traza a las clases de análisis significativas y clases activas

Artefactos: Descripción de la Arquitectura (Vista Modelo de Diseño) Realizaciones de caso de uso diseño que describan una funcionalidad importante y crítica y que deban desarrollarse pronto en el ciclo de vida Artefactos: Descripción de la Arquitectura (Vista Modelo de Despliegue) Contiene una vista de la arquitectura del modelo de despliegue que muestra los artefactos relevantes para la arquitectura

Artefactos: Descripción de la Arquitectura Contiene una vista de la arquitectura del modelo de despliegue que muestra los artefactos relevantes para la arquitectura

Artefactos: Descripción de la Arquitectura Dimensiones de la arquitectura del software: Perspectivas diferentes para inversionistas diferentes: Usuario final, cliente, administrador de proyecto Ingeniero de sistema, desarrollador, arquitecto, evaluador Las perspectivas múltiples requieren múltiples vistas: Los diagramas de clases no muestran el mapeo del sistema al hardware Los diagramas de bloques de hardware no describen que partes del sistema son obtenidas de software comercial

Artefactos: Descripción de la Arquitectura Para describir completamente una arquitectura, se necesitan cuatro vistas: Una Vista Lógica que proporciona una imagen estática de las principales clases y sus relaciones Una Vista de Componentes que muestra como está el código organizado en paquetes y librerías, así como el software comercial Una Vista de Procesos que muestra procesos y tareas Una Vista de Distribución que muestra los procesadores, dispositivos y ligas en el ambiente operacional Finalmente, una Vista de Casos de Uso que explica como trabajan juntas las otras cuatro vistas

Artefactos: Descripción de la Arquitectura El Modelo 4+1 Vistas Vista Logica Vista de Componentes Funcionalidad Administración, reuso y portabilidad del Software Usuarios finales Vista de Casos de Uso Ingenieros de software Entendimiento de Utilidad Vista de Procesos Desempeño, Disponibilidad, Tolerancia de fallas Vista de Distribución Desempeño, Disponibilidad Tolerancia a fallas, Escalabilidad Entrega e Instalación Integradores de Sistema Ingenieros de Sistema

Artefactos: Descripción de la Arquitectura Las 4+1 Vistas del Modelo UML Vista Lógica Diagramas de Clases, Diagramas de Secuencias Vista de Componente Diagramas de Componentes Vista de Caso de Uso Diagramas de Casos de Uso, Diagramas de Secuencias Vista de proceso Vista de Despliegue Diagramas de Procesos Diagramas de Distribución

EL Diseño en el proceso Unificado Visión General Artefactos Modelo de diseño. Clases de diseño. Realización en diseño de los casos de uso. Subsistemas en diseño. Interfaz. Modelado de Despliegue Descripción de la Arquitectura Actividades Diseño de los casos de uso. Diseño de las clases. Diseño de subsistemas. Diseño de la arquitectura

Actividades: Diseño de Casos de Uso Identificar las clases de diseño y/o subsistemas necesarios para la realización del caso de uso. Distribuir el comportamiento del caso de uso entre las clases y/o subsistemas de diseño

Actividades: Diseño de Casos de Uso Identificar las clases de diseño Derivar las clases de diseño de las correspondientes clases de análisis que participan en el caso de uso. Estudiar los requisitos especiales del caso de uso: realizarlos con los mecanismos genéricos de diseño o con clases de diseño. Asignar responsabilidades a las clases identificadas. Realizar un diagrama de clases que muestre las clases de diseño que intervienen en la realización del caso de uso y las relaciones entre ellas.

Actividades: Diseño de Casos de Uso Describir interacciones entre objetos de diseño Utilizar diagramas de secuencia objetos, instancias de actores, enlaces Crear un diagramas de secuencia Comenzar estudiando la realización en análisis del casos de uso Sobre los diagramas de secuencia: el caso de uso comienza cuando una instancia de un actor envía un mensaje a un objeto interfaz. cada clase de diseño identificada debería tener al menos un objeto participando en el diagrama de secuencia.

Actividades: Diseño de Casos de Uso Describir interacciones entre objetos de diseño En este flujo de trabajo gestionar excepciones y errores (entradas incorrectas, situaciones anormales, etc.)

EL Diseño en el proceso Unificado Visión General Artefactos Modelo de diseño. Clases de diseño. Realización en diseño de los casos de uso. Subsistemas en diseño. Interfaz. Modelado de Despliegue Descripción de la Arquitectura Actividades Diseño de los casos de uso. Diseño de las clases. Diseño de subsistemas. Diseño de la arquitectura

Actividades: Diseño de Clases Identificar las responsabilidades de las clases de diseño (papeles en los casos de uso) Identificar: operaciones atributos relaciones en las que participa estados (diagramas de estados) métodos que soportan sus operaciones Requisitos nuevos

Actividades: Diseño de Clases Identificar operaciones En el lenguaje de implementación Mirar responsabilidades que tiene en los casos de uso Identificar atributos Describirlos en el lenguaje de programación Considerar los atributos de las clases de análisis de las que se derivan

Actividades: Diseño de Clases Identificar asociaciones y agregaciones Las interacciones en los diagramas de secuencia precisan de asociaciones entre las clases que interactúan. Minimizar el número de relaciones entre clases (disminuir el acoplamiento). Refinar multiplicidad, papeles, etc. Refinar la navegabilidad (dirección) de las asociaciones en base a los diagramas de secuencia. Identificar generalizaciones-especializaciones.

Actividades: Diseño de Clases Describir métodos Algoritmos para implementar alguna operación (lenguaje natural). Esqueletos de métodos generado por la herramienta. En general, esto se suele hacer en implementación. Describir estados Algunos objetos reaccionan en función de su estado actual. Utilizar diagramas de transición de estados.

Diagrama de clase de Diseño

Diagrama de clase de Diseño

EL Diseño en el proceso Unificado Visión General Artefactos Modelo de diseño. Clases de diseño. Realización en diseño de los casos de uso. Subsistemas en diseño. Interfaz. Modelado de Despliegue Descripción de la Arquitectura Actividades Diseño de los casos de uso. Diseño de las clases. Diseño de subsistemas. Diseño de la arquitectura

Actividades: Diseño de los Subsistemas Intentar que los subsistemas de diseño estén débilmente acoplados. Intentar que las clases dentro de los subsistemas tengan una alta cohesión. Describir las dependencias entre los subsistemas. Determinar qué clases de unos subsistemas interactúan con qué otras clases de otros subsistemas.

Actividades: Diseño de los Subsistemas Asegurarse que el subsistema soporta sus interfaces. Objetivos: Subsistemas independientes Garantizar corrección de interfaces Garantizar la realización de dichas interfaces

EL Diseño en el proceso Unificado Visión General Artefactos Modelo de diseño. Clases de diseño. Realización en diseño de los casos de uso. Subsistemas en diseño. Interfaz. Modelado de Despliegue Descripción de la Arquitectura Actividades Diseño de los casos de uso. Diseño de las clases. Diseño de subsistemas. Diseño de la arquitectura

Actividades: Diseño de la Arquitectura El objetivo es esbozar los modelos de diseño y despliegue y su arquitectura mediante la identificación de los siguientes elementos: Los nodos y sus configuraciones de red Los subsistemas y sus interfaces Las clases de diseño significativas para la arquitectura Los mecanismos de diseño genéricos que tratan requisitos comunes

Actividades: Diseño de la Arquitectura Identificación de Nodos y Configuraciones de Red Las configuraciones de red suelen tener una gran influencia sobre la arquitectura del software, incluyendo las clases activas que se necesitan y la distribución de la funcionalidad entre los nodos de red Las configuraciones de red habituales utilizan un patrón de tres capas: Capa de los clientes (interacción con el usuario) Capa de lógica de negocio o de aplicación Capa de funcionalidad de base de datos (acceso a datos) El patrón cliente / servidor simple es un caso especial del patrón de las tres capas, en el cual la capa de CAL/Notación aplicación Modelo del Negociose ubica en una de las otras capas

Actividades: 3.2.4 Actividades. Diseño de Diseño la Arquitectura de la Arquitectura Aspectos a destacar [Jacobson et al., 1999] Qué nodos se necesitan y cuál debe ser su capacidad en términos de potencia de procesamiento y tamaño de memoria? Qué tipo de conexiones debe haber entre los nodos y qué protocolos de comunicaciones deben utilizarse? Qué características deben tener las conexiones y los protocolos de comunicaciones, en aspectos tales como ancho de banda, disponibilidad y calidad? Es necesario tener alguna capacidad de proceso redundante, modos de fallo, migración de procesos, mantenimiento de copias de seguridad de los datos, CAL/Notación o Modelo aspectos del Negocio similares?

3.2.4 Actividades. Diseño de la Arquitectura Actividades: Diseño de la Arquitectura Ejemplo: Configuración de red para el Sistema Interbank Cliente del Comprador <<intranet (TCP/IP)>> Servidor del Comprador <<internet (TCP/IP)>> Servidor del Vendedor <<internet (TCP/IP)>> Cliente del Vendedor <<internet (TCP/IP)>> <<internet (TCP/IP)>> Servidor del Banco

Actividades: 3.2.4 Actividades. Diseño de Diseño la Arquitectura de la Arquitectura Identificación de Subsistema y sus Interfaces 3.2.4.2. Identificación de Subsistema y sus Interfaces Los subsistemas son un medio para organizar el modelo de diseño en piezas manejables. No todos los subsistemas se desarrollan internamente en el proyecto en curso Los subsistemas se organizan siguiendo un patrón de capas [Buchmann et al., 1996; Shaw y Garlan, 1996] Este patrón facilita la organización jerárquica de los subsistemas en capas Sigue la máxima de que los subsistemas de una capa sólo pueden referenciar subsistemas de un nivel igual o inferior La comunicación entre los subsistemas de diferentes capas se lleva a cabo mediante un conjunto de interfaces bien definidas

3.2.4 Actividades. Diseño de la Arquitectura Actividades: Diseño de la Arquitectura Identificación de subsistemas de aplicación Se identifican los subsistemas de las capas de la aplicación (dos capas superiores) Si se hizo una división adecuada en paquetes durante el análisis, se pueden utilizar éstos tanto como sea posible, e identificar los correspondientes subsistemas dentro del modelo de diseño. Se pueden refinar estos subsistemas para tratar temas relativos al diseño. La descomposición inicial de los subsistemas del análisis se refina cuando [Jacobson et al., 1999] Una parte de un paquete del análisis se corresponde con un subsistema por sí mismo. Esa parte puede ser compartida y utilizada por otros subsistemas

3.2.4 Actividades. Diseño de la Arquitectura Actividades: Diseño de la Arquitectura Algunas partes de un paquete de análisis se realizan mediante productos software reutilizados. Estas funcionalidades pueden asignarse a capas intermedias o subsistemas de software del sistema Los paquetes del análisis no representan una división adecuada del trabajo. Los paquetes del análisis no representan la incorporación de un sistema heredado. Se puede encapsular un sistema heredado, o parte de él, mediante un subsistema de diseño independiente. Los paquetes del análisis no están preparados para una distribución directa sobre los nodos

3.2.4 Actividades. Diseño de la Arquitectura Actividades: Diseño de la Arquitectura Patrón de capas propuesto en [Jacobson et al., 1999]

Actividades: Diseño de la Arquitectura Ejemplo: Identificación de subsistemas de diseño a partir de paquetes de análisis Modelo de Análisis <<Paquete de Analisis>> Gestion de Facturas del Comprador <<Paquete de Analisis>> Gestion de Cuentas Modelo de Diseño <<subsystem>> Gestion de facturas del comprador <<subsystem>> Gestion de cuentas

Actividades: Diseño de la Arquitectura Identificación de los subsistemas de servicios a partir de paquetes de servicios existentes <<Paquete de Analisis>> Ges tion de Cuentas <<Paquete de Servicio>> Cuentas <<Paquete de Servicio>> Riesgos <<subsystem>> Gestion de cuentas <<subsistemz de Servicio>> cuentas <<Subsistema de servicio>> riesgos

Actividades: Diseño de la Arquitectura Durante el diseño se puede identificar subsistemas de diseño de servicios para proporcionar un servicio general que puedan utilizar diferentes realizaciones de casos de uso <<subsystem>> Gestion de facturas del comprador Capa especifica de la aplicación <<subsistema de servicio>> Gestion de Planificacion de pagos <<subsys tem >> Gestion de cuentas Capa general de la aplicación

Actividades: Diseño de la Arquitectura Identificación de subsistemas intermedios y de software del sistema Estos subsistemas constituyen los cimientos de un sistema. Toda la funcionalidad descansa sobre software como sistemas operativos, sistemas de gestión de bases de datos, software de comunicaciones, tecnologías de distribución de objetos, bibliotecas de componentes para el diseño de interfaces gráficas de usuario y tecnologías de gestión transacciones [Jacobson et al., 1997] La selección e integración de productos software que se compran o se construyen son dos de los objetivos fundamentales durante las fases de inicio y CAL/Notación elaboración Modelo del Negocio

Actividades: Diseño de la Arquitectura Definición de las dependencias Deberían definirse dependencias entre subsistemas si sus contenidos tienen relación entre sí La dirección de la dependencia debería ser la misma que la dirección de la navegabilidad de la relación. Si se utilizan interfaces entre subsistemas, las dependencias deberían ir hacia las interfaces, no hacia los subsistemas

Actividades: Diseño de la Arquitectura Dependencias y Capas

Actividades: Diseño de la Arquitectura Identificación de Interfaces entre Subsistemas Las interfaces proporcionadas por un subsistema definen operaciones que son accesibles desde afuera del subsistema. Estas interfaces las proporcionan o bien clases de diseño u otros subsistemas dentro del subsistema. Para definir inicialmente las interfaces, antes de conocer los contenidos de los subsistemas, debemos considerar hacia donde apunta las dependencias entre subsistemas. Cuando un subsistemas tiene una dependencia que apunta hacia el, es probable que CAL/Notación deba Modelo proporcionar del Negocio una interface.

Actividades: Diseño de la Arquitectura Interfaces en las dos capas superiores <<subsystem>> Gestion de facturas del comprador Recepcion Factura Capa especifica de la aplicación SolicitudPago <<subsistema de servicio>> Gestion de Planificacion de pagos Transferencia <<subsystem>> Gestion de cuentas Capa general de la aplicación

Actividades: Diseño de la Arquitectura

Actividades: Diseño de la Arquitectura Ejemplo: Diagrama de Distribución para el Sistema de Inscripción Este diagrama muestra dos nodos y los dispositivos con los que se comunica el Sistema de Inscripción Sistema de Inscripción Base de Datos Dormitorios <<device>> Edificio Principal <<device>> Biblioteca <<device>>