- Mantenimiento de Sistemas: Corrección de Errores
- ¿Cómo se Relaciona el Mantenimiento de Sistemas con los Bloques Elementales de los Sistemas de Información?
- Actividades que se deben realizar para el Mantenimiento de Sistemas
- Recuperación del Sistema: Superar los fallos generales de los Sistemas
- Mejoras y Reingeniería de Sistemas
- Actividades participantes y técnicas de las mejores y la reingeniería de Sistemas
El Soporte de Sistemas es el mantenimiento permanente de un Sistema después de que haya sido explotado. Ello incluye tanto el mantenimiento estricto de los programas como las posibles mejoras que puede añadirse al Sistema.
El Soporte de Sistema consta de 4 actividades permanentes:
1. Corregir errores (llamado mantenimiento).
2. Recuperar el Sistema.
3. Asistir a los usuarios del Sistema.
4. Adaptar el Sistema ante una nueva necesidad (llamado reingeniería).
El Soporte de Sistema requiere a menudo que el analista vuelva a reparar actividades típicamente desarrolladas durante el análisis, el diseño y la implantación del Sistema.
Mantenimiento de Sistemas: Corrección de Errores
Con independencia de cómo este diseñado, construido y cobrado un Sistema o aplicación inevitablemente aparecerán errores.
Algunos de estos errores tendrán origen en fallos en la comunicación de las necesidades. Otros estarán provocados por defectos de diseño. Los habrá también originados por situaciones no previstas y, por lo tanto, no probadas. Y, por último, los errores pueden ser causados por un mal uso no previsto de los programas. A estas acciones de corrección las llamamos mantenimiento de Sistemas o mantenimiento de programas.
Objetivo y Bloques Elementales del Mantenimiento de Sistemas.
Los objetivos fundamentales del mantenimiento de Sistemas son:
Hacer cambios predicables en los programas existentes para corregir errores quese cometieron durante el diseño y la implantación del Sistema.
Preservar aquellos aspectos de los programas que fueron ya corregidos. Alcontrario, intentaremos evitar la posibilidad de que los arreglos en dichosprogramas originen que otros aspectos de los mismos funcionen de mododiferente.
¿Cómo se Relaciona el Mantenimiento de Sistemas con los Bloques Elementales de los Sistemas de Información?
PERSONAS: El mantenimiento de Sistemas es normalmente iniciado por los usuarios del Sistema. El mantenimiento es llevado a cabo por lo general por los constructores de Sistemas, con posible ayuda de los diseñadores del Sistema.
DATOS: El mantenimiento de Sistemas rara vez influye sobre los datos, salvo por la posibilidad de que se mejore la edición de dichos datos.
ACTIVIDADES: Los procesos de los Sistemas de Empresas de información se implantan finalmente como programas de aplicación. El mantenimiento de Sistema consiste en arreglar los errores cometidos durante la implantación de dichos programas.
REDES: El mantenimiento de Sistema rara vez tiene que ver con la redes informáticas si bien en ocasiones son las redes informáticas las fuentes de determinados errores.
TECNOLOGÍA: El mantenimiento de Sistema, tal como se ha definido en estas actividades, no tiene que ver con los cambios tecnológicos.
Actividades que se deben realizar para el Mantenimiento de Sistemas
1. Definir y validar los Problemas.
La primera actividad del equipo asignada será definir y validar los problemas. En el mejor de los casos, esta tarea será facilitada por el analista y el programador, pero en cualquier caso debería implicar claramente al usuario o usuarios. Los programas con problemas se recuperan de la biblioteca de programas.
Trabajando conjuntamente con el usuario, el equipo debería intentar validar el o los problemas consiguiendo reproducirlos.
Si el problema no puede reproducirse, debería suspenderse el proyecto hasta que se reprodujera el problema y el usuario pudiera explicar las circunstancias en las cuales tuvo lugar.
La entrada es el conjunto de errores encontrados al usar el Sistema (normalmente llamado bugs). Una posible salida sería las solicitudes de cambio validadas. Estas solicitudes de cambio deberían definir las expectativas de solución.
Otra posible salida es problemas o validado. En el caso de que volviera a producirse el error, los usuarios deberían ser aleccionados para que se documentaran del mejor modo posible las circunstancias que llevaron a la aparición del error y de los demás síntomas del problema.
En algunos casos, el error se debe a una mala comprensión o, un mal uso del Sistema y las instrucciones de corrección podrían llegar al cierre de todo el proyecto. Además, el error ha ido validando, se pasaran los problemas y programas validados a la siguiente tarea.
2. Aplicar un juego de datos de prueba a los programas y la aplicación.
Los programas no son del todo malos. O no habrían sido puestos en traducción en ningún momento. El equipo debería entonces aplicar el juego de datos de prueba a los programas y la aplicación. El mantenimiento de Sistemas puede descubrir efectos impredecibles y no deseables que influirán sobre el funcionamiento y el rendimiento global. Por este motivo recomendaremos encarecidamente, antes de realizar ningún cambio en los programas, se ejecuten y se prueben para definir una línea de partida con respecto a la cual puedan compararse los programas y aplicaciones modificadas.
Este paso es llevado a cabo por el Analista o Programador de Sistemas. Los casos de juego de datos de prueba pueden definirse de 2 maneras:
La primera consistiría en buscar datos de prueba antiguos, también deberíaanalizarse si son suficientemente complejos y si fuera necesario, habría querevisarlos.
Alternativamente, es posible capturar automáticamente los datos de pruebas pormedio del empleo de una herramienta de prueba.
El Analista o Programador debe disponer de buenos conocimientos en la realización de pruebas informáticas y puede requerir información en las herramientas de prueba.
3. Conocer la aplicación y sus programas:
Conocer una aplicación, su funcionamiento, su lenguaje, todo cuanto el programa tenga y halla sido traducido para su ejecución, prueba y utilización.
Tiene como objetivo la comprensión de los programas, conseguir suficiente información sobre como funciona el programa y sobre lo que no funciona para ello hay que conocer los campos o variables y donde se usa, conocer los programas qug pueden llevar a hacer mejores estimaciones de tiempo y los recursos que se requerirán para arreglar los errores.
4. Editar y probar los programas.
Dado el conocimiento de la aplicación, los programas y los cambios válidos, pueden entonces realizarse los cambios en los programas que han de modificarse. Esta tarea es realizada por un programador.
Existe una gran diferencia entre editar un nuevo programa, y editar un programa existente. Como diseñador y creador de un nuevo programa, probablemente se estará muy familiarizado con la estructura y la lógica del programa. Por el contrario, como editor del programa existente la familiaridad no será tan acusada con dicho programa.
Los cambios que se introducen pueden tener un efecto de bucle no deseado que afecte a otras partes del programa o, lo que es aún peor, a otros programas de la aplicación.
Se consideran esenciales las siguientes pruebas que se recomienda encarecidamente:
PRUEBA DE UNIDADES, (esencial): Que asegura que el programaconsiderado en solitario arregla el error sin efectos colaterales.
PRUEBA DEL SISTEMA, (esencial): Que asegura que la aplicación enconjunto, de la que forma el programa modificado, aún funciona.
PRUEBA DE REGRESIÓN, (recomendado): Que extrapola elimpacto de los cambios en la productividad y el tiempo de respuesta delprograma y la aplicación antes y después usando para ello los datos de prueba derendimiento actual.
5. Actualizar la documentación.
El alto costo de mantenimiento de Sistemas debe, en gran parte a fallos en la actualización de la documentación de la aplicación y los programas. Cada vez que cambie la documentación de una aplicación, debe modificarse en el diccionario y en las bibliotecas de programas. La documentación de la aplicación es, por lo general responsabilidad del Analista de Sistemas que da soporte a dicha aplicación. La documentación de los programas suele ser responsabilidad del programador que realiza los cambios en los programas.
El programador es responsable de esta actividad, los cambios en la aplicación se guardan en diccionario. Los nuevos programas y cambios en los programas se guardan en la biblioteca de programas. Una vez devueltos a la biblioteca, quedan disponibles para su producción.
Grabar los cambios de las aplicaciones y los programas en el diccionario y la biblioteca de programas ayudará a los futuros Programadores y Analistas a reducir el tiempo dedicado al aprendizaje de la aplicación durante las futuras tareas de mantenimiento.
Los cambios realizados no se olvidaran por pequeños que sean, a menos que guarde un registro apropiado de ellos. Las ventajas obtenidas a largo plazo de este trabajo llegaran cuando tengan que hacerse nuevos desarrollos importantes de aplicaciones. La fase de estudio del análisis de Sistema se hará más rápidamente si existe una documentación actualizada.
Recuperación del Sistema: Superar los fallos generales de los Sistemas
De vez en cuando es inevitable que un Sistema falle. Este fallo se traduce generalmente lo que se llama un programa "abortado" (también llamado "ABEND" o "CRASH")
La posible pérdida de datos. Entonces es a menudo el Analista de Sistema el encargado de arreglar el Sistema o de actuar como intermediario entre los usuarios y quienes deben recuperar el Sistema.
Esta actividad se puede detallar en 6 pasos:
1. El Analista puede sentarse ante el Terminal del Usuario y recuperar el Sistema. Aveces, puede ser tan sencillo como pulsar una tecla específica o volver a arrancar elordenador personal es posible que pueda producirse algunos fallos generalizados oen algunos el Analista puede observar al Usuario durante el uso del programa o laaplicación.
2. El Analista debe ponerse en contacto con el servicio de explotación de los Sistemaspara corregir el problema. Las acciones realizadas por el servicio de explotaciónconsisten en dar fin a la sesión on-line y reinicializar la aplicación de sus programas.
3. El Analista puede tener que recurrir a la administración de datos para recuperararchivos o datos perdidos o deteriorados.
Los procesos de copia de seguridad y recuperación desbordan el ámbito de tratamiento de este libro.
4. El Analista puede tener a la administración redes para resolver un problema de redeso extendidas, o de interconexión de redes, los profesionales de redes suelendesconectar al Usuario y reinicializar los programas.
5. El Analista puede tener que recurrir a los técnicos o los representantes de losvendedores para arreglar un problema de hardware.
6. El Analista tal vez descubra el error que ha provocado el fallo. El Analista intentaaislar dicho error rápidamente y bloquearlo automáticamente para evitar dar lugar aotro fallo.
Asistencia al Usuario Final.
Otra actividad permanente y relativamente rutinaria en el Soporte de Sistemas es la asistencia rutinaria al Usuario Final.
Independientemente de cómo haya sido la formación de usuarios o de calidad de la documentación. El Analista de Sistema, está por lo general a disposición de los usuarios para ofrecerles ayuda en el uso diario de 4 aplicaciones específicas. En aplicaciones de máxima importancia el Analista debe estar disponible día y noche.
Las tareas más características comprenden:
Observación rutinaria del uso de Sistemas.
Realización del estudio y reuniones para conocer el grado de satisfacción del usuario.
Cambiar los procedimientos de empresas para que sean más claros (se revisan y se graban en el diccionario)
Ofrecer formación adicional.
Anotar en el diccionario las ideas y las solicitudes sobre posibles mejoras.
Mejoras y Reingeniería de Sistemas
La adaptación de un Sistema existente a las nuevas necesidades es una posibilidad siempre abierta en todos los Sistemas de nueva implantación. El mantenimiento ligado a estas adaptaciones obliga al Analista a analizar las nuevas necesidades y volver a las fases adecuadas del análisis del diseño y la implantación de Sistemas. En esta sección, examinaremos dos tipos de mantenimientos.
1. Las Mejoras a los Sistemas.
2. La Reingeniería de Sistemas.
Objetivos y Bloques Elementales de las Mejoras y Reingeniería.
La mayor parte del mantenimiento de adaptaciones se hace como respuesta a la aparición de nuevos problemas de empresas, nuevas necesidades de información con nuevas ideas mejoradas. Estas actividades reciben el nombre de Mejoras al Sistema.
El objetivo de las mejoras es modificar o ampliar el Sistema.
El Objetivo de Mejoras puede relacionarse con bloque elementales de los Sistemas de Información de modo siguiente:
» PERSONAS: En su mayoría las mejoras a los Sistemas son propuestas por los usuarios de los Sistemas, si bien los Analista diseñadores y constructores del Sistema también pueden detectar posibles problemas técnicos relativos al rendimiento, la seguridad y los controles internos.
» DATOS: MUCHA MEJORA DE LOS Sistemas son demandas de nueva información que pueden derivarse de datos almacenados existentes. Algunas mejoras de datos pueden requerir la ampliación del almacenamiento de datos.
» PROCESOS: En su mayoría, la mejora de los Sistemas requieren la modificación de programas existentes o la creación de nuevos programas para ampliar el ámbito general del Sistema de aplicaciones.
» REDES: En su mayoría las mejoras de los Sistemas no tienen que ver con las redes.
» TECNOLOGÍA: En su mayoría las mejoras a los Sistemas se basan en la tecnología.
Los objetivos de la reingeniería son o bien adaptados al Sistema ante un caso tecnológico importante y arreglar el Sistema antes de que falle o bien hacer el Sistema más sencillo de manejar para cuando falle o tenga que ser adaptado, y resumirse del modo siguiente:
» PERSONAS: En su mayor parte la reingeniería es llevada a cabo por personal técnico y de Sistema de Información.
* DATOS: Muchos proyectos de reingeniería son debido a la necesidad de restaurarlos datos almacenados, ya sea para hacerlos más flexibles y fáciles de adaptar o paraconvertirlos a un nuevo entorno tecnológico.
» PROCESOS: Muchos proyectos de reingeniería intentan restaurar o reorganizar programas de aplicación para hacerlos más fáciles de mantener o convertirlos a un nuevo entorno tecnológico (por ejemplo el lenguaje).
» REDES: Algunos proyectos de aplicación buscan modificar de las aplicaciones para adaptarlas a nuevas tecnologías de redes.
* TECNOLOGÍA: En su mayoría, los proyectos de reingeniería se deben acambios en la tecnología o la necesidad de aprovechar mejor la tecnología existente.
Actividades participantes y técnicas de las mejores y la reingeniería de Sistemas
ACTIVIDAD 1: Analizar las solicitudes de mejora.
El propósito de esta actividad es determinar el curso apropiado de acciones para tratar nuevos problemas de empresa o ideas de mejoras, problemas o limitaciones técnicas (resultante de otras actividades de soporte). Esta fase de soporte, en general, no sirve en realidad para mejorar el sistema, no estudia la documentación existente para determinar el curso apropiado de acciones. Sobre la base análisis de los modelos del sistema actual, estas acciones pueden incluir:
é Definir nuevas necesidades de empresa y volver al Análisis de Sistemas. é Definir nuevas necesidades técnicas y volver al Diseño de Sistema, é Definir nuevas necesidades de programas y proceder a la tarea 2.
En caso, los nuevos programas se limitan generalmente a aquellos que generan nueva información a partir de los almacenes de datos existentes.
ACTIVIDAD 2: Escribir nuevos programas sencillos.
Esto quiere decir que estos programas pueden conseguirse rápidamente mediante la estructura de nuevos programas sencillos. ¿Qué quiere decir que los programas sean sencillos?
Los programas sencillos son aquellos que utilizan datos existentes, no actualizan datos existentes y no introducen nuevos datos (por motivo de almacenamiento de datos). Las necesidades de nuevos programas conforman la mayoría de las mejoras que se requieren hoy en día.
ACTIVIDAD 3: Reestructurar archivos o bases de datos.
De vez en cuando, los Analistas de Sistema colaboran en la reingeniería de archivos y bases de datos. La tecnología actual de base de datos más idónea es la base de datos relacionadas con SQL (que almacenan los datos en tablas integradas por medio de campos redundantes que actúan cornos punteros).
La reingeniería de estructuras de archivos en base de datos se ha convertido en una tarea muy importante. La reingeniería de base de datos suele ocupar espacios sufrientes en el los libros y el cursor de gestión de datos y base de datos; sin embargo, se hace necesaria una breve descripción al de sus fundamentos. El Analista de Sistema desempeña un papel importante, debido al impacto potencial en las aplicaciones existentes. Los Analistas de redes pueden también verse involucrados en estos datos están, o han de estar, distribuidas en redes informáticas.
Las entradas Claves a esta acción solas estructuras de base de datos existentes (que puede obtenerse del diccionario de sistema de gestión de bases de datos o archivos que se incluye en la mayoría de los almacenes de datos) y los datos procesos y redes existentes también almacenados en el diccionario. Las salidas son una nueva estructura de base de datos y un nuevo modelo de datos, proceso y redes.
ACTIVIDAD 4: Analizar la biblioteca de programas y los costos de mantenimiento:
Como se habrán dado cuenta de que si pudiera identificarse software más complejo y costoso, podría ser preferible hacer una reingeniería para reducir la complejidad y los costos de mantenimiento. La primera actividad requerida para lograr este objetivo es analizar la biblioteca de programas y los costos de mantenimiento. Esta actividad casi siempre requiere de software capaz de llevar a cabo el análisis. Los Analistas de Sistemas suelen ser quienes interpretan los resultados.
La métrica de Software: Es un conjunto de medidas matemáticamente probadas sobre la calidad y la productividad del software.
Ejemplos de métricas de software aplicables al mantenimiento son:
Nudo de flujo de control, o número de veces que se cruzan entre si loscaminos lógicos. En términos ideales, un programa debería tener cero nudos de flujode control.
Complejidad de los Ciclos, o números de caminos únicos a través de unprograma. En términos ideales, cuántos menos sean mejor.
Entradas a esta tarea son todos los programas de la biblioteca. Su salida es un programa o programa candidatos para reingeniería.
ACTIVIDAD 5: Hacer reingeniería y pruebas de los programas.
Existen tres tipos de reingeniería que pueden aplicarse sobre dicho programa:
» La reorganización de código: Reestructura la organización modular y/o lógica del programa. La lógica puede reestructurarse para eliminar nudos de flujos de control y reducir la complejidad de los ciclos.
» La Conversión de código: Traduce el código de un lenguaje a otro. Típicamente, esta traducción se realiza de una a otra versión de un mismo lenguaje.
Existe un cierta controversia sobre la utilidad de los traductores entre diferentes lenguaje. Si los lenguajes son suficientemente diferentes, la traducción puede ser muy difícil. Si la traducción es sencilla, podría plantearse la pregunta: "¿Por qué cambiar?" por otra parte podrían existir argumentos convincente para traducir las llamadas cobol basadas en la tecnología antigua.
* La fragmentación de código: Es la opción de reingeniería másinteresante de todas si se hace tal descomposición, se obtendría ventaja demantenimiento. Y lo que es más importante, si se divide el programa podría serreutilizado en labores posteriores.
El programa candidato para reingeniería se copia desde la biblioteca de programas. La reingeniería se hace por medio del empleo de uno o más de los métodos anteriores. Los nuevos modelos de datos, procesos y/o redes se actualizan en el diccionario.
Autor:
Tlgo. Jorge Luis Loor