Está en la página 1de 26

Tema 13 Herramientas y

tcnicas de mantenimiento
y evolucin de software

Eloy Funcia Blanco Juan Jos Llad Vecino

Contenido
Introduccin
Tcnicas
Estndares
Conclusiones

Introduccin
La

premisa de la tarea finaliza cuando


instala y pone en funcionamiento el
software no puede ser ms errnea
Un producto software ha de ser supervisado
para su funcionamiento correcto durante un
tiempo despus de la entrega del mismo
Es posible que necesite ser modificado
Deteccin de errores
Nuevas exigencias y/o necesidades del usuario

del sistema

Tcnicas
Dentro

de la ingeniera del software


se proporcionan soluciones tcnicas
de manera que su impacto en coste
dentro del ciclo de vida sea menor.

Tcnicas (2)
Ingeniera

directa

Corresponde al desarrollo del software tradicional

Ingeniera

inversa

Anlisis para identificar componentes y relaciones entre

ellos, as como para crear representaciones del sistema en


otra forma o en un nivel de abstraccin ms elevado
Reingeniera
Examen y la alteracin de un sistema para reconstruirlo

de una nueva forma y la subsiguiente implementacin de


esta nueva forma
Reestructuracin
Modificacin del software para hacerlo ms fcil de

entender y cambiar

Tcnicas (3)

Tcnicas (4)
Objetivo
Proporcionar mtodos para reconstruir el

software, ya sea reprogramndolo,


redocumentndolo, redisendolo, o
rehaciendo alguna/s caracterstica/s del
producto.

Tcnicas (5)
Reingeniera
Modificacin de un producto software, o

de ciertos componentes
Anlisis del sistema
Ingeniera inversa

Reconstruccin
Ingeniera directa

Cambio orientado hacia mayores niveles de


facilidad en cuanto a mantenimiento,
reutilizacin, comprensin o evolucin.

Tcnicas (6)
Ingeniera

inversa

Proceso de construir especificaciones abstractas del

cdigo fuente de un sistema heredado, de manera


que estas especificaciones puedan ser utilizadas para
construir una nueva implementacin del sistema
hacia delante
Beneficios:
Reducir la complejidad del sistema.
Generar vistas alternativas.
Recuperar la informacin perdida (cambios que no se
documentaron en su momento).
Detectar efectos laterales.
Facilitar la reutilizacin.

Tcnicas (7)
Reestructuracin
Cambio de representacin de un

producto software, pero dentro del


mismo nivel de abstraccin
Tipos
Cdigo
Datos

Tcnicas (8)
Reestructuracin
Beneficios
Programas de mayor calidad con mejor documentacin
y menos complejidad, ajustados a las prcticas y
estndares de la ingeniera del software moderno.
Reduce el esfuerzo requerido para llevar a cabo las
actividades de mantenimiento.
Hace que el software sea ms sencillo de comprobar y
depurar.
La reestructuracin se produce cuando la arquitectura
bsica de la aplicacin es slida, aun cuando sus
interioridades tcnicas necesiten un retoque

Tcnicas (9)
Redocumentacin
Casos especiales
Si el sistema funciona y la redocumentacin
consume muchos recursos, tal vez mejor no
redocumentar.
Si es preciso actualizar la documentacin, pero
recursos limitados, puede ser til documentar
cuando se modifica. Con el tiempo, se formar
una coleccin de informacin interesante.
Si el sistema es fundamental para la
organizacin, redocumentar por completo

Tcnicas (10)
Otras

tcnicas

La remodularizacin: consiste en cambiar la

estructura modular de un sistema de forma que se


obtenga una nueva estructura siguiendo los principios
del diseo estructurado.
Anlisis de la facilidad de mantenimiento:
normalmente la mayor parte del mantenimiento se
centra relativamente en unos pocos mdulos del
sistema.
Visualizacin: el proceso ms antiguo para la
comprensin del software.
Anlisis y mediciones: son importantes tecnologas
que estudian ciertas propiedades de los programas.

Estndares de mantenimiento
y evolucin del software
Para

los procesos del ciclo de vida


del software: ISO 12207, IEEE 1074.
Para la calidad del software y sus
mtricas: ISO 9126, IEEE 1061.
Para el mantenimiento del software:
IEEE 1219.

Estndares de mantenimiento
y evolucin del software (2)
ISO

12207

Publicado en 1995
Se define el proceso de mantenimiento

