La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Base de Datos REINGENIERIA Universidad Abierta Interamericana

Presentaciones similares


Presentación del tema: "Base de Datos REINGENIERIA Universidad Abierta Interamericana"— Transcripción de la presentación:

1 Base de Datos REINGENIERIA Universidad Abierta Interamericana
Facultad de Tecnología Informática Ingeniería Informática Base de Datos REINGENIERIA

2 Reingeniería = Rediseñar
Durante mucho tiempo las distintas aplicaciones han dado servicio y han cubierto las distintas necesidades para las que fueron creadas. A lo largo del tiempo, esas aplicaciones han sido corregidas, adaptadas y mejoradas de acuerdo a las nuevas exigencias y necesidades de la empresa en función de satisfacer sus necesidades comerciales y de negocios. Hubo personas dedicadas a estas funciones, las cuales daban lo mejor de sí para realizar y desarrollar un software que satisfaciera las necesidades de sus clientes. A su vez trataban de realizar un software de calidad, pero las distintas exigencias y urgencias han hecho que se deje lado.

3 Hoy, esas aplicaciones siguen funcionando
pero al corregirlas se vuelven inestables, produciendo errores colaterales, graves e inesperados. El Mantenimiento del Software en sí, es enorme debido a que se lleva alrededor del 60% de la organización del desarrollo, ya que los problemas que presentan por debajo de la superficie, por debajo de lo que se puede ver a simple vista, son los más difíciles de detectar y por desgracia son muchos. Este porcentaje, hoy en día sigue creciendo.

4 Los cambios a los software realizados por computadora
son inevitables cuando se hacen o desarrollan los mismos. Por lo que se hace inevitable preveer mecanismos para evaluarlos, controlarlos y realizar todas las modificaciones que se deban hacer.

5 Solo el 20% del mantenimiento será correctivo de errores.
ACLARACION Corregir errores es tan solo una parte del mantenimiento del software. Hay distintos tipos de mantenimiento: Mantenimiento Correctivo Mantenimiento Adaptativo Mantenimiento de Perfeccionamiento Mantenimiento Preventivo Solo el 20% del mantenimiento será correctivo de errores.

6 Reingeniería = Reconstrucción
REINGENIERIA Requiere Tiempo Requiere Dinero Requiere Esfuerzo Requiere Recursos Reingeniería = Reconstrucción

7 REINGENIERIA Es un modelo cíclico, que comprende seis actividades.
» Análisis de Inventario » Reestructuración de Documentos » Ingeniería Inversa » Reestructuración del Código » Reestructuración de Datos » Ingeniería Directa No puede establecerse un orden dado a estas tareas porque cada una puede repetirse en distintas ocaciones.

8 Análisis del Inventario
Es el inventario de todas las aplicaciones activas. Debe ser revisado con regularidad para mantenerlo siempre actualizado. Debe estar ordenado por importancia de la aplicación, aunque este orden siempre puede cambiar con el trascurso del tiempo y la importancia de las mismas. Análisis del Inventario

9 Reestructuración de Documentos
Siempre la documentación de las aplicaciones es escasa, debido a que no se le asigna la importancia necesaria. Son posibles tres soluciones: Dejarlo así Documentar solo si se modifica Crear todo la documentación necesaria

10 Ingeniería Inversa Ingeniería Inversa es
comprender los secretos del diseño y de la fabricación de la aplicación. Ingeniería Inversa es el proceso de análisis de un programa con el fin de crear una representación del programa con un alto nivel de abstracción. Ingeniería Inversa es un proceso de recuperación de diseño.

11 Reestructuración de Código
Es el tipo más común de la Reingeniería. Fundamentalmente es reestructurar el código ubicado dentro de los módulos.

12 Reestructuración de Datos
En los casos que la estructura de los datos sea débil, ésta sera dificil de adaptar y mejorar. Es una viabilidad a largo plazo, y requiere una reingeniería a gran escala. La reestructuración de datos realiza sobre el programa una gran influencia

