UNIVERSIDAD DE MENDOZA – FACULTAD DE INGENIERÍA CARRERA Ingeniería en Informática CURSO 3ro MATERIAS CORRELATIVAS: 2031 Análisis de Sistemas II ASIGNATURA Diseño de Sistemas CÓDIGO 2036 ÁREA Tecnologías aplicadas ULTIMA REVISIÓN 8/11/2010 AÑO LECTIVO 2011 Profesor Titular: Lic. Alberto Cortez Profesor Asociado: Profesores Adjuntos: Jefes de trabajos prácticos: Carga Horaria Semanal: 6 Carga Horaria Total: 90 OBJETIVOS: La asignatura tiene como objetivo general continuar la formación obtenida en el curso de Análisis de Sistemas II. Se abordan aspectos de diseño e implementación de software orientado a objetos, estableciéndose como objetivos particulares, que el alumno: - aprenda los fundamentos de un lenguaje de programación orientado a objetos. - sea capaz de utilizar instrumentos conceptuales del modelo de objetos, para definir el diseño e implementación de un sistema de baja complejidad. - aplique una metodología de trabajo propia de su futura actividad laboral, fortaleciendo su capacidad de trabajo en grupo. - desarrolle criterios básicos para seleccionar las herramientas más convenientes para el diseño e implementación de un sistema. PROGRAMA ANALÍTICO: Capítulo I: 1.1. Diseño e implementación de sistemas. Actividades y objetivos. Ciclo de vida y de desarrollo de sistemas. Modelos de implementación en cascada y evolutivos. 1.2. Herramientas CASE. 1.3. Documentación y mantenimiento. 1.4. Arquitecturas de software. Monolítica. Cliente-servidor. De tres niveles. Pipeline. Orientada a servicios. Arquitecturas virtuales. Capítulo II: 2.1 Diseño orientado a objetos. Identificación de la semántica de clases, objetos y las relaciones existentes. Reusabilidad y acoplamiento. 2.2. Revisión de la notación UML. Diagramas de clases y objetos. Diagramas de secuencia y colaboración. Diagramas de componentes. Diagramas de distribución. Capítulo III: 3.1. Implementación del diseño. Características de los lenguajes orientados a objetos. 3.2. Revisión de conceptos de programación orientada a objetos. Clases. Calificadores de acceso. Encapsulamiento. 3.3. Instanciación de objetos. Constructores y destructores. 3.4. Herencia simple y múltiple. Redefinición de métodos. 3.5. Sobrecarga de métodos. Polimorfismo. 3.6. Atributos y métodos estáticos. 3.7. Clases abstractas e interfaces. Capítulo IV: 4.1. Patrones de diseño. Origen. Ventajas. Características de los patrones de diseño. Clases generales de patrones de desarrollo de software. 4.2. Patrones de diseño GoF. Clasificación. 4.3. Patrones creacionales. Diseño. Programación y pruebas. 4.4. Patrones estructurales. Diseño. Programación y pruebas. 4.5. Patrones de comportamiento. Diseño. Programación y pruebas. 4.6. Diseño de objetos con responsabilidades. Patrones GRASP principales y adicionales. 4.7. Antipatrones de diseño. Capítulo V: 5.1. Frameworks. Conceptos y ejemplos. 5.2. Programación dirigida por eventos. 5.3. Persistencia de objetos. Uso del Entity Manager de la Java Persistense Api. 5.4. Nociones de desarrollo de software utilizando web services. Ventajas. Interacción de aplicaciones. SOAP, WSDL y UDDI. 5.5. Introducción al manejo de transacciones. Formación Práctica Resolución de Problemas Rutinarios: Horas 10 Laboratorio, Trabajo de Campo: Resolución de Problemas Abiertos de ingeniería: 25 Proyecto y Diseño: 10 PROGRAMA DE TRABAJOS PRÁCTICOS: Trabajo práctico No. 1: Aplicación de Diagramas UML a un caso propuesto. Trabajo práctico No. 2: Ejercicios de revisión de conceptos de Java. Trabajo práctico No. 3: Aplicación de patrones de diseño. ARTICULACIÓN HORIZONTAL Y VERTICAL DE CONTENIDOS: Los contenidos abordados en esta materia se basan en conceptos de las siguientes cátedras: Asignatura Curso Análisis de sistemas II 2º año Comparte e integra elementos horizontalmente con las siguientes cátedras: Asignatura Curso Programación 3º año Los contenidos abordados en esta materia aportan conceptos a las siguientes cátedras: Asignatura Curso Programación II 4º año Ingeniería de software 4º año Diseño de bases de datos I 4º año CONDICIONES PARA REGULARIZAR LA MATERIA y RÉGIMEN DE EVALUACIÓN: Únicamente podrán presentarse a rendir el examen final aquellos alumnos que hayan obtenido la regularidad de la materia de acuerdo a las siguientes condiciones: Cumplir con el 80% de asistencia a clase. Aprobar la carpeta de trabajos prácticos. Aprobar un examen parcial escrito con un mínimo de 4/10 puntos. Para la aprobación de la materia el alumno deberá rendir un examen final oral, que se aprobará con un mínimo de 4/10 puntos. BIBLIOGRAFÍA: Principal: Autor Booch, Grady Título Análisis y diseño orientado a objetos UML y patrones, introducción al análisis y diseño orientado a objetos. Editorial AddisonWesley PrenticeHall Año Ed. 1998 Dispon. 1 19992003 3 Autor Martin, James – Odell, James Título Análisis y diseño orientado a objetos Año Ed. 1994 Dispon. 1 Deitel & Deitel Java Cómo programar 2008 1 Jacobson – Object-Oriented software Editorial PrenticeHall Iberoameric ana Prentice Hall Addison- Larman, Craig De Consulta: 1992 Booch – Rumbaug Booch Grady Rumbaugh James Jacobson Ivar - engineering. A use case driven aproach El Lenguaje Unificado De Modelado -. ESTRATEGIAS DIDÁCTICAS UTILIZADAS: Clases expositivas Trabajos prácticos grupales. RECURSOS DIDÁCTICOS UTILIZADOS: Textos Pizarra y marcador Transparencias Medios informáticos. PROGRAMA DE EXAMEN: Coincide con el analítico Wesley Addison Wesley Iberoameric ana 1999 2