Está en la página 1de 68

Unidad I: Fundamentos de Mantenimiento de

software
Introduccin


Segn su experiencia, cual seran los orgenes o causas
del Mantenimiento del Software.?
Introduccin
Orgenes
Rpida evolucin de la Ingeniera de Computadores.
Sin embargo, el desarrollo de Software ha sufrido un retraso
histrico.
En 1970, ya se haba popularizado el trmino Crisis del
Software.
Englob a una serie de sucesos que se venan observando en los
proyectos de desarrollo de software:
Los proyectos no terminaban en plazo.
Los proyectos no se ajustaban al presupuesto inicial.
Baja calidad del software generado.
Software que no cumpla las especificaciones.
Cdigo inmantenible que dificultaba la gestin y evolucin del
proyecto.
Orgenes
Para resolver este problema surgi un rea de la
informtica que recibi el nombre de :

Ingeniera del Software.

Ingeniera de software es el estudio de los principios y
metodologas para el desarrollo y mantenimiento de sistemas
software.
Orgenes
Una de las principales causas de esta situacin ha sido la poca
importancia que se ha dado al Mantenimiento del Software.
Aunque se sita al final del ciclo de vida de un software, el
mantenimiento es un proceso de suma importancia por su
repercusin econmica, temporal y de recursos.
Anlisis Diseo Implementacin Pruebas Mantenimiento
IMPORTANCIA
Orgenes
Referencia Periodo %
Mantenimiento
[Pressman, 1993] aos 70 35% - 40%
[Pigoski, 1997] 1980-1984 55%
[Pressman, 1993] Aos 80 60%
[Rock-Evans y Hales,
1990]
1987 67%
[Schach, 1990] 1987 67%
[Pigoski, 1997] 1985-1989 75%
[Frazer, 1992] 1990 80%
[Pressman, 1993] Aos 90 (prev.) 90%
Segn varios estudios,
el Mantenimiento es la
fase mas costosa del
ciclo de vida del
software.
Mayor parte del
presupuesto: Mantener
software existente.
Sobrepasando la Barrera
de Mantenimiento se
imposibilitan nuevos
desarrollos.

Definiciones
Como define Ud. el proceso de mantenimiento ?

Definiciones
Estndar ISO 12207: el proceso de mantenimiento
contiene las actividades y tareas realizadas por el
mantenedor. Este proceso se activa cuando el producto
software sufre modificaciones en el cdigo y la
documentacin asociada, debido a un problema o a la
necesidad de mejora o adaptacin.
El objetivo es modificar el producto software existente
preservando su integridad. Este proceso incluye la
migracin y retirada del producto software.

Definiciones
IEEE 1219: Modificacin
de un producto software
despus de haber sido
entregado (a los usuarios
o clientes) con el fin de
corregir los defectos,
mejorar el rendimiento u
otros atributos, o
adaptarlo a un cambio de
entorno.
Pressman [1998]: la fase
de mantenimiento se
centra en el cambio que va
a asociado a la correccin
de errores, a las
adaptaciones requeridas a
medida que evoluciona el
entorno del software, y a
cambios debidos a las
mejoras producidas por los
requisitos cambiantes del
cliente.
Definiciones
Estndar ISO/IEC 14764: Conjunto de actividades
destinadas a proporcionar soporte econmicamente
rentable para un determinado producto software. Estas
actividades se realizan tanto antes de la entrega del
producto como despus de la entrega del mismo. Las
actividades previas a la entrega incluyen las actividades
destinadas a planificar, anticipar y preparar actividades
de mantenimiento posteriores. Las actividades
posteriores a la entrega incluyen modificaciones del
producto software, formacin y asistencia al usuario.
el Efecto Iceberg
A la hora de planificar los costes de mantenimiento, los
analistas-programadores tienen la impresin de que el
mantenimiento es algo descontrolado, nunca se sabe
que va a pasar (sera predecir el futuro).
Esta situacin se asemeja a un Iceberg, del cual slo se
percibe una pequea parte, pero bajo cuya superficie se
esconde una gran cantidad de problemas potenciales y
costes encubiertos [Canning, 1972].
el Efecto Iceberg
En la parte sumergida de este Iceberg se ocultan costes, menos
tangibles que los monetarios.
Los costes intangibles del mantenimiento del software estn
vinculados a las oportunidades de desarrollo que se deben
posponer o se pierden [McCracken, 1980].
Otros costes intangibles son:
Insatisfaccin del cliente, cuando no se pueden atender a tiempo las
reparaciones o modificaciones.
Errores ocultos introducidos al realizar el mantenimiento.
Perjuicio en otros proyectos de desarrollo, cuando la plantilla tiene que
dejarlos.
el Efecto Iceberg
Al final, el coste de mantenimiento de un software es la
reduccin que se produce en la productividad de los
informticos.
Algunos autores [Boehm, 1979], han calculado que el
coste de mantener una lnea de cdigo (LCD) puede
llegar a ser 40 veces ms alto que en el proceso de
desarrollo.
Causas del Alto Coste
1 2 3
5
35
100
0
20
40
60
80
100
120
Coste de detectar y corregir defectos
A qu se debe que sea ms econmico solucionar los
errores en las etapas iniciales del ciclo de vida?
Causas del Alto Coste
Una gran cantidad del software actual ha sido
desarrollado hace ms de 15-20 aos.
Aunque fuese creado utilizando las mejores tcnicas:
Restricciones de tamao.
Restricciones de espacio de almacenamiento.
Herramientas tecnolgicamente desfasadas.
Causas del Alto Coste
Cambios Incontrolados
Los programas sufren migraciones a nuevas
plataformas S.O.
Los programas experimentan mejoras y adaptaciones
para satisfacer las nuevas necesidades de los
usuarios.
Problema: Los cambios se realizan sin tener en cuenta
la arquitectura del sistema. No se aplican tcnicas de
ingeniera inversa o reingeniera.

