100% encontró este documento útil (1 voto)
66 vistas13 páginas

Herramientas CASE en Ingeniería de Software

Las herramientas CASE son herramientas que asisten el proceso de desarrollo de software automatizando tareas como el desarrollo, documentación, generación de código y pruebas. Tienen como objetivos mejorar la productividad, calidad y reducir los costos de desarrollo de software. Algunas herramientas CASE comunes incluyen Erwin, EasyCASE, Oracle Designer y Rational Rose.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
66 vistas13 páginas

Herramientas CASE en Ingeniería de Software

Las herramientas CASE son herramientas que asisten el proceso de desarrollo de software automatizando tareas como el desarrollo, documentación, generación de código y pruebas. Tienen como objetivos mejorar la productividad, calidad y reducir los costos de desarrollo de software. Algunas herramientas CASE comunes incluyen Erwin, EasyCASE, Oracle Designer y Rational Rose.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

CASE

Las herramientas CASE son un conjunto de herramientas y métodos asociados


que proporcionan asistencia automatizada en el proceso de desarrollo del software
a lo largo de su ciclo de vida.
Fueron desarrolladas para automatizar esos procesos y facilitar las tareas de
coordinación de los eventos que necesitan ser mejorados en el ciclo de desarrollo
de software.
OBJETIVOS
1. Mejorar la productividad 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. Aumentar la productividad de las áreas de desarrollo y mantenimiento de
los sistemas informáticos.
8. Ayuda a la reutilización del software, portabilidad y estandarización de la
documentación.
9. Gestión global en todas las fases de desarrollo de software con una misma
herramienta.
10. Facilitar el uso de las distintas metodologías propias de la ingeniería del
software.
AUTOMATIZAR:
 El desarrollo del software.
 La documentación.
 La generación del código.
 El chequeo de errores.
 La gestión del proyecto.
PERMITIR:
 La reutilización (reusabilidad) del software.
 La portabilidad del software.
 La estandarización de la documentación.
 Integrar las Mejorar el archivo de datos (enciclopedia) de conocimientos.
 Facilitar la utilización de las distintas metodologías que desarrollan la propia
Ingeniería del software.

CARACTERÍSTICAS

Características que debe Soportar:


 Soporte gráfico para varias técnicas (DFD, E/R, STD, modelos OO, etc.)
 Control de errores “Consistencia”: Unicidad identificadores, reglas
metodología, etc.
 Validación entre diferentes modelos:
 En una fase (Por ejemplo: entre DFD y E/R)
 En varias fases (DFD análisis y diseño; DFD diseño y Diagrama de
estructuras).

CARACTERÍSTICAS DESEABLES
 Soporte multiusuario.
 Personalización.
 Control de documentos y versiones.
 Gestión de proyectos.
 Estadísticas de productividad y métricas del software.
 Pruebas.
 Simulación y Prototipado.
 Demostración correcciones especificaciones y/o software.
 Generación de código.
VENTAJAS

Estas herramientas pueden proveer muchos beneficios en todas las etapas del
proceso de desarrollo de software, algunas de ellas son:
 Mejora en la productividad
   Mejora en la eficacia
   Mejora en la calidad del sistema de información
   Disminución de tiempo
   Automatización de tareas tediosas
   Garantizar la consistencia de los procedimientos
   Verificar el uso de todos los elementos en el sistema diseñado.
   Automatizar el dibujo de diagramas.
   Ayudar en la documentación del sistema.
   Ayudar en la creación de relaciones en la Base de Datos.
   Generar estructuras de código.

DESVENTAJAS
 Confiabilidad en los métodos estructurados.
 Falta de niveles estándar para el soporte de la metodología.
 Conflictos en el uso de los diagramas.
 Diagramas no utilizados.
 Función limitada.
 Costo de adquisición.
HERRAMIENTAS CASE MÁS UTILIZADAS
 Erwin. PLATINUM Erwin es una herramienta de diseño de base de datos.