13 Ingeniería Directa Es el proceso de renovación en sí.
Recupera la información de diseño de un software ya existente y con esa información se reconstruye el sistema, mejorándolo en calidad global, añadiendo nuevas funciones y mejoras.

14 Ingeniería Inversa El proceso de la Ingeniería inversa es un proceso complejo el cual trata de extraer las abstracciones que fueron realizadas en su momento. Evalúa el viejo programa y a partir del código fuente extrae una especificación significativa del procesamiento que se realiza, la interfaz de usuario que se aplica, las estructuras de los datos o de las bases de datos. Se realizan varias actividades:

15 En sistemas de gran magnitud = Heramientas CASE
Ingeniería Inversa Se intenta comprender y extraer abstracciones del procesamiento de datos, indicadas por el código fuente. Este proceso debe estar perfectamente comprendido antes de realizar una ingeniería inversa más precisa. Luego, se realizarán diagramas de bloques para representar las distintas iteracciones entre las distintas abstracciones funcionales. Y por último, se realizará una narrativa de procesamiento de las distintas abstracciones En sistemas de gran magnitud = Heramientas CASE

16 Ingeniería Inversa Suelen producirse distintos niveles de abstracción:
para comprender los datos Suelen producirse distintos niveles de abstracción: - a nivel de Programa: donde se analiza la estructura de los datos. - a nivel de Sistema: analizar las estructuras globales de los datos (registros, archivos, bases de datos) para que sean adaptables. Introduce una nueva Base de Datos, la cual abarcará todo el sistema

17 Ingeniería Inversa Se realizan técnicas centradas en la definición
Estructura de Datos Interna Se realizan técnicas centradas en la definición de los Objetos. Se realiza examinando el código fuente del programa, y en el análisis se extraen las variables, agrupándolas de acuerdo a su relación. (Ej.: arquitectura de archivos, registros, listas, etc.)

18 Ingeniería Inversa Permite definir objetos de datos,
Estructura de Bases de Datos Permite definir objetos de datos, facilitando así las relaciones entre objetos. Para definir el modelo de datos existente se emplean los siguientes pasos: » Construir un modelo de datos inicial (claves primarias, atributos, etc.) » Determinar las claves candidatas. » Tratar de unificar distintas clases similares. » Asignar las asociasiones entre clases. Nueva Base de Datos sacada de la anterior

19 Ingeniería Inversa Es especificar la estructura y
Interfaz de Usuario Es especificar la estructura y comportamiento de la actual interfaz. Es definir: Acciones básicas. Respuestas a esas acciones. Definir por cuál otras pueden ser reemplazadas.

20 Si se pasa de esos límites
Reestructuración No modifica la arquitectura global del programa Se centra en los detalles en diseño de modulos individuales y en estructura de datos locales. Si se pasa de esos límites INGENIERIA DIRECTA

21 Reestructuración Reestructuración
del Código Se busca conseguir un diseño pero con mayor calidad, para modelar la lógica del programa Reestructuración de Datos Se realiza un análisis del código fuente: sentencias, definiciones de datos, descripciones de archivos, descripciones de interfaz y descripciones de I/O, con el objetivo de extraer elementos y objetos de datos para obtener así el flujo de los mismos y sus estructuras. Con esto, se puede realizar el Rediseño de los Datos

22 Ingeniería Directa En lugar de esperar que se reciba
la solicitud de mantenimiento, la organización de desarrollo o soporte utilizará la información obtenida en el análisis del inventario para: Seleccionar el progama que continúe utilizándose durante los años futuros. Saber si se está utilizando con éxito en la actualidad. Y que no tenga altas probabilidades de sufrir modificaciones o mejoras.

