1. INTRODUCCIÓN
En las últimas décadas se ha trabajado en el desarrollo de sistemas para
encontrar técnicas para incrementar la productividad y calidad en el
proceso de elaboración del software, hoy la herramienta CASE
(ComputerAided Software Engineering) a remplazado el papel y lápiz
por el ordenador para la transformación del desarrollo de software en un
proceso automatizado.
La tecnología CASE supone la automatización del desarrollo de software
para elevar la productividad y la calidad en el desarrollo de sistemas
análogas a lo que suponen las técnicas CAD/CAM en este enfoque
permite mejorar la calidad del software.
• La mejora y la estandarización de la documentación.
• Aumentar la portabilidad de las aplicaciones.
• Facilitar la reutilización de componentes de software
• Permitir un desarrollo y un refinamiento de las aplicaciones, mediante
la utilización de controles gráficos.
La herramienta CASE sirven para apoyar una fase del ciclo de vida del
sistema.
Cuando se planifica la base de datos permite escoger una herramienta
CASE para llevar de forma eficaz y posible las tareas, también suelen
incluir:
• Un diccionario para los datos de la aplicación de base de datos.
• Herramientas de diseño para dar apoyo al análisis de datos.
• Herramientas para desarrollar el modelo de datos corporativo, los
esquemas conceptual y lógico.
• Herramientas para desarrollar los prototipos de las aplicaciones.
Con el uso de la herramienta CASE puede mejorar la productividad de
aplicaciones de base de datos.
2. Un proceso de desarrollo de software consiste de las siguientes etapas:
Análisis
Diseño
Implementación
Pruebas
Producción
En las cuales, la salida de cada etapa es entrada de la siguiente. El
producto generado como salida de una etapa puede tener distintas
formas, por ejemplo pueden ser documentos, diagramas, código fuente,
etc. El tiempo y otros recursos que se le asignan a cada etapa
dependerá del tipo de proyecto que se esté realizando, tal vez un
sistema con poca funcionalidad pero donde hay que resolver un
problema complejo, las etapas de análisis y diseño sean las más largas,
mientras que si se tiene mucha funcionalidad pero más simple, tal vez
las etapas de implementación y pruebas sean más largas, esto no se
puede generalizar para todos los tipos distintos de proyectos.
No disponemos de herramientas, ni siquiera de metodologías, que nos
permitan transformar el software ordinario en otro que sea fiable y
fácilmente mantenible. Los sistemas software medianamente grandes
suelen estar "plagados" de errores, y realizar cambios en ellos es,
cuando menos, una tarea arriesgada.
Frente a este duro panorama, nos encontramos con la necesidad de
cometer el desarrollo de programas cada vez mayores. Para poder
realizar estos desarrollos con la mejor calidad posible se hace necesaria
la utilización de ciertas estrategias que, si bien no garantizan un buen
resultado, si suelen mejorar bastante las características del producto
desarrollado.