domingo, 20 de marzo de 2011

herramientas para la administración

DEFINICIÓN 
Las siglas CASE se emplean con bastante frecuencia en la comunidad de sistemas de información para denotar la ingeniería de sistemas asistida por computadora o la ingeniería de software asistida por computadora. Aunque el uso de este último término está más diseminado, el primero es más exacto ya que el objetivo a largo plazo de las herramientas CASE es automatizar los aspectos clave de todo el proceso de desarrollo, desde el principio hasta el final. Para aquéllos que emplean el término ingeniería de software asistida por computadora, hacemos mención de que el desarrollo de una aplicación comienza con la especificación de requerimientos, no con la codificación del software. Esas como las extensiones de CASE hacen referencia al mismo proceso.
En el mercado existe una gran variedad de herramientas que automatizan una o varias de las actividades del ciclo de vida de los sistemas. Entre más amplio sea el espectro de actividades que automatiza, mayor efectividad se obtiene con su uso. Sin embargo el gran inconveniente de todas ellas es la deficiente intercomunicación entre ellas y la poca flexibilidad que tienen los métodos de trabajo.
Los productos CASE se clasifican en “upper case”, dedicados a las primeras etapas (planeamiento, análisis, diseño) y “lower case” a las actividades de construcción de los sistemas.
La automatización de las actividades creativas cuando se trabaja en un problema pequeño o cuando es un solo analista no rinden los beneficios esperados. Sin embargo sabemos que la planificación estratégica requiere mas de una persona y que en el análisis intervienen varios usuarios y algunas veces mas de una analista. Además para problemas grandes es necesario crear grupos interdisciplinarios de trabajo. Es en estas situaciones en las cuales se necesita tener una herramienta CASE.

 Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un Software son: Investigación Preliminar, Análisis, Diseño, Implementación e Instalación.



COMPONENTES DE CASE

En general, las herramientas de tipo CASE incluyen los siguientes cinco componentes: herramientas pata diagramación, un depósito de información, generadores de interfaces, generadores de código y herramientas de administración. Las actividades de alto nivel reciben la mayor importancia, aunque ya están apareciendo generadores de código de bajo nivel.

Herramientas Para Diagramación

Las herramientas para diagramación dan soporte al análisis y documentación de los requerimientos de una aplicación. Por lo general, incluyen facilidades para producir diagramas de flujo de datos. Como el lector ya sabe, estas herramientas de alto nivel son esenciales para brindar apoyo a la metodología de análisis estructurado. Las herramientas CASE incorporan, de manera extensa, métodos propios del análisis estructurado.
Estas herramientas ofrecen la capacidad de dibujar diagramas y cartas, además de guardar los detalles en forma interna. Cuando es necesario realizar cambios, la naturaleza de éstos se describe en el sistema, el cual puede entonces volver a dibujar todo el diagrama de manera automática. La capacidad para cambiar y volver a dibujar elimina una actividad que los analistas encuentran tediosa y poco deseable.

Depósito Centralizado De Información

La captura, análisis, procesamiento y distribución de todos los sistemas de información es asistida por un depósito de información centralizado o diccionario de datos. (Se hará un uso intercambiable de los términos depósito de información y diccionario de datos, aunque los vendedores quizá utilicen uno u otro cuando anuncian sus productos.) El diccionario contiene detalles sobre los componentes del sistema, tales como datos, flujo de datos y procesos; asimismo, también incluye información que describe el volumen y frecuencia de cada una de las actividades.
Aunque los diccionarios son diseñados para que el acceso a la información sea sencillo, también incluyen controles y medidas de protección que preservan la exactitud y consistencia de los detalles del sistema. El uso de:
Niveles de autorización,
Validación de procesos y Procedimientos para verificar la consistencia de las descripciones, asegura que el acceso a las definiciones y las revisiones hechas a ellas en el depósito de información, ocurran en forma apropiada y acorde con procedimientos ya establecidos.

Generador De Interfaces
Las interfaces con el sistema son los medios que permiten a los usuarios interactuar con una aplicación, ya sea para dar entrada a información y datos o para recibir información. Los generadores de interfaces ofrecen la capacidad para preparar imitaciones y prototipos para las interfaces con los usuarios. Por lo general, soportan la rápida creación de menús de demostración para el sistema, de pantallas de presentación y del formato de los informes.
Los generadores de interfaces son un elemento importante para el desarrollo de prototipos de aplicación, aunque también son de utilidad para los demás métodos de desarrollo.
´

