Análisis de Sistemas Orientado a Objetos
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 análisis Modelo de Análisis en RUP Proceso de Análisis en RUP
Objetivos Introducir la descripción general de la estructura y comportamiento internos de un sistema. Continuar con el estudio del Proceso Unificado en el flujo de trabajo de análisis y diseño. Presentar el modelo de análisis 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 Análisis Una vez completado el modelo de casos de uso se ha llegado a obtener diagramas de casos de uso en determinados niveles que ya no se pueden explotar más Si se intentara explotar los CU, se pasaría a describir el comportamiento interno de las funciones con artefactos inadecuados Los casos de uso contenidos en estos diagramas se denominan casos de uso elementales, primitivos o atómicos
Flujo de Trabajo de Análisis Esta situación límite indica que se debe pasar a trabajar con otros artefactos, que son los del modelo de análisis: Clases de análisis Asociaciones Diagramas de clases de análisis Diagramas de secuencias y de colaboración asociados a los diagramas de clases de análisis
Flujo de Trabajo de Análisis
Flujo de Trabajo de Análisis La técnica de modelado consiste en identificar los aspectos estructurales y dinámicos internos del sistema a desarrollar a partir de los casos de uso modelados en el Modelo de Casos de Uso Los aspectos estructurales corresponden a la arquitectura de la información que manejará el sistema: entidades y relaciones entre entidades Los aspectos dinámicos corresponden a la ejecución de los elementos de información del sistema: su comportamiento de carácter INTERNO
Flujo de Trabajo de Análisis El modelo a obtener es una abstracción de la estructura de la información del sistema y de cómo se comporta cuando el sistema está en ejecución
Modelo de Análisis en RUP El Análisis en el RUP se realiza por medio de los flujos de trabajo: Análisis y diseño El resultado del Análisis es el siguiente: Modelo de Análisis El Modelo de Análisis contiene: la Vista de Diseño de UML la Vista de Procesos de UML
Modelo de Análisis en RUP
Modelo de Análisis en RUP La arquitectura del MA debe corresponder a una jerarquía estructural donde existe un Diagrama de Clases de Análisis de Contexto (DCAX): expresa explícitamente los subsistemas que soportan los servicios que presta el sistema La arquitectura de información de los servicios que presta el sistema se modela mediante: agrupaciones de clases o diagramas de clases representadas por paquetes UML, o por las propias clases con sus correspondientes relaciones (dependencia, colaboración, asociación, generalización y agregación) Sistemas de Información II
Modelo de Análisis en RUP Diagrama de Clases de Contexto
Modelo de Análisis en RUP Los diagramas de clases se explotan en Diagramas de Clases de Análisis (DCA) de un nivel inferior puesto que cada servicio normalmente está compuesto de varias funciones coherentes entre sí A su vez, cada DCA puede tener algún otro paquete de clases que se puede explotar en otros DCA s de un nivel inferior Y así sucesivamente hasta llegar a desglosar la complejidad de la arquitectura de información del sistema y los subsistemas que lo forman en un grado manejable directamente
Modelo de Análisis en RUP
Modelo de Análisis en RUP Elementos Básicos
Sistemas de Información II Modelo de Análisis en RUP Relaciones directas entre clases en los diagramas de clases
Sistemas de Información II Modelo de Análisis en RUP Relaciones directas entre clases en los diagramas de clases
Modelo de Análisis en RUP Vista de Diseño Estructural del Sistema (Estática): Diagrama de Clases de Análisis (DCA) Se recomienda no exceder de más de tres a cinco niveles de desglose Más niveles aumentan la complejidad estructural y no se aporta ninguna claridad Vista de Diseño Dinámica del Sistema: Representa el comportamiento interno del sistema y de los subsistemas que lo componen mediante el modelado del comportamiento de los elementos estructurales
Modelo de Análisis en RUP Vista de Diseño Dinámica del Sistema: Se compone de los diagramas UML siguientes: Diagrama de Interacción-Secuencia de sucesos (DIS) Diagrama de Interacción-Colaboración (DIC) Diagrama de Estados (DES) Diagrama de Actividades (DAC) Realmente, en el Modelo de Análisis solamente se utiliza el DIC para la representación del comportamiento. Por lo tanto, no se deben modelar los DIS, DES y DAC.
Sistemas de Información II Modelo de Análisis en RUP Diagrama de Colaboración
El Proceso de Análisis en RUP La estrategia de diseño: Bottom-up Se parte de los DCA atómicos Se unen los DCA atómicos en DCA más complejos Se repite el proceso de agrupación hasta llegar a delimitar los subsistemas que contengan DCA excluyentes (no relacionados entre sí)
Caso de estudio: Sistema de Telecompras Nivel 0: Contexto Gestionar Productos Sistema Bancario Cliente Gestionar Orden de Compra Agente de Deposito Gestionar Reclamos Director
Caso de estudio: Sistema de Telecompras Nivel 1 DCU.2: Gestionar Orden de Compra Realizar Orden Compra Sistema Bancari o Cliente Anular Orden Compra Consultar Ordenes Confirmadas Agente de Depos ito
Caso de estudio: Sistema de Telecompras Descripción Flujo de Eventos CU.2.2: Anular Orden de Compra CU.2.2 Descripción Actores Acción del Actor El cliente introduce la clave de usuario y el numero de orden El cliente pulsa la opción de procesar anulación Anular Orden de Compra El sistema deberá permitir a los clientes anular orden de compra de productos a través de la web según se describe en el siguiente caso de uso: Cliente (CTE) Respuesta del Sistema El sistema valida la clave y el numero de orden El sistema busca la orden de compra con sus respectivos items El sistema muestra la orden recompra y la opción de procesar El sistema actualiza la orden de compra como anulada
Caso de estudio: Sistema de Telecompras Diagrama de secuencia CU.2.2: Anular Orden de Compra : Cliente :sistematelecompra 1: introducedatos(clave,nu mord en) 2: validarclave(cleve) 3: validarorden(numorden) 4: buscarorden(numorden) 5: mos trarorden() 6: confirmaranular() 7: anularorden(numorden)
Caso de estudio: Sistema de Telecompras Diagrama de colaboración CU.2.2: Anular Orden de Compra 2: validarclave(cleve) 3: validarorden(numorden) 4: buscarorden(numorden) 5: mostrarorden() 7: anularorden(numorden) 1: introducedatos(clave,numorden) 6: confirm aran ular() :sistematele comp ra : Cliente
Caso de estudio: Sistema de Telecompras Diagrama de Clase de Análisis Caso de Uso Realizar Orden de Compra Productos 1..n I_orden_cliente Cliente Agencia G_orden_compra 0..n Items Orden (f rom Modelado caso de uso...) I_orden_productos Orden Compra 0..n Sistema Bancario (f rom Modelo de caso de uso...) I_banco 1 Clientes
Caso de estudio: Sistema de Telecompras Diagrama de Clase de Análisis Caso de Uso Consultar Orden Confirmada Productos 1..n 0..n Items Orden Cliente Agencia (f rom Modelado caso de uso...) I_consultar_orden G_consultar_orden Orden Compra 0..n 1 Clientes
Caso de estudio: Sistema de Telecompras Diagrama de Clase de Análisis Caso de Uso Anular orden de Compra Productos 1..n I_mostrar_orden 0..n Items Orden Cliente Agencia (f rom Modelado caso de uso...) G_anular_orden Orden Compra 0..n I_anular_orden 1 Clientes
Caso de estudio: Sistema de Telecompras Diagrama de secuencia Caso de Uso Anular orden de Compra : Cliente : I_anular_orden : I_mostrar_orden : G_anular_orden : Clientes : Orden Compra 1: introducedatos(clave,numorden) : Items Orden : Productos 2: solicitudvalidardatos(clave,numorden) 3: validarclave(clave) 4: validaroren(numorden) 5: buscarorden(numorden) 6: *[i=1..n] buscaritems(numorden) 7: buscarproducto(codigo) 8: mostrarorden() 9: confirmaanular() 10: solicitudanular() 11: anularorden(numorden)
Caso de estudio: Sistema de Telecompras Diagrama de Colaboración Caso de Uso Anular orden de Compra 1: introducedatos(clave,numorden) : I_anular_orden 2: solicitudvalidardatos(clave,numorden) 6: *[i=1..n] buscaritems(numorden) : Items Orden : Cliente 9: confirmaanular() 10: solicitudanular() : G_anular_orden 4: validaroren(numorden) 5: buscarorden(numorden) 11: anularorden(numorden) 7: buscarproducto(codigo) 8: mostrarorden() 3: validarclave(clave) : I_mostrar_orden : Orden Compra : Productos : Clientes
Caso de estudio: Sistema de Telecompras Diagrama de Clase de Análisis del Paquete Gestionar Orden de Compra I_consultar_orden G_consultar_orden Productos 1..n Cliente Agencia I_orden_cliente G_orden_compra 0..n Items Orde (f rom Modelado caso de uso...) Orden Compra 0..n I_anular_orden 1 I_orden_productos Clientes I_mostrar_orden G_anular_orden
Caso de estudio: Sistema de Telecompras Diagrama de Clase de Análisis de Contexto (DCAX) Gestionar Orden de Co mpras Gestionar catalogo de productos Gestionar reclam os
El Análisis en Proceso Unificado Visión General Modelo de Caso Uso Lenguaje del cliente Vista externa del sistema Estructurado en casos de uso Como contrato Puede contener redundancias, inconsistencias (entre requisitos) Captura la funcionalidad del sistema Modelo de Análisis Lenguaje del desarrollador Vista interna del sistema Estructurado en clases de análisis y paquetes Como precursor del diseño No debería contener redundancias Da forma a la arquitectura para soportar tal funcionalidad
El Análisis en Proceso Unificado Visión General
El Análisis en Proceso Unificado Visión General
El Análisis en Proceso Unificado Artefactos Modelo de Análisis Clase de Análisis Realización en análisis de los casos de uso Paquetes de análisis Actividades Análisis de los casos de uso Análisis de las clases Análisis de los paquetes
El Análisis en Proceso Unificado Artefacto: Modelo de Análisis Representa la estructura global del sistema (subsistemas y/o capas en el modelo de diseño).
El Análisis en Proceso Unificado Artefacto: Clases de Análisis - Ejemplo Estudiante Matricularse
El Análisis en Proceso Unificado Artefacto: Clase de Análisis Clase Interfaz Modelan la interacción entre el sistema y los actores. Representan la interfaz del sistema (ventanas, formularios,...), pero con poco detalle. Describen la información presentada al actor y las peticiones que hace el actor al sistema.
El Análisis en Proceso Unificado Artefacto: Clase de Análisis Clase Control Se usan para representar el control de un caso de uso concreto Representan la coordinación entre objetos. Lógica del negocio, cálculos. No representan ni interacciones con el usuario ni problemas de almacenamiento de información.
El Análisis en Proceso Unificado Artefacto: Clase de Análisis Clase Entidad Representan la información significativa para el sistema. Modelan la información de larga vida (persistencia). Pueden provenir de las entidades del dominio o de las del negocio, pero no tienen por qué corresponderse completamente. Pueden ser pasivas o activas (comportamiento complejo).
El Análisis en Proceso Unificado Artefacto: Clase de Análisis Encapsulan información y operaciones asociadas. Por ejemplo: repositorios de información.
El Análisis en Proceso Unificado Artefacto: Realización en Análisis de los Casos de Uso Es una colaboración que describe cómo se realiza en análisis un caso de uso en términos de clases de análisis y sus interacciones.
El Análisis en Proceso Unificado Artefacto: Realización en Análisis de los Casos de Uso La realización en análisis de un caso de uso, incluye: Diagramas de clases: Clases participantes Diagramas de interacción: escenarios del CU. Descripción textual del flujo de eventos (Descripción de casos de uso) Nada de requisitos no funcionales (hasta el diseño).
El Análisis en Proceso Unificado Artefacto: Paquetes de Análisis Para organizar los artefactos de análisis: clases de análisis, realización de casos de uso y otros paquetes. Fuertemente cohesionados y débilmente acoplados. No existen en tiempo de ejecución.
El Análisis en Proceso Unificado Artefactos Modelo de Análisis Clase de Análisis Realización en análisis de los casos de uso Paquetes de análisis Actividades Análisis de los casos de uso Análisis de las clases Análisis de los paquetes
El Análisis en Proceso Unificado Actividad 1. Análisis de Casos de Uso Subactividad 1.1. Identificar las clases de análisis necesarias para la realización del caso de uso. 1.2. Distribuir el comportamiento del caso de uso entre las clases de análisis. 1.3. Capturar/asignar requisitos no funcionales a clases de análisis.
El Análisis en Proceso Unificado Actividad 2. Análisis de Clases 3. Análisis de Paquetes Subactividad 2.1. Identificar las responsabilidades de las clases de análisis 2.2. Identificar atributos y relaciones de las clases de análisis. 2.3. Capturar requisitos especiales 3.1 Paquetes débilmente acoplados 3.2. Elementos cohesionados 3.3. Clases de interacción
El Análisis en Proceso Unificado Ejemplo Sistema Cajero Automático Validar Usuario Sacar Dinero Cliente del Banco Ing resar D inero Transferencia
El Análisis en Proceso Unificado 1. Análisis de Casos de Uso 1.1. Identificar las clases de análisis necesarias para Caso de Uso Validar Usuario: la realización del caso de uso. Cliente del Banco interfaz de cajero UsuariosDelBanco Autenticar
El Análisis en Proceso Unificado Caso de Uso Sacar Dinero:
El Análisis en Proceso Unificado Caso de Uso Ingresar Dinero:
El Análisis en Proceso Unificado Caso de Uso Transferencia:
El Análisis en Proceso Unificado 1. Análisis de Casos de Uso 1.2. Distribuir el comportamiento del caso de uso entre las clases de análisis. Caso de Uso Validar Usuario:
El Análisis en Proceso Unificado Caso de Uso Sacar Dinero:
El Análisis en Proceso Unificado Caso de Uso Ingresar Dinero:
El Análisis en Proceso Unificado Caso de Uso Transferencia:
El Análisis en Proceso Unificado Diagrama de Clases de Análisis de Contexto:
El Análisis en Proceso Unificado 2. Análisis de Clases 2.1. Identificar las responsabilidades de las clases de análisis. Caso de Uso Validar Usuario:
El Análisis en Proceso Unificado Caso de Uso Sacar Dinero:
El Análisis en Proceso Unificado Caso de Uso Transferencia:
El Análisis en Proceso Unificado Análisis de Clases:
El Análisis en Proceso Unificado 2. Análisis de Clases 2.2. Identificar atributos y relaciones de las clases de análisis: Definir multiplicidad y papeles Agregación y composición Identificar generalizaciones y/o especializaciones entre clases