You are on page 1of 10

1

CAPITULO 6
MANTENIMIENTO DE SOFTWARE

INTRODUCCION
El proceso de desarrollo de software debe satisfacer los requerimientos planteados, una vez en
operacin el proceso de cubrimiento de defectos, operacin y cambio de ambiente debe darse en
esta etapa, la fase de mantenimiento empieza con un periodo de garanta y de soporte postimplementacin pero el mantenimiento del software ocurre mucho antes.
Aunque la etapa de mantenimiento del software no ha tenido el grado de atencin que se debe este
tipo de desarrollo de software ya esta empezando a cambiar ya que muchos errores graves han
ocurrido por no prestarle la atencin que se merece.
El mantenimiento de software se ha definido como el nmero total de actividades requeridas para
proveer soporte efectivo al software, esto incluye un planeamiento efectivo antes. Durante y despus
de la implementacin del software.
1. Aspectos Fundamentales en el mantenimiento del software:
Aqu se introduce a los aspectos fundamentales del mantenimiento del software:
1.1 Definiciones y terminologa:
Est definido en el estndar de la IEEE 1219 como la modificacin del producto de software
despus de la entrega para corregir las faltas, tambin se encarga de direccionar las actividades
de mantenimiento para darle prioridad a la entrega del producto.
El estndar IEEE/EIA 12207 define el mantenimiento como uno de los procesos principales en el
ciclo de vida del software, el objetivo es modificar el software existente preservando su
integridad tambin lo hacen en estos mismos trminos la ISO/IEC 14764 este enfatiza en las
entregas previas para la planeacin del mantenimiento del software.
1.2 Naturaleza del mantenimiento:
El mantenimiento de software debe estar dentro del ciclo de vida operacional, un mantenimiento
esta definido por la IEEE/EIA 12207 como las actividades de mantenimiento que permiten el
desempeo correcto.

Identifica las actividades de mantenimiento como un proceso de implementacin y modificacin


y anlisis del problema, estas actividades son discutidas en el tpico 3.2 Actividades de
Mantenimiento.

Figura 1. Tpicos a tener en cuenta en el mantenimiento del software


1.3 Necesidad de mantenimiento:
La necesidad de mantenimiento se da para garantizar que el software cumple satisfactoriamente
con los requerimientos solicitados, este se aplica a cualquier desarrollo independiente del
modelo de ciclo de vida utilizado, el mantenimiento se da en orden de alcanzar el desempeo
adecuado y en el orden de:
Corregir fallas.
Improvisar el diseo.
Implementar correcciones.
Interfaces con otros sistemas.

Adaptar programas a diferentes tipos de hardware, software, configuracin del sistema y


facilidad de uso de telecomunicaciones.
Migracin legal de software.
Retiro de software.
1.4 Costos Mayoritarios de mantenimiento:
Los costos de mantenimiento de software son los mas costosos en todo el ciclo de vida del
software, estudios recientes han demostrado que ms del 80% del mantenimiento de software
es usado para acciones correctivas hay que entender la categora del mantenimiento del
software para entender la estructura del costo de mantenimiento, entendiendo los factores que
influyen en el costo se puede ayudar a contener dichos costos, a continuacin se presentan
algunos aspectos tcnicos y no tcnicos que afectan los costos de mantenimiento:
Tipo de Aplicacin.
Disponibilidad del mantenimiento de software.
Ciclo de vida del software.
Caractersticas de hardware.
Calidad del diseo de software, construccin, documentacin y pruebas.
1.5 Evolucin del software:
En 1969 Lehman direcciono el mantenimiento del software y la evolucin de los sistemas,
durante 20 aos se mantuvo su idea de la formulacin de ocho Leyes de la evolucin donde
se mantuvo la idea de la evolucin en el mantenimiento del software para continuar con el
desarrollo.
Lientz y Swanson inicializaron la definicin de tres categoras de mantenimiento: correctivo,
adaptativo y perfectivo.

2. Factores claves en el mantenimiento del software:

Un numero de factores claves debemos tener presentes para asegurar el mantenimiento


efectivo del software, es importante comprender que el mantenimiento de software nos
proporciona una tcnica nica en los desafos de administracin para los ingenieros de
software, podemos apreciar como se planean las liberaciones posteriores as como los parches
generados para las versiones anteriores, lo que sigue a continuacin nos presenta una manera
de cmo se nos presentan algunos factores de administracin y tcnicos para el mantenimiento
de software, estos se agrupan segn los tpicos siguientes:

Factores tcnicos.
Factores administrativos.
Estimacin de costos.
Medidas.

3. Proceso de mantenimiento:
Provee referencias y estndares utilizados para implementar el proceso de mantenimiento
de software.
Las actividades de mantenimiento son diferenciadas por el desarrollo mostrado en la
relacin a las actividades de ingeniera de otro software.

