Está en la página 1de 3

I. T. D.

Unidad I
Materia: Desarrollo e implementación de Sistemas de Información UML y el proceso unificado.

1.3. Herramientas CASE para el desarrollo y modelado de sistemas de información.

1.3.1. Definiciones.
Las herramientas CASE (Computer Aided Software Engineering) Ingeniería de software Asistida por computadora) son
diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el
costo de las mismas en términos de tiempo y de dinero. Estas herramientas 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, cálculo de costos,
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. 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 Statement 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 costo 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.

1.3.2 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.

Elaboró: L.I. Araceli Soledad Domínguez Flores Ver.EJ2013 1


I. T. D. Unidad I
Materia: Desarrollo e implementación de Sistemas de Información UML y el proceso unificado.

 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 activa.

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.

Beneficios

Entre los beneficios más significativos de las herramientas CASE se enumeran los siguientes:
1. Facilidad para la revisión de aplicaciones
La experiencia muestra que una vez que las aplicaciones se implementan, se emplean por mucho tiempo. Las
herramientas CASE proporcionan un beneficio substancial para lasorganizaciones al facilitar la revisión de las
aplicaciones. Contar con un depósito central agiliza el proceso de revisión ya que éste proporciona bases para las
definiciones y estándares para los datos. Las capacidades de generación interna, si se encuentran presentes,
contribuyen a modificar el sistema por medio de las especificaciones más que por los ajustes al código fuente.

2. Soporte para el desarrollo de prototipos de sistemas


En general, el desarrollo de prototipos de aplicaciones toma varias formas. En ocasiones se desarrollan diseños para
pantallas y reportes con la finalidad de mostrar la organización y composición de los datos, encabezados y mensajes.
Los ajustes necesarios al diseño se hacen con rapidez para alterar la presentación y las características de la interface.
Sin embargo, no se prepara el código fuente, de naturaleza orientada hacia procedimientos, como una parte del
prototipo. Como disyuntiva, el desarrollo de prototipos puede producir un sistema que funcione. Las características
de entrada y salida son desarrolladas junto con el código orientado hacia los procedimientos y archivos de datos.

3. Generación de código
La ventaja más visible de esta característica es la disminución del tiempo necesario para preparar un programa. Sin
embargo, la generación del código también asegura una estructura estándar y consistente para el programa (lo que tiene
gran influencia en el mantenimiento) y disminuye la ocurrencia de varios tipos de errores, mejorando de esta manera la
calidad. Las características de la generación del código permiten volver a utilizar el software y las estructuras estándares
para generar dicho código, así como el cambio de una especificación modular, lo que significa volver a generar el código
y los enlaces con otros módulos.

4. Mejora en la habilidad para satisfacer los requerimientos del usuario


Es bien conocida la importancia de satisfacer los requerimientos del usuario, ya que esto guarda relación con el éxito del
sistema. De manera similar, tener los requerimientos correctos mejora la calidad de las prácticas de desarrollo. Las

Elaboró: L.I. Araceli Soledad Domínguez Flores Ver.EJ2013 2


I. T. D. Unidad I
Materia: Desarrollo e implementación de Sistemas de Información UML y el proceso unificado.

herramientas CASE disminuyen el tiempo de desarrollo, una característica que es importante para los usuarios. Las
herramientas afectan la naturaleza y cantidad de interacción entre los encargados del desarrollo y el usuario. Las
descripciones gráficas y los diagramas, así como los prototipos de reportes y la composición de las pantallas, contribuyen
a un intercambio de ideas más efectivo.

5. Soporte interactivo para el proceso de desarrollo


La experiencia ha demostrado que el desarrollo de sistemas es un proceso interactivo. Las herramientas CASE soportan
pasos interactivos al eliminar el tedio manual de dibujar diagramas, elaborar catálogos y clasificar. Como resultado de
esto, se anticipa que los analistas repasarán y revisarán los detalles del sistema con mayor frecuencia y en forma más
consistente.

Elaboró: L.I. Araceli Soledad Domínguez Flores Ver.EJ2013 3

También podría gustarte