Brinda productividad en diseño, generación, y mantenimiento de
aplicaciones. Desde un modelo lógico de los requerimientos de información,
hasta el modelo físico perfeccionado para las características específicas de
la base de datos diseñada.
 EasyCASE. Esta herramienta permite automatizar las fases de análisis y
diseño dentro del desarrollo de una aplicación, para poder crear las
aplicaciones eficazmente – desde procesamiento de transacciones a la
aplicación de bases de datos de cliente/servidor, así como sistemas de
tiempo real.
 Oracle Designer. Oracle Designer es un juego de herramientas para
guardar las definiciones que necesita el usuario y automatizar la
construcción rápida de aplicaciones cliente/servidor flexibles y gráficas.
Integrado con Oracle Developer
 PowerDesigner. PowerDesigner es una suite de aplicaciones de Powersoft
para la construcción, diseño y modelado de datos a través de diversas
aplicaciones. Es la herramienta para el análisis, diseño inteligente y
construcción sólida de una base de datos y un desarrollo orientado a
modelos de datos a nivel físico y conceptual, que dan a los desarrolladores
Cliente/Servidor la más firme base para aplicaciones de alto rendimiento.
 System Architect. Esta herramienta posee un repositorio único que integra
todas las herramientas, y metodologías usadas. En la elaboración de los
diagramas, el System Architect conecta directamente al diccionario de
datos, los elementos asociados, comentarios, reglas de validaciones,
normalización, etc. Posee control automático de diagramas y datos,
normalizaciones y balance amiento entre diagramas "Padre e Hijo", además
de balance amiento horizontal, que trabaja integrado con el diccionario de
datos, asegurando la compatibilidad entre el Modelo de Datos y el Modelo
Funcional.
 Rational Rose. Rational Rose es una herramienta de producción y
comercialización establecidas por Rational Software Corporation
(actualmente parte de IBM). Rose es un instrumento operativo conjunto que
utiliza el Lenguaje Unificado (UML) como medio para facilitar la captura de
dominio de la semántica, la arquitectura y el diseño. Este software tiene la
capacidad de : Crear, Ver, Modificar y Manipular los componentes de un
modelo.
CLASIFICACIÓN
 Herramientas integradas, I-CASE (Integrated CASE, CASE
integrado): abarcan todas las fases del ciclo de vida del desarrollo de
sistemas. Son llamadas también CASE workbench.
 Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o
front-end, orientadas a la automatización y soporte de las actividades
desarrolladas durante las primeras fases del desarrollo: análisis y diseño.
 Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o
back-end, dirigidas a las últimas fases del desarrollo: construcción e
implantación.
 Juegos de herramientas o Tools-Case, son el tipo más simple de
herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro
de este grupo se encontrarían las herramientas de reingeniería, orientadas
a la fase de mantenimiento.[1]
RAZONES PARA EL USO DE LAS HERRAMIENTAS CASE
 Aumento en la productividad del analista Visible Analyst (VA) es una
herramienta CASE que da al analista de sistemas la posibilidad de realizar
planeación, análisis y diseño por medios gráficos, con el propósito de
construir aplicaciones cliente-servidor y bases de datos complejas. Esta
herramienta permite modelar los datos, procesos y objetos en diferentes
formatos. Visible Analyst genera información sobre el modelo en muchas
formas distintas, incluyendo COBOL, C, Visual Basic, SQL y XML.

Las herramientas CASE también facilitan la interacción entre miembros de


un equipo al hacer que la diagramación sea un proceso iterativo y dinámico
más que uno en el cual los cambios causen molestia y se conviertan en un
freno para la productividad. En este caso la herramienta CASE para dibujar
y grabar diagramas de flujo de datos ofrece un registro de la evolución de
las ideas del equipo en lo concerniente a los flujos de datos.

 Mejora de la comunicación analista-usuario Para que el sistema


