Computer Aided Software Engineering, Ingeniería de Software Asistida por
Computadora) como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un Software son: Investigación Preliminar, Análisis, Diseño, Implementación e Instalación. Conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases. La sigla genérica para una serie de programas y una filosofía de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas. Una innovación en la organización, un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización. Se puede ver al CASE como la unión de las herramientas automáticas de software y las metodologías de desarrollo de software formales.
Clasificación de las Herramientas CASE
La clasificación de las herramientas case no es concreta, estas pueden clasificarse por su función, por las plataformas que soportan, por el rol que toman como instrumento para los desarrolladores, por su uso y en que parte se utiliza de la ingeniería de software, por su arquitectura, etc. En función a las fases del ciclo de vida del software pueden clasificarse en: I-CASE.- Encargadas de automatizar tareas en cualquier parte del ciclo de vida del sistema. U-CASE.-Encargadas de automatizar el soporte de actividades en la fase de diagramación análisis y diseño. Alto nivel M-CASE.- Encargadas de automatizar el soporte de actividades en la fase de diagramación análisis y diseño. Consideradas de alto nivel. Nivel Medio L-CASE.- Encargadas de las últimas fases del ciclo de vida: construcción e implementación. Tools-CASE.- El tipo más sencillo de herramientas, y automatizan solamente la fase de mantenimiento de un sistema. Herramientas de planificación de sistemas de gestión. Sirven para modelar los requisitos de información estratégica de una organización. Herramientas de análisis y diseño. Permiten crear un modelo del sistema a desarrollar para la evaluación de la validez y consistencia del modelo mismo. o Herramientas de análisis y diseño o Herramientas de creación de prototipos o Herramientas de desarrollo de interfaces Herramientas de programación. Abarcan los compiladores, editores y depuradores de lenguajes de programación. o Herramientas de codificación o Herramientas de codificación de cuartar generación o Herramientas de programación orientada a objetos Herramientas de integración y prueba. Proporcionan ayuda a la simulación y prueba de equipos lógicos desarrollados. o Herramientas de análisis estático Herramientas de gestión de prototipos. Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluación de especificaciones de un sistema de información. o Herramientas de ingeniería inversa o Herramientas de reestructuración y análisis de código o Herramientas de reingeniería Herramientas de gestión de proyectos. Estas herramientas se centran en un elemento específico del proyecto, puede realizar estimaciones de esfuerzo, coste y duración, productividad y calidad etc. o Herramientas de planificación de proyectos o Herramientas de seguimiento de requisitos o Herramientas de gestión y medida. Herramientas de soporte.- Herramientas que recogen las actividades aplicables en todo el proceso de desarrollo o Herramientas de documentación o Herramientas para software de sistemas o Herramientas de control de calidad o Herramientas de bases de datos Otra clasificación sería por su función: Repositorio. Es un concepto más amplio que el diccionario de datos y soporta a los demás grupos de funciones. No es fácil de encontrar individualmente, porque cualquier sistema CASE contiene un repositorio propio o bien, trabaja sobre el repositorio de otro fabricante o vendedor. Re-ingeniería. Facilita la realización de modificaciones en la fase más adecuada en cada caso y su traslado a las demás. Soporte de ciclo de vida. Aunque el número de fases puede ser variable en cuestión a cual se adopte. Soporte de proyecto. Soporte de actividades que se producen durante el desarrollo del proyecto. Mejora continua. Asocia a los sistemas CASE con la mejora de la productividad en es desarrollo de aplicaciones.