1 / 32

Análisis y Diseño Orientado a Objetos

Análisis y Diseño Orientado a Objetos. _________________________ DSOO - María Eugenia Valencia. 1. Análisis y Diseño Orientado a Objetos. OBJETIVOS General Específicos Profundizar en los conceptos de las tecnologías orientadas a objetos Usar UML para modelar sistemas

emilia
Download Presentation

Análisis y Diseño Orientado a Objetos

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. Análisis y Diseño Orientado a Objetos _________________________ DSOO - María Eugenia Valencia 1

  2. Análisis y Diseño Orientado a Objetos • OBJETIVOS • General • Específicos • Profundizar en los conceptos de las tecnologías orientadas a objetos • Usar UML para modelar sistemas • Aplicar el proceso unificado de Rational para desarrollar un proyecto _________________________ DSOO - María Eugenia Valencia 2

  3. Análisis y Diseño Orientado a Objetos CONTENIDO _________________________ DSOO - María Eugenia Valencia 3

  4. Análisis y Diseño Orientado a Objetos • BIBLIOGRAFIA • Craig Larman : "Applying UML and Patterns" • Grady Booch, James Rumbaugh, and Ivar Jacobson: "The Unified Modelin Languaje User Guide” • James Rumbaug, Ivar Jacobson, and Grady Booch: "The Unified Modeling Language Reference Manual" • Ivar Jacobson, Grady Booch, and James Rumbaugh: "The Unified Software Development Process” • Martin Fowler with Kendall Scott: "UML Distilled" • Terry Quatrani : "Visual Modeling with Rational Rose and UML" • Bertrand Meyer : "Object Oriented software Construction" Segunda Edición. • Ratinal and others “UML version 1.1 and 1.3” 4

  5. Análisis y Diseño Orientado a Objetos • INTRODUCCION • El ADOO es un paso evolucionario, sigue la “huella” de las anteriores abstracciones. • Porqué es tan popular el ADOO? • Porque se espera que nos conduzca de manera fácil y rápida a un incremento de la productividad • Porque usa técnicas de razonamiento similar usadas para resolver problemas en otros dominios 5

  6. Introducción Uno de sus aspectos la POO se convierte en un nuevo paradigma “Conjunto de teorías, estándares y métodos que juntos representan una forma de organizar el conocimiento” Todo es basado en clases y objetos Análisis y Diseño Orientado a Objetos 6

  7. Introducción Antecedentes • Retraso del software con respecto al hardware en dos generaciones de procesadores al principio de los 90. • Herramientas, técnicas y abstracciones de desarrollo del software convencional se convierten rápidamente en inadecuadas. • La poca tecnificación de los procesos de producción de software. • La orientación a objetos proporciona un nuevo paradigma para la creación de software. • El análisis y diseño orientado a objetos aparece como una nueva alternativa. Análisis y Diseño Orientado a Objetos 7

  8. Introducción Fuerzas Conductoras de los 90 • Información de tipo multimedia (imagen , voz, sonido, texto, etc.) • Fabricación integrada por computador (CIM) • Diseño asistido por computador (CAD) • Ingeniería de software asistida por computador (CASE) • Edición Computarizada (CAP) • Interfaces gráficas (diseño y programación visual) • Plataformas heterogéneas de software y hardware ej: la arquitectura Cliente-Servidor Análisis y Diseño Orientado a Objetos 8

  9. Introducción Fuerzas Conductoras de los 90 USUARIO APLICACION Aplicaciones, archivos y sistemas operativos Piensen en tareas Análisis y Diseño Orientado a Objetos 9

  10. Introducción Una visión al futuro Las técnicas orientadas a objetos han sido empleadas por la comunidad investigadora durante más de 20 años. Su uso tomó fuerza cuando empezaron a aparecer lenguajes muy populares que soportaban algunas de las ideas de las técnicas orientadas a objetos (Cobol, Pascal, C). Las nuevas tendencias muestran: • Una fuerte tendencia hacia el uso de herramientas visuales de apoyo al diseño y programación • Integración de tecnologías y aplicaciones • Surgimiento de nuevos estándares Análisis y Diseño Orientado a Objetos 10

  11. Introducción Una visión al futuro Usuario Final Bibliotecas de Clases OO Entornos Operativos OO Bases de Datos OO Herramientas de Desarrollo OO Lenguajes OO 1990 1992 1994 1996 1998 2000 Análisis y Diseño Orientado a Objetos 11

  12. Introducción La Orientación a Objetos USUARIO FINAL Programador Usuario Análisis y Diseño Programación Programador de Clases Programador de Hardware Análisis y Diseño Orientado a Objetos 12

  13. Introducción Pilares básicos de la orientación a objetos Blob Disparador Polimorfismo Abstracción Agente Programación visual Encapsulamiento Persistencia Términos técnicos relacionados Conceptos clave Mensaje y método Clase y modelo Objeto Herencia Mecanismos básicos Análisis y Diseño Orientado a Objetos 13

  14. Introducción Fundamentos de la orientación a objetos • La orientación a objetos se define por medio de un conjunto de mecanismos: objetos, clases y modelos, métodos y mensajes y herencia • Estos mecanismos dan origen a conceptos clave inherentes a los sistemas orientados a objetos: encapsulación, abstracción y polimorfismo • Asimilar las ideas orientadas a objetos significa aprender las diferencias así como las similitudes entre este método y los métodos convencionales Análisis y Diseño Orientado a Objetos 14

  15. Introducción Puntos Clave • La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software • Los métodos tradicionales aplican procedimientos activos a datos pasivos. Los métodos orientados a objetos encapsulan procedimientos y datos • La orientación a objetos se aplica a la mayoría de los principales componentes del software incluyendo: lenguajes, bases de datos e interfaces. El resultado será un software que es más fácil de ampliar y mantener, y aplicaciones que son más completas, más fáciles de utilizar y más flexibles • La orientación a objetos es importante hoy en día debido a la creciente complejidad del software y la necesidad de mejores procesos de creación de software Análisis y Diseño Orientado a Objetos 15

  16. Introducción Objetos Análisis y Diseño Orientado a Objetos 16

  17. Introducción Complejidad de la programación • Evolución hacia una separación importante entre los conceptos manipulados por los programas y su representación interna en el computador • Modularidad • Reutilización • Abstracción de los datos • Programación estructurada • Programación orientada a objetos Análisis y Diseño Orientado a Objetos 17

  18. Introducción Programación estructurada Programa = algoritmo + estructuras de datos • Los procedimientos actuan sobre los datos: separación • Metodología: dividir para reinar • Problema: un cambio en los datos puede producir cambios profundos en la organización de los procedimientos • Solución: la encapsulación Análisis y Diseño Orientado a Objetos 18

  19. Introducción La encapsulación € Los datos y los procedimientos que los manipulan se agrupan en una sola entidad: el objeto € Detalles de implementación escondidos: acceso únicamente por medio de la interfaz del objeto objeto METODOS CAMPOS Interfaz Análisis y Diseño Orientado a Objetos 19

  20. Introducción El objeto Objeto = parte estática + parte dinámica • Parte estática: conjunto de datos (campos) • Parte dinámica: conjunto de procedimientos que manipulan los datos (métodos) • Modificación de los datos sin acceso directo a una variable • La aplicación es un conjunto de objetos, cada uno de los cuales posee las claves de su comportamiento Análisis y Diseño Orientado a Objetos 20

  21. Introducción Definición de un método Selector ( lista de parámetros): cuerpo de la función Diferencia entre el método y su selector: varios métodos pueden poseer el mismo selector Análisis y Diseño Orientado a Objetos 21

  22. Introducción La clase • Descripción de una familia de objetos que poseen la misma estructura y el mismo comportamiento • Componentes estáticos: los datos o campos. Caracterizan el estado del objeto durante la ejecución del programa • Componente dinámico: los procedimientos o métodos. Manipulan los campos y caracterizan las acciones que pueden ser afectadas por los objetos • La definición de una clase sirve para construir sus representantes físicos, las instancias Análisis y Diseño Orientado a Objetos 22

  23. Introducción Ejemplo de clase Clase Revista Campos referencia nombre precioSinImpuesto cantidad Métodos precioConImpuesto( ) : produce (1.186 * precioSinImpuesto) precioTransporte( ) : produce (0.05 * precioSinImpuesto) retirar( c ): cantidad := cantidad - c añadir( c ): cantidad + c Análisis y Diseño Orientado a Objetos 23

  24. Introducción Instanciación Instancia: objeto construido respetando los planes de construcción de una clase • No hay copia de los métodos • Copia parcial de los campos: la lista queda en la clase, el objeto posee los valores • Los campos son llamados igualmente variables de instancia o, simplemente, variables Análisis y Diseño Orientado a Objetos 24

  25. Introducción Párrafo Clase Justificar Métodos Variables de clase Tipo de letra “fuente” = helvética Variables de instancia Texto = Instancias Los hombres .. Los niños .. Las mujeres .. Análisis y Diseño Orientado a Objetos 25

  26. referencia 60021 nombre TV portátil precioSinImpuesto 210.000 cantidad 46 Introducción Ejemplo de instanciación 30341 kimono 45.000 600 Medio_De_Transporte Retirar Añadir Instancia-de Instancia-de Análisis y Diseño Orientado a Objetos 26

  27. Introducción Herencia • Mecanismo para definir clases más específicas a partir de clases existentes: se complementan los conocimientos de la clase padre • La nueva clase (subclase) comparte las variables y los métodos de su clase madre (superclase): la subclase hereda las informaciones de la superclase • Tipos de herencia • Herencia simple • Una clase posee una sola superclase directa, el gráfico de herencia es un arbol • Herencia múltiple • Una clase posee varias superclases directas, el gráfico de herencia no es un árbol Análisis y Diseño Orientado a Objetos 27

  28. Introducción Mecanismos de herencia • Enriquecimiento: • Se añaden variables y/o métodos • Substitución: • Un método heredado recibe una nueva definición (la antigua no es adecuada al nuevo conjunto de objetos descritos por la superclase • Visibilidad • Pública (public) • Privada (private) • Protegida (protected) Análisis y Diseño Orientado a Objetos 28

  29. Introducción Herencia documento gráfico texto título párrafo tabla Los niños .. Análisis y Diseño Orientado a Objetos 29

  30. Introducción Los mensajes • Un objeto no puede actuar directamente sobre otro • Unico medio de acción sobre un objeto: utilización de uno de los métodos de la interface del objeto • Envío de un mensaje: solicitud de ejecución de un método. El método es ejecutado por el objeto receptor • Elementos de un mensaje: • el receptor • el selector del método • los argumentos sobre los cuales se aplica el método • El método puede producir un resultado, que se puede asignar a una variable Análisis y Diseño Orientado a Objetos 30

  31. Introducción Mensaje Mensaje Moverse(aladerecha,10centimetros) Objeto receptor Selector Parámetros Análisis y Diseño Orientado a Objetos 31

  32. Introducción Ventajas iniciales del enfoque orientado a objetos • Simplicidad • Modularidad • Modificación simple • Posibilidades de extensión • Flexibilidad • Mantenimiento simple • Reutilización Análisis y Diseño Orientado a Objetos 32

More Related