1 / 30

Aspectos Avanzados de la Tecnología de Objetos

Aspectos Avanzados de la Tecnología de Objetos. Presentación del curso. Propósito y descripción. Esta asignatura guía al estudiante en el uso apropiado de las metodologías de Análisis y Diseño Orientado a Objetos (A/D OO). Entrega los conocimientos necesarios para analizar, diseñar,

xuefang
Télécharger la présentation

Aspectos Avanzados de la Tecnología de 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. Aspectos Avanzados de laTecnología de Objetos Presentación del curso

  2. Propósito y descripción Esta asignatura guía al estudiante en el uso apropiado de las metodologías de Análisis y Diseño Orientado a Objetos (A/D OO). Entrega los conocimientos necesarios para analizar, diseñar, desarrollar e implementar aplicaciones utilizando las metodologías actuales a partir de la orientación a objetos, permitiendo a los alumnos adecuarse a los requerimientos técnicos que les presente su problemática específica de trabajo. Dr. Juan José Aranda Aboy

  3. Objetivos generales Al término de la asignatura, el estudiante será capaz de: • Consolidar y desarrollar los conocimientos sobre análisis, diseño e implementación de sistemas orientados a objeto. • Modelar y Construir software usando Orientación a Objetos, mediante enfoques de desarrollo apropiados. • Conocer los últimos avances y técnicas que se han propuesto para el desarrollo de aplicaciones utilizando orientación a objetos. Dr. Juan José Aranda Aboy

  4. Metodología • Clases expositivas, ejemplificando las distintas materias con apoyo de material físico: talleres, presentaciones y uso de computador. • Desarrollo de casos prácticos en grupo, tanto en clases de laboratorio como fuera de la sala de clases mediante las herramientas disponibles para colaboración: foro, chat, blog y wiki. • Desarrollo de proyectos en grupos. • Controles relacionados con los tópicos estudiados y el estado del avance de cada proyecto por unidad. Dr. Juan José Aranda Aboy

  5. Sistema de evaluación Evaluación teórica: • 2 Pruebas solemnes: Promedio 70% • 6 Controles: Promedio 30% (sin eliminación) Evaluación práctica: • Proyecto de Análisis y Diseño: 100% Nota: [ Solemnes (70%) + Controles (30%) + Proyecto (100%) ] / 2 Dr. Juan José Aranda Aboy

  6. Contenidos • Introducción: Ideas de calidad de software, modularidad y tipos abstractos de datos. • Fundamentos del modelo de objetos • Modelo de objetos representados en los lenguajes de programación • Métodos de análisis y diseño orientado a objetos a través del estudio de casos. • Aspectos avanzados de programación orientada a objetos. • Objetos y componentes de software. Persistencia en el modelo de objetos. • Tópicos avanzados: Concurrencia, distribución, desarrollo bajo el modelo cliente servidor e Internet. Dr. Juan José Aranda Aboy

  7. 1. Introducción • Calidad de Software: • ¿Qué es un buen sistema? • ¿Se tienen buenos sistemas? • ¿Cómo son los buenos sistemas? • ¿Cómo se construye un buen sistema? • Modularidad. • Tipos abstractos de datos. • El proceso de desarrollo. • Sistema, diseño, modelo, diagrama. Dr. Juan José Aranda Aboy

  8. 1. Objetivos específicos • Definir qué se entiende por un buen sistema. • Caracterizar la problemática de los sistemas existentes. • Conocer cómo el enfoque de análisis y diseño orientado a objetos contribuye a la construcción de buenos sistemas. Dr. Juan José Aranda Aboy

  9. 2. Fundamentos del modelo de objetos • Ingeniería del software con componentes. • Conceptos de objetos. • El proceso de desarrollo. • El lenguaje unificado de modelado (Unified Modeling Language – UML): • Fundamentos de los modelos de casos de uso. • Fundamentos de los modelos de clases. • Fundamentos de los diagramas de interacción y colaboración. • Fundamentos de los diagramas de estado y de actividad. • Diagramas de implementación. • Paquetes, subsistemas, modelos. Dr. Juan José Aranda Aboy

  10. 2. Objetivos específicos • Definir los conceptos de objeto, clase y componente. • Caracterizar el proceso de desarrollo. • Conocer y emplear adecuadamente el lenguaje unificado de modelado (UML). Dr. Juan José Aranda Aboy

  11. 3. Modelo de objetos representados en los lenguajes de programación • Identificación de requisitos. • Diseño de objetos con responsabilidades: Patrones GRASP. • Patrones de diseño de la “pandilla de los cuatro” (Gang of Four - GoF). • Diagramas de secuencia y contratos de operaciones. Dr. Juan José Aranda Aboy

  12. 3. Objetivos específicos • Conocer cómo definir apropiadamente los requisitos del sistema. • Definir los patrones. • Aprender a aplicar los patrones GRASP y GoF al diseño de casos. Dr. Juan José Aranda Aboy

  13. 4. Métodos de análisis y diseño orientado a objetos a través del estudio de casos Casos para analizar y diseñar: • Una Calculadora. • Una Biblioteca. • Juegos con tablero: Tres en Raya (gato) y Ajedrez. • Simulación de un Elevador. • Puntos de venta. • Gestión de calificaciones. • Almacenamiento y Comunicación de señales e imágenes biomédicas • Hacia la Web semántica: Repositorio de prácticas institucionales: Taxonomías y Ontología. Dr. Juan José Aranda Aboy

  14. 4. Objetivos específicos • Desarrollar el análisis y diseño de los diferentes casos. • NOTA: Esta unidad se realiza prácticamente en las horas de laboratorio durante todo el curso. Dr. Juan José Aranda Aboy

  15. 5. Aspectos avanzados de programación orientada a objetos • Análisis arquitectural y el Documento de la Arquitectura del Software (Software Architecture Document – SAD). • Diseño de un entorno de trabajo (framework) de persistencia con patrones. 4to Control Dr. Juan José Aranda Aboy

  16. 5. Objetivos específicos • Conocer y aplicar prácticamente cómo se diseña la arquitectura de los sistemas. • Explicar y manejar apropiadamente la arquitectura lógica. • Mostrar la arquitectura utilizando los diagramas de paquetes de UML. • Conocer como se diseña un framework. Dr. Juan José Aranda Aboy

  17. 6. Objetos y componentes de software. Persistencia en el modelo de objetos • Bases de datos orientadas a objetos. • Estándares de objetos de datos: • Patrones utilizados para resolver el Modelo de Negocio y su Acceso • Patrones utilizados para resolver el Mapeo de la Persistencia • Patrones utilizados para resolver la Arquitectura de la Persistencia • Patrones utilizados para resolver el Comportamiento de la Persistencia • Motores de persistencia. Opciones disponibles. Dr. Juan José Aranda Aboy

  18. 6. Objetivos específicos • Describir la correspondencia (mapping) objeto – relacional. • Conocer y aplicar apropiadamente los patrones utilizados. • Emplear apropiadamente los motores de persistencia. Dr. Juan José Aranda Aboy

  19. 7. Tópicos avanzados • Concurrencia. • Patrones utilizados para resolver la Concurrencia • Distribución: CORBA y RMI. • Patrones utilizados para resolver la Distribución • Patrones utilizados para resolver la Presentación • Desarrollo bajo el modelo cliente - servidor e Internet. Dr. Juan José Aranda Aboy

  20. 7. Objetivos específicos • Conocer, describir y aplicar apropiadamente los patrones utilizados para resolver la concurrencia y la distribución. • Explicar las características de CORBA y Java RMI, comparándoles adecuadamente. • Utilizar el modelo Cliente – Servidor para construir sistemas. Dr. Juan José Aranda Aboy

  21. Tópicos para investigación • Integración con la programación funcional: Metodología funcional y Orientada a Objetos. • Programación extrema (eXtreme Programming – XP) y buenas prácticas. • Desarrollo de sistemas Seguros. Dr. Juan José Aranda Aboy

  22. Bibliografía en castellano • Stevens, P. “Utilización de UML en Ingeniería del Software con Objetos y Componentes”, Addison Wesley, 2002 (en inglés: “Using UML: software engineering with objects and components”) • Larman, C. “UML y Patrones” 2da ed. Pearson Prentice Hall, 2004 • Amescua, A. et. al. “Análisis y Diseño Estructurado y Orientado a Objetos de Sistemas Informáticos”, Mc Graw Hill, 2003 • Schmuller, J. “Aprendiendo UML en 24 horas”, Prentice Hall, 2001 • Universidad Carlos III de Madrid: “Modelado con UML” • Deitel y Deitel, “Java: ¿Cómo programar?, Mc Graw Hill, 2004 • Connolly,T. y Begg,C. “Sistemas de Bases de Datos” 4ta edición, Pearson, 2005 • Alonso,A. et al “Ingeniería del Conocimiento: Aspectos Metodológicos”, Pearson, 2004 Dr. Juan José Aranda Aboy

  23. Textos POO en inglés • Shoval, P. “Functional and object oriented analysis and design : an integrated methodology”, Idea Group Inc., 2007 • Cockburn, A. “Writing Effective Use Cases”, Addison Wesley, 2000 • Reynolds-Haertle, R. A. “OOP with Microsoft Visual Basic .NET and Microsoft Visual C# Step by Step”, Microsoft Press, 2002 • Bruce, K.B. “Foundations of Object-Oriented Languages: Types andSemantics”, The MIT Press, 2002 • Taylor, A. D. “Object Technology”, Addison Wesley, 1997 • Hunt, J. “Smalltalk and Object Orientation: An Introduction” • Champeaux,D.; Lea,D. y Faure,P. “Object-Oriented System Development”, Addison Wesley, 1993 Dr. Juan José Aranda Aboy

  24. Textos UML en inglés • Grady Booch, James Rumbaugh, Ivar Jacobson “The Unified Modeling Language User Guide”, Addison Wesley, 1998 • OMG Unified Modeling Language Specification, Version 1.3, June 1999 • Gross, H-G. “Component-Based Software Testing with UML”, Springer, 2005 • Rosenberg, D. y Scott, K. “Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example”, Addison Wesley, 2001 • Kruchten, P. “The Rational Unified Process”, Addison Wesley, 2000 Dr. Juan José Aranda Aboy

  25. Textos Patrones en inglés • Eckel, B. “Thinking in Patterns, with JAVA”, MindView Inc., 2000 • Eckel, B. “Thinking in C++”, MindView Inc., 2000 • Evitts, P. “A UML Pattern Language”, New Riders Publishing, 2000 • Hubert, R. “Convergent Architecture - Building Model-Driven J2EE Systems with UML”, John Wiley & Sons, 2002 Dr. Juan José Aranda Aboy

  26. Textos XP en inglés • Wake, W. C. “Extreme Programming Explored”, Addison Wesley, 2000 • Beck, K. “Extreme Programming Explained: Embrace Change”, Addison Wesley, 2004 • Beck, K.; Fowler, M. y Martin,R. “Planning Extreme Programming”, Addison-Wesley, 2000 Dr. Juan José Aranda Aboy

  27. Conceptos importantes • Programación Extrema • Extreme Programming: A gentle introduction. • XProgramming > Software Downloads • Rapid application development (RAD) • Refactoring • Scrum • Arquitectura de Software Dr. Juan José Aranda Aboy

  28. Artículos recomendados • Software quality development and assurance in RUP, MSF and XP: A comparative study • Introducing an agile process to an organization • The V-Model • The spiral model as a tool for evolutionary acquisition • Quality in an agile world • Agile software testing in a large-scale project • Agile software development with Scrum • Project management and Scrum: A side by side comparison Dr. Juan José Aranda Aboy

  29. Artículos … (2) • Improve competitive quality with extreme programming • Best practices in Scrum project management and XP agile software development • Rational Unified Process: Best practices for software development teams • Agile modeling and the Rational Unified Process (RUP) • RUP in the dialogue with Scrum • Test-driven development, a portable methodology • Test-driven development in .NET • Test-driven C#: Improve the design and flexibility of your project with extreme programming techniques Dr. Juan José Aranda Aboy

  30. Otras referencias en Internet • Wikipedia: • Programación Orientada a Objetos • Patrón de diseño • Wikibooks: • Computer programming/Object oriented programming • Topic: Object-Oriented Programming • The Object Oriented Programming Web • The Object Management Group (OMG) • Introducing UML: Object-Oriented Analysis and Design • Design with ArgoUML • Architecture & Design: Overview Dr. Juan José Aranda Aboy

More Related