You are on page 1of 49

MANTENIMIENTO DEL

SOFTWARE

Presentado por:
Elizabeth Castro Figueroa.
eli_cas_f@yahoo.es

Objetivos

Contenido
Temtico

Mtodos
Formas

Objetivo de la Unidad Temtica.


El estudiante debe ser capaz de formular y
desarrollar una estrategia de Mantenimiento de
Software, tomando en cuenta las distintas
actividades.

Objetivos

Contenido
Temtico

Mtodos
Formas

Objetivo de la clase.
El estudiante debe ser capaz de:
-Identificar y caracterizar las actividades que se deben
llevar a cabo durante la fase de mantenimiento.
-Identificar los tipos de herramientas que pueden ser
considerados para el mantenimiento del software.

Objetivos

Contenido
Temtico

TEMA N3:
MANTENIMEINTO DEL SOFTWARE.

3.1 Conceptos bsicos


3.2 Gestin de mantenimiento
3.3 Documentacin
3.4 Etapas bsicas
3.4. Mtricas de mantenimiento
3.5. Uso de Herramientas CASE

Mtodos
Formas

Objetivos

Contenido
Temtico

Mtodos
Formas

El mtodo a emplear en la presente clase es la


conferencia participativa.

Introduccin

Por qu se requiere
de mantenimiento y
se desperdicia tanto
esfuerzo?

Introduccin

Una gran cantidad de


software del que
dependemos
actualmente tiene una
media de 10 a15 aos.

Introduccin
Considerando
que
esos programas han
sido creados con las
mejores tcnicas de
diseo, y codificacin
existente
en
su
momento.

Introduccin
Actualmente
el
cambio es inevitable
en la construccin de
sistemas basados en
computadora; por ello
debemos desarrollar
mecanismos
de
evaluacin , control e
implementacin
de
modificaciones.

Conceptos bsicos.
Definicin de Mantenimiento de software.

Modificacin de un producto de
software despus de haber sido
entregado [a los usuarios o clientes]
con el fin de corregir los defectos,
mejorar el rendimiento u otros
atributos, y/o adaptarlo a un cambio
de entorno. IEEE 1219:

Conceptos bsicos.
Ubicacin dentro del Proceso de ingeniera de
Software.
Definici
n de
requisito
s

Diseo
Codificaci
ny
pruebas
unitarias

Integraci
ny
pruebas

Mantenimien
to

Conceptos bsicos.
Actividades que contribuyen a la definicin de
mantenimiento de Software.
-Mantenimiento correctivo: Son los cambios
precisos para corregir errores del software ya que
NO es razonable asumir que las pruebas han cubierto
todos los errores.
-Mantenimiento adaptativo: Modificaciones para
adaptar el software a los entornos en los que el
sistema opera, se produce por el rpido cambio
relacionado a cualquier aspecto de la Informtica.

Conceptos bsicos.
Actividades que contribuyen a la definicin de
mantenimiento de Software.
-Mantenimiento perfectivo: Mejorar o aadir
nuevas funcionalidades debido a un cambio en los
requisitos, se produce cuando el software tiene xito
y se reciben recomendaciones de los usuarios sobre
nuevas posibilidades.
-Ingeniera inversa y reingeniera: Mejora la
calidad del software sin modificar los requisitos
fundamentales.

Conceptos bsicos.
Relacin
entre
las
Actividades
que
contribuyen a la definicin de mantenimiento
de Software.

Conceptos bsicos.
Caractersticas del Mantenimiento de software.
Se realiza la consideracin desde tres puntos de
vista:
a)Las actividades requeridas
para cubrir la fase de
mantenimiento.
b) Los costos asociados a la fase
de mantenimiento.
c) Los problemas que se
encuentran frecuentemente en la
fase de mantenimiento.

Gestin del mantenimiento


a) Actividades requeridas para cubrir la fase de
mantenimiento.

Si se dispone de una completa


configuracin del software.

Si slo se dispone de
cdigo fuente

Gestin del mantenimiento


a) Actividades requeridas para cubrir la fase de
mantenimiento.

Esta secuencia de sucesos constituye el mantenimiento estructurado.

Gestin del mantenimiento


