MANTENIMIENTO.

Slides:



Advertisements
Presentaciones similares
Lic. Juan Gabriel Bernal López
Advertisements

EL PROCESO DE DESARROLLO DEL SOFTWARE
Ciclo de vida de desarrollo de software
Unida III Software para la administración de proyectos
MANTENIMIENTO DE SOFTWARE
SISTEMAS DE INFORMACIÓN EN LAS ORGANIZACIONES
Ingeniería de Software II
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Generalidades del Soporte de Software
Modelos de confiabilidad
Análisis y Diseño de Aplicaciones Ingeniería de Software
CALIDAD EN EL DESARROLLO DE SOFTWARE
Administración de Procesos de Pruebas
M.S.C. Ivette Hernández Dávila
HERRAMIENTAS CASE.
PLANEACION DE UNA ESTRUCTURA ORGANIZACIONAL
NORMA ISO 9126 Carlos Mario Zapata J. 11/04/2017 Calidad de Software.
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Ingeniería de Sistemas Requerimientos
Ingeniería Software II Unidad I Mantenimiento. Mantenimiento del Software Fase que se inicia de finalizada las Pruebas Fase más costosa del ciclo. El.
Inspecciones de Software
MANTENIMIENTO PRODUCTIVO TOTAL (TPM)
Métricas de calidad de software
Mantenimiento del Software
CONCEPTOS BÁSICOS Diseño de Sistemas.
UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 INGENIERIA DE SOFTWARE SOFTWARE HEREDADO Carlos Daniel Villacis Molina 1 Ing. Fernando Cevallos Ruales. M.Sc.
Calidad y Garantía de Calidad
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Ingeniería del Software
VII Congreso de Expotecnología UVM 2007 Jonás A. Montilva C.
FUNDAMENTOS DE PROGRAMACION
COCOMO María Barajas López Víctor Chico Rodríguez Ángela Jiménez Sáez
¿Cómo nos ayuda GeneXus a mejorar la calidad en el proceso de desarrollo de Software? Ing. Rosario Estévez Ing. Rafael Mon
Tema 1: Introducción a la Ingeniería de Software
Ingeniería de Software
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Herramientas CASE para el mantenimiento del Software
MANTENIMIENTO.
Reuso y Reingeniería M.C. Juan Carlos Olivares Rojas.
Procesos de Desarrollo de Software
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de metodologías ágiles Tatiana Alejandra.
Definición de sistema__________
Métricas de calidad de software
Ingeniería de Requerimientos
Introducción al proceso de verificación y validación.
Simón Esneider Herrera Álvarez Media Técnica Casd 10-2
Ingeniería del Software I
La reingenieria del software Integrantes: Marcela Avila Beltran Anderson Hortua Cruz Michael Mendoza Gomez.
“ NO HAY NADA MÁS DIFÍCIL DE CONSEGUIR, MÁS ARRIESGADO DE MANTENER NI MÁS INSEGURO DE TENER ÉXITO, QUE ESTAR A LA CABEZA EN LA INTRODUCCIÓN DE UN.
Por: Jaime Enrique Melendez Monreal Código: INGENIERÍA DE SOFTWARE.
Ciclo de Vida del Software
Omar de Jesús Rosales hernández
De Informaciòn Gerencial Lcda. Oly Mata.
Evolución del software
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Organización y Métodos. ©Ian Sommerville 1995 Ingeniería de Software, 5a. edición Capitulo 4 Diapositiva * Ingeniería de Requerimientos ● Estableciendo.
ADMINISTRACIÓN DE REDES Planes de Migración. Migración En tecnología de información y comunicación, la migración es el proceso de la transferencia desde.
Proceso de desarrollo de Software
SOFTWARE COMPRADO VENTAJASDESVENTAJAS El tiempo de implantación dependerá del tiempo que necesiten los profesionales para la formación, pero no tendremos.
Las fases del ciclo de la vida de desarrollo de sistemas
Modelo de procesos de software
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Experiencia de México Taller sobre TIC y Compras Públicas.
Verificación y Validación del Software
Transcripción de la presentación:

MANTENIMIENTO

MANTENIMIENTO Definición Es el conjunto de actividades que la empresa desarrolladora realiza sobre el software una vez que éste está siendo operado (después de la entrega), para cambiar el sistema, (corrección de codificación o diseño, introducir nuevos requerimientos, etc)

TIPOS DE MANTENIMIENTO Mantenimiento Correctivo Mantenimiento Adaptativo Mantenimiento Perfectivo Mantenimiento Preventivo

MANTENIMIENTO CORRECTIVO Consiste en modificar el sistema tras la detección de defectos, ambigüedades o errores.

MANTENIMIENTO ADAPTATIVO Consiste en modificar el sistema para acomodarlo a cambios físicos del entorno.

MANTENIMIENTO PERFECTIVO Consiste en mejorar el Software,,agregar funcionalidad adicional para cumplir con las nuevas necesidades/requerimientos de los usuarios/negocio.

ESFUERZO DEDICADO A CADA TIPO DE MANTENIMIENTO

Relación entre los tipos de Mantenimiento

ACTIVIDADES DEL PROCESO DE MANTENIMIENTO (Sommerville)

