La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Aspectos Avanzados de la Tecnología de Objetos

Presentaciones similares


Presentación del tema: "Aspectos Avanzados de la Tecnología de Objetos"— Transcripción de la presentación:

1 Aspectos Avanzados de la Tecnologí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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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 Dr. Juan José Aranda Aboy
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


Descargar ppt "Aspectos Avanzados de la Tecnología de Objetos"

Presentaciones similares


Anuncios Google