23 Ingeniería Directa ¿Se justifica realmente la pérdidad de tiempo y dinero para desarrollar algo que ya está en existencia, pero con otra versión operativa? - El rediseño de la arquitectura del software empleando conceptos de diseños nuevos y modernos, facilitarán el futuro, el mantenimiento. El usuario ya está familiarizado y tiene experiencia con el software, por lo que nuevos requisitos y direcciones de cambio se podrán estimar con más Facilidad. El uso de las Herramientas CASE facilitarán el trabajo en algunas partes. Cuando se finalice el Mantenimiento Preventivo (nuevas versiones del producto terminado), se dispondrá de una configuración completa del software.

24 Ingeniería Directa ACLARACION Ingeniería Directa,
no es crear un equivalente moderno, sino es integrar los nuevos requisitos y tecnologías con lo que se tiene, para poder ampliar las capacidades de la aplicación.

25 para arquitecturas Cliente/Servidor
Ingeniería Directa para arquitecturas Cliente/Servidor Comienza con un análisis exhaustivo del negocio que abarca la computadora central existente. Posee las siguientes características: - La funcionalidad de la aplicación migra hacia las otras computadoras. - Nuevas interfaces. - Funciones de bases de datos. - Funciones especiales posicionadas en el servidor. - Requisitos de Comunicación, Seguridad, etc. se aplicarán tanto al servidor como al cliente. - Las bases de datos se encuentran en la arquitectura cliente/servidor, las transacciones y consultas se gestionan desde ahí, pero son controladas en el contexto de un conjunto de reglas de negocio, proporcionando funcionalidad deseada a los usuarios.

26 para arquitecturas Cliente/Servidor
Ingeniería Directa para arquitecturas Cliente/Servidor Todo esto deberá sufrir un proceso de ingeniería inversa para el rediseño, creándose en muchos casos un nuevo modelo de datos. Para todo, la base de datos del Cliente/Servidor sufrirá un proceso de reingeniería para asegurar las transacciones, actualizaciones, reglas de negocios, etc.

27 Herramientas CASE »»» Ingeniería del Software Asistido por Computadora ««« Proporciona la posibilidad de automatizar actividades manuales. Mejora la visión del problema. Garantiza la calidad de diseño antes de que se construya el Software.

28 Bloques de Construcción
Herramientas CASE Bloques de Construcción Herramientas CASE Marco de Integración Servicios de Portabilidad Sistema Operativo Plataforma Hardware Arquitectura del Enterno

29 Bloques de Construcción
Herramientas CASE Bloques de Construcción Arquitectura del Entorno: Plataforma Hardware + Sistema Operativo Marco de Integración: Grupo de Programas especializados que permiten a todas las herramientas comunicarse entre sí.

30 Bloques de Construcción
Herramientas CASE Bloques de Construcción Servicios de Portabilidad: Proporciona un puente entre las Herramientas Case, su Marco de Integración y la arquitectura del entorno. Permite además que las herramientas CASE migren entre distintas plataformas de Hardware y el Sistema Opetativo.

31 Bloques de Construcción
Herramientas CASE Bloques de Construcción ¡¡¡IMPORTANTE!!! No todas las herramientes CASE provienen de estos bloques de construcción, sino que cada uno ofrece una solución puntual a algo sin comunicarse con el resto de las otras.

32 Herramientas CASE No se debe clasificar las herramientas CASE
Clasificación No se debe clasificar las herramientas CASE bajo ningún concepto, pero es necesario hacerlas, para poder entender mejor la amplitud y para apreciar mejor dónde se pueden aplicar estas herramientas dentro del proceso de hardware.

33 Herramientas CASE Herraminetas de Ingeniería de procesos de Negocio
Clasificación Herraminetas de Ingeniería de procesos de Negocio Modelar la información de negocio cuando se tranfiere entre distintas entidades organizativas en el núcleo de una compañía. Herraminetas de Planificación de Proyectos Definir todas las tareas del proyecto para que luego realice una red de tareas. Modelado de Proceso y Gestión. Utilizado para representar los elementos claves del proceso de manera que sea posible entenderlo mejor. Proporcionan vínculos entre otras herramientas. Modelado de Análisis de Riesgo. Construye una tabla de riesgos proporcionando una guía detallada en la identificación y Análisis de Riesgo Herraminetas de Gestión de Proyecto. Herramientas de Documentación. Dichas herramientas proporcionan una facilidad para dicha tarea para quienes desarrollan software. Herramientas de Seguimiento de Requisitos.

