Tecnicas del Mantenimiento del Software

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Fundamentos de Diseño de Software INFT.1
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Gestión de Recursos Informáticos Unidad Nº 3: Gestión de calidad y eficiencia.
Aclaraciones de la Realización del Producto
INGENIERIA DE SOFTWARE
Pruebas de Unidad y Refactorización
METRICAS DE PROCESO Y PROYECTO
Diseño orientado al flujo de datos
Herramientas CASE.
Ciclo de desarrollo del software
INGENIERIA DE REQUERIMIENTOS
CONCEPTOS Y PRINCIPIOS DE DISEÑO
Evaluación de Productos
Índice 1. CONSIDERACIONES INICIALES 3
INSTITUTO TECNOLÓGICO SUPERIO DE LIBRES
HERRAMIENTAS CASE.
PROCESO DE DESARROLLO. Introducción Mediante esta presentación se pretende describir el proceso de desarrollo del TALLER I.
REQUIREMENTS MANAGEMENT
Gestión por procesos.
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
LENGUAJE DE PROGRAMACIÓN
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
CONCEPTOS BÁSICOS Diseño de Sistemas.
Modelo de espiral Fue originalmente propuesto por Barry Boehm en Es una secuencia de actividades con retrospectiva de una actividad a otra, representado.
Metodología para solución de problemas
Análisis de Requerimientos
REINGENIERIA Alumno: Ronald Marquez A.W. Modulo: Ing. Software.
EXAMEN DE DISEÑO INSTRUCCIONAL PRIMER PARCIAL.
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
Metodología para la construcción de programas
Importancia en la efectividad del:
DOCUMENTACIÓN DEL SISTEMA DE GESTIÓN DE LA CALIDAD
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
PROCESO DE ACREDITACIÒN - ABET FACULTAD DE INGENIERÌA Y ARQUITECTURA 2006.
Control Interno La estructura de control interno de una entidad consiste en las políticas y procedimientos establecidos para proporcionar una seguridad.
Ámbito y Estimaciones de Proyecto ISF5501 Ingeniería de Software Semana 7/1.
Universidad de Aconcagua SISTEMA DE GESTION DE CALIDAD
Capitulo 1 Roger S. Presman
Ciclo de vida de un sistema
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
Diseño Orientado al Flujo de Datos
IDENTIFICACIÓN DEL CICLO DE VIDA DEL SOFTWARE. POLITÉCNICO COLOMBIANO JAIME ISAZA CADAVID.
TIPOS DE PRUEBAS DEL SOFTWARE
M.C. Juan Carlos Olivares Rojas
Introducción al proceso de verificación y validación.
LA MEJORA DE LOS PROCESOS
Actividades en el Proceso de desarrollo de Software
Desarrollo de lógica algorítmica.
Simón Esneider Herrera Álvarez Media Técnica Casd 10-2
Modelo Prescriptivos de proceso
La reingenieria del software Integrantes: Marcela Avila Beltran Anderson Hortua Cruz Michael Mendoza Gomez.
problemas de la calidad del software
Ciclo de Vida del Software
Mejores Prácticas para el Desarrollo de Software Omar de Jesús Rosales Hernández.
Ciclo de desarrollo del software
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
ANGIE PAOLA SOLANO CASTIBLANCO DAR SOPORTE A LOS PROCESOS NORMAS ISO DOC. JOHANA LÓPEZ CHAVEZ SENA 2010.
Modelos del Proceso Omar de Jesús Rosales Hernández.
INGENIERIA DE SOFTWARE
Proceso de desarrollo de Software
GAJAH ANNUAL REPORT 2015 | ‹#› Módulo 8 – Proceso de aprobación/aceptación.
ANALISIS SEGURO DE TRABAJO (AST)
Administración de Calidad de Software
Maestría en Gerencia en Tecnología de la Información Cátedra Ingeniería de Software Profesora: Mary Carmen Milano. Integrantes: Rosa Arellano Osbaldo Goitia.
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.
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
UNIDAD III. PSP Objetivo: El alumno identificará el Proceso Personal de Software, para medir su desempeño.
Sistemas de calidad en el desarrollo de software.
Transcripción de la presentación:

Tecnicas del Mantenimiento del Software Omar de Jesús Rosales Hernández

Dentro de la ingeniería del software se proporcionan soluciones técnicas que permiten abordar el mantenimiento de manera que su impacto en coste dentro del ciclo de vida sea menor. Las soluciones técnicas pueden ser de tres tipos: Ingeniería Inversa Reingeniería Reestructuración del Software

Ingeniería Inversa El objetivo de la ingeniería inversa es obtener información o un diseño a partir de un producto, con el fin de determinar de qué está hecho, qué lo hace funcionar y cómo fue fabricado. El método se denomina así porque avanza en dirección opuesta a las tareas habituales de ingeniería, que consisten en utilizar datos técnicos para elaborar un producto determinado. En general, si el producto u otro material que fue sometido a la ingeniería inversa fue obtenido en forma apropiada, entonces el proceso es legítimo y legal. De la misma forma, pueden fabricarse y distribuirse, legalmente, los productos genéricos creados a partir de la información obtenida de la ingeniería inversa, como es el caso de algunos proyectos de software libre ampliamente conocidos.

Reingeniería de Software Describir los elementos que intervienen en la mejora de procesos y cómo el proceso afecta la calidad del software. La reingeniería debe ser entendida como un proceso mediante el cual se mejora un software existente haciendo uso de técnicas de ingeniería inversa y reestructuración de código. Para llevar a cabo la reingeniería del Software se puede realizar a través del modelo Cíclico. En algunas ocasiones, estas actividades se producen de forma secuencial y lineal, pero esto no siempre es así. Por ejemplo, puede ser que la ingeniería inversa (la comprensión del funcionamiento interno de un programa) tenga que producirse antes de que pueda comenzar la reestructuración de documentos.

Reestructuración del Software La reestructuración del software modifica el código fuente y/o los datos en un intento de adecuarlo a futuros cambios. Tiende a centrarse en los detalles de diseño de módulos individuales y en estructuras de datos locales definidas dentro de los módulos. Los beneficios de la reestructuración son: Programas de mayor calidad con mejor documentación y menos complejidad, y ajustados a las prácticas y estándares de la ingeniería del software moderno. Reduce la frustración entre ingenieros del software que deban trabajar con el programa, mejorando por tanto la productividad y haciendo más sencillo el aprendizaje. Reduce el esfuerzo requerido para llevar a cabo las actividades de mantenimiento. Hace que el software se mas sencillo de comprobar y depurar.

Reestructuración del código La reestructuración del código se lleva a cabo para conseguir un diseño que produzca la misma función pero con mayor calidad que el programa original. El objetivo es tomar el código de forma de "plato de espaguetis" y derivar un diseño de procedimientos que se ajuste a la filosofía de la programación estructurada

Reestructuración de datos Análisis del código fuente, en primer lugar se evaluarán todas las sentencias del lenguaje de programación con definiciones de datos, descripciones de archivos, de E/S, y descripciones de interfaz. Esta actividad a veces se denomina análisis de datos. Una vez finalizado el análisis de datos, comienza el rediseño de datos. En su forma más sencilla se emplea un paso de estandarización de rediseño de datos que clarifica las definiciones de datos para lograr una consistencia entre nombres de objetos de datos, o entre formatos de registros físicos en el seno de la estructura de datos o formato de archivos existentes. Otra forma de rediseño, denominada racionalización de nombres de datos, garantiza que todas las convenciones de denominación de datos se ajusten a los estándares locales, y que se eliminen las irregularidades a medida que los datos fluyen por el sistema.