EVOLUCIÓN DE SOFTWARE La evolución del software implica un mantenimiento del mismo durante el ciclo de vida del software La evolución del SW es una garantía frente a su obsolescencia Los cambios continuos en los requisitos implican un proceso evolutivo Leyes de Lehman & Belady

OBJETIVOS DE LA EVOLUCIÓN DE SOFTWARE Mantener operativo al sistema Mantener contentos a los usuarios Maximizar la inversión y reducir costes Alargar la vida del software Adaptarlo a nuevos cambios o requisitos

Lehman and Belady (1985) Primera Ley: cambio continuo: Cada vez menos útil Mantenimiento es inevitable Segunda Ley: el incremento de la complejidad: Estructura más compleja más costos  Tercera Ley: la evolución de los programas grandes: Proceso autorregulado. a) tamaño , b)tiempo, c)Nro. De errores reportados, son invariantes para cada entrega del sistema. (actúan como una masa inerte)  Cuarta Ley: Estabilidad organizacional: Tiempo de vida y la tasa de desarrollo son aproximadamente constantes e independiente de los recursos asignados al desarrollo. (eq. grandes improductivos o cambiar equipo)  Quinta Ley: Conservación de la familiaridad: Durante la vida de un sistema el cambio incremental en cada entrega es aproximadamente constante, semejantes.  Las leyes son importantes porque sirven de base para planificar y administrar el proceso de mantenimiento. 

MEDIDAS DE MANTENIBILIDAD La medida más común dependiente del entorno es el tiempo medio para realizar un cambio: • Número de problemas no resueltos • Tiempo empleado en problemas no resueltos • Porcentaje de cambios que introducen fallos

COSTOS DE MANTENIMIENTO Y LOS COSTOS DE DESARROLLO

COSTOS DE DESARROLLO DE UN SISTEMA Costos directos : desarrollo del sistema Costos indirectos: instalación, mantenimiento

Costos Lientz & Swason: sugieren que el 50% de su esfuerzo es lo que normalmente se gasta en mantener programas otros autores sugieren que se llega a gastar hasta un 80%

COSTOS DE MANTENIMIENTO Una gran cantidad del software actual es muy antiguo Sucesivas migraciones a distintas plataformas o sistemas operativos. Múltiples modificaciones para mejorarlos y adaptarlos a las necesidades de los usuarios. Cambios incontrolados no tienen en cuenta la arquitectura del sistema, no se realizó ingeniería inversa o reingeniería.

Factores de costos de mantenimiento Factores Técnicos Factores no técnicos Independencia de módulos Las modificaciones solo afectan a una parte del programa. Dominio de la aplicación Si la aplicación tiene requerimientos claros  Se necesita poco mantenimiento adaptativo. Si la aplicación es nueva , generalmente se exigen modificaciones sobre la marcha. Lenguaje de programación Cuanto más alto del nivel del lenguaje de programación, más fácil realizar el mantenimiento. Estabilidad del staff ¡Costo de mantenimiento es más económico si el mismo que desarrolló el sistema es también quién realiza el mantenimiento Estilo de programación Cuanto más entendible el estilo de programación, el mantenimiento es menos costoso. Tiempo de vida (edad) del programa. El tiempo de vida depende de aplicación. Si la aplicación es obsoleta o nuevo hardware ya se desarrolló, entonces el programa también es obsoleto. De manera general los costos crecen con el tiempo de vida de los programas, a más tiempo de vida más costos. Validación del programa Cuanto menos errores, entonces menos requerimientos de mantenimiento. Entorno del programa Cuanto más dependiente del entorno de la organización entonces se requiere más modificaciones. Documentación Cuanto más documentado el programa este es más entendible y por lo tanto más fácil de mantener. Estabilidad del hardware Si el programa es para un hardware en particular entonces requiere más modificaciones.

REINGENIERIA

¿Porqué es necesario? Arquitectura 1.0 arreglo A790 arreglo A812 V 1.2a V 1.2 nuevo requerimiento arreglo A812 arreglo A790 Arquitectura 1.0

Resistencia al cambio Arquitectu a 1.0 r arreglo A790 arreglo A812 V 1.2a Arquitectu nuevo requerimiento arreglo A812 arreglo A790 V 1.2 a 1.0 r

Reingeniería: ¿Porqué es necesario? Alto costo de mantenimiento, porque la estructura de los sistemas se modifica: Puede no existir No es obvia para el lector Continuos mantenimientos puede haber corroido la estructura original y no es discernible. V 1.2a Arquitectu nuevo requerimiento arreglo A812 arreglo A790 V 1.2 a 1.0 r

MANTENIMIENTO PREVENTIVO Llamado también reingeniería Consiste en hacer cambios al software a fin de que se pueda corregir, adaptar y mejorar fácilmente LA REESTRUCTURACIÓN (parcial/completa) Vs. RESCRIBIR TODO EL PROGRAMA

PROCESO DE REINGENIERÍA Esta actividad involucra examinar partes del programa y su reescritura para MEJORAR su ESTRUCTURA Reformatear programa Identificar abstracciones de datos Asignar nombres significativos Simplificar condiciones Quitar goto Quitar código extraño

Relaciones

¿CUANDO APLICAR REINGENIERÍA? Componentes con tasa de fallas alta Componentes con altos índices de cambios anuales Componentes con alta complejidad. Componentes que no están dentro los estándares de la compañía.

The End