Los sistemas heredados acostumbran a constar de cientos de millones de líneas de código en incontables idiomas habituales. El desarrollo de extensión supone investigar el código, obtener la lógica empresarial, remover el código fallecido y ordenar los módulos en elementos lógicos. Los desarrolladores expertos tienen la posibilidad de efectuar estas tareas de forma manual. No obstante, gracias a las distintas implicaciones de tiempo, valor y peligro de la intervención manual, la extensión fundamentada en herramientas es una alternativa mucho más rápida, simple y productivo.
Enfoque de extensión apoyado en herramientas
La demanda de un avance veloz de apps, adjuntado con adelantos significativos en la automatización del avance de programa, llevó a la creación de herramientas que automatizan y respaldan el desarrollo de extensión heredado. En los sistemas que ya están, un solo programa efectúa múltiples funcionalidades o múltiples programas tienen la posibilidad de efectuar una cierta función. Entender todas y cada una de las operaciones efectuadas por una función es una labor bien difícil en concepto de escala, esfuerzo y dificultad. Puede ser preciso investigar múltiples programas para entender totalmente solo una característica. Este procedimiento necesita bastante tiempo y es predispuesto a fallos.
Provecho de emplear una herramienta
Las extensiones fundamentadas en herramientas tienen la posibilidad de ser útiles en:
- Extracción de lógica empresarial: una herramienta puede obtener la lógica de negocio relacionada con la utilidad de todos y cada uno de los programas y lograr que toda la ocupación esté libre como un repositorio de reglas de negocio. Al hacer de manera automática el análisis servible, el creador puede dedicar mucho más tiempo a mejorar y hacer elementos de código.
- Extracción de nivel servible y de sistema: una herramienta puede obtener la lógica empresarial tanto a nivel de sistema como a nivel servible. La implementación de una herramienta garantiza que se extraiga del sistema una vista completa de la actividad mientras que da una imagen precisa de la utilidad de la app.
- Representación gráfica del fluído del sistema: una herramienta asimismo puede proveer una representación gráfica del fluído del sistema y destacar múltiples módulos del programa. Esto le da al creador una mejor entendimiento del sistema. Las herramientas asimismo se tienen la posibilidad de emplear para los sacrificios de migración de datos, lo que vuelve posible el modelado de datos para el sistema de destino. O sea realmente útil en casos como transformar VSAM a RDBMS.
Comunmente, un enfoque apoyado en herramientas para la extensión heredada supone los próximos pasos:
Bases de inventario
- La herramienta consigue un inventario por módulos.
- Prácticas, programas, etcétera. Están reportados. Por servirnos de un ejemplo, el software A llama a otro programa B y el software B no está en el inventario de programas. El software B se puede importar al inventario de herramientas.
- El período prosigue hasta el momento en que se completa el inventario.
- Los programas redundantes, esto es, los programas a los que no se refiere ningún otro programa, se identifican y también ignoran.
Planificación y programación
- Los programas importados se examinan por su dificultad. Distintas herramientas usan distintas algoritmos para saber la dificultad.
- El análisis de dificultad asiste para deducir el ahínco para la extensión del programa y una mejor planificación y programación de las ocupaciones primordiales.
Generación de fluído de desarrollo
- La herramienta crea un fluído de desarrollo para una transacción.
- Resalte las referencias cruzadas y la interdependencia entre programas, trabajos por lotes, módulos, etcétera.
- La representación visual deja una mejor entendimiento del sistema a nivel macro y micro.
Modelado de datos
- La herramienta crea un modelo de datos “como és” del sistema de hoy.
- Este modelo se puede estandarizar y mejorar aún mucho más para agradar las pretensiones del cliente.
- Este modelo de datos se puede exportar para su empleo directo a través de herramientas estándar como Rational Rose, ERWIN, etcétera., para hacer la banco de información de destino.
- La plantilla asimismo se puede usar para hacer un DDL para la banco de información de destino. Esta característica añade mucho más valor al editar el grupo de datos VSAM a RDBMS.
- Las dependencias y relaciones entre distintas entidades se tienen la posibilidad de modelar usando interfaces gráficas.
- En la mayor parte de las situaciones, el backend se puede dejar sin cambios.
Extracción y extensión de conocimiento
- Las reglas complicadas se dividen en reglas atómicas independientes. Las reglas extraídas se examinan y validan con el código y la ocupación recientes. Se suprime el código redundante
- Los “casos de empleo” se diseñan y asignan a las reglas de negocio correctas, que le dejan desarrollar los elementos que se traducen al programa en el idioma de destino. Un ingrediente puede integrar múltiples funcionalidades. El diseño de los elementos es dependiente de la arquitectura y la infraestructura de destino.
Distribución
- La app rediseñada está expuesta a individuos internos para evaluar su ocupación.
- El programa generado se incorpora en la interfaz de destino.