Frase del Día

La tecnología vino a resolver problemas que no teníamos

miércoles, 8 de diciembre de 2010

Herramientas CASE



¿Qué significa CASE?

El taller de ingeniería del software se denomina un entorno de apoyo integrado a proyectos, y el conjunto de herramientas que llena ese taller se denomina ingeniería del software asistida por computadora (CASE). CASE proporciona al ingeniero la posibilidad de automatizar actividades manuales y de mejorar su visión general de la ingeniería. Al igual que las herramientas de ingeniería y de diseño asistidos por computadora que utilizan los ingenieros de otras disciplinas, las herramientas CASE ayudan a garantizar que la calidad se diseñe antes de llegar a construir el producto.



Construcción de bloques
Básicos para CASE


Cada bloque de construcción forma el fundamento del siguiente, estando las herramientas situadas en la parte superior del montón. Es interesante tener en cuenta que el fundamento de los entornos CASE efectivos tiene relativamente poco que ver con las herramientas de ingeniería del software en sí. Más bien, los entornos para la ingeniería del software se construyen con éxito sobre una arquitectura de entornos que abarca un hardware y un software de sistemas adecuados. Además, la arquitectura del entorno deberá tener en cuenta los patrones de trabajo humano que se aplicarán durante el proceso de ingeniería del software.



Objetivos

   1. Mejorar la productividad en el desarrollo y mantenimiento del software.
   2. Aumentar la calidad del software.
   3. Reducir el tiempo y coste de desarrollo y mantenimiento de los sistemas informáticos.
   4. Mejorar la planificación de un proyecto
   5. Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la búsqueda de soluciones para los requisitos.
   6. Automatizar el desarrollo del software, la documentación, la generación de código, las pruebas de errores y la gestión del proyecto.
   7. Ayuda a la reutilización del software, portabilidad y estandarización de la documentación
   8. Gestión global en todas las fases de desarrollo de software con una misma herramienta.
   9. Facilitar el uso de las distintas metodologías propias de la ingeniería del software.


Clasificación 

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·


Fuente
Ingeniería del Software, un enfoque práctico
Roger S. Pressman
McGraw-Hill, 2006 - 958 páginas

Otra fuente:
Herramientas CASE

No hay comentarios:

Publicar un comentario