34 Herramientas CASE Herraminetas de Gestión de Base de Datos.
Clasificación Herraminetas de Gestión de Base de Datos. Sirve como fundamento para establecer una Base de Datos CASE que será la Base de Datos del proyecto. Herraminetas de Análisis y Diseño Hace posible que el Ingeniero del software cree modelos del sistema que vaya a construir. Herramientas PRO/SIM Proporcionan la capacidad de predecir el comportamiento de un sistema en tiempo real. Herramientas de Desarrollo e Interfaz Son un conjunto de Herramientas de componentes de programa (clases) tales como menús, botones, ventanas, íconos, desplazamiento de pantallas, etc. Herramientas de Construcción de Prototipos Herramientas de Construcción de Programación Abarca los compiladores, editores y depuradores disponibles para apoyar la mayoría de los lenguajes de programación convencionales. Herramientas de Métricas y de gestión.

35 Herramientas CASE La verdadera potencia de las Herramientas CASE
CASE Integrados La verdadera potencia de las Herramientas CASE se logra cuando se integran unas con otras, debido a que: - Producen una reducción en el esfuerzo para efectuar Actividades; - Un aumento considerable del control del proyecto; y - Una mejor coordinación entre miembros del personal.

36 Herramientas CASE Combina toda una gama de Herramientas e
CASE Integrados Combina toda una gama de Herramientas e Información distintas entre personas y procesos. Se integran de tal manera que la información de ingeniería del software está disponible para todas las herramientas que se necesiten.

37 Herramientas CASE Un entorno CASE integrado debería proporcionar:
CASE Integrados Un entorno CASE integrado debería proporcionar: - Mecanismos para compartir la información de la ingeniería del software entre todas las herramientas. Cambios de elementos de información se realicen a las demás. Control de versiones y una gestión de configuarción general para toda la información de la Ingeniería del Software. Permitir un acceso directo y no secuencial a las herramientas del entorno. Dar soporte a la comunicación entre personas y Software. Etc.

38 Herramientas CASE CASE Integrados Para alcanzar estos objetivos, cada uno de los bloques de construcción de una arquitectura deberá encajar con las demás sin ningún tipo de limitación. Deberá unirse a través de un conjunto de servicios de portabilidad a un marco de referencia de integración que alcance los objetivos indicados con anterioridad.

39 Herramientas CASE Repositorio CASE Repositorio es una base de datos que actúa como centro tanto para la acumulación como para el almacenamiento de información de ingeniería del software. Es el conjunto de mecanismos y estructuras de datos que consiguen la integración entre datos y herramientas, y entre datos y datos.

40 Herramientas CASE Sus Objetivos: Cosas a almacenar en un Repositorio:
Repositorio CASE Sus Objetivos: -Integridad de datos, Información Compartida, Integración de datos-herramientas, Integración de datos-datos, Imposición de metodología de trabajo Estandarización de documentos. Cosas a almacenar en un Repositorio: Problema a resolver, Información acerca del dominio del problema, Solución del sistema a medida que se va siguiendo, Reglas e intrucciones relavitas de los procesos, El plan del proyecto, los recursos y su historia, Información a cerca de contexto.

41 Herramientas CASE Repositorio = SGBD Repositorio CASE
Almacenamiento de Datos no Redundante / Acceso a Alto Nivel Independencia de Datos / Control de Transacciones / Seguridad Alamcenamiento de Estructuras de Datos Sofisticadas Imposición de Integridad Etc.

42 FIN


Descargar ppt "Base de Datos REINGENIERIA Universidad Abierta Interamericana"

Presentaciones similares


Anuncios Google