1 / 23

Introducción

Introducción. ADOO Conceptos históricos Análisis estructurado de sistemas Análisis orientado a objetos Ventajas Proceso Identificación y definición de objetos Definición y organización de clases Metodologías emergentes. Análisis y Diseño Orientado a Objetos. 1. Introducción.

viet
Download Presentation

Introducción

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducción ADOO • Conceptos históricos • Análisis estructurado de sistemas • Análisis orientado a objetos • Ventajas • Proceso • Identificación y definición de objetos • Definición y organización de clases • Metodologías emergentes Análisis y Diseño Orientado a Objetos 1

  2. Introducción Conceptos Históricos • Importancia por comprender y comunicar los requisitos de un sistema antes de programarlo. • Se destacaban métodos basados en descripciones textuales realizadas sobre el papel. • Ambigüedad • Dificultaban las modificaciones • No servían para apoyar el diseño de sistemas grandes • Surgen: • El análisis estructurado • El análisis de sistemas basado en objetos Análisis y Diseño Orientado a Objetos 2

  3. Introducción El Análisis Estructurado • Fue desarrollado en los años 60 e introdujo un método definitivo y más manejable para el análisis de sistemas • Basado en descomponer componentes funcionales • Los subprogramas podían servir como mecanismo de abstracción para construir grandes y complejos sistemas • El proceso más conocido es la descomposición funcional, donde las áreas funcionales se dividen en Procesos y estos son descompuestos en pasos o procedimientos comprensibles por diseñadores y usuarios finales. Análisis y Diseño Orientado a Objetos 3

  4. Introducción El Análisis Estructurado • Procesos Subprocesos (piezas procedimentales) - Planificación Comercial - Validación - Financiación del cliente - Planificación - Comprobación del producto - Aceptación de disponibilidad - Producción de pedidos del producto - Investigación - Control - Completar - Procedimiento - Ventas de existencias pedidos de error - Distribución - Atención de - Facturación - Comprobación de - Contabilidad pedidos - Entrega de pedidos pendientes - Personal - Empaquetamiento de pedidos - Crear pedido del - Transporte cliente Areas funcionales Procesos Partes de un proceso Análisis y Diseño Orientado a Objetos 4

  5. Introducción El Análisis Estructurado • Gráfico estructural • Módulos funcionales específicos • Activación de estos módulos por otros módulos • Especificaciones finales que se adaptan a estructuras de secuencia, selección y control repetitivo (Lenguajes procedimentales) • La descomposición funcional, la identifican con el nombre de autores tales como: Yourdon, Constantine, DeMarco y Gane. • Los programadores se concentran en operaciones • Poca atención a los datos, más código Análisis y Diseño Orientado a Objetos 5

  6. Introducción Análisis Orientado a Objetos • Popularizado por Chen en los 80’s (precursor del AOO) • Diagrama Entidad-Relación Atributos Clasificarlos (Categorías) Agregando relaciones Jerarquía de subtipos y Objetos asociados Carece de: Encapsulación, Herencia, Paso de mensajes Análisis y Diseño Orientado a Objetos 6

  7. Introducción Método Sistema-Proceso • Sally Shalaer y Stephen Mellor (1988) Objetos y Atributos Ciclo de vida de los objetos (modelos de estado) sucesos Definición de procesos Componentes : Lo que está haciendo Aquello sobre lo que el proceso se está ejecutando En que momento se realiza Análisis y Diseño Orientado a Objetos 7

  8. Introducción Método Orientado a Objetos • El análisis de sistemas orientado a objetos es un nuevo método que realza la definición de las características y comportamiento dentro de un sistema de objetos. • Características: Reduce el código derivado de los datos Permanece estable ante el cambio de requisitos No énfasis Entrada-Salida Enfasis en el contenido de las entidades No agrupa funciones, agrupa métodos Paso de mensajes determina la sequencia de funcionamiento Análisis y Diseño Orientado a Objetos 8

  9. Introducción Tres Métodos de Análisis de Sistemas Descomposición Suceso-Respuesta Orientado a Objetos funcional 1. Proceso 1. Control 1. Datos 2. Control 2. Proceso 2. Control 3. Datos 3. Datos 3. Proceso Análisis y Diseño Orientado a Objetos 9

  10. Introducción Análisis Estructurado Vs Orientado a Objetos Análisis y Diseño Análisis y Diseño Estructurado Orientado a Objetos Descendente: Descomposición funcional Ascendente: Composición de basada en subprocesos de procesos de clases basada en abstracción de niveles superiores datos Análisis y Diseño Orientado a Objetos 10

  11. Introducción Ventajas del análisis y diseño orientado a objetos Centrado en : • La identificación de objetos y la definición de clases • La organización jerarquizada de clases • La reutilización de clases • La construcción de marcos estructurales de aplicación a partir de librerías de clases Análisis y Diseño Orientado a Objetos 11

  12. Introducción Proceso de análisis y diseño orientado a objetos • El resultado de un diseño orientado a objetos es una jerarquía de clases Estructuras de control propias Clase Módulo Datos Problema en forma natural Objetos y métodos asociados Objetosse agrupan enClases se agrupan enSubclases Nivel superior es el marco estructural _________________________ DSOO - María Eugenia Valencia 12

  13. Introducción Pasos fundamentales del análisis y diseño orientado a objetos • Identificación y definición de objetos y clases • Organización de relaciones entre clases • Extracción de estructuras en una jerquía de clases • Construcción de librerías de clases y marcos estructurales de aplicación reutilizables _________________________ DSOO - María Eugenia Valencia 13

  14. Introducción Identificación y definición de objetos • El diseño de un sistema orientado a objetos comienza con los objetos. • Identificación de objetos • Inspección gramatical de documentos • Derivación a partir de diagramas de flujo y de relación de entidades _________________________ DSOO - María Eugenia Valencia 14

  15. Introducción Directrices para ayudar a identificar y definir Clases y Métodos • Modelar con clases las entidades que ocurren de forma natural en el problema • Diseñar métodos de finalidad única • Diseñar un nuevo método al encontrar una oportunidad de ampliar uno existente • Evitar métodos extensos • Guardar como variables de instancia los datos necesitados por más de un método, o por una subclase • Diseñar pensando en una librería de clases, no pensar solo en la aplicación actual. _________________________ DSOO - María Eugenia Valencia 15

  16. Introducción Cúando crear un clase? Cúando añadir un método? • Dicha nueva clase representa una abstracción significativa del problema • Sea posible que los servicios que proporciona sean utilizados por varias clases más • Su conducta sea inherente compleja • La clase o método haga poco uso de las representaciones de sus valores matemáticos • Si se presentara como un método de otra clase, pocos usuarios de ésta la invocarían _________________________ DSOO - María Eugenia Valencia 16

  17. Introducción Definición y organización de clases Objetos Clases Biblioteca de clases Algunas metodologías para mejorar las jerarquías • Mejorar los protocolos estándar • Construcción de clases abstractas • Identificación de marcos estructurales (frameworks) _________________________ DSOO - María Eugenia Valencia 17

  18. Introducción Algunas metodologías para mejorar las jerarquías • Mejorar los protocolos estándar: nombres y comportamiento de mensajes y métodos • Asignar a mensajes y métodos nombres similares • Reelaborar cualquier código que compruebe de forma explícita la clase de un objeto. (Clases que puedan enviar un mensaje directamente a un objeto) • Reducir el número de argumentos descomponiendo un mensaje en varios • Reducir el tamaño de los métodos _________________________ DSOO - María Eugenia Valencia 18

  19. Introducción Algunas metodologías para mejorar las jerarquías • Construcción de clases abstractas • Identificar mensajes y métodos comunes y transladarlos a una superclase • Eliminar de una superclase aquellos métodos que son ignorados frecuentemente, en su lugar que los hereden subclases • Acceder a todas las variables solamente mediante el envío de mensajes • Reelaborar las subclases para construir especializaciones _________________________ DSOO - María Eugenia Valencia 19

  20. Introducción Algunas metodologías para mejorar las jerarquías • Identificación de marcos estructurales (frameworks) Objetivo último del diseño orientado a objetos, nivel más alto de abstracción. • Identificar subclases que realicen el mismo método de formas diferentes • Identificar y dividir clases en las que algunos métodos solo accedan a ciertas variables de instancia y otros métodos sólo accedan a otras • Enviar mensajes a otras clases en lugar de hacerlo a la propia clase • Identificar conjunto de métodos combinados en una clase sólo para acceder a variables de instancia comunes (translado de métodos) _________________________ DSOO - María Eugenia Valencia 20

  21. Introducción Defectos comunes en el diseño • Modificación directa. Clases que hacen modificaciones directas a los valores de datos en otras clases son una violación directa de la encapsulación. Tales uniones se hacen para diseños inflexibles. • Demasiada responsabilidad. Clases con demasiada responsabilidad son dificiles de entender y de usar. La responsabilidad debe ser repartida entre pequeños paquetes y distribuida. • No responsabilidad. Clases con no responsabilidad no tienen propósito. A menudo se presenta cuando los diseñadores igualan existencia física con existencia de diseño lógico. “El dinero no es un objeto”. • Clases con responsabilidad no usada. Como resultado de componentes de software sin pensar en como ellos interactuan. _________________________ DSOO - María Eugenia Valencia 21

  22. Introducción Modelos ó Metodologías Orientadas a Objetos • GOOD (General Object-Oriented Software Development) • HOOD (Hierarchical Object-Oriented Design • MOOD (Multiple-View Object-Oriented Methodology) • OOA (Object Oriented Analysis) • OMT (Object Modeling Technique) • UML (Unified Modeling Language) _________________________ DSOO - María Eugenia Valencia 22

  23. Introducción • GOOD (General Object-Oriented Software Development), utiliza diagramas de flujo de datos en la fase de especificación para identificar entidades abstractas que se convierten en objetos en la fase de diseño. • HOOD (Hierarchical Object-Oriented Design), es un derivado del método de Booch, desarrollado por la agencia europea del espacio. Comienza por descomponer el problema en objetos y métodos, a continuación se inicia la formalización y organización de objetos utilizando gráficos basados en los diagramas de Booch, la descripción formal se completa usando Leng.Descrpformal.Ada. No tiene clases ni herencia. • MOOD (Multiple-View Object-Oriented Methodology), comienza con un modelo estructurado (Ward/Mellor). Permite el paradigma orientado a objetos pero exige que los procesos concurrentes se expresen como tareas convenio de Ada y no de objetos. _________________________ DSOO - María Eugenia Valencia 23

More Related