UNIVERSIDAD DEL BÍO-BÍO VICERRECTORIA ACADÉMICA – DIRECCIÓN DE PREGRADO I. IDENTIFICACIÓN ASIGNATURA CARRERA DOCENTE CAMPUS FACULTAD UNIDAD CRÉDITOS PRERREQUISIOS : TECNOLOGÍA DE OBJETOS. : Ing. Civil en Informática – Ing. Ejec. en Computación e Inf. : MEng. Pedro Campos Soto : Concepción. : Ciencias Empresariales. : Depto. Sistemas de Información. : 05 Teoría: 04 Práctica: 02. : Estructura de Datos. Es deseable que el alumno esté familiarizado con conceptos básicos de orientación a objetos. SEMESTRE ACADÉMICO : Primavera 2006. II. DESCRIPCIÓN GENERAL Curso teórico-práctico que permite a los alumnos conocer y comprender los conceptos más importantes del modelo de Orientación a Objetos, y aplicar estos conceptos en el análisis, diseño y desarrollo de sistemas de software. III. OBJETIVOS a) Generales: Dado un conjunto de fundamentos de lenguajes orientados a objetos, consideraciones en la elaboración de modelos de diseño y desarrollo de programas orientados a objetos, el alumno deberá ser capaz de aplicarlos correctamente en el desarrollo de aplicaciones prácticas bajo el paradigma orientado a objetos. b) Aprendizajes esperados: • Comprender los fundamentos del modelo de Orientación a Objetos. • Utilizar lenguajes Orientados a Objetos. • Elaborar modelos y diseños Orientados a Objetos. • Identificar y Aplicar Patrones de Diseño Orientado a Objetos. • Construir pequeños programas orientados a Objetos. • Trabajar colaborativamente, aplicando todos los conocimientos adquiridos, para desarrollar una pequeña aplicación orientada a objetos. IV. RESUMEN DE UNIDADES PROGRAMÁTICAS 1: Introducción al modelo Orientado a Objetos. 2: El Lenguaje de Modelado Unificado (UML). 3: Análisis Orientado a Objetos. 4: Diseño Orientado a Objetos. 5: Programación Orientada a Objetos. 6: Objetos y Patrones de Diseño. V. DESARROLLO DE CONTENIDOS DE LAS UNIDADES PROGRAMÁTICAS 1: Introducción al modelo Orientado a Objetos • Factores de Calidad del Software. • Enfrentando la complejidad del software: descomposición, abstracción y jerarquías. • Tipos de Datos Abstractos (TDAs) y Clases. • Clases y Objetos. • Objetos: estado, comportamiento e identidad. • Herencia Simple. • Herencia Múltiple. • Polimorfismo y Enlace Dinámico. 2: El Lenguaje de Modelado Unificado (UML) • Diagrama de clases. • Diagrama de objetos. • Diagrama de casos de uso. • Diagrama de estado. • Diagrama de secuencia. • Diagrama de colaboración. 3: Análisis Orientado a Objetos • El proceso de Análisis OO. • Casos de Uso. • Identificación de objetos. • Modelo del dominio. • Eventos y Operaciones del Sistema. • Contratos de Operación. 4: Diseño Orientado a Objetos • El proceso de Diseño OO. • Diagramas de interacción. • Modelo de Diseño. 5: Programación Orientada a Objetos • Lenguajes Basados en Objetos y Orientados a Objetos. • Codificación. 6: Objetos y Patrones de Diseño • Introducción al uso de Patrones. • Patrones de Análisis. • Patrones de Diseño. • Catálogo de Patrones de Diseño. VI. METODOLOGÍA • • Se utilizará aprendizaje basado en problemas, a fin de dar la oportunidad a los estudiantes de enfrentarse a situaciones reales posibles y en una dinámica de equipos de trabajo. Los estudiantes participarán en clases expositivas, debates y discusiones dirigidas, como también presentación de los proyectos realizados. VII. REQUISITOS DE ASISTENCIA Debido al trabajo en equipo y debates y discusiones se establece como mínimo el 70% de asistencia. VIII. FORMAS DE EVALUACIÓN Se realizarán evaluaciones, formativas y sumativas, y asimismo se contemplan autoevaluaciones y coevaluaciones. Los instrumentos a utilizar serán: • Control escrito (certamen) a fin de verificar el dominio de conceptos. • Controles escritos respecto de revisiones bibliográficas. • Informes escritos con los resultados de los trabajos en equipo. Estos deberán cumplir con una presentación, forma y fondo adecuado, acompañados de opiniones propias y evaluaciones críticas de lo desarrollado o aplicado. • Exposiciones, donde los estudiantes presentarán los resultados relevantes de sus trabajos. Las ponderaciones correspondientes son: • Certamen (1) • Controles escritos • Talleres / Informes escritos 25% 25% 30% • Exposiciones 20% IX. BIBLIOGRAFÍA BÁSICA 1. 2. 3. 4. 5. Craig Larman, UML y Patrones: Una introducción al análisis y diseño orientado a objetos.. Prentice Hall. 1999. Grady Booch. Análisis y Diseño Orientado a Objetos con Aplicaciones. Adisson Wesley, 1994. Mark Grand. Patterns in Java. Volume 1. Wiley, 1998. Erich Gamma, Richard Helm, John Vlissides y Ralph Johnson. Design Patterns. Grady Booch et al. El Lenguaje Unificado de Modelado. Addison Wesley, 1999. X. BIBLIOGRAFÍA COMPLEMENTARIA 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal. Pattern-Oriented Software Architecture. A System of Patterns. Wiley, 1996. Doug Lea. Concurrent Programming in Java. Reading, Mass. Addison-Weley, 1997. Bobby Woolf. Null Object. In "Pattern Languages of Program Design 3". Addison-Wesley, 1997. Ivar Jacobson, Grady Booch y James Rumbaugh, El Proceso Unificado de Desarrollo de Software, Pearson, 2000. Ian Somerville, Ingeniería de Software, 6ta. edición, Addison Wesley, 2002. Martin Fowler y Kendall Scott. UML Gota a Gota, Addison Wesley, 1999. Anton Eliens. Principles of Object Oriented Software Development, Addison Wesley, 2000. James Martin y James Odell. Análisis y Diseño Orientado a Objetos. Prentice Hall, 1994. Timoty Budd. Programación Orientada a Objetos. Bertrand Meyer. Object-Oriented Software Construction. Second Edition. Prentice Hall, 1997. Harvey M. Deitel y P. J. Deitel. Como programar en Java. Prentice Hall, 1998. Setrag Khoshafian and Razmik Abnous. Object Orientation - Concepts, Languages, Databases, User Interfaces. John Wiley & Sons, Inc., 1990.