Desarrollo OO (3) Es necesaria una herramienta (conceptual) que permita a la vez: Servir de ayuda para el desarrollo de la tarea (uno mismo) Visualizar lo hecho hasta el momento (uno mismo) Comunicar el avance obtenido (el cliente y el equipo de desarrollo) Documentar el desarrollo de la aplicación (el equipo de desarrollo) 17
Desarrollo OO (4) UML es el estándar para modelado de software Es un lenguaje que puede ser aplicado cualquiera sea el método particular de desarrollar software orientado a objetos Utilizaremos algunos de sus diagramas para asistir nuestro desarrollo 18
Análisis Orientado a Objetos Considerar el dominio de la aplicación y su solución lógica en términos de conceptos (cosas, entidades) Concepto clave: abstracción Objetivo: encontrar y describir los conceptos en el dominio de la aplicación: Esto permite comprender mejor la realidad y el problema 19
Análisis Orientado a Objetos (2) Estos conceptos pueden entenderse como una primera aproximación a la solución al problema En un sistema de software orientado a objetos (bien modelado) existe un isomorfismo entre estos conceptos y los elementos que participan en el problema en la vida real 20
Análisis Orientado a Objetos (3) Modelo Realidad Rivera 9332 Casa John Walker Persona Auto Dodge Viper vive en conduce 21
Análisis OO :: Actividades Modelado de Dominio Modelar el dominio para comprender mejor el contexto del problema Herramienta: Diagrama de Clases Especificación del Comportamiento Contar con una descripción más precisa de qué es lo que se espera del sistema Herramientas: Diagramas de Secuencia del Sistema y Contratos 22
Análisis OO :: Dominio Un Modelo de Dominio contiene los conceptos y sus relaciones que sean significativos en el dominio del problema La información es provista principalmente por los Casos de Uso Se incluyen además las restricciones a las cuales está sujeto el dominio 23
Modelo de Dominio 24
Análisis OO :: Comportamiento Los Diagramas de Secuencia del Sistema ilustran la forma en que los actores realizan “invocaciones” sobre el sistema Los diferentes escenarios de uso son los definidos en los Casos de Uso El efecto de cada mensaje es especificado en forma precisa por medio de un Contrato 25
Diagrama de secuencia (DSS) 26
Caso de EstudioContrato 27
Diseño Orientado a Objetos Objetivo: definir objetos lógicos (de software) y la forma de comunicación entre ellos para una posterior programación En base a los “conceptos candidatos” encontrados durante el análisis y por medio de ciertos principios y técnicas, se debe decidir: Cuáles de éstos serán los objetos que participarán en la solución Cómo se comunican entre ellos para obtener el resultado deseado 28
Diseño Orientado a Objetos (2) Concepto clave: responsabilidades En esta transición: No todos los conceptos necesariamente participarán de la solución Puede ser necesario “reflotar” conceptos inicialmente dejados de lado Será necesario fabricar “ayudantes” (también objetos) para que los objetos puedan llevar a cabo su tarea 29
Diseño OO :: Actividades Diseño de Interacciones definir cómo se comunican los objetos para resolver las operaciones del sistema Herramienta: Diagrama de Comunicación Diseño de Estructura especificar la estructura necesaria para que todas las interacciones puedan ocurrir Herramienta: Diagrama de Clases de Diseño 30
Diseño OO :: Interacciones Se realiza un Diagrama de Comunicación por operación del sistema Los objetos protagonistas aparecen “sugeridos” en el Modelo de Dominio El resultado esperado es el especificado en el contrato de la operación a diseñar 31
Diagramas de Comunicación 32
Diseño OO :: Estructura Se resume la información provista por los Diagramas de Comunicación La estructura está guiada por el Modelo de Dominio Generalmente se realiza un único Diagrama de Clases que resume toda la información 33
Diagrama de Clases de Diseño 34
Implementación OO Su objetivo es codificar en un lenguaje de programación orientado a objetos las construcciones definidas en el diseño La definición de los objetos y el intercambio de mensajes requieren construcciones particulares en el lenguaje a utilizar 35
Resumen Esc. Típico Casos de Uso Esc. Alternat. 1 Esc. Alternat. n . . . Cont. 1 Cont. 2 Cont. 1 Cont. 3 Cont. 1 Cont. 4 36
Página anterior | Volver al principio del trabajo | Página siguiente |