Generadores De Código
Los generadores de código automatizan la preparación de software. Estos incorporan métodos que permiten convertir las especificaciones del sistema en código ejecutable.
La generación de código aún no ha sido perfeccionada. Los mejores generadores de código producen aproximadamente el 75% del código fuente de una aplicación. El resto debe ser escrito por los programadores. La codificación manual, que es el nombre que recibe este proceso, sigue siendo necesaria.
Dado que las herramientas CASE son de propósito general, es decir no están limitadas a ciertas áreas específicas de aplicación como el control de procesos de manufactura, análisis de portafolios de Inversiones o administración de cuentas, resulta que el desafío le automatizar el proceso de generación de software es sustancial.
Los mayores beneficios se obtienen cuando los generadores de código se encuentran integrados con un depósito central de información. Esta combinación alcanza el objetivo de crear un código que pueda volverse a emplear. Cuando las especificaciones cambian, se puede volver a generar el código al alimentar los detalles del diccionario de datos a través del generador de código. El contenido del diccionario puede emplearse de nuevo para preparar el código ejecutable.


INTEGRACIÓN DE HERRAMIENTAS EN CASE
CASE incorpora varias herramientas que pueden considerarse por separado, como elementos discretos, o como parte de un sistema un grupo de herramientas. Por lo general, se prefiere esto último. La integración de las herramientas permite que la información obtenida con una de ellas sea utilizada por otra dentro del mismo proyecto.
La integración de herramientas ocurre en tres formas:
  • Creación de una interface para desarrollo uniforme o adaptable
  • Proporcionar la facilidad para transferir datos entre las herramientas.
  • Unir las actividades de desarrollo.
Interface Uniforme

Una interface uniforme significa que todas las herramientas en el sistema CASE son activadas de la misma manera y desde un lugar común en el sistema. Para esto son comunes varios enfoques. Una interfaz usada por varias herramientas CASE es la siguiente:
Excelerator, una herramienta bastante diseminada, utiliza menús para seleccionar diversas funciones (por ejemplo desarrollo de gráficas, preparación de pantallas e informes, etc.) La opción en un menú conduce a otro. De aquí que al seleccionar la opción de gráficas, aparezca otro menú del que se pueden seleccionar actividades para la preparación de diagramas de flujo de datos y de estructura, entre otras.
Knowledge Ware, otro producto importante de tipo CASE, utiliza ventanas, un sistema en el que la pantalla de la computadora contiene varias áreas pequeñas de presentación visual que se traslapan entre sí, y que muestran al mismo tiempo información diferente. Con las ventanas, el sistema Knowledge Ware permite que el usuario vea en forma simultánea diagramas de flujo de datos, diagramas de estructura, entradas del diccionario de datos y otra información.
A menudo la interface determina la comodidad que experimentan los analistas al utilizar un sistema CASE. La interface debe adaptarse a los usuarios expertos y novatos así como a la tarea que se está realizando. Los resultados, mensajes e instrucciones deben mostrarse en un lugar y formato consistentes. También son importantes los mensajes interactivos y los buenos diagnósticos. Sin embargo, las herramientas deben proporcionar soporte directo para los procedimientos con los que trabajan los encargados de un desarrollo; es decir, el usuario no tiene que estar forzado a utilizar métodos y técnicas que no se ajusten a los procedimientos de trabajo existentes.

Facilidad para la transferencia de datos

La facilidad para la transferencia de datos significa que los detalles desarrollados con una herramienta pueden estar disponibles para otras. Por ejemplo, los generadores de código y los de interfaces pueden utilizar las descripciones preparadas por medio de la creación de diagramas de flujo de datos. El diccionario de datos es el elemento crítico que hace posible la transferencia de datos entre herramientas distintas. Es de este modo como todas las herramientas interactúan con el diccionario de datos para utilizar las definiciones y descripciones contenidas en él.

Unir de las actividades de desarrollo

La facilidad para transferir datos y la unión de las fases de desarrollo se encuentran relacionadas, ya que se pueden utilizar una y otra vez los datos transferidos entre herramientas a través de todo el proceso de desarrollo. Los enlaces se pueden crear en forma manual, con una participación extensa del analista, o en forma automatizada, donde el analista no participa directamente en la interacción.
La herramienta ideal (aunque todavía no existe) debe tener la capacidad para volver a conformar la salida de una actividad en una entrada para la siguiente actividad. Por ejemplo, los diagramas de flujo de datos, las descripciones de procesos y los almacenes y flujos de datos definidos en la fase de análisis, deberían transformarse de manera automatizada en diagramas estructurados, funciones y módulos para el proceso de diseño. Estas características están comenzando a aparecer en las herramientas que se emplean actualmente. Un número limitado de herramientas genera ciertas clases de diagramas a partir de las descripciones guardadas en el diccionario de datos (por ejemplo, Knowledge Ware genera diagramas en distintos formatos utilizando para ello las entradas del diccionario de datos. Los diagramas no se guardan, se generan cada vez que se necesite de ellos.)
La integración de las herramientas a través del hardware de los sistemas, es deseable en aquellos ambientes donde están mezcladas estaciones de trabajo y sistemas de cómputo muy grandes. La integración incluye la capacidad de una herramienta para adaptarse a las ya existentes, un problema que apenas comienzan a estudiar investigadores y responsables del desarrollo de sistemas.


