La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción Metodologías emergentes ADOO Conceptos históricos

Presentaciones similares


Presentación del tema: "Introducción Metodologías emergentes ADOO Conceptos históricos"— Transcripción de la presentación:

1 Introducción Metodologías emergentes 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 El Análisis Estructurado
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 El Análisis Estructurado
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 El Análisis Estructurado
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 Análisis Orientado a Objetos
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 Método Sistema-Proceso
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 Método Orientado a Objetos
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 Tres Métodos de Análisis de Sistemas
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 Análisis Estructurado Vs Orientado a Objetos
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 Ventajas del análisis y diseño orientado a objetos
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 Proceso de análisis y diseño orientado a objetos
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 Objetos se agrupan en Clases se agrupan en Subclases Nivel superior es el marco estructural _________________________ DSOO - María Eugenia Valencia 12

13 Pasos fundamentales del análisis y diseño orientado a objetos
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 Identificación y definición de objetos
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 Ejemplo usando el método de booch _________________________ DSOO - María Eugenia Valencia 14

15 Directrices para ayudar a identificar y definir Clases y Métodos
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. Ejemplo usando el método de booch _________________________ DSOO - María Eugenia Valencia 15

16 Cúando crear un clase? Cúando añadir un método?
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 Ejemplo usando el método de booch _________________________ 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) Ejemplo usando el método de booch _________________________ DSOO - María Eugenia Valencia 17

18 Algunas metodologías para mejorar las jerarquías
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 Ejemplo usando el método de booch _________________________ DSOO - María Eugenia Valencia 18

19 Algunas metodologías para mejorar las jerarquías
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 Ejemplo usando el método de booch _________________________ DSOO - María Eugenia Valencia 19

20 Algunas metodologías para mejorar las jerarquías
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) Ejemplo usando el método de booch _________________________ DSOO - María Eugenia Valencia 20

21 Defectos comunes en el diseño
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. Ejemplo usando el método de booch _________________________ DSOO - María Eugenia Valencia 21

22 Modelos ó Metodologías Orientadas a Objetos
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) Ejemplo usando el método de booch _________________________ 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. Ejemplo usando el método de booch _________________________ DSOO - María Eugenia Valencia 23


Descargar ppt "Introducción Metodologías emergentes ADOO Conceptos históricos"

Presentaciones similares


Anuncios Google