Está en la página 1de 18

RESUMEN

Mediante este trabajo nos permitiremos dar a conocer la etapa que es


considerada ms importante

para la elaboracin del ciclo de vida de un

sistema.
En este caso ampliaremos el tema sobre el mantenimiento de un software
el cual se refiere al ltimo paso en donde se implementan actualizaciones,
caractersticas generadas por el usuario, cambios en el entorno u otros
aspectos que supondran mejorar la usabilidad y aplicabilidad para cumplir
las necesidades y mejorar la calidad de productividad y manejo del usuario o
la empresa.

Objetivo:
Conocer los parmetros que determinan el correcto mantenimiento en el
desarrollo de un software o sistema. Y como emplearlos para su respectivo
funcionamiento.

MANTENIMIENTO

INTRODUCCIN
La creencia habitual de un equipo de trabajo de que su tarea ha finalizado
cuando instala y pone en funcionamiento el software en las instalaciones del
cliente no puede ser ms errnea. Un producto software envuelve muchos
aspectos y caractersticas que provocan que sea totalmente necesario
supervisar su funcionamiento correcto durante un tiempo despus de la
entrega

del

mismo.

Ante

la

dificultad

que

entraa

garantizar

el

comportamiento correcto del programa en circunstancias no previstas, los


test de aceptacin del producto incluyen pruebas a largo plazo del software
(a peticin del cliente). A esta fase de supervisin se le denomina fase de
operacin. Slo cuando termina esta fase el cliente acepta definitivamente el
producto, que haba sido aceptado provisionalmente al ser entregado (fase
de transferencia).
Ms tarde, es posible que el software necesite ser modificado, ya sea
consecuencia de la deteccin de errores o bien ante nuevas exigencias y/o
necesidades del usuario del sistema. A esta fase se le conoce como fase de
mantenimiento. Es importante resear que durante estas fases de operacin
y mantenimiento (OM) se debe generar y actualizar el denominado
documento de historia del proyecto (DHP); documento que incluye todos los
errores (y sus correcciones) y/o modificaciones realizadas en el producto.
Este documento es de gran ayuda para poder calcular y analizar la fiabilidad
del sistema software a la vez que evaluar el rendimiento del equipo de
trabajo.

MANTENIMIENTO

Mantenimiento
Con posterioridad a la fase de implementacin de los sistemas, se impone la
fase de mantenimiento. El mantenimiento de sistemas es el mantenimiento
continuo despus del inicio del funcionamiento. Cuando se elaboran planes
para la estrategia de informacin, las organizaciones no pueden dejar de
considerar que el mantenimiento de sistemas es la fase ms prolongada y
costosa del ciclo de vida de los sistemas.
Despus software est en funcionamiento, a menudo requiere un
mantenimiento continuo. En general, el software sigue siendo operativo
durante un perodo prolongado de tiempo despus de la aplicacin inicial y
requiere un mantenimiento regular para asegurar que el software opera
continuamente al mximo rendimiento
Comprender las caractersticas de la fase de mantenimiento del ciclo de vida
del software permite a las personas la tarea de analizar el rendimiento del
software y resolver correctamente los problemas que surgen.

1.- Razones para hacer mantenimiento al software


Las condiciones del mercado - polticas, que cambia con el tiempo, tales
como impuestos y

restricciones

recientemente actualizadas, puede

desencadenar la necesidad de modificacin.


Requisitos del cliente - con el tiempo, cliente puede solicitar nuevas
caractersticas o funciones del software.

MANTENIMIENTO

Los cambios en la Organizacin - si hay algn cambio en el nivel de


empresa cliente final, tales como la reduccin de la fuerza de la
organizacin, adquisicin de otra empresa, organizacin aventurarse en
nuevos negocios, la necesidad de modificar el software original puede surgir.
No es el mismo tipo de mantenimiento el del software que el de hardware,
como primera aproximacin al mantenimiento del software lo definiremos
como el conjunto de medidas que hay que tomar para que el sistema siga
trabajando correctamente.
Entre las caractersticas sobresalientes del mantenimiento del software
destacan:
- El software no envejece.
- El mantenimiento del software supone adaptar el paquete o sistema objeto
del mismo a nuevas situaciones como:
Cambio de hardware.
Cambio de software de base (S.O.).
- Todo sistema software conlleva mejoras o aadidos indefinidamente. Al
cerrar todo proyecto se debe considerar y preveer las normas del
mantenimiento del sistema.

