CLASE 7: ARQUITECTURA: DEL ANÁLISIS AL DISEÑO DIAGRAMAS DE SECUENCIA Y CONTRATOS



Documentos relacionados
UML, ejemplo sencillo sobre Modelado de un Proyecto

Tema 5. Diseño detallado.

Actividad ASI 1: Definición del Sistema

Instructivo para la elaboración de un Manual Técnico

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

DCU Diagramas de casos de uso

13019 Diseño de bases de datos

TESTING. Universidad Simón Bolívar. Ing. de Software. Profa. Marlene Goncalves

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

Curso Taller de Arquitectura de Software usando UML

Diplomado en Aseguramiento de la Calidad De los Procesos y Productos de Software

DIAGRAMA DE CLASES EN UML

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA INDUSTRIAL Y SISTEMAS UMBRELLO ADMINISTRACION DE BASE DE DATOS

TEMA 7: DIAGRAMAS EN UML

RECOMENDACIONES DE INVESTIGACIÓN FUTURA.

UML. Lenguaje de Modelado Unificado

6.8 La Arquitectura del Sistema. [Proceso]

Modelo alternativo de análisis: Modelo de Jacobson

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

2.1 Planificación del Alcance

Análisis del Sistema de Información

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA

TEST (8 preguntas, 0 4 puntos por pregunta correcta, puntos por error) [Marcar sólo una opción]

CAPITULO 2. Como se definió en el plan del presente proyecto, este será desarrollado bajo

Capítulo 4. GESTIÓN DE LA INTEGRACIÓN DEL PROYECTO

El modelo de casos de uso. Ingeniería de la Programación

Una Introducción al UML. El Modelo de Componentes

Ejercicio Guiado de Análisis y Diseño Orientado a Objetos. Ejemplo: CAJERO AUTOMÁTICO

CLASE 8 DIAGRAMAS DE COLABORACIÓN. Universidad Simón Bolívar. Prof. Ivette C. Martínez

Los requisitos de un Sistema de Información

Hotelli Gestión de Reservas Hoteleras Especificación de Requisitos Software

Unidad 9. Implementación. M.C. Martín Olguín

PRE - Programación para Ingenieros

Modelos y Bases de Datos

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos

RAÍZ JURÍDICA DE LA EVALUACIÓN DEL DESEMPEÑO. 7 de mayo de 2015

GERENCIA DE INTEGRACIÓN

C A P Í T U L O C U A T R O : P R O P U E S T A E P C

DGB14DR-101 DCA/2002

Modelos y Bases de Datos

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

CLASE 6: MODELO CONCEPTUAL/ MODELO DE DOMINIO. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette Carolina Martínez

MANUAL DE USUARIO PARA WEB DE SINIESTROS DE LIBERTY

Diseño de Componentes

Verificación de la Calidad en los Productos de Software Desarrollados

Análisis y Diseño de Soluciones de Software

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ SECRETARÍA GENERAL FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DESCRIPCIÓN DE CURSO DE LA CARRERA DE

Índice.

Sistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.4. Historia de revisiones

Conoce el sistema

Juan Carlos Martínez Arias.

Diseño de Sistemas Universidad CAECE Año 2005

SINAUTO. (Captura Requirimientos) GRUPO 03

Introducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación

Consultoría Santa Cruz. Buscador Web de Restaurants Software Architecture Document. Version 1.0

Conceptos básicos de Ingeniería de Software

Manual de Usuario Comprador Módulo de Compras

Sistema de Interconexión de Registros (SIR)

PROCESO DIRECCIONAMIENTO ESTRATÉGICO PROCEDIMIENTO GESTIÓN DE PROYECTOS DE INVERSIÓN

GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA

Programa en Microsoft Visual Basic 6.0 para el análisis de riesgos eléctricos en oficinas y centros de cómputo. López Rosales, Juan Carlo.

Programa Presupuestos de Sevillana de Informática.

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Proceso de Desarrollo de Políticas de LACNIC Versión 2.0

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO UNIDAD DIDÁCTICA : ANÁLISIS Y DISEÑO DE SISTEMAS INFORMÁTICOS