Figura 2. Actividades en el proceso del mantenimiento

En la figura planteada por la ISO/IEC se puede apreciar que es muy parecida a la anterior
que es IEEE pero en esta se agrega una pequea diferencia:
Cada actividad de mantenimiento primario de software ISO/IEC 14764 es desglosada en
los siguientes trminos:
Proceso de implementacin.

Anlisis del problema y modificaciones.


Implementacin y modificacin.
Mantenimiento Aceptacin/Revisin.
Migracin.
Retiro de Software.

Tcnicas para el mantenimiento:

Esta subrea nos introduce a algunas generalidades aceptadas por las tcnicas del
mantenimiento de software:
3.1 Comprensin del programa
Los programadores gastan tiempo considerable leyendo y entendiendo programas para
poder implementar cambios existen distintas herramientas que nos ayudan con este
proceso.
3.2 Reingeniera
Esta definida como el examen de de la alteracin del software para reconstituir una nueva
forma, la reingeniera es la mas radical y expansiva forma de la alteracin otros creen que
la reingeniera puede ser usada para cambios menores, siempre est enfocada en
mantener la legalidad del software asi como sus tcnicas, casos de estudio y sus riesgos y
beneficios.
3.3 Ingeniera inversa
Es el proceso de analizar el software para identificar los componentes y sus relaciones para
crear representaciones del software dicho de otra forma desde un nivel mas alto de
abstraccin, es pasiva, y no hace cambios al software o resulta en otro software. Produce
grficas asi como control de flujo y del cdigo fuente, un tipo de reingeniera puede ser la
redocumentacin, otro tipo es la reparacin del diseo.
Finalmente la reingeniera ha sido de gran importancia en los ltimos aos ya que gracias a
sus esquemas lgicos a podido restaurar bases de datos fsicas.
CAPITULO 7
ADMINISTRACION DE LA CONFIGURACION DEL SOFTWARE
Un sistema puede ser definido como un conjunto de componentes organizados con el propsito de
cumplir una funcin o conjunto de funciones especficas.

En este sentido la configuracin de un software y sus caractersticas funcionales de hardware,


software, firmware o la combinacin de estas son un conjunto de caractersticas tcnicas que se
deben cumplir para garantizar su correcto funcionamiento.
La administracin de configuracin es la disciplina encargada de identificar la configuracin general
de un sistema para as mantener su confiabilidad, adaptabilidad y configuracin a los diferentes
ciclos de vida. Est formalmente definida por la IEEE610.12-90 como Disciplina aplicada de manera
tcnica y administrativa para la direccin y supervivencia para: Identificar y documentar las
caractersticas fsicas y funcionales de la configuracin de los elementos, control en el cambio de
sus caractersticas grabar y reportar cambios en el proceso de implementacin as como su estado
y verificacin del cumplimiento de sus requerimientos especficos.

1. Administracin de los procesos SCM


La SCM administra y controla la evolucin e integridad del software as como su verificacin,
control, reportes y configuracin de la informacin. Una implementacin exitosa del SCM
requiere un cuidado especial y planeacin y administracin.
1.1 Contexto Organizacional del SCM
Para desarrollar un plan SCM es necesario conocer detalladamente los procesos de la
organizacin ya que el SCM interacta directamente con todos los elementos y actividades
organizacionales.

1.2 Constantes y gua para el proceso SCM


Esto proviene de un gran numero de fuentes tiene que ver con las polticas de la
organizacin y su influencia en la administracin de los procesos.
1.3 Planeacin del SCM
El proceso de planeacin debe ser consistente con el contexto organizacional, y la
naturaleza del proyecto (por ejemplo el tamao y su crtica) las actividades ms importantes
en este contexto son: control de configuracin, control de estado, control de auditora,
control de liberaciones y entregas as como las herramientas de configuracin y control y
sus interfaces consideradas.
1.4 Plan de la SCM
Los resultados de planeacin del proyecto son guardados en un plan de gestin y
configuracin del software, el documento se mantiene y se actualiza o aprueba segn sea
necesario a lo largo del ciclo de vida del software.
Tambin es muy til hacer mediciones constantes a los procesos para hacer los cambios y/o
actualizaciones correspondientes.
1.5 Seguimiento de la gestin de la configuracin del software
Despus del cumplimiento del proceso de la SCM puede ser necesario un cierto nivel de
seguimiento para asegurarse que los procesos SCM se llevan a cabo adecuadamente, este
seguimiento puede hacer parte de un proceso de auditora para garantizar la calidad del
software.
El uso de herramientas integradas en la SCM facilita el proceso de seguimiento.
1.5.1

Medidas y mediciones de la SCM