2.- Costes del mantenimiento


La etapa de mantenimiento consume tpicamente del 40 al 80 por ciento de
los recursos de una empresa de desarrollo de software. De hecho, con un
60% de media, es probablemente la etapa ms importante del ciclo de vida
del software

MANTENIMIENTO

SOFTWARE
Investigacin Preliminar

Determinacin de los requerimientos del sistema

Investigacin Preliminar; 7%
Determinacin de los requerimientos del sistema
; 6%
Desarrollo del Software
Diseo del Sistema
; 8%

Diseo del Sistema

Desarrollo del Software


; 6%

Mantenimiento; 55%

Implementacin y Evaluacin; 8%
Implementacin y Evaluacin

Prueva de los sistemas

Prueva de los sistemas; 12%

Mantenimiento

Por

norma

general,

el

porcentaje

de

recursos

necesarios

en

el

mantenimiento se incrementa a medida que se genera ms software. A esta


situacin se le conoce como Barrera de Mantenimiento.

Causas
Las causas a las que se debe este incremento de trabajo de mantenimiento
son:
1) Gran cantidad de software antiguo (ms de 10 aos); aun siendo
construidos con las mejores tcnicas de diseo y codificacin del momento

MANTENIMIENTO

(rara vez), su creacin se produjo con restricciones de tamao y espacio de


almacenamiento y con herramientas ya obsoletas tecnolgicamente.
2) Los programas sufren migraciones continuas de plataformas o SSOO.
3) El software ha experimentado modificaciones, correcciones, mejoras y
adaptaciones a nuevas necesidades de los usuarios. Adems, estos
cambios se realizaron sin tcnicas de reingeniera o ingeniera inversa,
dando como resultado sistemas que funcionan con baja calidad (mal diseo
de estructuras de datos, mala codificacin, lgica defectuosa y escasa
documentacin).

Costes intangibles del mantenimiento del software


- Oportunidades de desarrollo que se han de posponer o que se pierden
debido a los recursos dedicados a las tareas de mantenimiento.
- Insatisfaccin del cliente cuando no se le satisface en un tiempo debido
una solicitud de reparacin o modificacin.
- Los cambios en el software durante el mantenimiento tambin introducen
errores ocultos.
- Perjuicios en otros proyectos de desarrollo cuando la plantilla tiene que
dejarlos o posponerlos debido a una solicitud de mantenimiento.

3.-Tipos de mantenimiento
Existen 4 tipos de mantenimiento:
Correctivo.
Adaptativo.

MANTENIMIENTO

Perfectivo.
Preventivo.

Mantenimiento correctivo:
Tiene por objetivo localizar y eliminar los posibles defectos de los
programas.
Un defecto en un sistema es una caracterstica del sistema con el potencial
de provocar un fallo. Un fallo se produce cuando el comportamiento de un
sistema difiere con respecto al comportamiento definido en la especificacin.
Los fallos en un sistema software pueden ser:
- Procesamiento (salidas incorrectas de un programa).
- Rendimiento (tiempo de respuesta demasiado alto).
- Programacin (inconsistencias en el diseo).
- Documentacin (inconsistencias entre la funcionalidad de un programa y el
manual de usuario).

Mantenimiento adaptativo:
Consiste en la modificacin de un programa debido a cambios en el entorno
(hardware o software) en el que se ejecuta. Desde cambios en el sistema
operativo, pasando por cambios en la arquitectura fsica del sistema
informtico, hasta en el entorno de desarrollo del software. Este tipo de
mantenimiento puede ser desde un pequeo retoque hasta una reescritura
de todo el cdigo.
Los cambios en el entorno de desarrollo del software pueden ser:
- En el entorno de los datos (cambiar sistema de ficheros por BD relacional).
- En el entorno de los procesos (migracin a plataforma con procesos
distribuidos).

