CAPITULO 3-mantenimiento

49
MANTENIMIENTO DEL SOFTWARE Presentado por: Elizabeth Castro Figueroa. [email protected]

description

ingenieria de software

Transcript of CAPITULO 3-mantenimiento

  • MANTENIMIENTO DEL SOFTWAREPresentado por:Elizabeth Castro [email protected]

  • ObjetivosContenidoTemticoMtodosFormasObjetivo 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.

  • ObjetivosContenidoTemticoObjetivo 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.MtodosFormas

  • ObjetivosContenidoTemticoTEMA N3:MANTENIMEINTO DEL SOFTWARE.3.1 Conceptos bsicos3.2 Gestin de mantenimiento3.3 Documentacin3.4 Etapas bsicas3.4. Mtricas de mantenimiento3.5. Uso de Herramientas CASE MtodosFormas

  • ObjetivosContenidoTemticoEl mtodo a emplear en la presente clase es la conferencia participativa.MtodosFormas

  • IntroduccinPor qu se requiere de mantenimiento y se desperdicia tanto esfuerzo?

  • IntroduccinUna gran cantidad de software del que dependemos actualmente tiene una media de 10 a15 aos.

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

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

  • 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: Definicin de Mantenimiento de software.Conceptos bsicos.

  • Ubicacin dentro del Proceso de ingeniera de Software.Conceptos bsicos.

  • -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.Actividades que contribuyen a la definicin de mantenimiento de Software.Conceptos bsicos.

  • -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.Actividades que contribuyen a la definicin de mantenimiento de Software.Conceptos bsicos.

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

  • 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.Caractersticas del Mantenimiento de software.Se realiza la consideracin desde tres puntos de vista:Conceptos bsicos.

  • a) Actividades requeridas para cubrir la fase de mantenimiento.Si slo se dispone de cdigo fuenteSi se dispone de una completa configuracin del software. 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

    Grfico1

    18

    6

    23

    19

    6

    28

    Coste del mantenimiento (% tiempo)

    Estudiar la documentacin 6%

    Actualizar la documentacin 6%

    Sheet1

    Estudiar las peticionesEstudiar la documentacinEstudiar el cdigoModificar el cdigoActualizar la documentacinDisear y realizar pruebas

    Coste del mantenimiento (% tiempo)1862319628

  • 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

  • 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.Facilidad de mantenimiento. Gestin del 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.Facilidad de mantenimiento. Gestin del mantenimiento

  • Facilidad de mantenimiento. Gestin del mantenimiento

  • 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 problemaMedidas cuantitativas. Gestin del mantenimiento

  • .

    Tiempo de especificacin de los cambios.Tiempo activo de correccin o modificacinTiempo de prueba local y globalTiempo de revisin del mantenimientoTiempo total de recuperacin.Medidas cuantitativas. Gestin del mantenimiento

  • 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.Revisiones. Gestin del mantenimiento

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

  • Establecer un sistema de registro de informacin de las actividades.

    Definir criterios de revisin y de evaluacin de las tareas de mantenimiento.Tareas de mantenimiento. Gestin del mantenimiento

  • Tareas de mantenimiento. Gestin 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.Efectos secundarios del mantenimiento. Gestin del mantenimiento

  • 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.Ingeniera Inversa y Reingeniera. Gestin del mantenimiento

  • 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.Ingeniera Inversa y Reingeniera. Gestin del mantenimiento

  • .Relacin entre la Ingeniera Inversa, Reingeniera e Ingeniera directa. Gestin del mantenimiento

  • .Etapas Bsicas Proceso de Mantenimiento. Gestin del mantenimiento

  • Mtricas de mantenimiento

  • Mtricas de mantenimiento. Mtricas de mantenimiento

  • Uso de Herramientas CaseTest Complete: carga HTTP, stress, pruebas de escalabilidad, pruebas de unidadhttp://www.automatedqa.comQuick Test: tests funcionales, de regresin, de aceptacinhttp://www.mercury.comGeneradores 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 CaseEvaluadores del impacto de las modificaciones.

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

  • CONCLUSIONESEl 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.

  • CONCLUSIONESLas 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 EXTRACLASESeleccione 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 EXTRACLASEUtilice 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..

  • REFERENCIASREFERENCIAS 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.

  • REFERENCIASREFERENCIAS 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.

  • REFERENCIASREFERENCIAS 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.

  • REFERENCIASWEBGRAFA.

    http://www.presman5.com

    http://www.mundoanuncio.com/anuncio/ingenieria_de_software_pressman_1113604094.html

    http://adimen.si.ehu.es/~rigau/teaching/EHU/ISHAS/Curs2007-2008/Apunts/IS.0.pdf

    http://www.chilewarez.org/index.php?showtopic=325325&mode=linear