En tecnología de la información, una herramienta de ingeniería de sistemas asistida por computadora (CASE) es un software que ayuda con el desarrollo de software. El propósito principal de usar una herramienta CASE es producir un código de programa libre de errores y fácil de mantener. También permite a los usuarios desarrollar sistemas de software más rápidamente de lo que sería posible sin el uso de dicha herramienta.
Las herramientas CASE se pueden utilizar a lo largo del ciclo de desarrollo del sistema de información, en áreas tan diversas como gestión de proyectos, análisis de requisitos comerciales, análisis y diseño de sistemas, programación y aseguramiento de la calidad. Aunque una herramienta CASE se puede utilizar en cualquiera de las fases de desarrollo, las herramientas se utilizan con mayor frecuencia en las fases de diseño del sistema y programación informática. Estas herramientas comenzaron a desarrollarse en la década de 1970, basándose en las tendencias de los procesos de fabricación de hardware. Las metodologías de desarrollo de software no estaban bien definidas en ese momento, y las herramientas CASE agregaron estructura y rigor al proceso de desarrollo de software.
Una herramienta CASE a menudo permite a los desarrolladores programar visualmente, así como utilizar métodos de programación orientada a objetos (OOP). Una herramienta de diseño Unified Markup Language (UML) es un ejemplo de una herramienta CASE. La herramienta puede generar documentos de diseño del sistema y código de programa como parte del diseño visual, lo que reduce el tiempo de desarrollo y aumenta la precisión de los documentos y el código.
El uso de una herramienta CASE para el desarrollo de software ofrece una serie de beneficios, especialmente cuando se implementa para cada fase del ciclo de desarrollo. En general, las herramientas apoyan el diseño de sistemas estructurados y la programación informática mediante el uso de una metodología organizada, que mejora la reutilización del diseño y el código. Con una implementación completa de las herramientas CASE, los requisitos comerciales del sistema están documentados y rastreados, lo que facilita la verificación de que cada requisito del sistema se implementó y probó. El sistema terminado debería tener menos errores de programación. Aunque algunas fases del ciclo de desarrollo pueden llevar más tiempo, como el análisis de requisitos, el proceso general debería ser más rápido que el desarrollo sin las herramientas.
Varias tendencias destacan la necesidad de que los equipos de desarrollo de software obtengan estos beneficios. Las aplicaciones informáticas son cada vez más complejas, por lo que son más difíciles de comprender y administrar. Hay más equipos de desarrollo de software dispersos geográficamente y los miembros pueden estar trabajando en diferentes zonas horarias y para diferentes empresas. Los altos costos de desarrollo del sistema y la necesidad de reducir el tiempo de comercialización añaden presión al proceso de desarrollo. Con esta combinación de desafíos, la implementación de una herramienta CASE se ha vuelto cada vez más crítica para un proceso de desarrollo de software exitoso.