MANTENIMIENTO

Este mantenimiento es cada vez ms frecuente debido a la tendencia actual


de actualizacin de hardware y SSOO cada poco tiempo.

Mantenimiento perfectivo:
Conjunto de actividades para mejorar o aadir nuevas funcionalidades
requeridas por el usuario.
Se divide en dos:
- Mantenimiento de Ampliacin: incorporacin de nuevas funcionalidades.
- Mantenimiento de Eficiencia: mejora de la eficiencia de ejecucin.

Mantenimiento preventivo:
Modificacin del software para mejorar las propiedades de dicho software
(calidad y mantenibilidad) sin alterar sus especificaciones funcionales. Esto
incluye modificaciones y actualizaciones para evitar problemas en el futuro
del software. Su objetivo es atender los problemas, que no son significativos
en este momento pero pueden causar problemas graves en el futuro.
.

4.-Estrategia del Mantenimiento


Esta estrategia sirve para preparar los recursos humanos y materiales
necesarios para proporcionar mantenimiento de uno o varios productos
software.
La estrategia de mantenimiento del software consta de los siguientes
elementos:

Concepto del Mantenimiento


Plan de Mantenimiento
Anlisis de Recursos

Concepto del Mantenimiento

MANTENIMIENTO

El Concepto del Mantenimiento comprende:


Alcance del MS: responsabilidad del mantenedor. Incluye:
Tipos de mantenimiento a realizar,
Nivel de documentacin a mantener,
Nivel de formacin a suministrar,
Soporte de la entrega, y
soporte en lnea o de otro tipo.
Adaptacin del proceso: adecuacin del PMS a las circunstancias
particulares de cada caso.
Eleccin del mantenedor.
Estimacin de los costes de mantenimiento, incluyendo:
Desplazamientos
Formacin de los mantenedores y los usuarios,
Adquisicin y/o mantenimiento
Costes de personal y beneficios

Plan de Mantenimiento
El Plan de Mantenimiento debe ser preparado por el mantenedor durante el
desarrollo del software, tan pronto como el Concepto del Mantenimiento ha
sido definido. Debera incluir:
Porqu es necesario el mantenimiento,
Quin har qu trabajo,
Papeles y responsabilidades de los participantes,
Cmo deber ser realizado el trabajo,

MANTENIMIENTO

Qu recursos estarn disponibles


Dnde ser realizado el mantenimiento
Cundo comenzar el mantenimiento.

Anlisis de los Recursos necesarios


La ltima parte de la estrategia es el Anlisis de los Recursos necesarios,
incluyendo:
Personales: es el principal factor de coste y tambin el ms difcil de
estimar.
Los modelos existentes requieren disponer de datos histricos.
Materiales: el desarrollo y el mantenimiento necesitan sistemas separados
dedicados ex profeso a tal fin. Es necesario disponer de un entorno
(hardware y software) de mantenimiento.
Financieros: el mantenedor deber disponer de un presupuesto para hacer
frente a los siguientes gastos:
Salarios
Formacin
Licencias del software
Viajes
Bibliografa
Adquisicin y actualizacin del hardware/software

10

MANTENIMIENTO

5.-Estructura del Plan de Mantenimiento


