HERRAMIENTAS CASE
INTRODUCCIÓN
TIPOS DE HERRAMIENTAS CASE
No existe
una única clasificación de herramientas CASE y, en ocasiones, es difícil
incluirlas en una clase determinada. Podrían clasificarse atendiendo a:
- Las plataformas que soportan.
- Las fases del ciclo de vida del desarrollo de sistemas que cubren.
- La arquitectura de las aplicaciones que producen.
- Su funcionalidad.
Las
herramientas CASE en función de las fases del ciclo de vida que abarcan, se
pueden agrupar de la forma
- 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: desarrollo 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. Dentro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento.
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.
- Herramientas de programación: se engloban aquí los compiladores, los editores y los depuradores de los lenguajes de programación convencionales.
- 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.
- Herramientas de mantenimiento : la categoría de herramientas de mantenimiento se puede subdividir en:
- 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 condiciones técnicas inicial, hasta el trabajo de desarrollo que convierte estos requisitos en un producto final.
- Herramientas de soporte: se engloban en esta categoría las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo.
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 Ingeniería
Inversa.
Herramientas de
reestructuración y análisis de código
Herramientas de
reingeniería.
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.
En algunas referencias se le denomina Diccionario de Recursos de Información.
La mayoría de herramientas CASE poseen un repositorio propio o bien trabajan
sobre un repositorio suministrado por otro fabricante o vendedor.
Herramienta
de prototipado
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. 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 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.
CONSIDERACIONES PARA LA ELECCIÓN DE LA HERRAMIENTAS
CASE
La
elección del CASE va a depender de las estrategias de desarrollo:
- Si tiene un gran volumen de aplicaciones desarrollados, es conveniente contrastar lo realizado versus las técnicas de Análisis y Diseño.
- Si tiene presión por resultados a corto plazo, el empleo de un Lower CASE le será de utilidad, si se basa en modelos de datos y procesos claros y definidos.
- Si desea realizar proyectos de gran envergadura es recomendable aplicar Upper y Lower CASE.
- Si trabaja con archivos de grandes dimensiones, es recomendable que el CASE soporte el Diseño de Bases de Datos.
- Si no tiene formación y experiencia en el manejo de metodologías es recomendable contar con asesoría especializada, que capacite al personal y supervise los avances de Análisis y Diseño.
- Evalúe la eficiencia del producto, en las pruebas unitarias y de integración, y fundamentalmente en las pruebas de sistemas.
EVOLUCIÓN Y LÍNEAS FUTURAS
Las
principales líneas de evolución hacia las que parecen encaminarse las
herramientas CASE son:
CASE para
sistemas bajo arquitectura cliente/servidor, para facilitar una mayor
liberalización del programador de todos los aspectos que no sean propios de la
aplicación (protocolos de red, seguridad, etc.).
CASE
multiplataforma, que soportan las combinaciones dominantes de diferentes
plataformas físicas, sistemas operativos, interfaces gráficas de usuario, etc.
CASE para ingeniería inversa y directa, que marcará notables mejoras en la
obtención de los diseños a partir del código ya existente (ingeniería inversa)
y la regeneración del mismo una vez optimizado el diseño (ingeniería directa).
CASE para trabajo en grupo (groupware),que facilitará la integración de
diferentes grupos humanos trabajando conjuntamente en un gran proyecto.
ALGUNOS
EJEMPLOS DE HERRAMIENTAS CASE:
- ASADAL - Herramienta CASE especializada en Sistemas de Tiempo Rea
- CASE GENEXUS Too
- System Architect, herramientas CASE para Análisis y Diseño, incluye técnicas estructuradas y orientadas a objetos.
- Win A&D, herramientas CASE para Análisis y Diseño, incluye técnicas estructuradas y orientadas a objetos.
FASE DE DISEÑO ENTRADA-SALIDA