propuesto se concrete y sea útil en la práctica, es esencial una excelente
comunicación entre analistas y usuarios durante todo el ciclo de vida del
desarrollo de sistemas. El éxito de la futura implementación del sistema
depende de la capacidad de analistas y usuarios para comunicarse de una
manera eficiente. Hasta el momento, de las experiencias de analistas que
utilizan herramientas CASE se desprende que su uso fomenta una mayor y
más eficiente comunicación entre usuarios y analistas. Analistas y usuarios
por igual informan que las herramientas CASE ponen a su alcance un
medio para comunicar aspectos del sistema durante su conceptualización.

 Integración de las actividades del ciclo de vida La tercera razón para el


uso de las herramientas CASE es integrar las actividades y proporcionar
continuidad de una fase a la siguiente durante todo el ciclo de vida del
desarrollo de sistemas. Las herramientas CASE son especialmente útiles
cuando una fase en particular del ciclo de vida requiere varias iteraciones
de retroalimentación y modificaciones. La integración de actividades
mediante el uso subyacente de tecnologías facilita a los usuarios la
comprensión de la manera en que se relacionan y dependen entre sí todas
las fases del ciclo de vida.
 Evaluar de manera precisa los cambios en el mantenimiento La cuarta,
y probablemente una de las razones más importantes para el uso de
herramientas CASE, es que permiten a los usuarios analizar y evaluar el
impacto de los cambios en el mantenimiento. Por ejemplo, el tamaño de un
elemento como un número de cliente podría requerir alargarse. La
herramienta CASE pueden generar referencias cruzadas de cada pantalla,
informe y archivo en el cual sea utilizado el elemento, dando lugar a un plan
de mantenimiento integral.

HERRAMIENTAS CASE DE BAJO Y ALTO NIVEL

Las herramientas CASE se clasifican como de bajo nivel, de alto nivel e


integradas, estas últimas combinando las de alto y bajo nivel en un solo conjunto.
A pesar de que los expertos difieren en los criterios que definen con precisión
cuáles son las herramientas CASE de alto nivel y cuáles las de bajo nivel, podría
ser útil clasificarlas con base en los usuarios a los que dan apoyo. Las
herramientas CASE de alto nivel ayudan principalmente a los analistas y
diseñadores, en tanto que las de bajo nivel son utilizadas con más frecuencia por
programadores y trabajadores que deben implementar los sistemas diseñados con
herramientas CASE de alto nivel.
Herramientas case de alto nivel
Una herramienta CASE de alto nivel da al analista la posibilidad de crear y
modificar el diseño del sistema. Toda la información relacionada con el proyecto
se almacena en una enciclopedia denominada depósito CASE, una enorme
colección de registros, elementos, diagramas, pantallas, informes e información
diversa. Con la información del depósito se podrían generar informes que
muestren dónde está incompleto el diseño o dónde contiene errores.
Las herramientas CASE de alto nivel también pueden apoyar la modelación de los
requerimientos funcionales de una organización, ayudar a los analistas y usuarios
a definir el alcance de un proyecto determinado y a visualizar la forma en que el
proyecto se combina con otras partes de la organización. Además, algunas
herramientas CASE de alto nivel pueden ayudar en la creación de prototipos de
diseños de pantallas e informes.
Herramientas case de bajo nivel
Las herramientas CASE de bajo nivel se utilizan para generar código fuente de
computadora, eliminando así la necesidad de programar el sistema. La generación
de código tiene varias ventajas:
 El sistema se puede generar más rápido que si se tuviera que escribir
todos los programas. No obstante, con frecuencia el periodo para
familiarizarse con la metodología utilizada por el generador de código es
muy largo, por lo que la generación del programa podría ser más lenta al
principio. Además, es necesario ingresar por completo el diseño en el
conjunto de herramientas, tarea que podría tomar un tiempo considerable.

 La generación de código reduce el tiempo invertido en el mantenimiento.