1. Descripción y objetivos

ANÁLISIS Y DISEÑO DE SISTEMAS

ACTIVE AGEING LEARNING COMMUNITY LLP BG-GRUNDTVIG-GMP

MANUAL DEL COMPRADOR ID LICITACIÓN LP11

COLEGIO DE INGENIEROS DEL PERU Consejo Departamental de La Libertad GERENCIA DE PROYECTOS DE CONSTRUCCION: ASPECTOS CLAVES A CONSIDERAR

Sistemas Integrados de Registro de Información y su aplicación a la Contabilidad Pública en Chile

CLASE 10: MÁS PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros

Modelo educativo y prospectiva

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Ingeniería de Sistemas. Administración de Proyectos. Objetivos. Tópicos cubiertos. Procesos de software (tema anterior) Administración de proyecto

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

DIRECCIÓN DE RECURSOS HUMANOS PROGRAMA DE MEJORA DE LA GESTIÓN REVISIÓN Y MODIFICACIÓN DEL MARCO NORMATIVO INTERNO

Capacitación YELL. Usabilidad. Jorge Vera Vargas Abril 2012

UNIDAD I: INTRODUCCIÓN A LA ARQUITECTURA DE SOFTWARE

Activos Fijos en Microsoft Dynamics AX 2009

Manual de Procedimientos

HABILIDADES COGNITIVAS

DOCUMENTO VISIÓN SISTEMA DE VENTAS Y PRÉSTAMOS DE LA CINEMATECA BOLIVIANA PAWI. Versión 1.0. Aruquipa Mamani Rolando Willy

Análisis e Ingeniería de Requisitos Tema 4: Análisis de Requisitos

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)

Manual de Operación Solicitud de Facturación Electrónica. Universidad Técnica Federico Santa María

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA FORMULACIÓN Y EVALUACIÓN DEL PROYECTO: BLUMEN: CENTRO DE ESTIMULACIÓN TEMPRANA Y PROBLEMAS DE APRENDIZAJE

Testing. Tipos, Planificación y Ejecución de Pruebas

Se presentan, entonces, tres (3) guías de verificación del producto libro resultado de investigación y capítulo en libro resultado de investigación:

Modelamiento de Procesos con BPMN

EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA

Contenidos Conceptuales del Área de Ciencias Sociales: Contenidos Conceptuales del Área de Lengua: Metodología de trabajo Organización grupal

PROCESO UNIFICADO CAPTURA DE REQUISITOS

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

Transcripción:

CLASE 7: ARQUITECTURA: DEL ANÁLISIS AL DISEÑO DIAGRAMAS DE SECUENCIA Y CONTRATOS Universidad Simón Bolívar. Ing. de Software. Prof. Ivette Carolina Martínez

Arquitectura: Del Análisis al Diseño OBJETIVOS: Identificar las diferencias básicas entre Análisis y Diseño. Definir la arquitectura de un sistema. Identificar las vistas de la arquitectura de un sistema. Aprender la elaboración del modelo conceptual de un sistema (listo?)

Análisis vs. Diseño Análisis Se enfoca en comprender el problema. Diseño idealizado. Comportamiento. Estructura del Sistema. Requerimientos Funcionales. Un pequeño modelo. Diseño Se enfoca en comprender la solución. Operaciones y atributos Rendimiento. Cercano al código real. Ciclos de vida de los objetos. Requerimientos no funcionales. Un modelo grande.

Bottom Up ó Top Down

Qué es Arquitectura? Arquitectura de software se refiere al conjunto de decisiones significativas respecto a la organización de un sistema de software. Selección de Elementos Estructurales y sus interfaces. Especificación del Comportamiento, logrado como colaboración entre estos elementos. Composición de estos elementos estructurales y de comportamiento en Subsistemas más grandes. Estilo Arquitectónico que guía esta organización.

La arquitectura restrige el diseño y la implementación La Arquitectura se refiere a un conjunto de decisiones estratégicas, reglas o patrones que restringen el diseño y la construcción. Código Implementación Diseño Arquitectura

