© ETSII –UAH
Ingeniería en Informática
Curso 2007-08 Profesor coordinador de la asignatura: Miguel Ángel Sicilia Urbán
[email protected]
Profesores de la asignatura: Elena García Barriocanal
[email protected] Miguel Garre Rubio
[email protected]
Código 78328 / 6 créditos – 3er curso, segundo cuatrimestre
MSW
1 de 7
PLAN DE TRABAJO
Última actualización: 20 de enero de 2008
Mantenimiento del Software (MSW)
© ETSII –UAH
Miguel Garre Rubio Ingeniero en Informática por la Universidad de Murcia y doctor por la Universidad de Alcalá. Profesor asociado del Dpto. de CC. De la Computación, de la Universidad de Alcalá desde 1998, área Lenguajes y Sistemas Informáticos. Profesor tutor en el Centro Asociado de la UNED en Guadalajara. Miembro del grupo de investigación Information Engineering en la Universidad de Alcalá. Trabaja en líneas de investigación relacionadas con la aplicación de técnicas de inteligencia artificial, y estadística, a la extracción de información en base a las variables que intervienen en el desarrollo de software.
Ingeniería en Informática
Miguel-Angel Sicilia Ingeniero en Informática por la Universidad Pontificia de Salamanca y doctor ingeniero en Informática por la Universidad Carlos III de Madrid. Profesor del Dpto. de CC. de la Computación – UAH Consultor de la Universidad Oberta de Catalunya en los estudios de Informática y en Máster oficial. Profesor en el Máster de tecnologías de comercio electrónico de la Univ. de Salamanca. Coordinador del grupo de investigación Information Engineering en la Universidad de Alcalá. Actualmente dirige el proyecto LUISA sobre la aplicación de Servicios Web Semánticos al elearning, el proyecto Organic.Edunet sobre la difusión tecnológica de medios de agricultura orgánica (ambos financiados por la EU) y coordina el subproyecto en UAH del proyecto PERSONAL financiado por el MEC, sobre personalización en tecnología educativa.
Elena García Barriocanal Ingeniero en Informática por la Universidad Pontificia de Salamanca y doctora por la Universidad de Alcalá. Miembro del grupo de investigación Information Engineering de la Universidad de Alcalá, es profesora desde 2000 del departamento de Ciencias de la Computación de la misma universidad. También es consultora en entornos virtuales de enseñanza aprendizaje desde 2001. Trabaja en líneas de investigación relacionadas con la Web Semántica y el eLearning, interesándose especialmente por aspectos relacionados con la interacción y diseño de interfaces, líneas en las que tiene numerosas publicaciones. Forma parte del comité editoral de la revista IJHFMS (internacional Journal of Human Factors Modelling and Simulation ) publicada por Inderscience, y forma parte del comité de programa de conferencias sobre sus líneas de investigación.
Es editor en jefe de la revista IJMSO y participa en el comité científico de otras revistas internacionales, y ha publicado más de quince artículos en revistas científicas de impacto.
MSW
2 de 7
© ETSII –UAH
Ingeniería en Informática
Tabla de contenidos DESCRIPCIÓN DE LA ASIGNATURA............................................. ....................4 PRERREQUISITOS................................................................................... ...........4 OBJETIVOS DE LA ASIGNATURA....................................... ..............................4 CONTENIDOS.......................................................................................... ............5 EVALUACIÓN............................................................................ ..........................6 EVALUACIÓN CONTINUADA..............................................................................................6 EVALUACIÓN FINAL.......................................................................................................6 CALENDARIO PROPUESTO......................................................................... ......6
MSW
3 de 7
© ETSII –UAH
Ingeniería en Informática
Descripción de la asignatura El mantenimiento del software ha sido definido como la modificación de un producto software después de la entrega para corregir fallos, para mejorar el rendimiento u otros atributos, o para adaptar el producto a un entorno modificado. En un sentido más amplio, el mantenimiento del software es la totalidad de las actividades necesarias para hacer efectivo económicamente (cost-effective) al sistema software. El mantenimiento consume en la práctica una gran cantidad de recursos, lo cual hace especialmente importante el conocer los estándares, técnicas y conceptos específicos de esta actividad. La asignatura pretende ofrecer al alumno los conocimientos y habilidades necesarias en el mantenimiento del software.
Prerrequisitos Esta asignatura presupone que el estudiante tiene conocimientos de las diferentes fases del desarrollo de software. Es recomendable igualmente el conocimiento del lenguaje de programación Java.
Objetivos de la asignatura Estudiar los conceptos fundamentales, las técnicas, métodos, estándares internacionales y herramientas relacionados con el proceso de mantenimiento del software. Las competencias específicas que se ejercitarán son las siguientes: ─ Saber definir el mantenimiento del software, y diferenciarlo del concepto de evolución del software. ─ Saber distinguir los distintos tipos de mantenimiento del software. ─ Saber realizar labores de reingeniería e ingeniería inversa. ─ Conocer y saber aplicar métricas relacionadas con el mantenimiento del software. ─ Conocer y saber utilizar herramientas propias de activas de ingeniería relacionadas con el mantenimiento del software. ─ Conocer el concepto de metodología para el mantenimiento y sus distintos tipos. Las competencias transversales que se ejercitarán son las siguientes: ─ Capacidad de comunicación y argumentación de decisiones. ─ Capacidad de análisis de necesidades para situaciones y contextos concretos.
MSW
4 de 7
© ETSII –UAH
Ingeniería en Informática
Contenidos TEMA 1.- CONCEPTOS GENERALES. 1.1.
Definición de mantenimiento del software. Concepto de evolución del software.
1.2.
Tipos de mantenimiento.
1.3.
Problemas del mantenimiento.
1.4.
El proceso de mantenimiento en el ciclo de vida del software
1.5.
Actividades del proceso de mantenimiento.
1.6.
Estándares para el mantenimiento del software.
TEMA 2.- MÉTRICAS PARA EL MANTENIMIENTO DEL SOFTWARE. 2.1.
Concepto de mantenibilidad del software.
2.2.
Medidas externas e internas de la mantenibilidad.
2.3.
Métricas y mantenimiento. Métricas de producto. Métodos de estimación del esfuerzo de mantenimiento. Detección de módulos propensos a fallos.
TEMA 3.- TÉCNICAS DE MANTENIMIENTO DEL SOFTWARE. 3.1.
Ingeniería inversa de programas.
3.2.
Reconstrucción de programas.
3.3.
Ingeniería inversa y reingeniería de datos.
3.4.
Ingeniería inversa y reingeniería de interfaces de usuario.
3.5.
Costes y beneficios de las reingeniería. Otras soluciones técnicas para el mantenimiento.
TEMA 4.- HERRAMIENTAS PARA EL MANTENIMIENTO DEL SOFTWARE. 4.1.
Herramientas CASE. Automatización del mantenimiento.
4.2.
Herramientas de perfeccionamiento del código.
4.3.
Herramientas de ingeniería inversa.
4.4.
Herramientas de gestión de la configuración.
4.5.
Herramientas de prueba.
TEMA 5.- METODOLOGÍAS DE MANTENIMIENTO DEL SOFTWARE.
MSW
5.1.
Metodologías desarrollo.
de
mantenimiento
frente
a
metodologías
5.2.
Tipos de metodologías de mantenimiento.
5.3.
Metodologías para la externalización del mantenimiento.
5.4.
Metodologías de auditoria del mantenimiento.
5 de 7
de
© ETSII –UAH
Ingeniería en Informática
Evaluación Evaluación continuada La evaluación continuada es el método de evaluación recomendado en la asignatura, dado que permite seguir el ritmo de aprendizaje según la planificación del aula, así como la asimilación progresiva de los conocimientos y competencias requeridos. Esta forma de evaluación se concreta en un conjunto de Pruebas de Evaluación Continuada (PECs). La asignatura MSW se evalúa mediante las siguientes PEC. #
Unidad(-es)
Tipo
Peso
1
T1
Prueba teórico-práctica presencial
10%
2
T3
Prueba práctica de mantenimiento. Parte I
35%
3
T2/T4
Prueba práctica de mantenimiento. Parte II
45%
4
T5
Prueba teórico-práctica presencial
10%
Los pesos de la Evaluación Continua que aparecen en la Tabla anterior se utilizarán para obtener la calificación final de Evaluación Continua. Se considera aprobada la Evaluación Continua si esa calificación es superior o igual al 50%. Para aquellos estudiantes que hayan superado la Evaluación Continua, los profesores valorarán su participación en el aula (presencial o vía Web), así como la realización de actividades suplementarias de carácter voluntario, pudiendo verse modificada positivamente la nota final de Evaluación Continua.
Evaluación final Como alternativa para los estudiantes que no hayan superado la evaluación continuada se ofrecerá una prueba de evaluación final, consistente en un examen presencial y la presentación de una práctica.
Calendario propuesto El siguiente es un resumen semanal de las actividades y principales hitos del curso. Se incluyen las fechas de publicación de enunciados de las PEC y la fecha de entrega correspondiente. También se indican los días en los que se tendrán clases presenciales. #
Fechas
Unidades/activi dades
1
11-feb a 17-feb
T1
2
18-feb a 24-feb
T1
3
25-feb a 2-mar
T2
4
3-mar a 9-mar
T2
5
10-mar a 16-mar
T2
MSW
Publicación PECs
Entrega/prueba presencial
Clases presenciales 12-feb
PEC1 [22-feb]
19-feb 22-feb 26-feb
PEC2[14-mar]
6 de 7
© ETSII –UAH
Ingeniería en Informática
6
17-mar a 23-mar
5
24-mar a 31-abr
T3
6
1-abr a 6-abr
T3
7
7-abr a 13-abr
T3
8
14-abr a 20-abr
T3
9
21-abr a 27-abr
T4
10
28-abr a 4-may
T4
11
5-may a 11-may
T4
12
12-may a 18may
T5
13
19-may a 25may
T5
PEC3[20-may]
23-may
14
26-may a 31-jun
T5
PEC5 [30-may]
30-may
MSW
25-mar
8-abr PEC2[15-abr] PEC3[25-abr]
18-abr 22-abr 29-abr
13-may
7 de 7