jueves, 1 de diciembre de 2011

herramientas case

Definición de las herramientas Case


         De acuerdo con Kendall y Kendall la ingeniería de sistemas asistida por ordenador es la aplicación de tecnología informática a las actividades, las técnicas y las metodologías propias de desarrollo, su objetivo es acelerar el proceso para el que han sido diseñadas, en el caso de CASE para automatizar o apoyar una o más fases del ciclo de vida del desarrollo de sistemas.
         Cuando se hace la planificación de la base de datos, la primera etapa del ciclo de vida de las aplicaciones de bases de datos, también se puede escoger una herramienta CASE (Computer-Aided Software Engineering) que permita llevar a cabo el resto de tareas del modo más eficiente y efectivo posible. Una herramienta CASE suele incluir:
•   Un diccionario de datos para almacenar información sobre los datos de la aplicación de bases de datos.
•    Herramientas de diseño para dar apoyo al análisis de datos.
• Herramientas que permitan desarrollar el modelo de datos corporativo, así como los esquemas conceptual y lógico.
•   Herramientas para desarrollar los prototipos de las aplicaciones.
         El uso de las herramientas CASE puede mejorar la productividad en el desarrollo de una aplicación de bases de dato.



Utilización de las herramientas case
         El uso de herramientas case contribuye a mejorar la calidad de la productividad de una tarea desarrollada en un programa.
         Las herramientas aumentan la productividad del analista al disminuirla cantidad de tiempo necesario para documentar, analizar y desarrollar sistemas de información relacionado a la Ingeniería del software o no lo esté.
         Una parte muy importante de los sistemas CASE es que ayudan a los desarrolladores de software empresariales a calendarizar las actividades de análisis y diseño, así como la asignación de recursos a las diferentes actividades de un proyecto especifico de acuerdo a las exigencias del usuario.
         Algunas herramientas CASE para administración permiten que los gerentes de proyecto especifiquen elementos de su propia elección.

Clasificación de las herramientas case
         Aunque no es fácil y no existe una forma única de clasificarlas, las herramientas CASE se pueden clasificar teniendo en cuenta los siguientes parámetros:
 1. Las plataformas que soportan.
 2. Las fases del ciclo de vida del desarrollo de sistemas que cubren.
 3. La arquitectura de las aplicaciones que producen.
 4. Su funcionalidad.
         La siguiente clasificación es la más habitual basada en las fases del ciclo de desarrollo que cubren:
         Upper CASE (U-CASE), herramientas que ayudan en las fases de planificación, análisis de requisitos y estrategia del desarrollo, usando, entre otros diagramas UML.
          Middle CASE (M-CASE), herramientas para automatizar tareas en el análisis y diseño de la aplicación.
        Lower CASE (L-CASE), herramientas que semi-automatizan la generación de código, crean programas de detección de errores, soportan la depuración de programas y pruebas. Además automatizan la documentación completa de la aplicación. Aquí pueden incluirse las herramientas de Desarrollo rápido de aplicaciones.
         Existen otros nombres que se le dan a este tipo de herramientas, y que no es una clasificación excluyente entre sí, ni con la anterior:
         Integrated CASE (I-CASE), herramientas que engloban todo el proceso de desarrollo software, desde análisis hasta implementación.
         MetaCASE, herramientas que permiten la definición de nuestra propia técnica de modelado, los elementos permitidos del metamodelo generado se guardan en un repositorio y pueden ser usados por otros analistas, es decir, es como si definiéramos nuestro propio UML, con nuestros elementos, restricciones y relaciones posibles.
          CAST (Computer-Aided Software Testing), herramientas de soporte a la prueba de software.
         IPSE (Integrated Programming Support Environment), herramientas que soportan todo el ciclo de vida, incluyen componentes para la gestión de proyectos y gestión de la configuración.
Por funcionalidad podríamos diferenciar algunas como:
Herramientas de generación semiautomática de código.
Editores UML.
Herramientas de Refactorización de código.
          Herramientas de mantenimiento como los sistemas de control de versiones