Proporcionan un buen medio para monitorizar la efectividad de las actividades SCM de
una manera continuada, son tiles para caracterizar el estado actual del proceso y para
proporcionar una base para hacer comparaciones con el tiempo.
Las bibliotecas de software y las diferentes herramientas proporcionan fuentes para
extraer la informacin acerca de las caractersticas de los procesos SCM.

2. Identificacin de la configuracin del software


Identifica los elementos a ser controlados, establece e identifica esquemas y sus versiones,
establece herramientas y tcnicas utilizadas para administrar y controlar dichos elementos.

2.1 Identificar elementos a ser controlados


Un primer paso sera identificar cambios en los elementos de software que sern
controlados para entender la configuracin del software en el contexto del sistema.
2.2 Biblioteca de software
Coleccin controlada de software as como de sus documentos relacionados y est
relacionada para ayudar en el desarrollo de software, ah diferentes tipos y nos pueden
ayudar en diferentes etapas, son tambin una fuente importante de informacin para
mediciones del trabajo realizado y del progreso.

3. Control de la configuracin del software


Le concierne la gestin de cambios durante el ciclo de vida, cubre los procesos que
determinan los cambios a realizar, la autoridad para hacerlos y el soporte para la
implementacin de dichos cambios.
La informacin derivada de estas actividades es til para medir el trfico de cambios y
ruptura de aspectos por rehacer.
3.1 Peticin, evaluacin y aprobacin de cambios del software
El primer paso es determinar los cambios a realizar, se evala el coste e impacto del cambio
propuesto se acepta o rechaza dicho cambio, este se origina en cualquier momento del ciclo
de vida y puede incluir una solucin propuesta y una prioridad.
3.2 Implementando cambios en el software
Se implementan utilizando los procesos de software definidos de acuerdo con los
requerimientos de planificacin aplicables.
Podran sufrir auditoras de configuracin y verificacin de la calidad del software. Esta
soportada por las herramientas de la biblioteca que proporcionan gestin de versiones y
soporte para el almacenamiento de cdigo.
3.3 Desviaciones y Remisiones
Las limitaciones que se imponen al esfuerzo de la ingeniera del software podran contener
necesidades que no pueden ser satisfechas en el punto designado del ciclo de vida. Una
remisin es una autorizacin para abandonar una necesidad antes del desarrollo del
elemento.

4. Registro del estado de la configuracin del Software


La contabilidad del estado de la configuracin del software (SCSA) es la actividad de
registrar y proporcionar la informacin necesaria para una gestin efectiva de la
configuracin del software.
4.1 Informacin del estado de la configuracin del software
Genera un conjunto de informes durante el ciclo de vida, se encarga de recoger y mantener
la informacin del estado de la configuracin que se ha de gestionar segn las
configuraciones evolucionan.
Es necesario algn tipo de soporte de herramientas automticas para llevar a cabo las
tareas de recogida de datos y generacin de informes de la SCSA.
4.2 Reportes del estado de la configuracin del software
Los reportes pueden ser usados para los elementos del proyecto de la organizacin,
incluyendo el equipo de desarrollo, administracin de proyectos y actividades de calidad del
software.
Tambin sirve para responder algunas preguntas especficas de la etapa de produccin.
5. Auditora de la configuracin de software
Es una actividad desarrollada independientemente para evaluar la conformidad de los
productos de software, se encarga de aplicar regulaciones, estndares, planes de gua y
procedimientos.
Deben ser cuidadosamente planeadas, existen herramientas que apoyan la planeacin y
conduccin de las auditoras para facilitar su proceso.
Determina la extensibilidad de los elementos y sus caractersticas fsicas, los informes
pueden ser orientados como puntos clave en el ciclo de vida, las auditorias pueden ser un
requisito para las lneas base.
5.1 Auditoria funcional de la configuracin del software
El propsito es asegurar la consistencia en los elementos de software auditados. La salida
de la verificacin y validacin del software es la clave de entrada de este tipo de auditora.
5.2 Auditora de la configuracin fsica del software
El propsito es asegurar que el diseo y la documentacin de referencia es consistente con
la construccin del producto de software.
5.3 Auditora durante el proceso de una lnea base de software
Como lo mencionado puede ser llevado durante el proceso de desarrollo para investigar el
estado actual de los elementos especficos de la configuracin. La auditora es aplicada a

10

los elementos de la lnea base para asegurar el desempeo que sea consistente con las
especificaciones.

6. Administracin de las entregas y liberaciones de software


El trmino liberacin es usado en este contexto para referirnos a las distribuciones de
software y los elementos en las actividades de desarrollo. Eso incluye liberaciones internas y
correcciones a las variantes de estos elementos.
La informacin y documentacin entregada en las liberaciones es conocida como el
documento descriptivo, este incluye los contenidos de instalacin y instrucciones de
actualizacin.

You might also like