Mantencion

También podría gustarte

Está en la página 1de 14

Mantenimiento del Software

Ingeniera de Software
Integrantes Fatt Chong Humberto Pilco Victor Vega

Mantenimiento del software


Es la modificacin de un producto software despus de su entrega al cliente o usuario para corregir defectos, para mejorar el rendimiento u otras propiedades deseables, o para adaptarlo a un cambio de entorno . Es la parte ms costosa del ciclo de vida del sw.: 60-90% del coste total (y coste creciente).

Causas del alto costo


-Oportunidades de desarrollo que se han de posponer o que se pierden debido a los recursos dedicados a las tareas de mantenimiento. -Insatisfaccin del cliente cuando no se le satisface en un tiempo debido una solicitud de reparacin o modificacin. -Los cambios en el software durante el mantenimiento tambin introducen errores ocultos. -Perjuicios en otros proyectos de desarrollo cuando la plantilla tiene que dejarlos o posponerlos debido a una solicitud de mantenimiento.

Tipos de mantenimiento
Correctivo: localiza y corrige defectos en un programa tras su entrega (ej. IVA al 15%, agujeros de seguridad). Puede ser urgente o no urgente.
Adaptativo: Modificacin para adaptarse a un cambio en el entorno (ej. pantallas tctiles). Perfectivo: Modificacin para detectar y corregir fallos latentes antes de que se conviertan en carencias .Modificacin para modificar o aadir nuevas funcionalidades (Ej. firma digital en banca online). Preventivo: Modificacin para detectar y corregir fallos latentes antes de que se conviertan en fallos operacionales. Mejorar las propiedades del software .(Ej. decodificar para aplicar patrones de diseo).

Dificultades del mantenimiento


Aplicaciones antiguas heredadas:
-restricciones de tamao y espacio de almacenamiento -herramientas desfasadas, sin mtodos -una o varias migraciones a nuevas plataformas -mltiples modificaciones para adaptarlos o mejorarlos -desarrolladores no localizables
-Ausencia de mtodos (se realiza de forma ad hoc). -Cambio tras cambio, los programas tienden a ser menos estructurados. -Ausencia de documentacin. -No captura adecuada de requisitos mayores esfuerzos de mantenimiento futuros. -No existen registros de pruebas imposibilidad de pruebas de regresin. -Problemas de gestin (considerado trabajo poco creativo, asignado a las
personas con menos experiencia).

El proceso de mantenimiento en el ciclo de vida del sw.


Actividades:
Implementacin del proceso. Anlisis de problemas y modificaciones. Implementacin de las modificaciones. Revisin y aceptacin del mantenimiento. Migracin. Retirada del sw.

Mtodos de mantenimiento del software


Reingeniera: examen y modificacin del sistema para reconstruirlo en una nueva forma. Ingeniera inversa: anlisis de un sistema para identificar sus componentes y las relaciones entre ellos, as como para crear representaciones del sistema en otra forma o en un nivel de abstraccin ms elevado. Reestructuracin del software: consiste en la modificacin del software para hacerlo ms fcil de entender y cambiar o menos susceptible de incluir errores en cambios posteriores. Transformacin de programas: tcnica formal de transformacin de programas

Redocumentacion
a) Si el sistema funciona y la re documentacin consume muchos recursos, tal vez mejor no re documentar. b) 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. c) Si el sistema es fundamental para la organizacin, re documentar por completo. Se puede reducir la documentacin al mnimo.

Ingeniera inversa y reingeniera


Objetivo: mtodos para reconstruir el sw.:

-reprogramarlo -redocumentarlo -redisearlo -rehacer alguna/s caracterstica/s del producto

Ingeniera

el 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

inversa:

Ingeniera inversa y reingeniera (II)


Ingeniera inversa: El pto. de partida no es necesariamente el cdigo
fuente

Ingeniera inversa. 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.

Reingeniera: la modificacin de un producto sw., o de ciertos


componentes, usando para el anlisis del sistema existente tcnicas de ingeniera inversa y, para la etapa de reconstruccin, herramientas de ingeniera directa

Ingeniera inversa de procesos (comprensin de programas)


Tareas necesarias: (No se realizan secuencialmente.) 1. Identificacin y recopilacin de los componentes funcionales del sistema. rutinas, variables, constantes, tipos de datos, TAD, objetos, llamadas a funciones, etc. 2. Asignar significado a los componentes sustanciales anteriores.

Reconstruccin de programas
-A partir de los productos de ingeniera inversa se construye el programa mediante tcnicas de ingeniera directa. -Reestructuracin de datos eliminar sinonimias y polisemias -Reestructuracin de procesos transformar el cdigo no estructurado en cdigo estructurado

Bibliografa
http://alarcos.inf-cr.uclm.es/doc/mso/ http://www.utm.mx/~dtorres/cursos/ingsw/tema7.pdf http://www.kybele.etsii.urjc.es/docencia/IS4/20122013/Material/IS4.11.12.Tema.XIII.MantenimientoSW.pdf

También podría gustarte