Causas del Alto Coste
Escasez de mtodos, tcnicas y herramientas que
puedan proporcionar una solucin global al
mantenimiento:
Las metodologas de desarrollo no reflejan costes necesarios ni
esfuerzo.
Las metodologas se centran en el desarrollo de nuevos
sistemas.
Complejidad de los sistemas aumenta:
Debido a continuas modificaciones.
Prdida de informacin; cada vez hay menos personas en el
equipo que conocen el software.

Causas del Alto Coste
Documentacin del sistema defectuosa o inexistente:
Muchas veces no se actualiza cuando cambia el sistema.
Actividad poco creativa:
A diferencia del desarrollo, se considera ms sencilla y menos
importante.
La realiza personal con menor experiencia.
Se cree que tiene un menor soporte de herramientas y menos
esfuerzo de gestin (FALSO).
Causas del Alto Coste
Resumen..
Definiciones
Efecto Iceberg.
Causas del alto coste.
SW antiguo, herramientas limitadas, migraciones,
adaptaciones, escasez de mtodos, complejidad sistemas,
mala documentacin, actividad poco creativa

Causas del Alto Coste
Actividades de mantenimiento bajo presin de tiempo.
Poco tiempo para realizar modificaciones (generalmente sobre
el cdigo).
No actualizacin de la documentacin.
Problema: Las correcciones imperfectas dan lugar a nuevos
esfuerzos de correccin en el futuro.

Causas del Alto Coste
Por todo esto, en la actualidad nos podemos encontrar
sistemas con una escasa calidad debido a:
Estructuras de datos con un diseo pobre.
Mala codificacin.
Lgica defectuosa.
Documentacin escasa o errnea.
Estas mismas razones provocan que el costo de solucionar
un defecto en la etapa de mantenimiento sea mucho
mayor que en tiempo de anlisis.

Actividades del Mantenimiento
Muchos de los problemas anteriores vienen dados por el
desconocimiento de la actividades durante la mantencin.
Algunas definiciones solo consideran como mantenimiento
la correccin de defectos.
Ampliacin de nuevos requisitos se consideran proyecto de
desarrollo continuado o redesarrollo.

Actividades del Mantenimiento
Qu actividades consideramos entonces como
mantenimiento [IEEE 1219]?
Correccin de defectos en el software.
Creacin de nuevas funcionalidades en el
software por nuevos requisitos de usuario.
Mejora de la funcionalidad y del rendimiento.

Entonces existen los
Tipos de Mantenimiento de Software

Y cuales son esos !ah! ???
Tipos de Mantenimiento de Software
Usuarios
Del Sistema
Entorno de
Trabajo
Base
Tecnolgica
Sistema
Software
Mantenimiento Perfectivo
Mantenimiento
Correctivo
Mantenimiento
Preventivo
Mantenimiento Adaptativo
Tipos de Mantenimiento de Software
Mantenimiento perfectivo.
Es la modificacin de un producto de software luego de su
distribucin para mejorar sus prestaciones o facilitar futuras
actividades de mantenimiento. Puede perfeccionarse un software
incorporando nuevas funcionalidades, o mejorando sus tiempos de
ejecucin.

