1. HERRAMIENTAS CASE
Las Herramientas de Ayuda al Desarrollo de Sistemas de Información, surgieron
para intentar dar solución a los problemas inherentes a los proyectos de
generación de aplicaciones informáticas:
• Plazos y presupuestos incumplidos
• Insatisfacción del usuario
• Escasa productividad
• Baja calidad de los desarrollos.
Unas apuntan principalmente a mejorar la calidad:
Herramientas CASE (Computer Aided Software
Engineering- Ingeniería de Software Asistida por
Computadora).
Otras dirigidas a mejorar la productividad durante la fase
de construcción: lenguajes de cuarta generación (4GL-
Fourth Generation Language).
DEFINICIÓN
Conjunto de métodos, utilidades y técnicas que facilitan la automatización del
ciclo de vida del desarrollo de sistemas de información, completamente o en
alguna de sus fases.
TIPOS DE CASE
No existe una única clasificación de herramientas CASE, difícil incluirlas en una
clase determinada. Podrían clasificarse atendiendo a:
• Las plataformas • Las fases del ciclo de
que soportan. vida del desarrollo de
• Su funcionalidad. sistemas que cubren.
• La arquitectura de las
aplicaciones que
producen
2. En función de las fases del ciclo de vida abarcadas, se pueden agrupar de la
forma siguiente:
• Herramientas integradas, I-CASE (Integrated CASE, CASE integrado) o CASE
workbench: abarcan todas las fases del ciclo
de vida del desarrollo de sistemas.
Las I-CASE se basan en una metodología,
• Herramientas que comprenden algunas
fases del ciclo de vida de desarrollo de
software:
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 toolkits, son el
tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo
de vida.
Fase de mantenimiento herramientas de reingeniería
Otra posible clasificación, utilizando la
funcionalidad como criterio principal:
• Herramientas de planificación de
sistemas de gestión. Modelar los
requisitos de información estratégica de
una organización. Utilidad: cuando se
diseñan nuevas estrategias para los S.I.
• Herramientas de análisis y diseño.
(Modelamiento).
Herramientas de creación de
prototipos y de simulación.
Herramientas para el diseño y
desarrollo de interfaces.
Herramientas de programación. los compiladores, los editores y los
depuradores de los lenguajes de programación convencionales
• Herramientas de gestión de prototipos.
3. • Herramientas de mantenimiento:
Herramientas de ingeniería inversa.
Herramientas de reestructuración y análisis de código.
Herramientas de reingeniería.
• Herramientas de gestión de proyectos. pueden: realizar estimaciones de
esfuerzo, costos y duración, hacer un seguimiento
continuo del proyecto, estimar la productividad y
la calidad, etc. incluyen:
Herramientas de planificación de proyectos.
Herramientas de seguimiento de requisitos.
Herramientas de gestión y medida.
• Herramientas de soporte. Herramientas que
recogen las actividades aplicables en todo el
proceso de desarrollo:
Herramientas de documentación.
Herramientas para software de sistemas.
Herramientas de control de calidad.
Herramientas de bases de datos.
BENEFICIOS DE LAS HERRAMIENTAS CASE
• Facilidad para la revisión de aplicaciones
Un Depósito central agiliza el proceso de revisión ya que
éste proporciona bases para las definiciones y estándares
para los datos.
• Soporte para el desarrollo de prototipos de sistemas
Las CASE desarrollan diseños para pantallas y reportes,
encabezados y mensajes. Con ajustes necesarios al diseño
rápidamente se tienen las
características de las interfaces
y archivos de datos.
• Generación de código
La ventaja más visible disminución del tiempo para
preparar un programa. La generación del código
asegura una estructura estándar y consistente para el
programa (influye en el mantenimiento) y disminuye la
ocurrencia de varios tipos de errores (mejorando la
calidad).
4. • Mejora en la habilidad para satisfacer los requerimientos del usuario
Se logra disminuir el tiempo de desarrollo, (importante para los usuarios).
Las herramientas afectan la naturaleza y cantidad de interacción entre los
encargados del desarrollo y el usuario.
• Soporte interactivo para el proceso de desarrollo
Interactividad elimina el tedio manual de dibujar
diagramas, elaborar catálogos y clasificar. Los
analistas repasarán y revisarán los detalles del sistema
con mayor frecuencia y en forma más consistente.
DEBILIDADES DE LAS HERRAMIENTAS CASE
• Confiabilidad en los métodos estructurados
CASE construidas con base en metodologías del análisis estructurado y del
ciclo clásico de vida de desarrollo de sistemas.
Su Principal limitante ya que no todas las organizaciones emplean métodos de
análisis estructurado.
• Falta de nivel estándar para el soporte de la metodología
Las CASE tienen una de las siguientes
características:
Son independientes de la metodología.
Permiten que los usuarios definan sus
propias metodologías.
Soportan una metodología.
Soportan las metodologías más
diseminadas.
• Conflictos en el uso de los diagramas
Las herramientas difieren en el uso que hacen
los diagramas.
• Algunas herramientas • Otras: los diagramas documentación por
usadas exclusivamente medio de formas o lenguajes de especificación
para gráficas y en ocasiones, en forma gráfica.
• Diagramas no utilizados
Las herramientas gráficas no se emplean del todo. O no se utilicen en la forma
que deberían emplearse.
• Algunos analistas • Otros no hacen uso de herramientas gráficas en
prefieren en tareas un el desarrollo de software; solo para
lenguaje estructurado o automatizar la producción de informes y
descriptivo. documentación del sistema (diagramas de flujo
para documentar un programa una vez
5. terminado).
• Función limitada
Una herramienta apoyar varias fases del ciclo de vida de desarrollo de
sistemas, pero su enfoque primario está dirigido
hacia una fase o método especifico.
Nuevo producto análisis y diseño (comprobación y
verificación de errores del producto más rigor en
análisis o en diseño, pero no en ambas), BD
(omitiendo el soporte para pantallas, informes o
seguridad).
• Alcance limitado
La mayor parte de CASE describe (documenta)
pero no analiza.
OPCIONES DE INTEGRACION
Utilizar una herramienta CASE de forma aislada (caso extremo).
Se crean elementos de software (documentos, programas o datos),
Se manipulan mediante única herramienta y la salida: formato de
copia de pantalla y/o documentación gráfica.
El enlace con el resto del desarrollo se realiza mediante copias en
papel que gestiona el ingeniero.
a) Intercambio de Datos.
Las herramientas exportan datos en forma de archivo sin estructura con
un formato conocido. Permite un intercambio de datos punto a punto
entre las distintas herramientas CASE, utilizando un "filtro".
Las desventajas:
Herramienta Herramienta
Sólo parte de los datos A B
exportados es utilizable por
la herramienta receptora
(no es totalmente Traductor
Datos Privados
compatible).
Las versiones
"desfasadas", transferencia suele ser en un único sentido.
Los cambios no se reflejan en ambos sentidos y es difícil hacer
comprobaciones cruzadas de documentos y mantener la integridad
b) Acceso Común a Herramientas.
6. Permite utilizar distintas herramientas de forma similar y simultánea.
Entorno multitarea, coordina manualmente sus entradas.
El usuario podría visualizar:
un DFD, un diccionario de
Interfase del Usuario Común datos y un código fuente,
todos mantenidos por
Herramient Herramienta diferentes herramientas.
a B El intercambio de datos
procedimiento de
Traductor traducción a través de un
Datos Privados menú o de una macro.
c) Integración de Datos.
• Gestión común de datos. Los
datos se pueden mantener en
una única base de datos
lógica, (físicamente
centralizada o distribuida).
traducción para que una
herramienta utilice la salida
generada por otra.
• Datos compartidos.
Las herramientas tienen
estructuras de datos y
semántica compatible.
Herramientas de un solo
fabricante.
• Interoperabilidad. Las herramientas que combinan acceso común y
compartir datos capacidad de Interoperación.
Es el mayor nivel de integración entre herramientas diferentes.
d) Integración Total.
2 características más: Gestión de Meta-datos y Capacidad de Control.
Los Meta-Datos: información sobre los datos generados por las
herramientas CASE. Esta información incluye:
• Definiciones de objetos (tipos, • Relaciones y dependencias entre
atributos, representaciones). objetos
• Reglas de diseño del software • Procedimientos (informes, hitos,
(formas válidas de dibujar y etc) y sucesos del flujo de
7. equilibrar un DFD). trabajo (proceso).
La capacidad de control permite a cada herramienta:
Notificar al resto del entorno
(otras herramientas, al gestor
de meta-datos, al gestor de
datos, etc.) la ocurrencia de
sucesos significativos.
Enviar peticiones para la
realización de acciones a
otras herramientas y servicios
por medio de un activador.
COMPONENTES Y
FUNCIONALIDADES DE UNA HERRAMIENTA CASE
Repositorio. Base de datos central de una herramienta CASE,
amplia el concepto de diccionario de datos
Incluir toda la información que se va generando a lo
largo del ciclo de vida del sistema DFD, diagramas
E-R, esquemas de B.D., diseños de pantallas,
estructuras de programas, algoritmos, etc.
Se le denomina Diccionario de Recursos de
Información.
La mayoría de las CASE poseen un repositorio propio o
trabajan sobre un repositorio de otro fabricante.
Con el repositorio se efectúan comprobaciones de integridad y
consistencia:
• Que no existan datos no definidos ni datos
autodefinidos.
• Que todos los alias sean correctos y estén
actualizados.
Módulos de diagramación y modelado.
• Diagrama de flujo de datos.
8. • Modelo entidad - interrelación.
• Historia de la vida de las entidades.
• Diagrama Estructura de datos.
Herramienta de prototipado. Objetivo mostrar e
implicar al usuario desde inicio del diseño, el aspecto
que tendrá la aplicación una vez desarrollada. Facilitará
los cambios necesarios, todavía en la fase de diseño.
Generador de código. se utiliza en PCs o estaciones, el
paso del código al Host: problemas al tener que compilar
en ambos entornos.
Características:
• Código generado.
• Portabilidad del código generado.
• Generación del esqueleto del programa o del
programa completo.
• Posibilidad de modificación del código generado.
Módulo generador de documentación. Se alimenta del repositorio,
Características:
• Generación automática (sin esfuerzo adicional).
• Combinación de información textual y gráfica.
• Generación de referencias cruzadas.
• Introducción de textos complementarios
• Interfase con otras herramientas: procesadores de textos, editores
gráficos, etc.
CAUSAS DEL FRACASO DE LA ADOPCION DE CASE
Deficiencias de la propia tecnología
Empresas utilizaron herramientas CASE, pero las
abandonaron debido a sus inconvenientes:
• Soporte parcial del ciclo de vida
• Incompatibilidad entre herramientas,
incluso versiones de la misma herramienta.
• Escasa integración entre herramientas y el
resto del entorno: SGBD, lenguajes de 4G,
generadores de informes, etc.
• Poca fiabilidad en el vendedor / distribuidor
• Escasa documentación generada por la herramienta.
9. • Funcionamiento deficiente en entornos multiusuarios - nacieron para
PCs
• Un alto costo (la herramienta y la plataforma que ésta conlleva).
Deficiencias en la aplicación de la tecnología a los problemas
Utilización de herramientas CASE en problemas
para los que no están preparadas, debido a
que:
• Soportan una sola metodología
(especializada en el desarrollo de
aplicaciones de gestión pretende
construir sistemas en tiempo real.)
• Metodologías y herramientas que funcionan
relativamente bien en proyectos pequeños
o medianos, puede fracasar en proyectos
grandes.
• La selección se centra sólo en factores
técnicos, la herramienta resulta
insuficiente para los aspectos relativos a la gestión.
Deficiencias de la propia organización
La adopción de la filosofía CASE es como la transferencia de cualquier otra
tecnología, un problema más cultural que tecnológico.
Las causas del fracaso más notables en esta área son:
• Actitud por parte de los directivos, (la
tecnología CASE: la panacea o salvación de
todos los males)
• Sub-valorar el esfuerzo requerido
(económico, de formación y aceptación).
• Incapacidad para encontrar las metodologías y
herramientas adecuadas al nivel de madurez
de la organización.
• Inadecuada formación (el primer estudiante
forme a los demás).
• No medir la productividad ni la rentabilidad de la tecnología.
10. TENDENCIAS TECNOLOGICAS Y DEL MERCADO DE LAS
HERRAMIENTAS CASE
Líneas de evolución de las herramientas CASE son:
• CASE para sistemas bajo arquitectura cliente/servidor.
Mayor liberalización del programador de
aspectos que no sean propios de la aplicación
(protocolos de red, seguridad, etc.)
• CASE multiplataforma. El futuro podrá ser de
apertura creciente a nuevas plataformas y
portabilidad más generalizada.
• CASE para ingeniería inversa y directa.
• CASE para desarrollo de sistemas orientados a
objetos.
El objetivo es cubrir el ciclo de vida completo.
La proliferación podrá
retrasarse por el gran número de notaciones y
metodologías de orientación a objetos existentes en la
actualidad.
Existen Herramientas CASE adaptables (meta-CASE),
permiten que sea el propio usuario quien defina su
metodología y los símbolos de las notaciones a utilizar.
• CASE para trabajo en grupo (groupware). Facilitan la integración de
grupos, incorporan las facilidades de ofimática:
E-Mails, calendarios en línea, planificación de
actividades, preparación de documentos, actas,
etc.
A mediano y largo plazo otras posibles líneas de
evolución serán:
• La utilización de la tecnología multimedia.
• La incorporación de técnicas de inteligencia
artificial.
• Sistemas de realidad virtual.
INVESTIGACION
11. BUSCAR DOCUMENTACION SOBRE UNA CASE
• Clasificarla
• Beneficios
• Componentes
• Nivel de integración
• Ejemplos ilustrados de su uso (subproductos)