Mantenimiento Sistemas de Información
Mantenimiento Sistemas de Información
Mantenimiento Sistemas de Información
CURSO: 2009-10
GRUPO 1.5
2
Índice
1. Desarrollo Conceptual ....................................................................................................... 4
2. Desarrollo Metodológico ................................................................................................... 8
3. Aportaciones Personales ................................................................................................. 22
4. Bibliografía ...................................................................................................................... 27
5. Presentación ................................................................................................................... 28
3
1. Desarrollo Conceptual
Índice Conceptual
1. Definiciones Inherentes al Mantenimiento
2. Tipos de Mantenimiento
5. Reingeniería
6. Ingeniería Inversa
4
Tipos de Mantenimiento
Correctivo: Se trata del mantenimiento que se realiza a cabo para corregir los errores
detectados durante la explotación del sistema.
Perceptivo (evolutivo): Se trata del mantenimiento que se realiza para mejorar o añadir
alguna característica nueva al programa. Es el mantenimiento que mayor coste supone (hasta
un 60% relativo respecto al resto de mantenimientos).
Adaptativo: Se trata del mantenimiento llevado a cabo para adaptar el sistema a un nuevo
entorno tecnológico (software, hardware, etc.).
5
Factores del Mantenimiento
Definición: Se tratan de factores que dificultan el mantenimiento del software, entre los
cuales se encuentran:
Código Heredado: Código antiguo, el cual la mayoría fue construido para ocupar poco
espacio, sin importar la eficiencia, diseño y mantenimiento del mismo. A su vez el código se
encuentra muy deteriorado lo que aumenta el coste y la dificultad de su mantenimiento.
Evolución del Software: El software va sufriendo cambios a lo largo del tiempo, lo que
disminuye su calidad y lo hace menos eficiente, aumentando su complejidad y deteriorándolo.
Si tampoco se ha llevado un control de la documentación su mantenimiento se vuelve más
costoso.
Reingeniería
Definición: Alternativa al mantenimiento. Modificación del producto software o
componentes del mismo para mejorar su mantenimiento futuro.
Ingeniería directa: También llamada renovación, consiste en utilizar los principios, métodos
y conceptos de la ingeniería del software para volver a implementar la aplicación.
6
Herramientas CASE: Se tratan de Aplicaciones destinadas a facilitar y aumentar la
productividad en el desarrollo Software. Uno de los objetivos de la Reingeniería es capturar
información en un repositorio que será utilizado posteriormente por estas herramientas.
Esperanza de vida: Es el tiempo que la aplicación puede estar funcionando sin presentar
inconvenientes graves. La reingeniería permite aumentar la esperanza de vida de la aplicación.
Ingeniería inversa
Extracción de Abstracciones: Extracción a partir del código fuente una documentación
significativa del proceso que se realiza, así como de la interfaz de usuario y de las estructuras
de datos que se utilizan.
Completitud: Se refiere al nivel de detalle que se obtiene, a medida que aumenta el nivel de
abstracción la completitud disminuye.
Interactividad: Se refiere al grado con el cual las personas se integran con las herramientas
de ingeniería inversa, para de este modo crear un proceso más efectivo. A medida que crece la
abstracción hay que aumentar la interactividad.
7
2. Desarrollo Metodológico
Previo
Para la realización del desarrollo metodológico se ha decido utilizar el modelo unificado como
modelo de procesos, por lo tanto se va a utilizar un enfoque orientado a objetos, pues este
modelo de procesos nos obliga a ello. A su vez, dentro del modelo de procesos se incluye la
utilización de prototipos como una actividad del modelo.
Debido a que el mantenimiento depende de actividades previas del ciclo de vida, se tendrá en
cuenta aquellas actividades realizadas que condicionan el desarrollo de la actividad propuesta,
en este caso estas actividades son “Preparación del mantenimiento del Sistema” y
“Establecimiento del acuerdo de nivel de Servicio” , ambas pertenecientes al proceso de
Implantación y Aceptación del Sistema.
Los tipos de mantenimiento que se van a realizar en el desarrollo metodológico van a ser el
mantenimiento correctivo y el perfectivo o evolutivo, ya que ambos se encuentran
estrechamente relacionados. Los mantenimientos adaptativo y preventivo se dejan fuera de
este desarrollo debido a que quedan fuera del alcance del mismo y no son contemplados en el
proceso de Mantenimiento de Sistemas de Información de Métrica v3.
8
Actividad MSI 2: Análisis de la Petición.
Tarea
MSI 2.1 Verificación y Estudio de la Petición.
MSI 2.2 Estudio de la Propuesta de la Solución.
Diagrama de Actividades
Desarrollo de la Actividad
Para la realización de este apartado se ha decidido desarrollar la actividad 2 del
Mantenimiento de Sistemas de Información (MSI): Análisis de la petición.
9
En caso de que la actividad haya sido aceptada se llevará a cabo un análisis del alcance que
tiene la petición, estimando cual sería el alcance de la misma en el ciclo de vida de la
aplicación, llegando el caso de estudiar la necesidad de desviar la petición a un nuevo proceso,
en este caso Viabilidad del Sistema (EVS) o Análisis de Información (ASI).
Por último el enfoque sobre el que se realiza esta actividad, se verá afectada por el tipo de
mantenimiento que se va a realizar, siendo diferente el enfoque que se realiza sobre un tipo
de mantenimiento correctivo que sobre un mantenimiento evolutivo.
Productos de Entrada
Plan de Mantenimiento (IAS 7.2).
Acuerdo de Nivel de Servicio (IAS 8.3).
Catálogo de Peticiones (MSI 1.2).
Resultado del Estudio de la Petición (MSI 2.1).
Productos de Salida
Catálogo de Peticiones
o Verificación de la Petición.
o Estudio del Impacto.
o Aceptación / Rechazo de la Petición.
Resultado del Estudio de la Petición.
Propuesta de la Solución.
Técnicas y Prácticas
Sesiones de Trabajo.
Catalogación.
Participantes
Responsable de Mantenimiento.
Equipo de Mantenimiento.
10
o Si se trata de un mantenimiento correctivo, se debe reproducir el problema.
Una vez examinada la petición comienza su estudio, que será diferente en función del tipo de
mantenimiento establecido:
A partir del catálogo de peticiones, y para cada una de ellas, se estima su alcance valorando la
prioridad inicialmente asignada, de acuerdo a los requisitos planteados. A continuación, se
analiza la relación entre peticiones. Se decide cuáles pueden abordarse de forma conjunta
asignando, si procede, una prioridad global a los grupos identificados y determinando en qué
secuencia deben implementarse los cambios.
11
Asimismo, es necesario concretar los requisitos solicitados para cada petición y analizar con
más detalle los sistemas de información implicados, valorando las características de
mantenimiento de los mismos y la cantidad de cambios sufridos desde su puesta en
producción.
También se debe comprobar la existencia de otras peticiones en curso que afecten a los
mismos sistemas de información, evaluando la repercusión que puede tener la realización de
la petición de mantenimiento sobre estos cambios o desarrollos y analizar su convivencia.
Además, se analiza el impacto que la modificación puede provocar en el entorno tecnológico y
en los niveles de servicio inicialmente acordados para cada uno de los sistemas de
información, valorando hasta qué punto pueden verse comprometidos.
En cualquiera de las situaciones anteriores, se hace una estimación preliminar del esfuerzo
requerido mediante los indicadores establecidos en el acuerdo de nivel de servicio para cada
sistema de información, según la tecnología aplicada, naturaleza y tamaño del sistema de
información y los tipos de lenguajes utilizados, bases de datos, etc.
12
Por último, si se considera necesario, hay que proponer alternativas de solución para dar
respuesta de forma satisfactoria a los requisitos planteados o problemas detectados,
determinando una fecha límite de implantación y un coste aproximado en función de la
estimación realizada anteriormente. Se elige, junto con el usuario, la solución más adecuada, y
se obtiene la aprobación o rechazo de la petición. En caso de rechazo, la petición se da por
cerrada en el catálogo.
Descripción
Los responsables de mantenimiento recogen las peticiones de los usuarios, siendo estas
peticiones fuente de problemas o de posibles mejoras en el sistema de información.
En esta tarea se lleva a cabo la creación de un catálogo donde se realiza una descripción
detallada de todas las peticiones realizadas por el usuario. Este catálogo será la base para el
posterior análisis de la petición, así como de las modificaciones que se lleven a cabo sobre el
sistema de información.
Productos de Entrada
Productos de Salida
Catálogo de peticiones
Técnicas y Prácticas
Catalogación.
Participantes
Responsable de mantenimiento.
13
Asignación de la Petición (MSI 1.2)
Descripción
En esta tarea se decide si se acepta, o no, la petición de mantenimiento, para ello se lleva un
estudio sobre las peticiones anotadas en el catalogo de peticiones. En este estudio se
determinará el tipo de mantenimiento requerido por la petición, así como comprobar si el tipo
de mantenimiento necesario ha sido definido en el Plan de mantenimiento y un estudio de
todos los sistemas de información que se verían afectados por la petición.
En caso de que la petición haya sido aceptada, se determinará quién será el encargado de
atender la solicitud para estudios posteriores.
Productos de Entrada
Productos de Salida
Catálogo de peticiones
Aceptación/Rechazo de la petición.
Asignación de Responsable.
Técnicas y Prácticas
Catalogación.
Participantes
Responsable de mantenimiento.
Descripción
En esta tarea se lleva a cabo la verificación de la petición, para ello según el tipo de
mantenimiento a realizar se realizará, o bien una reproducción del problema en caso de un
mantenimiento correctivo, o una comprobación de lo razonable y factible que puede llegar a
ser el cambio a realizar en el mantenimiento evolutivo.
14
Una vez realizada la verificación se procede a realizar el estudio de la petición. En este punto si
se lleva a cabo un mantenimiento correctivo se llevará a cabo un estudio sobre el nivel crítico
de la petición y tomar las medidas oportunas en virtud del mismo. En caso de tratarse de un
mantenimiento evolutivo, se realizará un estudio para comprobar el alcance que la
modificación, determinando si se trata de una modificación de un sistema ya creado o una
nueva funcionalidad que se desea añadir al sistema.
Productos de Entrada
Productos de Salida
Catálogo de peticiones:
Verificación de la petición.
Resultado del estudio de la petición.
Técnicas y prácticas
Sesiones de trabajo.
Catalogación.
Participantes
Equipo de mantenimiento.
Descripción
En esta tarea se lleva a cabo una estimación de la prioridad de cada una de las peticiones
teniendo en cuenta los requisitos planteados, se realiza un análisis de los mismos y se
comprueba si algunos de ellos se pueden agrupar para abordarlos de forma conjunta,
asignándoles una prioridad y el orden de implantación de los mismos.
En esta tarea también se lleva a cabo una validación de las características del mantenimiento ,
la concreción de los requisitos solicitados por la petición y la comprobación de la existencia de
otras peticiones que afecten a los mismos sistemas que la petición que se encuentra en
estudio, una valoración de los sistemas que se podrían ver comprometidos por la modificación
15
, una estimación preliminar de los esfuerzos que se llevarían a cabo para la labor de
mantenimiento y la propuesta de soluciones alternativas que cumplan con los requisitos
solicitados por la petición.
Productos de Entrada
Productos de Salida
Propuesta de Solución.
Catálogo de Peticiones:
Estudio de impacto.
Aceptación / Rechazo de la petición.
Técnicas y prácticas
Sesiones de trabajo.
Catalogación.
Participantes
Responsable de Mantenimiento.
Equipo de Mantenimiento.
Descripción
En esta tarea se llevará a cabo un análisis detallado de la petición, para de esta forma conocer
el alcance y el número de sistemas afectados por la misma. Gracias a este paso se puede
realizar una planificación y secuencia de los pasos a llevar a cabo para el desarrollo de los
cambios.
Una vez realizado el análisis se tendrán reflejados los elementos implicados en la modificación
y una asociación entre los elementos de la petición así como referencias cruzadas de los
mismos.
16
Uno de los motivos de reflejar las referencias cruzadas de los elementos implicados es facilitar
la labor de la tarea de Especificación del Plan de Pruebas de Regresión, indicando de esta
forma todas las referencias que tiene la modificación a realizar con diferentes módulos del
sistema y que pueden dar lugar a efectos no deseados en estos.
Productos de Entrada
Productos de Salida
Catálogo de peticiones:
Elementos Afectados.
Análisis de Impacto de los Cambios.
Técnicas y Prácticas
Catalogación.
Análisis de Impacto.
Participantes
Equipo de Mantenimiento.
Jefe de Proyecto.
Descripción
En esta tarea se lleva a cabo la identificación de las actividades y tareas a realizar en el modelo
de procesos de la aplicación, es decir: Estudio de Viabilidad, Análisis del Sistema de
Información, Diseño del Sistema de Información, Construcción del Sistema de Información e
Implantación y Aceptación del Sistema de Información, así como la complejidad y el alcance de
los cambios.
Una vez delimitado el plan de acción se establecerá un Plan de Trabajo determinando los
plazos, costes, equipo de trabajo, esfuerzo, etc..., requeridos para el plan de trabajo.
Finalmente se realizan unos puntos de control para llevar un seguimiento del plan de trabajo.
17
Productos de Entrada
Productos de Salida
Catálogo de peticiones.
Actividades y tareas de los procesos de Desarrollo a Realizar.
Técnicas y Prácticas
Planificación.
Catalogación.
Participantes
Responsable de Mantenimiento.
Equipo de Mantenimiento.
Jefe de Proyecto.
Descripción
En esta tarea se intenta evitar que modificaciones en una parte del sistema tengan efectos
contraproducentes (comportamientos no deseados o errores adicionales) en otras partes del
sistema que no han sido modificadas, asegurando de esta forma que la nueva versión satisface
todas las necesidades planteadas.
Productos de Entrada
18
Productos de Salida
Participantes
Equipo de Mantenimiento.
Jefe de Proyecto.
Descripción
En esta tarea se realiza un seguimiento del plan de acción creado en la tarea "Establecimiento
del plan de Acción", siguiendo los puntos de control creados en dicha tarea. A su vez, se
realiza un seguimiento de cada una de las actividades involucradas en el modelo de procesos
identificadas anteriormente en la actividad de "Preparación de la Implementación de la
Modificación".
Otro paso en la realización de la tarea es el control de la planificación establecida, realizando:
Una traza de los cambios realizados, validación de los cambios realizados así como la
realización de test unitarios de integridad y de sistema, comprobar que solo se ha modificado
lo establecido, etc.
Productos de Entrada
Productos de Salida
Participantes
Equipo de Mantenimiento.
Responsable de Mantenimiento.
Jefe de Proyecto.
19
Realización de las pruebas de Regresión (MSI 4.2)
Descripción
En esta tarea se realizan pruebas de regresión para asegurar que los cambios realizados en el
mantenimiento no han afectado el funcionamiento de otras partes del sistema. En caso de que
hubiesen afectado a otras partes del sistema se recogerán las incidencias y se tomarán las
medidas oportunas, en caso contrario se genera un informe con los resultados globales y la
aceptación de las pruebas.
Productos de Entrada
Productos de Salida
Técnicas y Prácticas
Pruebas de Regresión.
Participantes
Responsable de Mantenimiento.
Equipo de Mantenimiento.
Jefe de Proyecto.
Descripción
20
Productos de Entrada
Productos de Salida
Catálogo de Peticiones.
Técnicas y Prácticas
Catalogación.
Participantes
Responsable de Mantenimiento.
21
3. Aportaciones Personales
Tipos de Mantenimiento
No existe un único tipo de mantenimiento. Según las necesidades extraídas en el proceso de
mantenimiento será necesario realizar un tipo de mantenimiento u otro diferente, siendo cada
uno independiente del resto. Por ejemplo, si existe un problema con una funcionalidad de la
aplicación, será necesario realizar un Mantenimiento Correctivo, y si se desea añadir una
nueva funcionalidad, se realizará un Mantenimiento Evolutivo.
Factores de Mantenimiento
Este subapartado se define justo a continuación de “Costes de Mantenimiento”, la razón para
ello es que estos son uno de los causantes de los costes de mantenimiento directos definidos
anteriormente. Se ha realizado una enumeración y definición de los tres factores más
importantes que influyen en el mantenimiento, los cuales han sido seleccionados por los
siguientes motivos:
22
Código Heredado: La mayoría del código que se utiliza hoy en día tiene una gran
antigüedad y no fue pensado para perdurar. Este software fue pensado para realizar
una acción concreta y pensado para ocupar poco espacio, no para ser mantenido
(además de ser poco eficiente tanto en rendimiento como en diseño), lo cual dificulta
enormemente el mantenimiento del mismo. El mantenimiento del código heredado se
podría disminuir, y además aumentar la calidad del código, aplicando Reingeniería
sobre el mismo.
Evolución del Software: Este factor también viene implícito en el código heredado. El
código se va modificando a lo largo del tiempo y por lo tanto va sufriendo cambios.
Estos cambios con el paso del tiempo van a ocasionar que disminuya la eficiencia y se
deteriore el software. A su vez, es muy normal realizar modificaciones únicamente en
el código sin plasmar estos cambios en la documentación, lo que en un futuro dificulta
el mantenimiento del mismo.
Ausencia de Herramientas: Este es un factor dependiente del equipo encargado del
mantenimiento, pues, pese a existir herramientas para el mantenimiento del software,
normalmente estas no son utilizadas para la realización del mismo, realizándose todo
el proceso de una manera primitiva ad-hoc, por lo que el proceso de mantenimiento
se complica y no se obtienen los resultados esperados.
Reingeniería
Dado que la reingeniería se puede considerar un tipo especial de mantenimiento se ha
realizado un apartado específico para enumerar y definir todas las características principales
de la misma. Así, se ha realizado una definición de cada una de las tareas que se realiza en el
proceso de reingeniería: Análisis de inventario, Reestructuración de documentos, Ingeniería
inversa e Ingeniería directa.
A su vez se han definido varías características que pese no ser propias de la reingeniería en sí,
si son importantes e intervienen en la misma, como son por ejemplo las Herramientas CASE,
gracias a las cuales se facilita la reingeniería. Migración, pues al realizar la reingeniería se
disminuye la complejidad para poder realizar la migración de una aplicación software a otro
entorno (software o hardware). Esperanza de vida, la reingeniería al realizar modificaciones
tanto en el código como en la documentación puede aumentar la esperanza de vida de la
aplicación software. Prototipo Software, la reingeniería se basa en el producto anterior para
realizar un producto nuevo, por lo tanto se basa en un prototipo totalmente funcional y
operativo.
23
Ingeniería Inversa
Por último se ha dejado la definición tanto de Ingeniería Inversa como de sus propiedades, se
ha dejado para último lugar pues es necesario conocer las definiciones anteriores para
comprender lo que es la ingeniería inversa. Dentro de las características de la misma se ha
definido Extracción de Abstracciones, esta es sin duda la más importante de las tareas de la
Ingeniería Inversa pues mediante esta tarea es posible extraer una documentación y unas
interfaces del código que nos permitirán o bien disminuir los costes de mantenimiento, al
tener una documentación bien definida, o el crear una nueva aplicación (mediante ingeniería
directa), basada en la anterior, gracias a las interfaces extraídas.
Como paso previo, entre otros, se ha realizado un Estudio de Viabilidad del Sistema (Proceso
EVS de métrica v3). Con el EVS se pretende proporcionar un marco de trabajo estratégico que
sirva de referencia para el Sistema de Información proponiendo una solución a corto plazo que
tenga en cuenta todas las restricciones pertinentes. Una vez realizado el Estudio de Viabilidad
del Sistema se ha decidido realizar un desarrollo a medida pues se ha supuesto que no existen
en el mercado productos que se puedan reutilizar en el proyecto y no existe ningún proyecto
anterior sobre el cual reutilizar componentes. Por lo tanto, se realiza un desarrollo a medida
no utilizándose un desarrollo basado en componentes.
24
mantenimiento del Sistema y Establecimiento del acuerdo de nivel de Servicio
pertenecientes al proceso de Implantación y Aceptación del Sistema. Con la actividad
Preparación del Mantenimiento del Sistema se pretende que el equipo de mantenimiento se
encuentre familiarizado con el sistema antes de que este pase a producción y por lo tanto,
cuando se necesite realizar una tarea de mantenimiento este se pueda realizar con una mayor
facilidad y eficiencia. Con la actividad Establecimiento del acuerdo de nivel de Servicio se
pretenden determinar los servicios que se van a establecer así como definir el nivel del mismo
y los compromisos de entrega del sistema. Gracias a esta actividad se pueden tener
determinados, establecidos y definidos los ámbitos en los cuales el mantenimiento va a ser
requerido.
Para la realización del Mantenimiento de Sistemas de Información se han tenido en cuenta las
cuatro actividades que se contemplan en métrica v3, que concuerdan con los procesos de
mantenimiento definidos en el desarrollo conceptual, aunque variando en nombre. Así pues, la
actividad “Registro de Petición” de métrica se corresponde con “Gestión de Peticiones”, del
mismo modo, “Análisis de Petición” se corresponde con “Comprensión del software y de los
cambios que se deben realizar sobre el mismo”, “Preparación de la implementación de la
modificación” con “Modificación del software” y “Seguimiento y evaluación de los cambios
hasta aceptación” con “Realización de pruebas”.
Uno de los puntos más importantes desde una perspectiva propia es la tarea “Establecimiento
del Plan de Acción” perteneciente a la actividad “Preparación de la Implementación de la
Modificación”. Esto es debido a que en esta tarea se lleva a cabo la identificación de todas las
actividades y tareas pertenecientes a los procesos realizados, dependiendo del alcance,
complejidad y propiedades del mantenimiento, así como del plan de mantenimiento. Gracias
a esta tarea es posible establecer un plan de trabajo determinando todas las características y
factores (costes, plazos de implementación, nivel de esfuerzo,…) que hagan que el
mantenimiento de sistemas de información finalice satisfactoriamente.
25
También se ha añadido al desarrollo metodológico la tarea “Especificación del Plan de
Regresión” perteneciente a la actividad “Preparación de la Implementación de la
Modificación”, y por ende la tarea “Realización de las Pruebas de Regresión” perteneciente a la
actividad “Seguimiento y Evaluación de los cambios hasta la Aceptación”. Estas dos tareas son
quizás de las más importantes del proceso de mantenimiento de sistemas de información
(aparte del “Establecimiento del Plan de Acción”), pues con estas tareas se pretende impedir
que cambios realizados en el mantenimiento afecten a otras partes, implicadas o no en el
mismo, produciendo nuevos errores y anomalías no deseadas. Para ello se especifican casos de
prueba en función de las relaciones existentes en los componentes afectados por la
modificación y se realizan las pruebas con el fin de asegurar que no se ha comprometido el
funcionamiento normal del sistema de información.
26
4. Bibliografía
[PAL09]Apuntes de la Universidad de Las Palmas de Gran Canarias de la Asignatura, Prueba
y Mantenimiento del Software.
o http://serdis.dis.ulpgc.es/~a013775/asignaturas/it-pms/Apuntes/6_Mantenimiento%20del%20software.pdf
o http://serdis.dis.ulpgc.es/~a013775/asignaturas/it-pms/Apuntes/7_Mantenimiento.%20M%e9trica%20v3.pdf
27
5. Presentación
28