Академический Документы
Профессиональный Документы
Культура Документы
INTRODUCCION
Se describen las funcionalidades básicas de los diferentes tipos de CASE. Por último,
se analizan las tendencias tecnológicas y del mercado.
Es importante puntualizar que las fronteras entre unas y otras no siempre están
claramente definidas.
Control de mantenimiento.
TIPOS DE CASE
Las fases del ciclo de vida del desarrollo de sistemas que cubren.
Su funcionalidad.
Las herramientas CASE, en función de las fases del ciclo de vida abarcadas, se pueden
agrupar de la forma siguiente:
Una estrategia posible es utilizar una U-CASE para análisis y diseño, combinada con
otras herramientas más modernas para las fases de construcción y pruebas. En este
caso, habría que vigilar cuidadosamente la integración entre las distintas herramientas.
la siguiente:
Herramientas de reingeniería.
Herramientas de documentación.
Planeamiento.
Análisis y Diseño.
Mantenimiento y actualización.
Los sistemas Case pueden cubrir la totalidad de estas fases o bien especializarse en
alguna(s) de ellas. En este último caso se pueden distinguir sistemas de "alto nivel"
("Upper Case"), orientados a la autonomía y soporte de las actividades
correspondientes a las dos primeras fases y, sistemas de "bajo nivel" ("Lower Case"),
dirigidos hacia las dos últimas. Los sistemas de "alto nivel" pueden soportar un número
más o menos amplio de metodologías de desarrollo.
Entre los beneficios ofrecidos por la tecnología CASE se encuentran los siguientes:
La experiencia muestra que una vez que las aplicaciones se implementan, se emplean
por mucho tiempo. Las herramientas CASE proporcionan un beneficio substancial para
las organizaciones 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.
Muchas herramientas CASE soportan las primeras etapas del desarrollo del prototipo.
Muy pocas brindan apoyo durante todo el proceso de desarrollo del prototipo. Las que
proporcionan la capacidad para generar código soportan de hecho todo proceso, ya que
el código puede ser generado al inducir la actividad de generación después de cambiar
las especificaciones o requerimientos.
Generación de código
Las herramientas CASE tienen puntos débiles significativos, que van desde la
confiabilidad en los métodos estructurados hasta su alcance limitado, los cuales
amenazan con minar los beneficios potenciales descritos con anterioridad.
En todas ellas existen ciertos compromisos. Las herramientas que son independientes
de la metodología, no pueden fomentar el uso de las reglas y estándares de la misma.
Estas herramientas quizá proporcionen los componentes de una metodología (por
ejemplo: diagramas de flujos de datos, un diccionario de datos y facilidades para la
descripción de procesos), pero no el marco de referencia, reglas y procedimientos que
en realidad constituyen el núcleo de la metodología. Aunque se puede llevar a cabo
acciones básicas para la validación de diseños y diagramas para detectar componentes
faltantes, éstas son sólo funciones mecánicas. Por otra parte, esta clase de
herramientas no puede proporcionar ayuda metodológica o pedir al usuario que realice
tareas necesarias para la metodología que aún esta sin terminar.
Las herramientas difieren en el uso que hacen los diagramas. Algunas son herramientas
exclusivamente para gráficas, que se abocan al dibujo de diagramas para el análisis de
entrada y salida de datos. Este tipo de herramientas puede restringir ya sea el proceso
de desarrollo normal seguido por una organización o el estilo particular de trabajo de los
analistas.
Diagramas no utilizados
Función limitada
Aunque una herramienta puede apoyar varias fases del ciclo de vida de desarrollo de
sistemas o adaptarse a diferentes metodologías de desarrollo, por lo general su enfoque
primario está dirigido hacia una fase o método especifico. Por ejemplo, los encargados
de desarrollar un nuevo producto pueden afirmar que éste apoya todo el proceso de
análisis y diseño. Sin embargo, las capacidades de comprobación y verificación de
errores del producto quizá sean más rigurosas ya sea en el área de análisis o en la de
diseño, pero no en ambas. Algunos productos están dirigidos hacia el diseño de bases
de datos para la organización y al desarrollo de aplicaciones que giren en torno a la
base de datos, omitiendo el soporte para pantallas de presentación visual, los informes
sobre requerimientos o las necesidades de seguridad. Algunos productos capaces de
generar el código hacen mayor hincapié en el desarrollo de prototipos como el principal
método de desarrollo de sistemas de información. Muchas herramientas para la fase de
desarrollo recalcan el mantenimiento y la reestructuración del código, pero ofrecen un
soporte débil durante la fase de análisis para la determinación y especificación de
requerimientos.
Alcance limitado
Intercambio de datos.
Integración de datos.
Integración total.
La desventaja del intercambio de datos punto a punto está en que, a menudo, sólo parte
de los datos exportados es utilizable por la herramienta receptora, ya que no fue
diseñada para ser totalmente compatible. Además, a medida que evoluciona el
software, la necesidad de transferir archivos cada vez que se hace un cambio pequeño
puede llevar mucho tiempo. Las versiones pueden quedar "desfasadas" fácilmente,
perdiéndose la posibilidad de transferencia, la cual suele ser en un único sentido. No
c) Integración de Datos.
Aunque los datos generados por las distintas herramientas se gestionan de forma
conjunta en el nivel de gestión de datos comunes, las herramientas no conocen de
forma explícita las estructuras de datos y la semántica de representación del diseño de
las demás. Consecuentemente, se requiere una etapa de traducción (normalmente
ejecutada manualmente) para permitir que una herramienta utilice la salida generada
por otra.
d) Integración total. Para alcanzar la integración total del entorno CASE se necesitan
dos características más: gestión de metadatos y capacidad de control. Los metadatos
representan información sobre los datos de ingeniería generados por las distintas
herramientas CASE. Esta información incluye:
Reglas de diseño del software (p. ej.: las distintas formas válidas de dibujar y
equilibrar un diagrama de flujo de datos).
La capacidad de control permite que cada herramienta pueda notificar al resto del
entorno (a otras herramientas, al gestor de metadatos, al gestor de datos, etc.) la
ocurrencia de sucesos significativos, así como enviar peticiones para la realización de
acciones a otras herramientas y servicios por medio de un activador. Por ejemplo, una
herramienta de gestión de configuración que haga una comprobación cruzada de la
consistencia de documentos. La capacidad de control ayudará a mantener la integridad
del entorno y proporcionará, también, un medio para automatizar procesos y
procedimientos estándar. El activador puede estar incorporado en un entorno cerrado o
puede estar visible para las distintas herramientas, a través de una interface de
programación y un mecanismo de paso de mensajes.
Soluciones cliente-servidor.
Que todos los alias (referencias a un mismo dato empleando nombres distintos)
sean correctos y estén actualizados.
Técnicas matriciales.
La herramienta será tanto más útil, cuanto más rápidamente permita la construcción del
prototipo y por tanto antes, se consiga la implicación del usuario final en el diseño de la
aplicación. Asimismo, es importante poder aprovechar como base el prototipo para la
construcción del resto de la aplicación. Actualmente, es imprescindible utilizar productos
Elegir una aplicación que reúna la mayor parte de los siguientes requisitos:
Disponibilidad de recursos.
En la definición del objeto del contrato y los requisitos inherentes al mismo, así como en
la valoración y comparación de ofertas de los proveedores, pueden intervenir muchos
factores y de muy diversa índole, los cuales deberán estar recogidos dentro del conjunto
de cuestionarios disponibles a tal efecto:
De empresa o Institución.
Económicos.
Técnicos particulares.
Certificación de la Instalación.
Prueba de funcionamiento.
Responsabilidad de fallas.
Garantía de la herramienta.
Asesoría técnica.
Capacitación.
Información técnica.
La prueba se debe realizar en las condiciones más parecidas a las reales que se
puedan conseguir e intentando simular el acceso de un número de usuarios, parecido al
No todas las herramientas cumplen con las prestaciones indicadas en los manuales, por
lo que es aconsejable establecer un período de prueba para explorar la herramienta que
se pretende adquirir. Una vez que en las especificaciones técnicas se hayan definido la
plataforma física y lógica y las necesidades funcionales, mediante este período de
prueba se podrá probar que la herramienta puede ser instalada en esa plataforma y
soporta dichas funcionalidades.
Dependencia del proveedor. Hay que evitar esta dependencia. A veces las
herramientas llevan integradas partes de la plataforma operativa, lo cual las
hace cerradas y propietarias. En el contrato de adquisición se debe contemplar
la asesoría técnica, la capacitación y la información técnica.
Igualmente se debe exigir que se detallen cuáles son las funcionalidades que cubre
cada módulo y, para cada uno de ellos, cuáles de los otros son un pre-requisito para
poder utilizarlo.
Es necesario que el suministrador detalle cuál de las dos versiones está ofreciendo para
cada una de las licencias que se compren y, si alguna de ellas fuese una versión
limitada, que especifique claramente cuáles de las funcionalidades ofertadas no se
encuentran presentes en la versión restringida. Se debe especificar en el contrato de
adquisición.
Soporte parcial del ciclo de vida, lo que permite automatizar sólo parte de las
actividades de desarrollo, mientras que las otras se siguen realizando de forma
tradicional.
Las medidas más eficaces para afrontar estos problemas pueden ser: comprender y
analizar los distintos tipos de metodologías y herramientas existentes (junto a su
escalabilidad), utilizando las herramientas adecuadas a cada problema, lo que supone
un gran esfuerzo en formación e inversión en consultoría.
Actitud por parte de los directivos, que pretenden introducir la tecnología CASE
como la panacea o salvación de todos los males del desarrollo sin contar con
una base metodológica.
Estas deficiencias se pueden superar con una gestión adecuada de las expectativas,
siendo realista (conociendo la cultura de la empresa y su historia frente a cambios
tecnológicos) y con una buena gestión.
Las principales líneas de evolución hacia las que parecen encaminarse las herramientas
CASE son:
En la actualidad ya hay ejemplos de los dos casos, herramientas CASE que funcionan
bajo un entorno cliente/servidor, en red y con un repositorio centralizado en un servidor
y herramientas CASE que generan aplicaciones que funcionan en un entorno
cliente/servidor, en las cuales se puede indicar dónde deben residir los componentes de
la aplicación en tiempo de ejecución, liberando al programador de aspectos referidos a
los protocolos de comunicaciones, seguridad, interfases gráficas de usuario, etc.
Es importante resaltar que las herramientas actuales permiten generar objetos: modelo
"estático" y modelo "funcional", mas no el modelo "dinámico".
Todas estas herramientas CASE suelen generar código C++. Algunas simplemente la
definición esquemática de las clases mientras que otras, pueden llegar a generar más
de la mitad del código del sistema.
La programación orientada a objetos puede cambiar la forma que tienen las empresas
de hacer negocio y como tal, necesita ser tratada cuidadosamente, tanto por las
empresas u organismos, como por los fabricantes de tecnologías que proporcionan las
soluciones. Los fabricantes tienen que ofrecer herramientas eficaces para ayudar a las
empresas a explotar todas las potentes prestaciones de la tecnología de objetos (código
reutilizable, programación modular y capacidad de modelización), para construir
aplicaciones críticas y eficaces. Dentro de estas herramientas, tendrán un papel
fundamental las herramientas CASE.
Una atención especial merecen las herramientas CASE adaptables, algunas de las
cuales permiten que sea el propio usuario quien defina su metodología y los símbolos
de las notaciones a utilizar. Estas herramientas se denominan "meta-CASE".
CONCLUSIONES
La mayoría de las herramientas Case no han sido construidas utilizando todos los
bloques componentes. Muchas de éstas son soluciones puntuales, esto es, una
herramienta se utiliza como ayuda en una actividad concreta de ingeniería de software
(por ejem.: modelización del análisis), pero no se comunica directamente con otras
herramientas, porque no está unida a una base de datos de proyectos.
Aunque esta situación no es la ideal, una herramienta Case puede ser utilizada
eficientemente, aún siendo una solución puntual.
En el nivel más bajo del espectro de integración está la herramienta individual (solución
puntual). Cuando las herramientas proporcionan facilidades para el intercambio de
datos (la mayoría lo hace), el nivel de integración aumenta ligeramente. Estas
herramientas generan una salida en un formato estándar compatible con otras
herramientas que puedan leer ese formato. En algunos casos, los que construyen
herramientas CASE complementarias trabajan juntos para establecer un puente entre
ellas (p. ej.: una herramienta de análisis y diseño que se une a un generador de código).
Utilizando este enfoque, la compatibilidad entre herramientas puede generar productos
finales que serían difíciles de desarrollar utilizando cada herramienta por separado. La
integración por fuente única se da cuando un constructor de herramientas CASE integra
diferentes herramientas y las vende como un único paquete. Aunque este enfoque es
bastante efectivo, la mayoría de los entornos provenientes de una misma fuente tienen
una arquitectura cerrada que hace difícil añadir nuevas herramientas de otros
vendedores.
BIBLIOGRAFIA
http://www.geocities.com/SiliconValley/lab/7538/
39