Curso 2009 2010 Departamento: Informática e Ingeniería de Sistemas Area: Lenguajes y Sistemas Informáticos 7,5 cr. 5 h. semana: 4,5 cr. Teoría 3 h. semana 3 cr. Prácticos 1 h. semana problemas 1 h. semana laboratorio Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 1
Profesores Teoría José Merseguer (responsable asignatura) Despacho 0.08 Horas de consulta: Martes 10-13, Martes 16-18 y Miércoles 12-13 Sergio Ilarri Despacho 0.17 Horas de consulta: Lunes y Miércoles de 8 a 11 Prácticas Francisco Berlanga Despacho 3.01 Horas de consulta: Martes y Jueves de 15 a 18 Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 2
Horario Teoría (Aula A.2) Grupo A: L: 12:00 a 14:00; X: 11:00 a 12:00; J: 12:00 a 13:00 Grupo B: L: 16:00 a 17:00; X: 15:00 a 17:00; J: 15:00 a 16:00 Prácticas (Lab. 0.04) No obligatorias Apuntarse en alguno de los grupos Individuales o grupo de dos alumnos Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 3
Ingeniería del software Ingeniería de software Aplicación de una aproximación sistemática, disciplinada y cuantificable al desarrollo, funcionamiento y mantenimiento del software Ingeniería del software: áreas conocimiento Requisitos del software Definición de los requisitos: funcionales y no funcionales. Proceso y técnicas de captura de requisitos; proceso de análisis y especificación; validación de requisitos. Diseño software Definir la arquitectura, componentes, interfaces y otras características de un sistema o componente. Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 4
Ingeniería del software Construcción del software Codificación, verificación, pruebas unitarias, pruebas de integración, depuración del código. Pruebas del software Comprobar el comportamiento real del software frente al especificado. Mantenimiento del software Detectar anomalías y cambios en el entorno de ejecución, nuevos requisitos. Estimar y medir los costes de mantenimiento. Gestión de configuraciones Gestionar sistemáticamente los cambios que se producen en el software a lo largo del tiempo. Mantener la integridad y seguimiento de la configuración durante el ciclo de vida. Herramientas y técnicas para gestionar las versiones del software. Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 5
Ingeniería del software Gestión del proyecto software Gestionar y medir el proyecto software. Planificar el proceso, estimar costes, asignar recursos, gestionar riesgos, evaluar prestaciones, etc. Proceso de ingeniería de software Definición, implementación, asesoramiento, medida y mejora de los procesos de la ingeniería del software. Modelos de ciclo de vida, notaciones de los modelos. Métodos y herramientas Tipos de métodos: no formales, formales, prototipado. Herramientas para todas las áreas. Integración de herramientas. Calidad del software Modelos de calidad. Verificación y Validación. Mejorar y asegurar la calidad. Revisiones y auditorías Requisitos de calidad. Caracterización de la calidad. Técnicas de gestión de calidad. Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 6
Fuentes Ingeniería del software Cuerpo de conocimiento SWEBOK (Software Engineering Body of Knowledge). www.swebok.org Currículum de Ingeniería del software IEEE Software, November/December 2006, pp. 19-25 http://sites.computer.org/ccse Asociaciones: ACM (ACM-Sigsoft), IEEE Computer Society, OMG Revistas, conferencias: IEEE Software IEEE Transactions on Software Engineering International Conference on Software Engineering (ICSE) ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS) Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 7
Troncalidad Ing. del software CPS Ingeniería del software I Análisis y diseño estructurado Ingeniería del software II Proyectos Gestión del proyecto software, gestión de configuraciones, calidad del software, dirección del proyecto software Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 8
Objetivos IS-2 Aprender los conceptos del paradigma de la Orientación a Objetos. Conseguir que el alumno adquiera las capacidades para abordar satisfactoriamente un diseño orientado a objetos y su posterior implantación. Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 9
Conocimientos Previos Ingeniería del Software I Análisis y Diseño Estructurado Lenguajes de Programación Paradigma de Programación Orientado a Objetos Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 10
Teoría (Contenidos) Bloque 0: Programación java Bloque I: Análisis y Diseño Orientado a Objetos con OMT Bloque II: UML-Lenguaje de Modelado Unificado Bloque III: Patrones de Diseño Bloque IV: Objetos Distribuidos Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 11
Teoría (Contenidos) Bloque 0: Tema: Programación java Profesor: Sergio Ilarri Duración: 6 horas Objetivos: Adquirir conocimientos de java para la realización de las prácticas de la asignatura. Afianzar los conceptos de POO aprendidos en la asignatura Lenguajes de Programación. Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 12
Teoría (Contenidos) Bloque I: Tema: Análisis y Diseño Orientado a Objetos con O.M.T. Profesor: José Merseguer Duración: 35 horas Temario: Unidad 1. Introducción a la Orientación a Objetos. Unidad 2. Introducción al Desarrollo de Software Orientado a Objetos. Unidad 3. El modelo de objetos. Unidad 4. El modelo dinámico y el funcional. Unidad 5. Proceso de Análisis. Unidad 6. Diseño del Sistema y de Objetos. Unidad 7. Implementación. Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 13
Teoría (Contenidos) Bloque II: Tema: Lenguaje de Modelado Unificado Profesor: José Merseguer Duración: 4 horas Objetivo: Complementar la notación de OMT Temario: Diagrama de Casos de Uso, Diagrama de Actividades, Diagramas de Componentes y Distribución Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 14
Teoría (Contenidos) Bloque III: Profesor: José Merseguer Duración: 6 horas Tema: Patrones de Diseño Objetivo: Complementar el Diseño de OMT Bloque IV: Profesor: Sergio Ilarri Duración: 6 horas Tema: Objetos en sistemas distribuidos Objetivo: Ampliar la visión del paradigma orientado a objetos Temario: RMI, CORBA, Agentes móviles Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 15
Prácticas (Contenidos) Práctica 1: Introducción a la POO con java Práctica 2: Acceso a BD con java Práctica 3: Modelado de un problema con la herramienta CASE ArgoUML Práctica 4: Interfaces de usuario en java Práctica 5: Objetos distribuidos en java Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 16
Bibliografía Teoría OMT J. Rumbaugh et Al., Modelado y Diseño Orientado a Objetos, Prentice Hall 1999. ISBN: 0-13-240698-5 UML Booch, G.; Rumbaugh, J.; Jacobson, I.: El Lenguaje Unificado de Modelado Addison Wesley. 2006. ISBN: 84-7829-076-1 http://www.omg.org Patrones E. Gamma, Design Patterns: Elements of Reusable Object Oriented Software, Addison-Wesley, 1998. ISBN: 0-201-63361-2 Objetos Distribuidos R. Orfali, The Essential Distributed Objects Survival Guide, Wiley 1996. ISBN: 0-471-12993-3 Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 17
Bibliografía Prácticas http://java.sun.com http://www.sun.com/software/java/ http://argouml.tigris.org/ Evaluación Prácticas: 20% (no obligatorias) Examen de teoría y problemas: 80% (no compensa con prácticas) Departamento de Informática e Ingeniería de Sistemas (Univ. Zaragoza) José J. Merseguer 18