Você está na página 1de 6

Herramienta CASE

QUÉ ES UNA HERRAMIENTA CASE

CASE es una sigla, que corresponde a las iniciales de: Computer Aided Software Engineering; y en
su traducción al Español significa Ingeniería de Software Asistida por Computación.

El concepto de CASE es muy amplio; y una buena definición genérica, que pueda abarcar esa
amplitud de conceptos, sería la de considerar a la Ingeniería de Software Asistida por Computación
(CASE), como la aplicación de métodos y técnicas a través de las cuales se hacen útiles a las
personas comprender las capacidades de las computadoras, por medio de programas, de
procedimientos y su respectiva documentación.

Concentrando nuestra atención en el uso de estas herramientas, para el desarrollo de proyectos


informáticos que tengan como objetivo la automatización de procedimientos administrativos;
podemos decir que:

Las herramientas CASE representan una forma que permite Modelar los Procesos de Negocios de
las empresas y desarrollar los Sistemas de Información Gerenciales.

Otra Información

Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida
por Ordenador) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el
desarrollo de software reduciendo el coste de las mismas en términos de tiempo y de dinero. Estas
herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software
en tareas como el proceso de realizar un diseño del proyecto, calculo de costes, implementación de
parte del código automáticamente con el diseño dado, compilación automática, documentación o
detección de errores entre otras.

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 mas 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 datos.

• Historia

Ya en los años 70 un proyecto llamado ISDOS diseñó un lenguaje y por lo tanto un producto que
analizaba la relación existente entre los requisitos de un problema y las necesidades que éstos
generaban, el lenguaje en cuestión se denominaba PSL (Problem Statement Language) y la
aplicación que ayudaba a buscar las necesidades de los diseñadores PSA (Problem Statemente
Analyzer).
Aunque ésos son los inicios de las herramientas informáticas que ayudan a crear nuevos
proyectos informáticos, la primera herramienta CASE fue Excelerator que salió a la luz en el año
1984 y trabajaba bajo una plataforma PC.

Las herramientas CASE alcanzaron su techo a principios de los años 90. En la época en la que
IBM había conseguido una alianza con la empresa de software AD/Cycle para trabajar con sus
mainframes, estos dos gigantes trabajaban con herramientas CASE que abarcaban todo el ciclo
de vida del software. Pero poco a poco los mainframes han ido siendo menos utilizados y
actualmente el mercado de las Big CASE ha muerto completamente abriendo el mercado de
diversas herramientas más específicas para cada fase del ciclo de vida 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 semiautomatizan 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 si, 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

Requisitos de aplicación de Case:


• Conocimiento y manejo de metodologías.
• Capacidad de trabajo en equipo.
• Desarrollo conjunto con los usuarios (Prototipos).
• Equipamiento apropiado.

Componentes y funcionalidades de una herramienta CASE


Repositorio:

Base de datos central de una herramienta CASE. El repositorio amplía el concepto de diccionario de
datos para incluir toda la información que se va generando a lo largo del ciclo de vida del sistema,
como por ejemplo: componentes de análisis y diseño (diagramas de flujo de datos, diagramas
entidad-relación, esquemas de bases de datos, diseños de pantallas), estructuras de programas,
algoritmos, etc.

Las características más importantes de un repositorio son:


* Tipo de información: Que contiene alguna metodología concreta, datos, gráficos, procesos,
informes, modelos o reglas.

* Tipo de controles: Si incorpora algún módulo de gestión de cambios, de mantenimiento de


versiones, de acceso por clave, de redundancia de la información.

* Tipo de actualización: Si los cambios en los elementos de análisis o diseño se ven


reflejados en el repositorio en tiempo real o mediante un proceso por lotes. Esto será
importante en función a la necesidad de que los cambios sean visibles por todos los usuarios,
en el acto.

* Reutilización de módulos para otros diseños: El repositorio es la clave para identificar,


localizar y extraer código para su reutilización.

Módulos de diagramación y modelación

Algunos de los diagramas y modelos utilizados con mayor frecuencia son:

 Diagrama de flujo de datos.

 Modelo entidad - interrelación.

 Historia de la vida de las entidades.

 Diagrama Estructura de datos.

 Diagrama Estructura de cuadros.


 Técnicas matriciales.

Herramienta de prototipazo

El objetivo principal de esta herramienta es poder mostrar al usuario, desde los momentos iniciales
del diseño, el aspecto que tendrá la aplicación una vez desarrollada. Ello facilitará la aplicación de
los cambios que se consideren necesarios, todavía en la fase de diseño.