como una parte esencial del ciclo de vida


del software.
Estructurado en:

Procesos principales
Procesos soporte
Procesos de organizacin
Proceso de adaptacin

Estndares de mantenimiento
y evolucin del software (3)
ISO

12207

Procesos principales
Adquisicin: Necesidad de comprar un
sistema.
Suministro: Consigo el producto (propuesta),
identifico lo que quiero y los recursos
necesarios.
Desarrollo: Tcnicas de Ingeniera de Software.
Explotacin: Utilizacin por parte de los
usuarios del sistema.
Mantenimiento.

Estndares de mantenimiento
y evolucin del software (4)
ISO

12207

Procesos soporte
Documentacin: Registran las actividades de planificacin, diseo,
desarrollo, produccin de todos los documentos necesarios para los
distintos actores del proyecto: director, ingeniero y usuario.
Gestin de la Configuracin: Forma de cmo va a funcionar lo
realizado. Identificar la configuracin, controlarla y el calendario de
entrega.
Aseguramiento de la calidad: aseguramiento de que se cumplen
los requisitos especificados y que se sigue el plan establecido.
Verificacin: Estar seguros de que se cumplen todos y cada uno de
los requisitos (diferente a asegurar la calidad).
Validacin: Comprobar que el producto sirve para el uso proyectado.
Revisin conjunta (demo): Un proyecto es cosa de tres: el que lo
define, el que lo desarrolla y el que lo usa.
Auditora: Control externo.

Estndares de mantenimiento
y evolucin del software (5)
ISO

12207

Procesos de organizacin:
Proceso de gestin: Analizar la tctica y
estrategia de la organizacin.
Infraestructura: Asegurar que todos los procesos
de produccin funcionen.
Mejora: Proceso por el cual toda organizacin
aprende del trabajo realizado (experiencia).
Formacin: Cursos.
Proceso de adaptacin:
Manera de instanciar los conocimientos en el
entorno concreto.

Estndares de mantenimiento
y evolucin del software (6)
ISO

1074

Publicado en 1995 como resultado de la

revisin de una norma de 1991


Se detalla el conjunto de actividades que
aparecen en el desarrollo y
mantenimiento del software
Dependiendo de los procesos sean de
gestin de proyectos, predesarrollo,
desarrollo, postdesarrollo o integrales.

Estndares de mantenimiento
y evolucin del software (7)
ISO/IEC

ESTNDAR 9126
Publicado en 1991
Se divide en dos estndares
separados:
El nuevo ISO/IEC 9126, llamado Software

Quality Characteristics and Metrics


ISO/IEC 14598, llamado Software Product
Evaluation

Estndares de mantenimiento
y evolucin del software (8)
ISO/IEC

ESTNDAR 9126

La mantenibilidad se define como la capacidad de un

producto software para ser modificado.


Se subdivide en 5 subcaractersticas:
Analizabilidad: Capacidad del producto software de diagnosticar
sus deficiencias o causas de fallos, o de identificar las partes que
deben ser modificadas.
Cambiabilidad: Capacidad del producto software de permitir
implementar una modificacin previamente especificada.
Estabilidad: Capacidad del producto software de minimizar los
efectos inesperados de las modificaciones.
Facilidad de prueba: Capacidad del producto software de
permitir evaluar las partes modificadas.
Conformidad: Capacidad del producto software de satisfacer los
estndares o convenciones relativas a la mantenibilidad.

Conclusiones
El

mantenimiento del Software se ha


ido incrementando a lo largo del
paso de los aos, comenzando con
mucha importancia el desarrollo del
mismo pero dejando de lado el
mantenimiento, y pasando a la
actualidad donde es tan importante
o ms el mantenimiento del software
que el desarrollo

Conclusiones (2)

Conclusiones (3)
Es

importante establecer mtodos


de mantenimiento y llevar una
planificacin del mismo, pero
tambin ha de ser flexible para ir
evolucionando el software en funcin
de las necesidades futuras.

Bibliografa
http://informatica.uv.es/iiguia/2000/I

PI/material/tema7.pdf
http://chitita.uta.cl/cursos/2010-2/0
001282/recursos/r-5.ppt
http://www.iiisci.org/journal/CV$/risc
i/pdfs/X581YP.pdf
http://brd.unid.edu.mx/recursos/Di
recci%C3%B3n%20estrat%C3%A9gica/D
06/Lecturas%20principales/2_La_rei

FIN

También podría gustarte