La reingenieria del software Integrantes: Marcela Avila Beltran Anderson Hortua Cruz Michael Mendoza Gomez.

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
Conceptos generales metodología levantamiento de procesos
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Herramientas CASE.
COSTOS ESTANDAR DEFINCIÓN
Sistema de Costos por Órdenes
COMPONENTES ESTRATÉGICOS
Procesos de la Ingeniería
Evaluación de Productos
Instituto Tecnológico De Tuxtepec ESPECIALIDAD ING. EN SISTEMAS COMPUTACIONALES MATERIA REINGENIERIA DEL SOFTWARE CATEDRATICO MA. ELENA ESPEJO AGUILAR.
Planeación estratégica Neighborhood Watch Aprendizaje a ritmo propio.
PRESENTADO POR: ANDRÉS ARAQUE, DIEGO GONZALEZ Y LEONARDO OLIVARES.
“Especificación de Requerimientos”
NORMAS INTERNACIONALES DE AUDITORIA DE SISTEMAS
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 Software
DISEÑO DE SOFTWARE 1ª. Parte
Ciclo de Vida del Software Paradigmas de Desarrollo
Ingeniería de Requisitos
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
CONCEPTOS BÁSICOS Diseño de Sistemas.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
SISTEMAS DE PROCEDIMENTO DE TRANSACCIONES
Ingeniería de Software
REINGENIERIA Alumno: Ronald Marquez A.W. Modulo: Ing. Software.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
Introducción a la investigación de mercados
Diseño del servicio ITIL..
Importancia en la efectividad del:
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.
Descripción Gestión de Inventario
MANTENIMIENTO.
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
PLAN DE NEGOCIOS.
Dominios de control para la información y tecnologías (cobit) Pamela Pacheco Aviles.
Reuso y Reingeniería M.C. Juan Carlos Olivares Rojas.
Proveedores de servicios externos
Diseño de Sistemas.
Introducción a UML Departamento de Informática Universidad de Rancagua
Ciclo de vida de un sistema
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.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Introducción al proceso de verificación y validación.
Actividades en el Proceso de desarrollo de Software
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Proyecto Master - Alberto Salgado - (C) Creative Commons V3.0 Master en Dirección y Gestión de las TIC Proyecto DETI Marco de trabajo para la evaluación.
MANTENIMIENTO.
Ciclo de Vida del Software
Tecnicas del Mantenimiento del Software
Preocupaciones del Analista Programador & Usuarios
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.
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.
INGENIERIA DE 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.
Proceso de desarrollo de Software
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
LOS SISTEMAS DE INFORMACIÓN
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.
Modelado Orientado a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
Base de Datos REINGENIERIA Universidad Abierta Interamericana
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Gestión de tiempos del proyecto
Transcripción de la presentación:

La reingenieria del software Integrantes: Marcela Avila Beltran Anderson Hortua Cruz Michael Mendoza Gomez

¿Que es la reingenieria de software? “modificación de un producto software, o de ciertos componentes, usando para el análisis del sistema existente técnicas de Ingeniería Inversa y, para la etapa de reconstrucción, herramientas de Ingeniería Directa, de tal manera que se oriente este cambio hacia mayores niveles de facilidad en cuanto a mantenimiento, reutilización, comprensión o evaluación.”

Entre los beneficios de aplicar reingeniería a un producto existente se puede incluir: Pueden reducir los riegos evolutivos de una organización. Puede ayudar a las organizaciones a recuperar sus inversiones en software. Puede hacer el software más fácilmente modificable Amplía las capacidades de las herramientas CASE

La reingeniería del software involucra diferentes actividades como son: análisis de inventarios restructuración de documentos ingeniería inversa restructuración de programas y datos ingeniería directa con la finalidad de crear versiones de programas ya existentes que sean de mejor calidad y los mismos tengan una mayor facilidad de mantenimiento.

Pasos de la Reingeniería de Software

Análisis de Inventarios Todas las organizaciones de software deberían tener un inventario de todas sus aplicaciones. El inventario tal vez no sea más que un modelo en una hoja de cálculo que contenga información que proporcione una descripción detallada (tamaño, edad, importancia para el negocio) de las aplicaciones activas. Los candidatos a la reingeniería aparecen cuando se ordena esta información en función de su importancia para el negocio, longevidad, mantenibilidad actual y otros criterios localmente importantes. Es entonces cuando es posible asignar recursos a las aplicaciones candidatas para el trabajo de reingeniería.

Restructuración de documentos La documentación débil es la marca de muchos sistemas heredados. Crear documentación consume mucho tiempo, si el sistema funciona vivirá con lo que tenga. La documentación debe actualizarse pero se tiene recursos limitados. Se utiliza un enfoque de “documentar cuando se toque”. El sistema es crucial para el negocio y debe volver a documentarse por completo incluso en este caso un enfoque inteligente es recortar la documentación a un mínimo esencial. Cada una de estas opciones es viable. Una organización de software debe elegir la más apropiada para cada caso.

Ingeniería Inversa En la mayoría de los casos, el programa del cual hay que hacer una ingeniería inversa no es el de un rival, sino, más bien, el propio trabajo de la compañía. Los “secretos” que hay que comprender resultan incomprensibles porque nunca se llegó a desarrollar una especificación. Consiguientemente, la ingeniería inversa del software es el proceso de análisis de un programa con el fin de crear una representación de programa con un nivel de abstracción más elevado que el código fuente.

Restructuración de código Llevar a cabo esta actividad requiere analizar el código fuente empleando una herramienta de restructuración, se indican las violaciones de las estructuras de programación estructurada, y entonces se re estructura el código (esto se puede hacer automáticamente). El código restructurado resultante se revisa y se comprueba para asegurar que no se hayan introducido anomalías. Se actualiza la documentación interna del código.

Restructuración de datos La restructuración de datos es una actividad de reingeniería a gran escala. En la mayoría de los casos, la restructuración de datos comienza con una actividad de ingeniería inversa. La arquitectura de datos actual se analiza con minuciosidad y se define los modelos de datos necesarios, se identifican los objetivos de datos y los atributos, y después se revisa la calidad de las estructuras de datos existentes. Cuando la estructura de datos es débil (por ejemplo, actualmente se implementan archivos planos, cuando un enfoque relacional simplificaría muchísimo el procesamiento), se aplica una reingeniería a los datos.

Ingeniería directa En un mundo ideal, las aplicaciones se reconstruyen utilizando un “motor de reingeniería” automatizado. En el motor se insertaría el programa viejo, que lo analizaría, restructuraría y después regeneraría la forma de exhibir los mejores aspectos de la calidad del software. Después de un espacio de tiempo corto, es probable que llegue a aparecer este “motor”, pero los fabricantes de CASE han presentado herramientas que proporcionan un subconjunto limitado de estas capacidades y que se enfrentan con dominios de aplicaciones específicos. Lo que es más importante, estas herramientas de reingeniería cada vez son más sofisticadas.

GRACIAS POR SU ATENCION Biografia: