UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS SISTEMAS DE INFORMACIÓN III LABORATORIO CONTENIDO: CONSIDERACIONES GENERALES SOBRE LAS HERRAMIENTAS CASE Material diseñado y elaborado por: Prof. Anna Grimán Prof. Luis Eduardo Mendoza UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ¿QUÉ SON LAS HERRAMIENTAS CASE? Según varios autores, Computer Aided Software Engineering o Computer Aided Systems Engineering, es: • “el software que se utiliza en cualquiera o en todas las fases de desarrollo de un Sistema de Información, incluyendo el análisis, diseño y programación. Las herramientas CASE proporcionan métodos automáticos para diseñar y documentar las técnicas tradicionales de programación estructurada”. (Freedman, 1993) • “el uso de soporte computarizado en el proceso de desarrollo de software. Una herramienta CASE es un producto de computadoras que ayuda en el soporte de una o más actividades de la ingeniería de software dentro de un proceso de desarrollo de software”. (Brown et al., 1994) Continúa . . . SISTEMAS DE INFORMACIÓN III LABORATORIO UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ¿QUÉ SON LAS HERRAMIENTAS CASE? Continuación . . . • “la automatización de las técnicas, notaciones y métodos para el desarrollo de software. CASE incluye herramientas de diagramación para los modelos y las especificaciones, verificación y chequeo, un repositorio común y capacidades de generación para la documentación, código y casos de evaluación”. (Topper et al., 1994) • “un amplio rango de herramientas para soportar el desarrollo de software han sido desarrolladas y el término computer-aided software engineering (CASE) está siendo usado como un término genérico para el soporte automatizado de la ingeniería de software”. (Sommerville, 1998) • “Las herramientas CASE son programas (software) que automatizan o soportan una o más fases del ciclo de vida de desarrollo de sistemas”. (Whitten y Bentley, 1998) SISTEMAS DE INFORMACIÓN III LABORATORIO UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS LOS TIPOS DE HERRAMIENTAS CASE Algunos autores proponen diferentes clasificaciones de las herramientas CASE: (Losavio, 1997) 1) Interactivas. Las que soportan métodos de análisis y diseño. No interactivas. Los compiladores. 2) Front-end CASE tools. Soporte para actividades tempranas en el ciclo de vida de un proyecto de software (requerimientos y diseño). “Herramientas CASE que ayudan en el análisis y en el diseño de sistemas”. (Freedman, 1993) Back-end CASE tools. Soporte para las actividades tardías en el ciclo de vida de un proyecto de software (compiladores y soporte para pruebas). “Herramientas CASE que generan código de programas”. (Freedman, 1993) 3) CASE verticales. Específicas a una fase o dominio específico (herramientas de diseño o codificación). CASE horizontales. Comunes a varias fases o dominios (herramientas de documentación, gestión de configuración, ayudas). SISTEMAS DE INFORMACIÓN III LABORATORIO UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS LOS TIPOS DE HERRAMIENTAS CASE Fuggetta (Fuggetta, 1993) propone la siguiente clasificación, basada en las diferentes posibilidades de soporte que pueden brindar las herramientas CASE al proceso de desarrollo de SI: 1) Herramientas. Apoyan tareas individuales del proceso, tales como verificar la consistencia de un diseño, compilar un programa, comparar los resultados de pruebas, y así sucesivamente. Las herramientas pueden ser de propósito general, autosuficientes (por ejemplo, un procesador de palabras) o pueden agruparse en el workbenches. 2) Workbenches. Apoyan fases del proceso o actividades, tales como la especificación, el diseño, y así sucesivamente. Ellos normalmente están conformados por un juego de herramientas con algún grado de integración. 3) Ambientes. Apoyan todos o por lo menos una parte sustancial del proceso de desarrollo del software. Ellos normalmente incluyen varios workbenches diferentes integrados de alguna manera. SISTEMAS DE INFORMACIÓN III LABORATORIO UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS AMBIENTE CASE Integrador de Herramientas Desarrolladores y Gerentes de Software Herramienta CASE A Herramienta CASE B ... Herramienta CASE B Administrador del Sistema Plataforma de Hardware y Software (p.e.: estaciones de trabajo y sistema operativo) Ambiente CASE típico. Fuente: (Brown et al., 1994) Un ambiente CASE es “un conjunto de herramientas CASE y otros elementos (plataforma de hardware/software), junto con un enfoque de integración, que soporta la mayoría o todas las interacciones entre las componentes del ambiente y entre sus usuarios” (Brown et al., 1994) AMBIENTE CASE = CASE TOOLS + PLATAFORMA + INTEGRACIÓN Definición de ambiente CASE. Fuente: (Losavio, 1997) SISTEMAS DE INFORMACIÓN III LABORATORIO UNIVERSIDAD SIMÓN BOLÍVAR DEPARTAMENTO DE PROCESOS Y SISTEMAS ELEMENTOS DE UN AMBIENTE CASE INTEGRADO Bloques básicos: • Arquitectura • Plataforma hardware • Sistema operativo Servicios de portabilidad Marco de integración Herramientas CASE Elementos de un ambiente CASE integrado. Fuente: (Pressman, 1998) • Los servicios de portabilidad permiten que las herramientas CASE y su marco de integración puedan migrar a través de diferentes plataformas hardware y sistemas operativos sin grandes esfuerzos de adaptación. • El marco de integración es un conjunto de programas especializados que permiten a cada herramienta CASE comunicarse con las demás, para crear una base de datos de proyectos y mostrar una apariencia homogénea al usuario final (el ingeniero de software). SISTEMAS DE INFORMACIÓN III LABORATORIO