No hay necesidad de modificar, probar y depurar los programas de
computadora. En lugar de eso, al modificar el diseño CASE se vuelve a
generar el código. Si se invierte menos tiempo en el mantenimiento, se
tiene más tiempo para desarrollar nuevos sistemas y aligerar la
acumulación de proyectos en espera de desarrollo.

 Más de un lenguaje de computadora, de tal manera que se facilita la


migración de sistemas de una plataforma, digamos de mainjrame, a otra,
como una PC. Por ejemplo, la edición de VA para corporaciones puede
generar código fuente en lenguajes de tercera generación como ANSÍ,
COBOL o C.

 La generación de código ofrece una forma económica de ajustar los


sistemas comerciales de fabricantes de sistemas a las necesidades de la
organización. Con frecuencia, la modificación de esta clase de software
implica un esfuerzo tan grande que su costo es mayor al de la compra del
mismo. Con el software de generación de código, la compra de un diseño
CASE y un depósito CASE para la aplicación permite al analista modificar
el diseño y generar el sistema de cómputo modificado.

 El código generado está libre de errores de programación. Los únicos


errores potenciales son los de diseño, los cuales se pueden minimizar
produciendo informes de análisis CASE para garantizar que el diseño del
sistema esté completo y correcto.[2]
Herramientas case cruzado de ciclo de vida 
se aplica a aquellas herramientas que apoyan actividades que tienen lugar a lo
largo de todo el ciclo de vida, se incluyen actividades como la gestión de proyectos
y la estimación.
METODOS DE MODELADO
Las herramientas CASE y los métodos de modelado de datos más populares usan
notaciones diferentes para distinguir entre relaciones de identificación y sin
identificación y entre entidades fuertes y débiles
Al centro de cualquier arquitectura de herramientas CASE está una base de datos
de un desarrollador llamada repositorio CASE. Alrededor del repositorio CASE
está un grupo de herramientas o instalaciones para crear modelos de sistemas y
la documentación.
Ventajas de CASE Para utilizar el repositorio, las herramientas CASE
proporcionan alguna combinación de las siguientes ventajas:
• Las herramientas de elaboración de diagramas se utilizan para dibujar los
modelos de sistemas requeridos o recomendados en la mayoría de las
metodologías de desarrollo de sistemas. Normalmente, las formas en un modelo
de sistemas pueden ser vinculadas a otros modelos de sistemas y a descripciones
detalladas
• Las herramientas de diccionario se utilizan para grabar, eliminar, editar y producir
documentación y especificaciones detalladas. Estas descripciones pueden ser
asociadas con formas que aparecen en los modelos de sistema que fueron
dibujadas con las herramientas de elaboración de diagramas.
• Las herramientas de diseño pueden ser utilizadas para desarrollar muestras de
los componentes de sistemas como entradas y salidas. Estas entradas y salidas
pueden ser asociadas con los modelos de sistemas antes mencionados y con las
descripciones.
• Con las herramientas de administración de calidad se analizan los modelos de
sistemas, las descripciones y especificaciones y los diseños para integridad,
consistencia y cumplimiento a las reglas y metodologías aceptadas.
• Las herramientas de documentación se utilizan para ensamblar, organizar e
informar acerca de los modelos de sistemas, descripciones y especificaciones y
prototipos que pueden ser revisados por los propietarios, usuarios, diseñadores y
constructores de sistemas.
• Las herramientas generadoras de diseño y código automáticamente generan
diseños de bases de datos y programas de aplicación o porciones significativas de
esos programas.
• Las herramientas de prueba estimulan transacciones o tráfico de datos, miden el
desempeño y proporcionan una administración de configuración de los planes de
prueba y los guiones de prueba. Ingeniería hacia adelante e inversa Como se
afirmó antes, la tecnología CASE automatiza la elaboración de sistemas. Las
herramientas CASE actuales proporcionan dos formas para desarrollar los
modelos de sistemas; ingeniería hacia adelante e ingeniería inversa.