USO DE UNA HERRAMIENTA CASE
Esta sección describe las características de una herramienta CASE muy común. El lector tendrá la oportunidad de observar la potencia de CASE y de darse cuenta que la responsabilidad sigue estando en el analista de sistemas. Se hará uso de Excelerator como vehículo para demostrar cómo se ingresan los datos y se generan informes. Las pantallas de visualización que aparecen en esta sección son las que el lector verla si se sentase frente a una computadora personal donde se estuviese ejecutando el software Excelerator.

Operaciones Iniciales
Los sistemas CASE almacenan información por proyecto. Cada aplicación de sistemas de información es considerada como un proyecto. De esta forma, una aplicación de cuentas por pagar es un proyecto, al igual que un sistema de recepción de pedidos. La información que describe cada aplicación se mantiene por separado de la de otros proyectos.
Al igual que muchas herramientas CASE, Excelerator incluye un sistema de contraseñas para impedir el acceso a la información por usuarios que no tienen autorización para hacerlo. El acceso se controla a nivel de cada proyecto.
Antes de iniciar el trabajo, el analista debe proporcionar su nombre y contraseña. Si ésta es correcta, Excelerator presenta sobre la pantalla una lista de todos los proyectos para los que el analista tiene autorizado el acceso. Después de seleccionar el proyecto, por medio de un cursor, aparece el menú principal del sistema.

Menú principal de funciones
El menú principal presenta los nombres de las siete funciones más importantes de Excelerator: gráficas, XLDiccionario, pantallas y reportes, documentación, análisis, interfases y utilerias (Ver figura anterior y tabla siguiente).
El resto de esta sección mostrará la forma en que se emplea Excelerator para dibujar diagramas y cartas, trabajar con el diccionario de datos, analizar un diseño y producir un documento de especificaciones completo.
Muchas herramientas CASE permiten que el usuario seleccione una acción señalando su nombre o un número sobre la pantalla, ya sea a través de un dispositivo apuntador (como el ratón) o por el posicionamiento de una barra luminosa por medio de las teclas de flechas y tabulador contenidas en el teclado. A partir de aquí, se utilizará el término seleccionar para indicar que se ha escogido una opción.