Directa: Los datos referentes a un evento se introducen al sistema en el
momento en que ocurren.
El uso de cualquiera de los dos métodos depende de los requerimientos de los
usuarios y de la oportunidad de la salida productiva.
MÉTODOS DE ENTRADA
Para el
manejo y control de los sistemas de información y su interrelación con el
usuario es necesario hacer uso de herramientas conocidas como periféricos,
tales herramientas permiten la entrada de los datos e iformación al sistema que
está encargado de procesarlos para proporcionar unas salidas específicas, éstos
elementos pueden ser: el teclado, el ratón, el escáner, los sensores de
magnitudes mecánicas o eléctricas, etc.
Un
periférico siempre tiene dos partes:
El controlador que se encarga de la comunicación con la CPU, o sea que
se encarga de la transferencia de datos y el dispositivo mecánico,
electromecánico o electromagnético con su electrónica de control (o un
transductor en el caso de sensores), su misión es la relación con el exterior.
MÉTODOS DE SALDA
Después
de ser procesados los datos (donde finaliza el proceso de información), es
necesario proporcionar la salida de los resultados obtenidos para los usuarios
del sistema que requieren información específica y útil y para ello es
necesaria la utilización de dispositivos llamados periféricos de salida tales
como: el monitor, la impresora, graficadores, microfilm, facsímil, e-mail, voz,
etc.
Un caso especial de periférico son los puertos serie o paralelo que representan
simplemente canales de E/S de datos entre CPU y el exterior.
TIPOS DE
SALIDAS
Las salidas pueden estar representadas por reportes y éstos pueden ser
analíticos, de notificación, de quilibrio, de variación, comparativos, de
razones; o también pueden ser gráficas, ya sean de líneas, de barras, de
pastel, matrices o tablas.
1. DISEÑO
FÍSICO DE LA BASE DE DATOS

1.1
Especificación de tablas
1.2
Determinación de las Claves primarias de las tablas
1.3
Implementación de Dependencias
1.4
Asignación de atributos a las tablas
1.5
Implementación de las reglas del negocio complejas
1.6
Creación de Columnas redundantes
1.7
Creación de tablas resumen y acumulativas
1.8
Creación de tablas de descripción de códigos
1.9
Mantenimiento de Históricos
DISEÑO
DE LA APLICACIÓN
En el
nivel más simple, el diseño de aplicaciones es el diseño del software que
soporta los procedimientos (programas u hojas del árbol de funciones), la
navegación a través de la aplicación (menús por ejemplo) y los controles y
seguridad.
Tener en
cuenta los siguientes pasos:
- Realización de referencia Módulos versus Atributos de la Base de Datos. Entiéndase acá como módulo cada programa de software que hay que hacer (Formulario, Consulta, Informe, etc.). Esta referencia se hace revisando el diseño conceptual de cada módulo y su interacción con cuales columnas de la Base de Datos.
- Especificación de Informes/consultas: Debe incluirse un ejemplo de que aspecto tiene cada informe. Debe describirse las consultas subyacentes que soporta cada informe.Cualquier flexibilidad, deseada en el informe (por ejemplo, filtros, y ordenamiento) tiene que declararse en este punto.
- Especificación de Formularios: Debe incluirse un ejemplo de que aspecto tiene cada formulario, describiendo cada control. De igual manera describir la funcionalidad del formulario.
- Especificación de Programas: Descripción detallada de la funcionalidad del programa por ejemplo empleando seudocódigo.Incluir la funcionalidad por defecto (como operaciones que se hacen por omisión).Además referenciar a que requisitos responde el programa.
- Especificaciónde Navegación: En esta etapa del diseño se deben tomar decisiones acerca de la forma en que el usuario podrá navegar a través de la aplicación(por ejemplo navegación específica a través de botones en la pantalla, opciones de menú, etc.)De igual manera es necesario establecer la funcionalidad subyacente a la navegación.
- Seguridad: Deberá describirse como será al acceso a la aplicación (por ejemplo utilización de password)De igual manera cual será el programa de contingencia ante: Fallos de Hardware, Errores Humanos y Fraude.
SEGURIDAD EN SISTEMAS