b) Costos de mantenimiento.
Parte ms costosa del ciclo de vida.
El costo econmico de reparar un defecto
aumenta segn avanza el ciclo de vida.

Gestin del mantenimiento


b) Costos de mantenimiento (% de tiempo).

Gestin del mantenimiento


c) Problemas de mantenimiento.
-Es difcil seguir el proceso por el que fue construido
el software.
-Gran parte del software actual es antiguo y est
limitado por restricciones de tamao y espacio de
almacenamiento.
-Problemas por migraciones a nuevas plataformas.
-Programas menos estructurados por mltiples
cambios, de mejora o adaptacin.

Gestin del mantenimiento


c) Problemas de mantenimiento.
-Los sistemas de origen poseen una escasa calidad
debido a:
-Estructuras de datos con un diseo pobre.
-Mala codificacin.
-Lgica defectuosa.
-Documentacin escasa o errnea.
La mayora de los problemas se pueden atribuir a que
han sido desarrollado sin tener en cuenta la
Ingeniera de Software.

Gestin del mantenimiento


Facilidad de mantenimiento.

Se puede definir cualitativamente como:


La facilidad de comprender,
corregir, adaptar y/o mejorar el
software
Las anteriores caractersticas definidas
estn todas afectadas por la facilidad de
mantenimiento.

Gestin del mantenimiento


Facilidad de mantenimiento.

Factores de control:
-Disponibilidad de una plantilla de
software cualificada.
-Estructura del sistema comprensible.
-Facilidad de manejo del sistema.
-Uso de lenguajes de programacin
estandarizados.
-Estructura
de
la
documentacin
estandarizada.
-Disponibilidad de casos de prueba.

Gestin del mantenimiento


Facilidad de mantenimiento.

Gestin del mantenimiento


Medidas cuantitativas.
Gilb, proporciona un conjunto de mtricas de
facilidad del mantenimiento relacionadas con el
esfuerzo empleado durante el mantenimiento:

-Tiempo de reconocimiento del problema.


-Retraso administrativo.
-Tiempo de recoleccin de Herramientas.
-Tiempo de mantenimiento.
-Tiempo de anlisis del problema

Gestin del mantenimiento


Medidas cuantitativas.
.
-Tiempo de especificacin de los cambios.
-Tiempo activo de correccin o modificacin
-Tiempo de prueba local y global
-Tiempo de revisin del mantenimiento
-Tiempo total de recuperacin.

Gestin del mantenimiento


Revisiones.
Debido a que la facilidad de mantenimiento debe
ser una caracterstica esencial de cualquier
software, debemos asegurarnos que todos los
factores
sealados
anteriormente
sean
incorporados durante la fase de desarrollo.
Durante las revisiones de diseo se deben
evaluar, el diseo de datos, diseo arquitectnico
y el diseo procidemental.

Gestin del mantenimiento


Tareas de mantenimiento.
-Establecer una
organizacin de
mantenimiento.
-Prescribir
procedimientos para
establecer informes.
-Definir un flujo de
suceso para establecer
una secuencia
estandarizada de cada
peticin.

Gestin del mantenimiento


Tareas de mantenimiento.
-Establecer un sistema de
registro de informacin de
las actividades.
-Definir criterios de revisin
y de evaluacin de las
tareas de mantenimiento.

Gestin del mantenimiento


Tareas de mantenimiento.

Gestin del mantenimiento


Efectos secundarios del mantenimiento.
Cuando se usa en el contexto del
mantenimiento de software el trmino
Efectos Secundarios, implica un error u otro
comportamiento indeseable aparecido como
resultado en la modificacin.
-Efectos secundarios en el cdigo.
-Efectos secundarios sobre los datos.
-Efectos secundarios sobre la documentacin.

Gestin del mantenimiento


Ingeniera Inversa y Reingeniera.

Es Ingeniera Inversa es el proceso de


anlisis de un sistema en un esfuerzo
de crear una representacin del
programa de mayor nivel de
abstraccin del cdigo fuente, para
recuperar el diseo y/o poder
reconstruir el sistema existente.

Gestin del mantenimiento


Ingeniera Inversa y Reingeniera.

Es Reingeniera es la modificacin de un