Mantenimiento correctivo.
Corrige los defectos encontrados en el software, y que originan un
comportamiento distinto al deseado. Estas fallas pueden ser de
procesamiento, rendimiento (por ejemplo, uso ineficiente de los
recursos de hardware), programacin (inconsistencias en la
ejecucin), seguridad o estabilidad, entre otras.

Tipos de Mantenimiento de Software
Mantenimiento preventivo.
Consiste en la revisin constante del software para detectar posibles
focos de problemas que puedan surgir en el futuro.

Mantenimiento adaptativo.
Si se requiere cambiar el entorno de uso de la aplicacin (que incluye
al sistema operativo, a la plataforma de hardware o, en el caso de las
aplicaciones web, al navegador), puede ser indispensable modificarla
para mantener su plena funcionalidad en estas nuevas condiciones.


Tipos de Mantenimiento de Software
Qu estimacin en esfuerzo podemos realizar sobre
cada uno de los tipos de mantenimiento?
60%
18%
17%
5%
Costes Estimados por tipo de Mantenimiento
Perfectivo
Adaptativo
Correctivo
Preventivo
Tipos de Mantenimiento de Software
Mantenimiento Correctivo (costo 17%)
An habiendo superado las etapas de prueba y
verificacin, el software puede contener defectos.
Este tipo de mantenimiento tiene como objetivo
encontrar y eliminar estos defectos del software.
Defectos v/s Fallas:
Un defecto en un sistema es una caracterstica del sistema con
el potencial de causar una falla [Piattini, 2000].
Un falla ocurre cuando el comportamiento de un sistema es
diferente del establecido en la especificacin [Piattini, 2000].
Qu es
defecto, qu es
Falla?.
Tipos de Mantenimiento de Software
Mantenimiento Correctivo
Podramos llegar a considerar las siguientes fallas:
Procesamiento: Salidas incorrectas en un programa.
Rendimiento: Demasiado tiempo de respuesta.
Programacin: Diseo inconsistente de un sistema.
Documentacin: Diferencias entre la funcionalidad de
un programa y el manual de usuario.

Tipos de Mantenimiento de Software
Mantenimiento Correctivo
38%
26%
36%
Origen de los defectos del Software
Requisitos
Diseo
Codificacin
Tipos de Mantenimiento de Software
Mantenimiento Adaptativo (costo 18%)
Este tipo de mantenimiento responde a una situacin en
la que se produce algn cambio en el Software o
Hardware del entorno en el que se ejecuta el sistema.
Estos cambios pueden deberse a:
Cambio en el SO.
Cambio del tipo de arquitectura en la que se ejecuta (red local
a Internet/Intranet).
Entorno de desarrollo del software (nuevos elementos y
herramientas como ODBC).
La envergadura del cambio necesario puede ser muy
diferente.

Tipos de Mantenimiento de Software
Mantenimiento Adaptativo
Los cambios en el entorno Software pueden ser:
En el entorno de los datos (Sistema Archivos vs. BBDD).
En el entorno de los procesos (Sistemas Distribuidos, Java)
El mantenimiento adaptativo cada vez es ms usual debido
a:
Nuevas generaciones de Hardware cada poco tiempo.
Nuevos sistemas operativos.
Mejoras en las prestaciones y elementos.
Frente a esto, la vida til de un software puede superar
fcilmente los 10 aos.

Tipos de Mantenimiento de Software
Mantenimiento Perfectivo (costo 60%)
Este tipo de mantenimiento est asociado a cambios en
los requisitos de un producto Software.
Se podra definir como el conjunto de actividades para
mejorar o aadir nuevas funcionalidades requeridas por el
usuario.
A su vez, este tipo de mantenimiento se puede dividir en
dos:
Mantenimiento de Ampliacin: orientado a la incorporacin
de nuevas funcionalidades.
Mantenimiento de Eficiencia: busca la mejora de las
prestaciones del sistema en tiempo de ejecucin.

Tipos de Mantenimiento de Software
Mantenimiento Perfectivo
Este tipo de mantenimiento aumenta cuando un producto
tiene xito comercial.

Por qu?