No importa cuál sea la inclinación actual de las empresas en general, lo que sí
es importante es que sea grande o pequeña la empresa o el software que utilice
para sus transacciones diarias, se deben emplear mecanismos de seguridad que
garanticen el correcto funcionamiento de estos aplicaciones, esto con el fin de
prevenir el caos y los contratiempos que puede ser ocasionados por manos
inescrupulosos o personas no capacitadas correctamente en el funcionamiento de
las mismas.
Es por ello que cada vez son más las medidas de seguridad incrustadas en las
aplicaciones de software para sistema de información tales como:
- Proteger los sistemas de información o bases de datos mediante una contraseña.
- Administrar tipos y grupos de acceso (administradores, usuarios regulares y visitantes).
- Establecer un nombre propio para el administrador, una contraseña y un PIN.
MANTENIMIENTO
DE LA SEGURIDAD DE LAS BASES DE DATOS
La
seguridad las bases de datos impide que personas no autorizadas vean,
modifiquen, eliminen, o destruyan la información de manera accidental o intencionada.
La seguridad es uno de los aspectos fundamentales en los entornos multiusuario,
pero también es posible evitar que otros usuarios vean o modifiquen las bases
de datos no compartidas de su computadora. Esta sección describe las distintas
capas de seguridad disponibles para las bases de datos Microsoft Access en red.
También explica cómo utilizar estas características para proteger un sistema de
bases de datos.
Existen
10 fundamentos básicos para la seguridad de las bases de datos instaladas en
una red de área local. Cinco de ellos dependen del sistema operativo utilizado:

• Cada usuario identificado de la red de estar autorizado para acceder a
elementos específicos de la red, como carpetas, impresoras u otros recursos
compartidos. Cada usuario dispone de una cuenta de red que incluye su
identificación y sus autorizaciones. El archivo que contiene esta información
debe estar codificado y el administrador de la red debe ser el único usuario
capas de acceder a él.
• Debe realizarse un seguimiento de las acciones de los usuarios de la red para
determinar si se producen intentos de acceso a elementos prohibidos. Los
usuarios que intentan violar repetidamente la seguridad de la red deben ser
bloqueados fuera de la red hasta que se tomen las medidas administrativas
apropiadas.
• La red debe estar protegido concentraciones. Esta protección incluye la
instalación de sistemas de seguridad inmunes a los intentos de acceso por parte
personas no autorizadas y la realización de comprobaciones rutinarias para
detectar y eliminar la presencia delitos.
• Los datos almacenados en los servidores de la red deben protegerse contra
fallos de hardware y destrucciones catastróficas (incendios, terremotos,
inundaciones, etc.) realizando copias de seguridad de manera periódica y
adecuada. Los sistemas de copias seguridad permiten reconstruir los datos hasta
el momento la copia.
Las
medidas necesarias para establecer los cinco primeros fundamentos dependen del
administrador de la red de los sistemas basados en servidores. En las redes de
igual a igual, cada persona que comparte sus recursos debe responsabilizarse de
la seguridad. Los cinco fundamentos restantes son competencia del sistema
gestor de bases de datos y de la aplicación:
• El
contenido de las tablas de una base datos debe estar codificado para evitar que
la información pueda leerse con programas de lectura de archivos u otras
utilidades.
• Los usuarios deben identificarse antes de abrir un archivos de base datos.
Debe utilizarse una contraseña secreta distinta a la empleada para acceder a la
red. El archivo de base datos que contiene las indicaciones y las contraseñas
(cuentas de usuario de base de datos) debe estar codificado. La técnica de
codificación empleada debe ser suficientemente sofisticada para evitar que los
piratas puedan descifrarla. El administrador de la base datos debe ser la única
persona con acceso a este archivo.
• Los usuarios deben disponer de permisos específicos para utilizar la base de
datos y sus tablas. Si los usuarios sólo pueden acceder a determinadas columnas
de una tabla, el acceso de realizarse mediante una consulta que sólo incluye
los campos a los que usuarios que autorizado acceder. El sistema gestor de base
datos relacionales debe permitir que se revoque una autorización cuando sea
necesario.
• Los datos de las tablas de ser auditables. La parte de seguimiento supone un
incentivo el fraude informático. Las actualizaciones realizadas por los
usuarios en las tablas que contienen información financiera deben grabarse en
un registro, preferiblemente en otra base datos, que identifique al usuario, la
fecha, la hora y el tipo de modificación. Los registros resultan útiles para
reconstruir los movimientos producidos desde la última copia seguridad.
• Las operaciones que actualizan registros en más de una tabla deben realizarse
utilizando técnicas de transacción reversibles para poder cancelarlas en caso
de falla de actualización de cualquiera de las tablas.
No hay comentarios:
Publicar un comentario