Dibujo de diagramas de flujo de datos
Cuando se selecciona la función de gráficas, aparece otro menú (Ver figura anterior) que muestra las opciones disponibles para el analista. Los diagramas de flujo de datos son uno de los muchos tipos de diagramas y cartas disponibles en el menú de gráficas. Se puede utilizar cualquier técnica, ya sea la de Yourdon o la de Gane y Sarson. Para este ejemplo se utilizará la técnica de Gane y Sarson. Cada diagrama puede manejar aproximadamente 75 objetos. Sobre el diagrama, cada objeto puede tener una etiqueta y estar interconectado con otros objetos del diagrama.
Todas las gráficas se crean dentro de un área delimitada por un menú de mandatos que aparece en la parte izquierda de la pantalla (ver figura anterior). El menú de mandatos difiere de acuerdo con la función de dibujo seleccionada por el analista. Los mandatos de dibujo se seleccionan de la misma manera que las opciones del menú.
Para dibujar un objeto sobre la pantalla, el analista apunta hacia el objeto y al tipo de objeto que desea dibujar (por ejemplo un proceso o almacén de datos). Después apunta al lugar sobre la pantalla donde desea dibujar el objeto. Una vez hecho esto, el objeto aparece en ese lugar. De esta manera es como se posicionan gran variedad de objetos sobre la pantalla.
Para conectar dos objetos, lo que representa un flujo de datos, el analista selecciona el mandato CONNECT y apunta hacia los dos objetos que desea conectar. Las líneas que unen a los dos objetos pueden incluir flechas para señalar la dirección del flujo de datos.
Excelerator determinará automáticamente la trayectoria para las líneas junto con los lados de los objetos donde éstas incidirán. El analista también puede crear en forma manual la conexión. Se aplica el mismo procedimiento a todos los objetos que representan procesos, almacenes de datos y fuentes de datos.
El diagrama de flujo de datos de la figura anterior fue preparado con Excelerator en unos cuantos minutos. Para dibujar cada objeto, el analista escoge el objeto deseado de una lista de mandatos que se encuentra en la parte izquierda de la pantalla, apunta hacia el objeto y lo selecciona. El sistema lo dibuja sobre la pantalla.
Es muy sencillo modificar los diagramas. Cuando los objetos se mueven o borran, Excelerator vuelve a dibujar, en forma automática, todas las etiquetas y rectas que representan flujos de datos afectadas por el cambio. Esta característica por sí sola justifica el uso de sistemas CASE por analistas que emplean diagramas de flujo de datos.
El mandato PROFILE permite al analista seleccionar opciones de su preferencia. Por ejemplo, la dirección de las flechas (un¡ o bidireccional), la decisión de emplear líneas rectas con ángulos rectos o curvos y la localización del texto, son aspectos que están determinados por el mandato PROFILE.
Los diagramas de flujo de datos muy grandes, no siempre se ajustan al tamaño de la pantalla. El mandato ZOOM permite al analista cambiar el nivel de amplificación para poder ver una porción específica del diagrama. El mapa de orientación que aparece en la parte inferior izquierda de la pantalla, representa todo el diagrama y permite al analista saber qué parte del diagrama está observando. La parte que se observa del dibujo puede cambiarse simplemente apuntando sobre el mapa hacia la localidad deseada y entonces seleccionarla. Excelerator cambiará, en forma inmediata, el contenido de la pantalla.
Las gráficas de presentación, son útiles para mostrar elementos físicos personas, terminales, informes y otros componentes- de un sistema. En la siguiente figura se muestran los elementos que pueden dibujarse en una gráfica de presentación.
Nótese que la pantalla de la figura siguiente contiene la gráfica de presentación para la parte de recepción de pedidos y elaboración de informes, además de una caja de mandatos en la parte izquierda de la pantalla. Los mandatos son diferentes a los utilizados para dibujar diagramas de flujo de datos puesto que se emplea otro tipo de objetos. La gráfica de presentación, al igual que las demás gráficas, se crean de la misma manera que los diagramas de flujo de datos; los cambios también se efectúan con la misma facilidad. Esta característica es representativa de las que se encuentran en todos los sistemas CASE.

Diccionario por proyecto
A medida que se formulan las especificaciones y la documentación, toda la información con respecto al proyecto se acumula en el diccionario de datos que Excelerator mantiene para dicho proyecto. Parte de la información, como el flujo de datos entre procesos, la graba directamente la persona que hace uso de la herramienta. Otra parte de la información se graba automáticamente, como la fecha en que se actualizó por última vez el diagrama o la información alterada por seguimiento o auditorías.
Una vez que la información se encuentra en el diccionario, puede volver a ser utilizada por el mismo proyecto en forma repetida, sin necesidad de definirla de nuevo. Esta característica por si sola, añade consistencia y exactitud a las especificaciones del sistema.
Dentro del diccionario, las entradas se pueden añadir, modificar, listar, borrar y cambiar de nombre (siguiente figura). También es posible enlistar el contenido del diccionario con informes preformateados.
Por otra parte, se tiene acceso a la información contenida en el diccionario desde cualquier parte de Excelerator.
El diccionario guarda los siguientes tipos de información:
  • Registros y elementos: Detalles de elementos dato y registros.
  • Datos: Detalles relacionados con almacenes y flujos de datos, etc. También se incluyen tablas de códigos definidos por el usuario junto con su significado así como el uso de otros nombres (alias).
  • Procesos: Procesos, funciones y módulos del sistema.
  • Gráficas: Diagramas de flujo de datos, gráficas estructuradas, diagramas para modelos de datos, diagramas estructurados, diagramas de relación entre entidades y gráficas de presentación.
  • Pantallas e informes: Definiciones y composición del diseño de los informes, desafíos de pantallas y formas para la entrada de datos. También es posible preparar informes relacionados con la entrada de datos en pantalla.
  • Entidades de otro tipo: Informes de las especificaciones contenidas en el diccionario, listados de entidades, nombres de usuarios y descripciones de documentos.
La figura anterior muestra una entrada del diccionario que describe un elemento dato. Nótese que la entrada incluye detalles que describen al elemento dato por su nombre, tamaño, especificación de tipo y alias. También se incluyen la definición, reglas de edición y origen del dato para proporcionar una descripción completa del elemento.