El Modelo de 4+1 Vistas

Diagramas de Secuencia OBJETIVO: Ser capaz de describir el comportamiento de un sistema, subsistema u operación particular mediante un Diagrama de Secuencia utilizando para ello el concepto y representación de interacción, objeto, mensaje, activación.

Modelos y Diagramas Diagramas de Casos de Uso Diagramas de Clases Diagramas de interacción Un Diagrama de Secuencia describe la interación entre los objetos ordenada en el tiempo Diagramas de Objetos Diagramas de Secuencia

Objetivos: Diagramas de Secuencia Ser capaz de representar: Objetos, diferentes tipos de interacciones y mensajes con el objeto de describir el comportamiento de un sistema, subsistema, operación.

Ejemplo de Diagrama de Secuencia Escenario Principal de Éxito (pago en efectivo solamente): 1. El Cliente llega a la caja con los artículos y servicios a pagar 2. El Cajero inicia una nueva venta 3. El Cajero introduce el código del producto 4. El sistema registra el producto y presenta la descripción del producto, precio y subtotal El cajero repite los pasos 3-4 hasta procesar todos los artículos y servicios 5. El Sistema muestra el total con el impuesto calculado 6. El Cajero indica al Cliente el total y pregunta la forma de pago 7. El Cliente paga y el Sistema maneja el pago 8. El sistema registra la venta 9. El Sistema emite la factura 10. El Cliente se marcha con lo adquirido y la factura :Cajero iniciarventa() introducirproducto(cod,cantidad) descripción, subtotal *[otros productos] terminarventa() total con impuestos pagar(monto) vuelto y factura :Sistema

Ejemplo de Diagramas de Secuencia Límite del Sistema Actor externo al sistema :Cajero iniciarventa() :Sistema Sistema como caja negra Caja que puede encerrar un área de iteración *[...] es un marcador de iteración Valor (es) retornado (s) asociado(s) con el mensaje previo introducirproducto(cod,cantidad) descripción, subtotal *[otros productos] terminarventa() total con impuestos pagar(monto) vuelto y factura Mensajes

Diagrama de Secuencia Muestra: los objetos que participan en una interacción el intercambio de mensajes entre los objetos el ordenamiento en el tiempo de los mensajes Captura el comportamiento dinámico

Notación Básica: objetos, mensajes y valores retornados : C1 : C2 mensaje 1 () Valor (es) retornado (s) asociado(s) con el mensaje previo retorno mensaje 2 (p1,p2) Mensajes

Notación Básica: objetos, mensajes y valores retornados : C1 : C2 mensaje 0 () mensaje 1 () retorno mensaje 2 (p1,p2)

Notación Básica: Cajas de Activación : C1 : C2 mensaje 0 () mensaje 1 () Caja de activación retorno mensaje 2 (p1,p2)

Notación Básica: Cajas de Activación : C1 : C2 mensaje 0 () mensaje 1 () retorno mensaje 2 () mensaje 3 (p1,p2)

Notación Básica: Cajas de Activación : C1 : C2 mensaje 0 () mensaje 1 () retorno mensaje 2 () mensaje 3 (p1,p2)

Notación Básica: Recursión : C1 mensaje 0 () Recursión Mensaje a si mismo ( self, this ) mensaje 1() Caja de activación

Notación Básica: Recursión Ejemplo: :Calculadora factorial (n) factorial (n-1)

Notación Básica creación de objetos : C1 Creación de objetos Mensaje 0 () crear() :C2 mensaje 1()

Notación Básica creación de objetos Ejemplo: : Venta agregarproducto (cod,cant) crear() modificar (cod,cant) :Línea de Producto

Notación Básica destrucción de objetos : C1 Mensaje 0 ( ) crear() :C2 destruir Destrucción del objeto

Notación Básica: Mensajes Condicionales : C1 : C2 mensaje 0 () [condición] mensaje 1 () Mensaje condicional

Notación Básica: Mensajes Condicionales Ejemplo: : Ciudadano : Calculador declaraciónimpuesto () [sueldo>límite] impuesto (sueldo)