a) Introduccin
1- describir el sistema que ser soportado
2- identificar el estado inicial del software
3- describir porqu es necesario el mantenimiento
4- identificar el mantenedor (la organizacin)
5- describir los protocolos de acuerdo entre el cliente y el suministrador
b) Concepto de Mantenimiento
1- describir el concepto
2- describir el nivel de soporte
3- identificar el periodo de tiempo soportado
4- Personalizar el proceso
c) Organizacin y actividades de mantenimiento
1- Papeles y responsabilidades del mantenedor antes de la entrega
i) Implementacin del Proceso
ii) establecer infraestructura
iii) Establecer Proceso de Formacin
iv) Establecer el Proceso de Mantenimiento
2- Papeles y responsabilidades del mantenedor despus de la entrega
i) Implementacin del Proceso
ii) Anlisis del Problema y la Modificacin
iii) Realizacin de la Modificacin
iv) revisin/Aceptacin del Mantenimiento
v) Migracin
vi) Retirada
vii) Resolucin de problemas (incluida ayuda en lnea)
viii) formacin del personal (mantenedores y usuarios)
ix) Mejora del Proceso
3- Papel del usuario
i) Pruebas de Aceptacin
ii) Interfaz con otras organizaciones
d) Recursos
1- Personal
i) Tamao del equipo del proyecto
2- Software
i) identificar el software necesario (incluyendo SEE y STE)
3- Hardware
i) identificar el hardware necesario (incluyendo SEE y STE)
4- Instalaciones
i) identificar los requerimientos
5- Documentacin
i) Plan de Calidad del Software
ii) Plan de Gestin del Proyecto
iii) Plan de Gestin de la Configuracin
iv) Documentos del desarrollo
v) Manuales de Mantenimiento
vi) Plan de Verificacin
vii) Plan de Validacin
viii) Plan de Pruebas, procedimientos e informes de pruebas
ix) Plan de Formacin
x) Manuales de Usuario
6- Datos
7- Otros requerimientos de recursos (si los hubiera)
e) Proceso (cmo ser realizado el trabajo)
1- Proceso del mantenedor (resumen)

11

MANTENIMIENTO
2- Proceso personalizado
f) Formacin
1- Identificar necesidades de formacin para los mantenedores y los usuarios
g) Registros e informes de mantenimiento
1- Listas de peticiones de ayuda, peticiones de modificacin o informes de problemas
2- Estado de las peticiones, segn categoras
3- Prioridades de las peticiones
4- Datos de mtricas recogidos durante las actividades de mantenimiento

6.-Actividades de mantenimiento
2.Anlisis Del
Problema Y La
Modificacion

1.Implementaci
n Del
Proceso

3.Realizacion
De La
Modificacion

6.Retirada

4.Revisin/Acept
acin Del
Mantenimiento

5.Migracin

Implementacin del proceso


Durante la Implementacin del Proceso, el mantenedor:
Desarrolla el plan y los procedimientos de mantenimiento;

12

MANTENIMIENTO

Establece procedimientos para recibir, registrar y seguir la pista a los


informes de problemas y peticiones de modificacin de los usuarios; y
Implementa o define los interfaces organizacionales con el proceso de
gestin de la configuracin.

Anlisis del problema y la modificacin


Durante la etapa de Anlisis del Problema y la Modificacin, el mantenedor:
Analiza el informe del problema o requerimiento de modificacin para
determinar su impacto en la organizacin, en el sistema existente y en los
interfaces;
Contradice o verifica el problema;
Define varias opciones para implementar la modificacin;
Documenta el informe del problema o requerimiento de modificacin, los
resultados y opciones de implementacin; y
Obtiene la aprobacin para la opcin de modificacin seleccionada.

Realizacin de la modificacin
Durante la etapa de Realizacin de la Modificacin, el mantenedor:
Realiza un anlisis para determinar los "elementos software" que deben
ser modificados; e
Invoca al proceso de desarrollo del software para realizar la modificacin
(incluyendo las pruebas).

Revisin/aceptacin del mantenimiento


Durante la etapa de Revisin/Aceptacin del Mantenimiento, el mantenedor:

Tiene

entrevistas

con

la

autoridad

(cliente

externo

interno)

correspondiente para determinar la correcta integridad del sistema


modificado; y

13

MANTENIMIENTO

Obtiene la aprobacin de la modificacin mediante los mecanismos


determinados previamente (en un contrato o similar).

Migracin
La etapa de Migracin no es obligatoria, slo existe cuando un producto
software es modificado para funcionar en un nuevo entorno operativo. En
ese caso, el mantenedor:
Disea un plan de migracin;
Notifica a los usuarios el inicio y conclusin de la migracin;
Forma a los usuarios en el nuevo entorno;
Evala el impacto del nuevo entorno; y
Archiva el producto software antiguo.

