MANTENIMIENTO DE SOFTWARE
NOMBRE: JENNY ROCIO AMOROCHO BARBOSA
GRADO: UNDECIMO
¿QUE ES EL MANTENIMIENTO DE SOFTWARE?
El mantenimiento de software es
la modificación de un producto de software después
de la entrega, para corregir errores mejorar el rendimiento, u otros atributos. El
mantenimiento el software es una de las actividades más comunes en la
ingeniería de software.
El mantenimiento de
software es una actividad muy amplia que incluye la corrección de errores,
mejoras de las capacidades, eliminación de funciones obsoletas y optimizan.
Debido a que el cambio es inevitable, se debe desarrollar mecanismos para la
evaluación, controlar y hacer modificaciones.
IMPORTANCIA DEL
MANTENIMIENTO DEL SOFTWARE
A finales de los años 1970, una famosa y
ampliamente citada estudio de encuesta por Lientz y Swanson, expuso la muy alta
fracción de los costos de ciclo de vida que estaban siendo gastados en
mantenimiento. Clasificaron las actividades de mantenimiento en cuatro clases:
·
Adaptable – modificar el sistema para hacer frente a cambios en el ambiente
del software (DBMS, OS)
·
Perfectivo – implementar nuevos, o cambiar requerimientos de usuario
referentes a mejoras funcionales para el software
·
Correctivo, diagnosticar y corregir errores, posiblemente los encontrados
por los usuarios
·
Preventiva – aumentar la capacidad de mantenimiento de software o
fiabilidad para evitar problemas en el futuro
FACTORES DE MANTENIMIENTO
Especialistas de mantenimiento
|
35%
|
Experiencia alta del personal
|
34%
|
Variables y datos manejados por tablas
|
33%
|
Baja complejidad de la base de código
|
32%
|
Y2K y motores especiales de búsqueda
|
30%
|
Herramientas de reestructuración de código
|
29%
|
Herramientas de reingeniería
|
27%
|
Lenguajes de programación de alto nivel
|
25%
|
Herramientas de ingeniería inversa
|
23%
|
Herramientas de análisis de complejidad
|
20%
|
Herramientas de seguimiento de defectos
|
20%
|
Especialistas en "actualización masiva" Y2K
|
20%
|
Herramientas de control de cambio automático
|
18%
|
Horas extras no pagadas
|
18%
|
Mediciones de calidad
|
16%
|
Inspecciones formales de la base de código
|
15%
|
Bibliotecas de pruebas de regresión
|
15%
|
Tiempo de respuesta excelente
|
12%
|
Formación anual de > 10 días
|
12%
|
Experiencia de la alta gerencia
|
12%
|
FASE DE MANTENIMIENTO
La fase de mantenimiento de
software involucra cambios al software para corregir defectos encontrados
durante su uso o la adición de nueva funcionalidad mejorando la usabilidad y aplicabilidad del software.
El
mantenimiento del software involucra diferentes técnicas específicas. Una
técnica es el rendimiento estático, la cual es usada para identificar todo el código de
programa que puede modificar alguna variable. Es generalmente útil en la refabricacion del
código del programa y fue específicamente útil en asegurar conformidad para el problema del año 2000.
La fase
de mantenimiento de software es una parte explícita del modelo en cascada del proceso de desarrollo software el cual fue desarrollado durante el
movimiento de programación estructuran en computadores. El otro gran modelo,
el desarrollo en espiral l desarrollado durante el movimiento de
ingeniería de software orientada en objeto no hace una mención explícita de la
fase de mantenimiento. Sin embargo, esta actividad es notable, considerando el
hecho de que dos tercios del coste del tiempo de vida de un sistema de
software involucran mantenimiento
MANTENIMIENTO PREVENTIVO DE SOFTWARE
El
mantenimiento preventivo consiste en una atención constante de limpieza,
revisión y afinación de los distintos elementos integrantes de un equipo de
cómputo. Es importante saber que la mayoría de los problemas que se presentan
en el trabajo cotidiano, se debe a la falta de un programa específico de
mantenimiento de los equipos, de tal manera que la mayoría de los problemas se
resuelven con el mismo procedimiento del mantenimiento preventivo. El
mantenimiento tiene técnicas para darle un periodo de vida útil más largo y
libre de fallas. Debemos de tener en cuenta que es necesario darle
mantenimiento al software ya que el continuo uso genera una serie de cambios en
la configuración original del sistema, causando bajas en el rendimiento que al
acumularse con el tiempo pueden generar problemas serios. Actualmente es
indispensable mantener actualizada la protección contra virus informáticos.
CLASES DE MANTENIMIENTOS
·
Mantenimiento preventivo. Consiste en la revisión constante del software para
detectar posibles focos de problemas que puedan surgir en el futuro.
·
Mantenimiento
predictivo. Evalúa el
flujo de ejecución del programa para predecir con certeza el momento en el que
se producirá la falla, y así determinar cuándo es adecuado realizar los ajustes
correspondientes.
·
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), programación (inconsistencias en la ejecución), seguridad o
estabilidad, entre otras.
·
Mantenimiento adaptado.Si se requiere cambiar el entorno de uso de la
aplicación (que incluye al sistema operativo, a la plataforma de hardware o, en
el caso de las aplicaciones web, al navegador), puede ser indispensable modificara para mantener su plena funcionalidad en estas nuevas condiciones.
·
Mantenimiento
evolutivo. Es un caso
especial donde la adaptación resulta prácticamente obligatoria, ya que de lo
contrario el programa quedaría obsoleto con el paso del tiempo. Por ejemplo, el
cambio de versión en un navegador (muchas veces impuesto sin el consentimiento
del usuario) suele obligar a realizar ajustes en plugins y aplicaciones web.
·
Mantenimiento perfectivo. Por distintas razones, el usuario puede solicitar el
agregado de nuevas funcionalidades o características no contempladas al momento
de la implementación del software. El mantenimiento perfectivo adapta la
aplicación a este requerimiento.