Pantallas e informes
Excelerator, corno muchas otras herramientas de tipo CASE, proporciona un método rápido y sencillo para desarrollar prototipos de pantallas para que los usuarios finales trabajen con ellas. El analista puede diseñar y ejecutar pantallas y reportes con el apoyo de un menú, e incluso desarrollar el prototipo de una base de datos. Después de definir la distribución de una pantalla o reporte, el analista puede generar un reporte basándose en datos de prueba proporcionados al sistema.
El desafío de una pantalla comienza con una pantalla de presentación visual en, limpio. Al mover el cursor por toda la pantalla, quizá utilizando para ello las teclas con flechas que aparecen en el teclado, el usuario puede especificar las posiciones donde desea que aparezcan letreros, campos para entradas y salidas, encabezados y títulos. Estos elementos aparecerán en la pantalla en el lugar deseado.
Cuando el usuario invoca la función para añadir un campo, aparece una ventana que permite dar entrada al nombre de los campos, su longitud y la especificación de tipo de dato. También es posible eslabonar un campo con algún elemento del diccionario; con esto se extrae información relacionada con la longitud, reglas de edición, etc., que ya se encuentra definida.
La plantilla de distribución de los reportes se crea de manera similar (Figura anterior). Dado que Excelerator permite especificar informes que contienen hasta 132 columnas y 66 líneas, el analista puede crear virtualmente cualquier reporte e incluir su definición y plantilla de distribución en la documentación del sistema.

Herramientas para análisis y documentación
Exceterator ofrece características tales como un conjunto de reportes que validan las descripciones del sistema. Los reportes del análisis contienen una lista de relaciones inconsistentes o legales entre datos, flujos de datos y procesos, así como inconsistencias al seguir las convenciones para asignar nombres. También es posible detectar y notificar diagramas no balanceados.
Esta labor se efectúa con el apoyo de un generador de reportes que forma parte del software (Figura anterior) y que produce los reportes, ya sea con un formato preestablecido o definido por el usuario, sobre el contenido del diccionario; estos reportes permiten al analista documentar o analizar el avance del desarrollo. También es posible seleccionar opciones para enlistar las entidades del sistema, seleccionar ciertos tipos de información e incluso para clasificar y distribuir la apariencia del contenido del reporte.
En Excelerator se ha dado especial importancia a la preparación exacta y atractiva de la documentación del sistema. Con el uso de las facilidades para documentación, se pueden reunir en un documento final todas las gráficas, los reportes provenientes del diccionario, los diseños de reportes y de pantallas e incluso texto narrativo. También pueden incorporarse en el documento final la salida de muchos procesadores de texto, hojas electrónicas de cálculo y sistemas de base de datos.

Administración del Case
Las experiencias con CASE van desde éxitos rotundos hasta fracasos costosos. Afortunadamente existen suficientes experiencias como para caracterizar las razones de éxito y fracaso. Entre las causas comunes para no haber adoptado esta nueva tecnología en las empresas se pueden citar:
  • Confusión sobre lo que significa CASE. Se están anunciando como productos CASE, desde un compilador de lenguaje C con ayudas visuales, hasta sistemas que cubren varias etapas del trabajo.
  • Inexperiencia de los proveedores, quienes a veces ofrecen capacidades que no tiene el CASE, lo cual conduce a demoras y sobrecostos en el proyecto piloto.
  • Cambios en los métodos de trabajo. Las herramientas son apenas un apoyo para un trabajo especializado, pero no es posible seguir trabajando con los métodos actuales y a menudo se quieren obtener los beneficios sin pensar en los costos que implica una reorganización de la forma de ejecutar, dirigir y controlar proyectos de desarrollo.
  • Subestimar el esfuerzo y el costo de los efectos de la curva de aprendizaje
  • Permitir que los analistas y jóvenes (inexpertos) tomen decisiones que afectan toda la organización
  • Intentar hacer el cambio en toda la organización al mismo tiempo, sin proyectos pilotos previos, ni planificación detallada de los esfuerzos totales que implica un cambio de esta envergadura.
  • Pero también se conocen las circunstancias que condujeron al éxito en algunas empresas. Entre las más significativas están:
  • Empresas con funciones de sistemas muy bien organizadas y capaces de entender y cuantificar las implicaciones de un cambio. Se caracterizan por haber puesto a funcionar proyectos conjuntamente con los usuarios y capaces de adaptar y diseminar nuevas tecnologías.
  • La organización entiende que los productos CASE, son apenas un componente de un proceso amplio de mejoramiento que involucra usuarios, analistas, implementadores, administradores y en general a casi toda la organización.
  • Inician el proceso con un conjunto de herramientas CASE y solamente las adoptan después de estar seguros que es la que mejor se adapta a sus necesidades.


No hay comentarios:

Publicar un comentario