Retirada
La etapa de Retirada tampoco es obligatoria ya que slo existe cuando un
producto software ha concluido su vida til y es sustituido por otro nuevo. En
ese caso, el mantenedor realiza tareas similares a las referidas para la
migracin.

7.-Herramientas y mtodos.
Las herramientas sirven para soportar de forma efectiva los mtodos; han
sido diseadas para que el equipo de mantenimiento comprenda el
programa y pruebe sus modificaciones asegurando que no han introducido
errores.

Herramientas:

Formateador
Analizador Esttico
Estructurador
Documentador

14

MANTENIMIENTO

Depurador Interactivo
Generador De Datos De Prueba
Comparador

Principales mtodos utilizados en el mantenimiento


Reingeniera: consiste en el examen y modificacin de un sistema para
reconstruirlo de una nueva forma. Rehacer algo que otro ha realizado
tratando de reutilizar.

Ingeniera Inversa: proceso de analizar un sistema para identificar sus


componentes e interrelaciones, as como crear representaciones del sistema
en un nivel de abstraccin ms elevado. Reinterpretar un programa para
documentarlo.

Reestructuracin del software: consiste en la modificacin del software


para hacerlo ms inteligible y ms fcil de cambiar. No cambia el nivel de
abstraccin.

Transformacin de Programas: mtodo formal que parte de un


programa ya existente para obtener un programa equivalente por medio de
transformaciones sucesivas.

8.-Documentacin de los cambios


Las solicitudes de mantenimiento deben hacerse mediante un formulario
estandarizado. El equipo de mantenimiento debe elaborar un informe de
cambios para cada solicitud. Este informe de cambios debe incluir:
1.- Informacin del programa.
2.- Tamao (LDC) del programa fuente.
3.- Tamao del ejecutable.
4.- Lenguaje de programacin utilizado.

15

MANTENIMIENTO

5.- Fecha de instalacin del programa.


6.- Nmero de ejecuciones del programa desde la instalacin.
7.- Nmero de fallos.
8.- Nmero de sentencias aadidas, modificadas y eliminadas
en el cambio.
9.- Nmero de personas-hora.
10.- Identificacin de la persona responsable.
11.- Identificacin de la solicitud de mantenimiento.
12.- Tipo de mantenimiento.
13.- Fechas de comienzo y final del mantenimiento.
14.- Beneficios netos que supone el cambio.

9.-Efectos secundarios del mantenimiento


En el mantenimiento del software existe el riesgo del llamado efecto bola de
nieve; que consiste en que los cambios introducidos por una peticin de
mantenimiento conllevan efectos secundarios que implican futuras peticiones de
mantenimiento.

Efectos secundarios sobre el cdigo:


1.- Cambios en el diseo que suponen muchos cambios en el
cdigo.
2.- Eliminacin o modificacin de un subprograma.
3.- Eliminacin o modificacin de una etiqueta.
4.- Eliminacin o modificacin de un identificador.

16

MANTENIMIENTO

5.- Cambios para mejorar el rendimiento.


6.- Modificacin de la apertura/cierre de ficheros.
7.- Modificacin de operaciones lgicas.

Efectos secundarios sobre los datos:


1.- Redefinicin de constantes locales o globales.
2.- Modificacin de los formatos de registros o archivos.
3.- Cambio en el tamao de una matriz u otras estructuras
similares.
4.- Modificacin de la definicin de variables globales.
5.- Reinicializacin de indicadores de control o punteros.
6.- Cambios en los argumentos de los subprogramas. Es
importante una correcta documentacin de los datos.

Efectos secundarios sobre la documentacin:


1.- Modificar el formato de las entradas interactivas.
2.- Nuevos mensajes de error no documentados.
3.- Tablas o ndices no actualizados.
4.- Texto no actualizado correctamente.

17

MANTENIMIENTO

18