FIGURA 1.

Los modelos de datos se almacenan en un repositorio. En cierto sentido, el


modelo de datos está formado por metadatos; es decir, información acerca de los
datos del negocio. La tecnología CASE (Computer-Aided System Engineering,
Ingeniería de Software Asistida por Computadora), provee el repositorio para
almacenar el modelo de datos y sus descripciones detalladas. La mayoría de los
productos de CASE soportan el modelado de datos asistido por computadora y el
diseño de la base de datos. Algunos productos de CASE (como ERwin, de Logic
Works) sólo soportan el modelado de datos y el diseño de la base de datos. La
herramienta CASE evita el trabajo pesado del trazo y mantenimiento de estos
modelos y sus detalles subyacentes. Al usar un producto CASE, fácilmente puede
crear modelos de datos profesionales, accesibles sin el uso de papel, lápiz, gomas
y plantillas. Los modelos pueden modificarse fácilmente para reflejar correcciones
y los cambios propuestos por usuarios finales. También, la mayoría de productos
CASE proveen herramientas analíticas poderosas que pueden comprobar sus
modelos en cuanto a errores inadvertidos, de integridad y consistencia
La mayoría de los sistemas ya han sido automatizados hasta cierto grado y
existen como sistema de información de heredado. Muchas herramientas CASE
pueden leer las estructuras de base de datos subyacentes y/o los programas de
aplicación, y luego, con ingeniería inversa, regresarlos en diferentes modelos de
sistemas. Esos modelos sirven como punto de partida para definir un análisis de
requerimientos de usuario basado en modelos. La mayoría de las herramientas
CASE proveen amplias facilidades para describir los tipos de datos, dominios y
acciones por omisión para todos los atributos del repositorio. Adicionalmente, cada
atributo deberá definirse para una referencia futura.

EL SOPORTE CASE PARA LA NORMALIZACIÓN


Muchas herramientas CASE aducen que soportan los conceptos de normalización.
Leen el modelo de datos y tratan de aislar los errores posibles de normalización.
Al examinarlas detenidamente, la mayoría de las herramientas CASE pueden
normalizar sólo hasta la primera forma normal. Logran esto en una de dos formas.
Buscan relaciones muchos a muchos y transforman esas relaciones en entidades
asociativas. O buscan atributos específicamente descritos, como que tengan
valores múltiples para una instancia de entidad individual. (Podría argumentarse
que el analista debería haber reconocido eso como un error del 1FN y no debería
haber descrito los atributos como tales.) Es en extremo difícil para una
herramienta CASE identificar los errores de la segunda y tercera formas normales.
Eso requeriría que la herramienta CASE tuviera la inteligencia para reconocer
dependencias parciales y transitivas. En realidad, tales dependencias pueden ser
descubiertas sólo a través de exámenes menores que los de rutina por los
analistas de sistemas o los expertos en bases de datos.
Figura 2.

La figura 2 muestra una descripción alternativa que está soportada por muchas
herramientas CASE y metodologías de desarrollo. Se le llama diagrama de
descomposición. .[2]
REFERENCIAS
[1] (Case),[Link]
[2] (razones para el uso de herramientas case, herramientas case de bajo y alto
nivel) Kendal E. Análisis y diseño de sistemas . 6ª Edición
[3] (métodos de modelado, soporte case para la normalización) Bentley, whitten.
análisis de sistemas diseño y métodos. mc Graw Hill

Common questions

Con tecnología de IA

Las herramientas CASE facilitan el proceso de reingeniería durante la fase de mantenimiento mediante la automatización de la documentación actualizada y la generación de diagramas que reflejan los cambios necesarios para adaptaciones futuras . Al proporcionar infraestructuras para realizar análisis de impacto y evaluar modificaciones, estas herramientas aseguran que los cambios realizados durante el mantenimiento se integren de manera coherente con el sistema existente .