Notación Básica: Mensajes Condicionales Excluyentes : C1 : C2 : C3 mensaje 0 () [condición 1] mensaje 1 () [condición 2] mensaje 2 () Mensajes condicionales mútuamente excluyentes

Notación Básica: Mensajes Condicionales Excluyentes Ejemplo: repararcarro () : Taller [falladirección] reparar() : Especialista en Sistemas de Dirección : Especialista en Sistemas de Inyección [fallainyección] reparar()

Notación Básica: Iteración de un mensaje : C1 : C2 mensaje 0 () [i:=1..n]: v i :=mensaje () Iteración de un mensaje

Notación Básica: Iteración de un mensaje Ejemplo: : Simulador :Random simular() [i:=1..n]: num i :=proximo()

Notación Básica: Iteración de varios mensajes : C1 : C2 : C3 mensaje 0 () mensaje 1 () Caja que puede encerrar un área de iteración *[...] es un marcador de iteración mensaje 2 () *[...] FDS

Notación Básica: Iteración de varios mensajes Ejemplo: :Simulador : Random : Programador simular() horas:=próximoentero() trabajar (horas) comer () *[i:=1..n] FDS

Resumen: Diagramas de Secuencia Un Diagrama de Secuencia describe comportamiento de sistemas, subsistemas y operaciones, representando los objetos que intervienen, así como los mensajes que intercambian, ordenados en el tiempo a través de la línea de vida de cada uno de los objetos y sus cajas de activación

Contratos Documentos que indican como cambia el estado de un sistema cuando se efectúa una de sus operaciones. Se redactan contratos para cada operación del sistema con el fin de describir su comportamiento

Contratos Estilo declarativo (Generalmente) Describen lo que sucederá y no como se conseguirá Elementos fundamentales: Precondiciones y postcondiciones

Contratos: Formato Nombre: Referencias cruzadas: Precondiciones: A validar: Supuestas: Postcondiciones: Nombre de la operación y parámetros. Casos de uso, funciones del sistema, Suposiciones antes de la ejecución. Que deben ser verificadas Que no se validarán Efecto de la operación sobre el estado del sistema

Contratos: Ejemplo Nombre: Referencias cruzadas: Precondiciones: Supuestas: Postcondiciones: Introducir producto(cup:entero, cantidad:entero) Casos de uso:comprar productos Se supone que el sistema conoce el CUP Si fue una nueva venta: Fue creada una Venta (instancia) Fue creada una asociación entre la instancia de venta y el TDPV (asociación) Fue creada una instancia de VentasLíneaDeProducto Fue creada la asociación entre la instancia creada VentasLíneaDeProducto y Venta Fue creada la asociación entre la instancia creada VentasLíneaDeProducto y EspecificaciónProducto, basado en la correspondencia del CUP

Contratos: Ejemplo Nombre: Referencias cruzadas: Precondiciones: Supuestas: Postcondiciones: Introducir producto(cup:entero, cantidad:entero) Casos de uso:comprar productos Se supone que el sistema conoce el CUP Si fue una nueva venta: Fue creada una Venta (instancia) Fue creada una asociación entre la instancia de venta y el TDPV (asociación) Fue creada una instancia de VentasLíneaDeProducto Fue creada la asociación entre la instancia creada VentasLíneaDeProducto y Venta Fue creada la asociación entre la instancia creada VentasLíneaDeProducto y EspecificaciónProducto, basado en la correspondencia del CUP

Contratos: Postcondiciones Son declaraciones sobre el estado del sistema una vez concluida la operación Ventaja: permiten describir los efectos de una operación (cambios necesarios para el funcionamiento del sistema). Deben ser expresados en pasado. Qué expresar? Creación y eliminación de instancias Modificación de atributos Formación y cancelación de asociaciones

Contratos: Recomendaciones 1. Identificar las operaciones del sistema a partir de los Diagramas de Secuencia 2. Crear un Contrato para toda operación compleja, sutil en sus resultados o que no queda completamente clara en los casos de uso. 3. Para crear las Postcondiciones, usar las categorías y describirlas en pasado.