Reuso y Reingeniería M.C. Juan Carlos Olivares Rojas.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

Fundamentos de Diseño de Software INFT.1
FACHADA COMPOSITOR MEMENTO
Propuesta de Mejora del Proceso de Pruebas basada en el Modelo TPI
Sistemas de Información Basados en Computadoras (CBIS)
Herramientas CASE.
Estrategia de Formación por Proyectos
Ingeniería del Software
CICLO DE VIDA DE UN PROYECTO DE SOFTWARE
Reingeniería del Software
SOFTWARE INTERACTIVO PARA LA CÁTEDRA LABORATORIO DE FÍSICA I
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Técnicas para la obtención de requerimientos
Las etapas de un proyecto
Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.
Ingenieria de software
Página 1 09/01/2005 Materia: Tecnología de la Información Curso: Profesora Ariana Rosenthal Tecnología de la Información Profesora Ariana Rosenthal Rediseño.
Software Reengineering Juan Carlos Olivares Rojas MSN:
Ciclo de Vida del Software Paradigmas de Desarrollo
Unidad I Detección de Necesidades M.C. Juan Carlos Olivares Rojas.
Programación orientada a Componentes POC Rosemary Torrico Bascopé.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Unidad VI Documentación
Prueba y Evaluación de Sistema Cuando se considera el tema de la evaluación, el objetivo es conseguir un alto grado de confianza y garantizar que el ciclo.
Contexto Proyecto consolidado dentro de la línea de investigación de Sistemas de Información en el Dpto. de Ingeniería en Sistemas de Información de la.
Software Testing Juan Carlos Olivares Rojas MSN:
Metodología para el desarrollo de Software educativo POO
CONCEPTOS BÁSICOS Diseño de Sistemas.
Ingeniería de Software Asistida por Computadora
Metodología para solución de problemas
Ingeniería del 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.
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.
Desarrollo de Software Orientado a Objetos (deficiencias)
Herramientas CASE para el mantenimiento del Software
ABSOLUTDOCS Informe de Avance: Período: 01/10/2009 – 01/11/2009
TEMA: DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL DE USO Y EL MANTENIMIENTO DE VEHÍCULOS DE UNA INSTITUCIÓN PÚBLICA AUTOR: EDISON GUAMAN   DIRECTOR:
MANTENIMIENTO.
Diseño de Sistemas Expertos
Ingeniería de Requisitos
1 Construcción de Proyectos de Software Proyecto de Solución de Problemas con Programación.
Diseño Orientado al Flujo de Datos
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
M.C. Juan Carlos Olivares Rojas
Unidad 3 MODELO DE ANALISIS.
Actividades en el Proceso de desarrollo de Software
Simón Esneider Herrera Álvarez Media Técnica Casd 10-2
MANTENIMIENTO.
La reingenieria del software Integrantes: Marcela Avila Beltran Anderson Hortua Cruz Michael Mendoza Gomez.
Tecnicas del Mantenimiento del Software
UNIVERSIDAD TECNICA DE MANABI ESTUDIANTE KARINA TOALA CATEDRATICO ING.RENE GARCIA TEMA CASCADA.
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE
UNIVERSIDAD DE VIÑA DEL MAR SEDE SANTIAGO AREA INFORMATICA Marco de Trabajo para un Acceso Multimedia Universal Mediante Patrones Modelo-Vista-Controlador.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Evolución y comportamiento del Sector TICs Praxis & Technology Group PraTech METODOLOGÍA DE CALIDAD.
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.
Introducción a la abstracción de datos MC Beatriz Beltrán Martínez Primavera 2015.
Base de Datos REINGENIERIA Universidad Abierta Interamericana
Propósito Introducción Actividad de Consolidación Actividad de Consolidación Fuentes consultadas Fuentes consultadas Ciclo de Vida del Software Ciclo.
Entorno de Recomendación para el Desarrollo de Objetos de Aprendizaje Manuel E. Prieto Universidad de Castilla-La Mancha, España Victor H. Menéndez Universidad.
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.
Junio, 2013.
Transcripción de la presentación:

Reuso y Reingeniería M.C. Juan Carlos Olivares Rojas

Reutilización El reuso es una de las técnicas de resolución de problemas que más utilizamos los humanos. De hecho es lo primero que verifica nuestro cerebro. El reuso en software nos ayuda a mejorar la producción y calidad del software al “no reiventar la rueda”.

Reuso El reuso nos permite afrontar los grandes proyectos de software sin mayores complicaciones. Desafortunadamente no todo se puede reutilizar. La reutilizacion es la propiedad de utilizar conocimiento, procesos, metodologías o componentes de software ya existente para adaptarlo a una nueva necesidad, incrementando significativamente la calidad y productividad del desarrollo.

Reutilización La reutilización puede ser composicional y generativa. Es composicional cuando se orienta al reuso del producto. Puede ser de caja blanca (si nos interesa modificar el comportamiento), caja negra (cuando no se puede modificar el comportamiento) y adaptativo cuando es una mezcla de ambos.

Reutilización La reutilización por generación se da cuando se utilizan esfuerzos previos del desarrollo de software. Para que un objeto pueda ser reusable se necesita de un alto nivel de abstracción. Entre mayor es su nivel de abstracción, mayor es su nivel de reuso.

Reuso Tipos de reuso: Código reciclado: utilizar parte del código definido en otros proyectos. Componentes de código: consiste en utilizar módulos, clases, APIs, etc. Esquemas: DFD, Diagramas UML.

Reuso Frameworks: Solución integrada para la resolución de problemas en un contexto particular. Se pueden utilizar patrones de diseño. Un ejemplo de Framework es.NET Las etapas del proceso de reuso son: Adquisición del requerimiento.

Reuso Búsqueda y Recuperación –Recuperación por Palabras Claves –Recuperación Basada en la Estructura –Recuperación Enumerada Identificación Adecuación

Reingeniería del Software Sucede que si una aplicación necesita ser modificada constantemente y no tiene una metodología de seguimiento del desarrollo del proyecto, la modificación del software se vuelve sumamente complicada. El mantenimiento de software en algunos casos puede llegar a ser del 60% del total de costos del proyecto.

Reingeniería del Software Aún cuando un software se haya desarrollado con la mejor metodología de software tendrá que ser modificado en un futuro por algún motivo, debido a que lo único constante es el cambio. Los tipos de mantenimiento de Software son: correctivo, adaptativo, mejoras o mantenimiento de perfeccionamiento, mantenimiento preventivo o reingeniería.

Reingeniería del Software El 80% del tiempo del desarrollo del software se ocupa en la adaptación del software a su ambiente externo. La reingeniería de software es costosa y consumidora de tiempo. La reingeniería es una actividad de reconstrucción, preferible de realizar antes de que se “derrumbe” la obra.

Reingeniería de Software Antes de derribar una casa, quizás se necesita corroborar que está mal. La reingeniería es un proceso que altera los elementos internos de toda obra, no es una sola remodelación de la fallada. Generalmente se siguen los siguientes pasos para aplicar reingeniería:

Reingeniería de Software Análisis de Inventario Reestructuración de Documentos INGENIERÍA INVERSA Reestructuración de Códigos Reestructuración de Datos Ingeniería directa

Ingeniería Inversa Se aplica para obtener un modelo detallado de análisis, ingeniería de requerimientos, diseño y en algunos casos implementación teniendo una solución es una actividad consumidora de tiempo. Tanto la Ingeniería Inversa como la Reingeniería en la mayoría de las licencias de Software se encuentran penadas por la ley.

Actividad Realizar el proceso de Ingeniería inversa de los siguientes modelos de avión. Se debe obtener como resultado un prototipo idéntico al dado así como su manual de diseño.

¿Preguntas, dudas y comentarios?