producto
software
o
de
ciertos
componentes usando el anlisis del
sistema existente, tcnicas de Ingeniera
Inversa y para la etapa de reconstruccin,
herramientas de Ingeniera Directa, de tal
manera que se oriente este cambio hacia
mayores niveles de facilidad en cuanto a
mantenimiento, reutilizacin, comprensin
o evolucin.

Gestin del mantenimiento


Relacin entre la Ingeniera
Reingeniera e Ingeniera directa.

Inversa,

Gestin del mantenimiento


Etapas Bsicas Proceso de Mantenimiento.

Mtricas de mantenimiento

Mtricas de mantenimiento
Mtricas de mantenimiento.

Uso de Herramientas Case


-Test Complete: carga HTTP, stress, pruebas de
escalabilidad, pruebas de unidad
http://www.automatedqa.com
-Quick Test: tests funcionales, de regresin, de
aceptacin
http://www.mercury.com
-Generadores de referencias cruzadas: para
localizar fcilmente en qu partes de la aplicacin
se encuentra un determinado objeto o elemento
con el fin de analizar el impacto de un cambio o
identificar los mdulos afectados por un
determinado error.(Rational Requisite Pro).

Uso de Herramientas Case


- Evaluadores
del
modificaciones.

impacto

de

las

- Herramientas de gestin de configuracin:


an sin ser especficas del mantenimiento,
tambin facilitan dicha tarea. Ejemplo. Control
de Versiones (CVS, Subversion).

CONCLUSIONES
- El mantenimiento del software es
importante por que el cambio
tecnolgico es inevitable en los
sistemas de computadora.
- Para poder llevar a cabo un
mantenimiento efectivo es importante
establecer una estrategia que involucre
las actividades que se deben
desarrollar.

CONCLUSIONES
-Las ACTIVIDADES involucradas en
la gestin de mantenimiento son:
-

El mantenimiento correctivo.
El mantenimiento Adaptativo.
El mantenimiento Perfectivo.
Ingeniera inversa y reingeniera.

El mantenimiento del software puede ser


apoyado por herramientas Case.

TAREA EXTRACLASE
Seleccione uno de los componentes del
proyecto
que
se
encuentra
desarrollando.
Intercambie
su
componente con un compaero de
curso. No explique ni inspeccione el
programa.

TAREA EXTRACLASE
Utilice una Herramienta Case para
realizar la reingeniera de ese
componente y obtener el modelo de
clases.

Una vez obtenidos los modelos,


pueden compararlos para verificar si
existen variaciones.

Sugerencia..

REFERENCIAS
REFERENCIAS BIBLIOGRFICAS.
-Cardoso, R. (2001). Pruebas del Software.
Mrida, Venezuela.
-Craig Larman (2002). Applying UML and
Patterns 2nd Edition. Prentice Hall.
-Gonzales, J. (2002). Las normas de la
calidad del software. Addison-Wesley.
Iberoamericana. Espaa.
-Grady Booch, James Rumbaugh, Ivar
Jacobson. The Unified Modeling Language
User Guide. Addison-Wesley. 2000.

REFERENCIAS
REFERENCIAS BIBLIOGRFICAS.
-Ian Sommerville. Software Engineering,
Addison-Wesley, 2000. Captulos 8, 9 y 10.
-Kruchten, P. (2000). The Rational Unified
Process as Introduction. 2 nd Edition.
Addison Wesley.
-Larman, C. UML y Patrones, Segunda
Edicin, Pearson Educacin, 2002.
-Ortega, M. Prez, M. & Rojas, T. (2003).
Construction of a Sistemic Quality Model
for Evaluating a Software Product.

REFERENCIAS
REFERENCIAS BIBLIOGRFICAS.

-Pressman, R. (2002). Ingeniera del


Software: Un enfoque Prctico. 5
Edicin. McGraw Hill.
-Sommerville, I. (2002) Ingeniera de
Software, Sexta Edicin, Addison
Wesley, Mxico, 2002.

REFERENCIAS
WEBGRAFA.
http://www.presman5.com
http://www.mundoanuncio.com/anuncio/ingenieri
a_de_software_pressman_1113604094.html
http://adimen.si.ehu.es/~rigau/teaching/EHU/ISH
AS/Curs2007-2008/Apunts/IS.0.pdf
http://www.chilewarez.org/index.php?
showtopic=325325&mode=linear

You might also like