ciclo de vida del software - mantenimiento

Upload: lionel-espinoza

Post on 08-Jan-2016

217 views

Category:

Documents


0 download

DESCRIPTION

Etapa de mantenimiento

TRANSCRIPT

MANTENIMIENTO

MANTENIMIENTO

RESUMENMediante 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.

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.

MantenimientoCon 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 rendimientoComprender 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 softwareLas 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.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 mantenimientoLa 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

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.

CausasLas 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 (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 mantenimientoExisten 4 tipos de mantenimiento: Correctivo. Adaptativo. 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).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 MantenimientoEsta 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 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 beneficiosPlan de MantenimientoEl 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, Qu recursos estarn disponibles Dnde ser realizado el mantenimiento Cundo comenzar el mantenimiento.Anlisis de los Recursos necesariosLa 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

5.-Estructura del Plan de Mantenimiento a) Introduccin1- describir el sistema que ser soportado2- identificar el estado inicial del software3- describir porqu es necesario el mantenimiento4- identificar el mantenedor (la organizacin)5- describir los protocolos de acuerdo entre el cliente y el suministradorb) Concepto de Mantenimiento1- describir el concepto2- describir el nivel de soporte3- identificar el periodo de tiempo soportado4- Personalizar el procesoc) Organizacin y actividades de mantenimiento 1- Papeles y responsabilidades del mantenedor antes de la entregai) Implementacin del Procesoii) establecer infraestructuraiii) Establecer Proceso de Formaciniv) Establecer el Proceso de Mantenimiento 2- Papeles y responsabilidades del mantenedor despus de la entregai) Implementacin del Procesoii) Anlisis del Problema y la Modificaciniii) Realizacin de la Modificaciniv) revisin/Aceptacin del Mantenimientov) Migracinvi) Retiradavii) Resolucin de problemas (incluida ayuda en lnea)viii) formacin del personal (mantenedores y usuarios)ix) Mejora del Proceso 3- Papel del usuarioi) Pruebas de Aceptacinii) Interfaz con otras organizacionesd) Recursos 1- Personali) Tamao del equipo del proyecto 2- Softwarei) identificar el software necesario (incluyendo SEE y STE) 3- Hardwarei) identificar el hardware necesario (incluyendo SEE y STE) 4- Instalacionesi) identificar los requerimientos 5- Documentacini) Plan de Calidad del Softwareii) Plan de Gestin del Proyectoiii) Plan de Gestin de la Configuraciniv) Documentos del desarrollov) Manuales de Mantenimientovi) Plan de Verificacinvii) Plan de Validacinviii) Plan de Pruebas, procedimientos e informes de pruebasix) Plan de Formacinx) 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) 2- Proceso personalizadof) Formacin 1- Identificar necesidades de formacin para los mantenedores y los usuariosg) 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

Implementacin del procesoDurante la Implementacin del Proceso, el mantenedor: Desarrolla el plan y los procedimientos de 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 modificacinDurante 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 o interno) correspondiente para determinar la correcta integridad del sistema modificado; y Obtiene la aprobacin de la modificacin mediante los mecanismos determinados previamente (en un contrato o similar).

MigracinLa 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 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 cambiosLas 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.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 mantenimientoEn 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.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.

10