Tipos de Mantenimiento de Software
Mantenimiento Preventivo (costo 5%)
El principal objetivo de este tipo de mantenimiento es
mitigar o evitar las consecuencias de los fallas.
Para ello:
Comprobacin de la validez de los datos de entrada.
Reestructuracin del software para mejorar la legibilidad y su
futuro mantenimiento.
Adicin de comentarios.
Monitorizacin de las prestaciones del sistema en todo
momento (Almacenamiento, Procesamiento, Ancho de Banda).

Tipos de Mantenimiento de Software
Mantenimiento Preventivo
Otros Mantenimientos v/s Preventivo
Los otros tipos de mantenimientos se realizan,
generalmente a causa de una peticin.
El mantenimiento preventivo se produce tras un estudio
de posibilidades de mejora en los diferentes mdulos
del sistema.

Tipos de Mantenimiento de Software
Tareas del Mantenimiento
Tipos de Mantenimiento de Software
Tareas del Mantenimiento
I - Comprensin del Software y de los cambios a
realizar:
Se deben conocer la funcionalidad, el objetivo, la estructura
interna y los requisitos.
Si no respetamos esto, podramos introducir nuevos errores
que nos lleven a ms gastos por mantenimiento adicionales.
El 50% del tiempo de mantenimiento se dedica a esta actividad.

Tipos de Mantenimiento de Software
Tareas del Mantenimiento
II - Modificacin del Software
Se deben crear y modificar las estructuras de datos, la lgica
de los procesos, las interfaces y la documentacin.
Para evitar los efectos secundarios, los programadores deben
conocer las repercusiones de las modificaciones que van a
introducir.
Esta actividad representa del tiempo total de la mantencin.

Tipos de Mantenimiento de Software
Tareas del Mantenimiento
III - Realizacin de Pruebas:
Es necesario realizar pruebas para validar los cambios.
Las pruebas verificarn que no se han introducido a la vez
otros errores.
Incluso el cambio ms pequeo puede inducir defectos que
reduzcan la calidad y la fiabilidad del Software.

Tipos de Mantenimiento de Software
Tareas del Mantenimiento
Categora Actividad % Tiempo
Comprensin del software y
de los cambios a realizar
Estudiar las peticiones 18%
Estudiar la documentacin 6%
Estudiar el cdigo 23%
Modificacin del software
Modificar el cdigo 19%
Actualizar la documentacin 6%
Realizacin de pruebas Disear y realizar pruebas 28%
Dificultades del Mantenimiento
La problemtica del mantenimiento se resume en
realizar el Mantenimiento del Software de forma tan
rigurosa que la calidad no se deteriore como resultado
del proceso.
La pregunta a formular es la siguiente:
Cmo debe mantenerse el software para preservar su
fiabilidad?
A continuacin veremos las circunstancias que hacen
que la respuesta a esta pregunta no sea fcil y est muy
condicionada.
Dificultades del Mantenimiento
Cdigo Heredado
Con el paso de los aos se ha ido produciendo un volumen
muy grande de Software.
En la actualidad, la mayor parte del Software est formado
por cdigo heredado (Legacy Code), es decir:
Cdigo desarrollado hace algn tiempo.
Con tcnicas y herramientas en desuso.
Desarrollado por personas que ya no pertenecen al
colectivo.
En muchas ocasiones, la situacin se complica porque el
Cdigo Heredado fue objeto de mltiples actividades de
mantenimiento.

Dificultades del Mantenimiento
Cdigo Heredado
Los problemas especficos del mantenimiento de cdigo
heredado han sido caracterizados en las llamadas Leyes
de la Evolucin del Software formuladas por Lehman.
Ley I: Cambio Continuado
Ley II: Complejidad Creciente
Ley III: Evolucin Prolongada del Programa
Ley IV: Conservacin de la Estabilidad Organizacional
Ley V: Conservacin de la Familiaridad
Ley VI: Crecimiento Continuado
Ley VII: Decremento de la Calidad
Ley VIII: Realimentacin del Sistema
Dificultades del Mantenimiento
Cdigo Heredado
Leyes de la Evolucin del Software
Ley I: Cambio Continuado Un programa utilizado en un entorno
del mundo real debe cambiar, ya que si no cada vez ser menos
usado en dicho entorno. En otras palabras, esto significa que, tan
pronto como un programa ha sido escrito, est ya desfasado. Las
razones que conducen a esta afirmacin son varias:
Nuevas ideas se le ocurren a los usuarios.
Nuevas caractersticas Hardware Mejoras Software.
Correccin de defectos.
Migracin del sistema a otra mquina o Sistema Operativo.
El software necesita ser ms eficiente.