Las herramientas CASE proporcionan varios beneficios durante el ciclo de desarrollo de software, entre ellos la mejora en la productividad del software, aumento de la calidad del software, y la reducción del tiempo y costo de desarrollo y mantenimiento de sistemas informáticos . Facilitan la automatización de tareas tediosas como el dibujo de diagramas y la generación de estructuras de código, lo cual mejora la eficiencia y calidad de los sistemas de información . Además, permiten una mayor y eficiente comunicación entre analistas y usuarios, esencial para el éxito de la implementación del sistema .

Las herramientas CASE afectan positivamente la transición de sistemas heredados a nuevas plataformas tecnológicas al permitir la migración de sistemas entre diferentes plataformas, como de mainframe a PC . Esta capacidad es facilitada por la generación de código en múltiples lenguajes de programación, lo cual minimiza la necesidad de reescribir manualmente sistemas completos, y asegura que la lógica del negocio se conserve en el nuevo entorno .

Las herramientas CASE impactan positivamente la generación y estandarización de la documentación de software al proporcionar herramientas específicas para la creación, edición y verificación de la documentación detallada, asegurando que esté alineada con los modelos de sistemas desarrollados . Esta estandarización no sólo mejora la calidad y consistencia de la documentación, sino que también facilita su reutilización y actualización durante el mantenimiento del software .

Las herramientas CASE mejoran el proceso de comunicación entre analistas y usuarios al proporcionar medios gráficos y colaborativos para modelar datos, procesos y objetos, lo que facilita la conceptualización y entendimiento mutuo sobre los aspectos del sistema . Este medio de comunicación visual y documentado es esencial para asegurar que el sistema diseñado satisfaga las necesidades y expectativas de los usuarios .

Las desventajas de depender excesivamente de las herramientas CASE incluyen la falta de niveles estándar para el soporte de metodologías, conflictos en el uso de los diagramas, y una función limitada que podría no cubrir todas las necesidades del proyecto . Además, el alto costo de adquisición y la posible dependencia en métodos estructurados pueden representar restricciones significativas para algunas organizaciones .

Las herramientas CASE impactan significativamente en el tiempo de desarrollo y mantenimiento de proyectos de software mediante la automatización de tareas repetitivas y complejas, como la generación de código, la gestión de proyectos y la verificación de errores, lo cual reduce el tiempo requerido para estas actividades . Además, al facilitar la documentación y la gestión de la consistencia de los modelos, disminuyen la necesidad de reformas y retrabajos, acortando el ciclo de desarrollo .

El diseño asistido por computadora en herramientas CASE como ERwin juega un rol central al permitir la creación detallada y precisa de modelos de datos y bases de datos, desde un modelo lógico hasta su implementación física . Este proceso no solo incrementa la productividad y eficacia del diseño, sino que también asegura que las aplicaciones resultantes se ajusten de manera óptima a los requisitos especificados .

Las herramientas CASE ayudan en el proceso de normalización al identificar posibles errores de normalización y aislar relaciones muchos a muchos para convertirlas en entidades asociativas . Sin embargo, la mayoría de estas herramientas sólo pueden alcanzar hasta la primera forma normal; las dependencias parciales y transitivas requeridas para la segunda y tercera formas normales suelen necesitar intervención humana para su detección .

Las herramientas CASE de alto nivel, o U-CASE, están orientadas a la automatización y soporte de actividades en las fases iniciales del desarrollo, como el análisis y diseño . Estas herramientas se enfocan en aspectos front-end del ciclo de vida del software. En contraste, las herramientas de bajo nivel, o L-CASE, están dirigidas a las fases finales del desarrollo, centrándose en la construcción e implantación, operando más en el back-end .

También podría gustarte