Para la construcción del resto de la aplicación. Actualmente, es imprescindible utilizar productos que
incorporen esta funcionalidad por la cambiante tecnología y necesidades de los usuarios. Los
prototipos han sido utilizados ampliamente en el desarrollo de sistemas tradicionales, ya que
proporcionan una realimentación inmediata, que ayudan a determinar los requisitos del sistema. Las
herramientas CASE están bien dotadas, en general, para crear prototipos con rapidez y seguridad.

Generador de código

Normalmente se suele utilizar sobre ordenadores personales o estaciones de trabajo, por lo que el
paso posterior del código al host puede traer problemas, al tener que compilar en ambos entornos.

Módulo generador de documentación

El módulo generador de la documentación se alimenta del repositorio para transcribir las


especificaciones allí contenidas.

Otra posible clasificación, utilizando la funcionalidad como criterio principal, es la siguiente:

• Herramientas de planificación de sistemas de gestión. Sirven para modelizar los requisitos


de información estratégica de una organización. Proporcionan un "metamodelo" del cual se
pueden obtener sistemas de información específicos. Su objetivo principal es ayudar a
comprender mejor cómo se mueve la información entre las distintas unidades organizativas.
Estas herramientas proporcionan una ayuda importante cuando se diseñan nuevas estrategias
para los sistemas de información y cuando los métodos y sistemas actuales no satisfacen las
necesidades de la organización.

• Herramientas de análisis y diseño. Permiten al desarrollador crear un modelo del sistema que
se va a construir y también la evaluación de la validez y consistencia de este modelo.
Proporcionan un grado de confianza en la representación del análisis y ayudan a eliminar errores
con anticipación. Se tienen:

o Herramientas de análisis y diseño (Modelamiento).


o Herramientas de creación de prototipos y de simulación.
o Herramientas para el diseño y desarrollo de interfases.
o Máquinas de análisis y diseño (Modelamiento).

• Herramientas de programación. Se engloban aquí los compiladores, los editores y los


depuradores de los lenguajes de programación convencionales. Ejemplos de estas herramientas
son:

o Herramientas de codificación convencionales.


o Herramientas de codificación de cuarta generación.
o Herramientas de programación orientadas a los objetos.

• Herramientas de integración y prueba: Sirven de ayuda a la adquisición, medición, simulación


y prueba de los equipos lógicos desarrollados. Entre las más utilizadas están:

o Herramientas de análisis estático.


o Herramientas de codificación de cuarta generación.
o Herramientas de programación orientadas a los objetos.

• 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 para un mejor entendimiento de cómo los requisitos de un sistema de información se ajustan a
los objetivos perseguidos.

• Herramientas de mantenimiento: La categoría de herramientas de mantenimiento se puede


subdividir en:

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. La mayoría de las herramientas CASE de gestión de


proyectos, se centran en un elemento específico de la gestión del proyecto, en lugar de
proporcionar un soporte global para la actividad de gestión. Utilizando un conjunto seleccionado
de las mismas se puede: realizar estimaciones de esfuerzo, coste y duración, hacer un
seguimiento continuo del proyecto, estimar la productividad y la calidad, etc. Existen también
herramientas que permiten al comprador del desarrollo de un sistema, hacer un seguimiento que
va desde los requisitos del pliego de prescripciones técnicas inicial, hasta el trabajo de desarrollo
que convierte estos requisitos en un producto final. Se incluyen dentro de las herramientas de
control de proyectos las siguientes:

o Herramientas de planificación de proyectos.


o Herramientas de seguimiento de requisitos.
o Herramientas de gestión y medida.

• Herramientas de soporte. Se engloban en esta categoría las herramientas que recogen las
actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a
continuación:
o Herramientas de documentación.
o Herramientas para software de sistemas.
o Herramientas de control de calidad.
o Herramientas de bases de datos.

Lista de aplicaciones CASE

ArgoUML
Blue Ink
BPWin
CASE Studio 2
CASEWise
Database Designer for MySQL
DBDesigner 4
DeZign for Databases
DMS Software Reengineering Toolk
Dreamweaver CS4
EasyCase
Eclipse
Embarcadero ER/Studio
Enterprise Architect
AllFusion ERWin
eREQUIREMENTS
GeneXus
GNU Ferret
INNOVATOR
iRise
IRqA
MagicDraw
MetaCASEl
Modelistic
MOSKitt
Obsydian / Plex - Sitio Web
Oracle Designer
Rational ClearCASE
Rational Rose
SILVERRUN
SQL POWER Power*Architect
swREUSER - Sitio Web
Sybase PowerDesigner - Sitio Web
System Architect - Sitio Web
Together
Topcased
TotalCASE
Umbrello
Visible Enterprise Products
Visual Paradigm for UML
Xcase Database Design Softwarel
CodeIgniter (MVC)

Você também pode gostar