Dificultades del Mantenimiento
Cdigo Heredado
Leyes de la Evolucin del Software
Ley II: Complejidad Creciente A la par que los cambios
transforman los programas, su estructura se har
progresivamente ms compleja salvo que se haga un esfuerzo
activo para evitar este fenmeno. Esto significa que al realizar
cambios en un programa (excluyendo el mantenimiento
preventivo), la estructura de dicho programa se hace ms
compleja cuando los programadores no pueden o no quieren usar
tcnicas de Ingeniera del Software.

Dificultades del Mantenimiento
Cdigo Heredado
Leyes de la Evolucin del Software
Ley III: Evolucin Prolongada del Programa La evolucin de un
programa es un proceso autorregulado. Las medidas de
determinadas propiedades (tamao, tiempo entre versiones y
nmero de errores) revelan estadsticamente determinadas
tendencias e invariantes.

Ley IV: Conservacin de la Estabilidad Organizacional Durante
el tiempo de vida de un programa, su velocidad de desarrollo es
aproximadamente constante e independiente de los recursos
dedicados al desarrollo del sistema.

Dificultades del Mantenimiento
Cdigo Heredado
Leyes de la Evolucin del Software
Ley V: Conservacin de la familiaridad Durante el tiempo de
vida de un sistema, el cambio incremental en cada entrega es
aproximadamente constante.

Ley VI: Crecimiento Continuado La funcionalidad ofrecida por
los sistemas tiene que crecer continuamente para mantener la
satisfaccin de los usuarios.

Ley VII: Decremento de la calidad La calidad de los sistemas
comenzar a disminuir a menos que dichos sistemas se adapten a
los cambios en su entorno de funcionamiento.
Dificultades del Mantenimiento
Cdigo Heredado
Leyes de la Evolucin del Software
Ley VIII: Realimentacin del sistema Los procesos de evolucin
incorporan sistemas de realimentacin multiagente y multibucle y
estos deben ser tratados como sistemas de realimentacin para
lograr una mejora significativa del producto.
Dificultades del Mantenimiento
Problemas de Mantenimiento
Adems de las dificultades de mantenimiento mostradas
en las Leyes anteriores, existen otros problemas clsicos
que complican el mantenimiento [Schneidewind, 1987]:
Problemas de carcter tcnico.
Ausencia metodolgica.
Tendencia a la des-estructuracin.
Disminucin de la compresividad.
Problemas de gestin.
Dificultades del Mantenimiento
Problemas de Mantenimiento
Problemas de carcter tcnico
Ausencia Metodolgica
Las metodologas no suelen contemplarla participacin del
usuario.
Si no se satisfacen las necesidades, hay que realizar un
esfuerzo adicional para adaptar el Software.
Tendencia a la des-estructuracin
Documentacin desfasada.
El cdigo no cumple los estndares.
Incremento en el tiempo necesitado para comprender el
cdigo.
Dificultades del Mantenimiento
Problemas de Mantenimiento
Problemas de carcter tcnico
Disminucin de la Comprensividad
Los sucesivos cambios producidos por el mantenimiento hacen
que el cdigo sea ms difcil de modificar lo que implica un
aumento de los costes.
Segn Sommerville[1992], cualquier cambio conlleva la
corrupcin de la estructura del software y, a mayor
corrupcin, la estructura del programa se torna menos
comprensible y ms difcil de modificar.
Dificultades del Mantenimiento
Problemas de Mantenimiento
Problemas de gestin
Hay programadores que consideran el trabajo del
mantenimiento como una actividad inferior.
Personas dedicadas al mantenimiento peores condiciones
laborables y salariales.
Como resultado, al realizar un mantenimiento:
No se emplea una estrategia sistemtica.
Correcciones realizadas con precipitacin.
No se documentan adecuadamente.
Pobremente integradas con el cdigo existente.

Dificultades del Mantenimiento
Efectos Secundarios
La posibilidad de error al modificar un sistema actual es
muy grande.
Una de las mayores dificultades es el riesgo del llamado
Efecto Bola de Nieve:
Los cambios producidos por una peticin introducen efectos
secundarios, implicando nuevos mantenimientos.
Estos nuevos mantenimientos a su vez pueden producir ms
efectos secundarios.
Dificultades del Mantenimiento
Efectos Secundarios
Cambios en el Diseo = cambios en el Cdigo.
Eliminacin o modificacin de un Subprograma.
Eliminacin o modificacin de un rtulo.
Eliminacin o modificacin de un Identificador.
Cambios para mejorar el Rendimiento.
Modificacin de la apertura/cierre de Archivos.
Modificacin de Operaciones Lgicas.
Cdigo
Dificultades del Mantenimiento
Efectos Secundarios
Redefinicin de Variables Locales o Globales.
Modificacin de Permisos de los Archivos.
Modificacin de las Rutas de Acceso a Ficheros.
Modificacin del Tamao de una Matriz.
Reinicializacin de Punteros.
Cambios en los Parmetros de los
Subprogramas.
Datos
Dificultades del Mantenimiento
Efectos Secundarios
Modificar el formato de las
Entradas Interactivas.
Nuevos Mensajes de Error no
documentados.
Tablas o ndices no actualizados.
Texto no actualizado
correctamente.
Documentacin
Soluciones al Problema del Mantenimiento del Software
Soluciones al Problema del Mantenimiento
del Software
Desde un punto de vista financiero, el mantenimiento
del Software es un continuo consumidor de recursos
(beneficios???).
Se necesita un apoyo por parte de la direccin de las
organizaciones, siendo conscientes:
Importancia de las tecnologas de la informacin.
El Software es un activo corporativo que puede suponer una
ventaja competitiva.
Soluciones al Problema del Mantenimiento
del Software
Recursos dedicados al mantenimiento
Gestin de la Calidad
Gestin estructurada del mantenimiento
Organizacin del equipo humano
Documentacin de los cambios
Gestin
Reingeniera
Ingeniera Inversa
Restructuracin del Software
Tcnicas
Soluciones al Problema del Mantenimiento del SW
Soluciones de Gestin
Recursos dedicados al Mantenimiento
Principal recurso para el mantenimiento es el humano.
Constitucin de un equipo dedicado con experiencia.

Gestin de la Calidad
Aumento de Recursos => Solucin a corto plazo.
Mtodos para aumentar la calidad, tanto del producto
Software como del proceso de produccin(Estndares, Diseo
paso a paso, Cdigo Estructurado, ).
Soluciones al Problema del Mantenimiento del SW
Soluciones de Gestin
Gestin Estructurada del Mantenimiento
La existencia de una adecuada Configuracin del
Software reduce la cantidad de esfuerzo requerido y
mejora la calidad.
Partiendo desde este punto, se deben subdividir las
tareas a desarrollar, para as realizar un seguimiento
directo sobre cada una de las etapas:
Comprensin del SW y de los cambios a realizar.
Modificacin del SW.
Realizacin de las pruebas.
Soluciones al Problema del Mantenimiento del SW
Soluciones de Gestin
Organizacin del Equipo Humano
Las tareas relacionados con el mantenimiento comienzan
mucho antes de la primera peticin.
Establecer las personas que participarn en cada
actividad.
Delegacin de responsabilidades [Pressman, 1993]:
Controlador del Mantenimiento (gestin y seguimiento).
Supervisor del sistema SW (Conocimiento).
Gestor de la configuracin (actualiza SW).
Desarrollador de mantenimiento (codificacin).
Soluciones al Problema del Mantenimiento del SW
Soluciones de Gestin
Documentacin de los cambios
Informacin del programa.
Tamao: LDC programa fuente y ejecutable.
Lenguaje de programacin.
Fecha de instalacin del programa.
Nmero de ejecuciones del programa desde la instalacin.
Nmero de fallas.
Numero de sentencias aadidas, modificadas y eliminadas.
Nmero de personas/hora.
Persona responsable del cambio.
Identificacin de la peticin.
Tipo de mantenimiento.
Fecha de inicio y fin de mantenimiento.
Beneficios netos que supone el cambio.
Soluciones al Problema del Mantenimiento del SW
Soluciones Tcnicas
Herramientas
Ayudan al personal de mantenimiento, a la hora de
comprender el problema y probarlas modificaciones.
Muchas de estas herramientas son similares a las
utilizadas en las pruebas de SW:
Depuradores
Generadores de Datos de Prueba
Documentadores
Comparadores
Soluciones al Problema del Mantenimiento del SW
Soluciones Tcnicas
Mtodos
Reingeniera
Examen y Modificacin de un sistema para reconstruirlo de
una nueva forma [Bennett, 1990].
Ingeniera Inversa
Proceso de analizar un sistema para identificar sus
componentes y las interrelaciones que existen entre ellos.
[Chikofskyy Cross, 1990].
Reestructuracin del Software
Modificacin del software para hacerlo ms fcil de entender y
cambiar [Arnold, 1986].

También podría gustarte