lunes, 25 de agosto de 2008

Trabajo de mesa para confeccionar Bases de Datos

Alix [aacg@sum.upr.edu.cu]

De seguro eres de los que piensan que dominan el arte de la creación de las bases de datos, de los que las hacen en “caliente” aunque le tome toda una madrugada llegar a terminarlas; pues bien te recomiendo que te leas este articulo de forma detenida ya que toca un tema que estoy seguro has olvidado por completo, a ese que llamamos trabajo de mesa, y que consiste en representar en el papel el sistema que vamos a hacer.

Esto del trabajo de mesa para la realización de bases de datos ha traído muchas controversias entre los especialistas que han trabajado aportando ideas sobre el tema, así que solamente mencionaré lo básico.

Primero debo decirles que todo parte del “análisis” que podamos lograr de una problemática que queramos resolver y que generalmente se puede resumir en cuatro principios básicos:
1. Se debe representar y comprender el ámbito de información del problema: Como ámbito de información se entiende tanto los datos, como los procesos o tareas del sistema analizado.
2. Se deben desarrollar los modelos que representen la información, función y el comportamiento del sistema: Deben mostrar qué hace el sistema y no cómo debe funcionar.
3. Se debe dividir el modelo (y el problema) de forma que se descubran los detalles de una manera progresiva (o jerárquica), de lo general a lo particular: Por esta razón es necesarios dividirlos en partes que se puedan entender fácilmente y establecer interfases entre estas partes, para poder realizar la función global.
4. El proceso de análisis debe ir de la información esencial (¿el que´?) hacia el detalle de la implementación (¿el cómo?).

Pues basándonos en estos principios lo primero que debemos realizar es un pequeño diagrama que represente cómo funciona “nuestro sistema” la cual llamaremos: diagrama de contexto o resumen del sistema. Para ello se deben conocer la notación básica para su confección que es la siguiente:

Notación para los diagramas

Denominación

Definición

Representación

Notación

Ejemplo

Procesos

Representan como las entradas se transforman en salidas.

Debe describir lo que realiza.
VERBO + OBJETO

Ejemplo:
Calcular Promedio.

 

Flujos de Datos

Representa la información que entra y sale de los procesos.

Debe corresponderse con su contenido.

OBJETO + (ADJETIVOS)
Ejemplo:

No. carnet valido

 
Flujos Divergentes
Flujos Diferentes
 

 

 

Ficheros

Representan la colección de los paquetes de datos en reposo.

Debe corresponderse con su contenido

OBJETO (plural) + (ADJETIVOS)

Ejemplo:
Pedidos pendientes.

 

Este pudiera ser un diagrama de contexto para una situación dada y se basa en un caso hipotético clásico de la asignatura “Análisis y Diseño de Sistemas Informativos”:




Obsérvese la sencillez y la limpieza con que se muestra todo el proceso en forma resumida.

Sin embargo en muchas ocasiones es necesario descomponer una función o tarea en otras más simples obteniéndose el Diagrama de la tarea correspondiente, el cual será un diagrama de nivel 1 (o de las Tareas Principales). A su vez una de las subtareas del nuevo diagrama pudiera descomponerse obteniéndose un nuevo diagrama (nivel 2), y así sucesivamente según el grado de detalle requerido se tendrán diagramas de niveles 3, 4, etc., siempre yéndose de lo mas general a lo particular. Por ejemplo tengamos:


El Diagrama 3 permite mayor nivel de detalle de la tarea 3 del Diagrama de Nivel 1. El Diagrama 3 obtenido es un diagrama de nivel 2 estando balanceado con relación a su proceso padre, es decir, salen y entran los mismos flujos de dados que entran y salen de la tarea 3 en el Diagrama de Nivel 1 F1 y F2 entran y F3 sale). Por otra parte se realiza las mismas acciones sobre la Base de Datos (leer y escribir), lo que en el nuevo Diagrama se detalla las tablas que se utilizan de la Base de Datos por cada proceso.

Pudiera tenerse tantos diagramas de nivel 2 como numero de Procesos que tengan el Diagrama de nivel 1, así en el ejemplo anterior pudiera tenerse el diagramas 1 y el diagrama 2 correspondientes a las tareas 1 y 2 en caso de necesitarse detallar estas, ambos serán de nivel 2.

Supongamos que sea necesario descomponer la tarea 3.2 del Diagrama 3 obteniéndose el Diagrama 3.2 este de nivel 3.


Note que este esta´ balanceado con su proceso padre, es decir entra el flujo F2, se escribe en las tablas 1 y 4 y se lee de la tabla 3. En este caso la tarea padre 3.2 del Diagrama 3 se dividió en las tareas 3.2.1 y 3.2.2.

Notemos que en todo Diagrama los Procesos (tareas) están enlazados formando el sistema que compone al proceso. Las lijaduras de estas uniones son los depósitos de datos en los cuales las tareas hacen las acciones de leer, escribir o ambas.

Todo diagrama sin importar el nivel deben cumplir con:

1. Utilizar nombres apropiados.
Procesos: Verbo + Objeto
Flujos de Datos: Objeto + Adjetivos
Almacenes de Datos: Objeto (plural) + Adjetivo

2. Las acciones sobre las tablas son:
Actualización: lectura y escritura.
Búsqueda: lectura.
Guardar: escribir

3. Todo proceso o tarea debe estar numerado: Ser consecuente al numerar los procesos (tareas) hijos en relación con la enumeración del padre.

4. Evitar Diagramas muy complejos: Un Diagrama de flujo de datos debe tener entre 5 y 9 procesos (tareas), debiendo ser de complejidad similar.

5. Evitar procesos sumideros y fuentes: En los procesos sumideros solo entran Flujos de Datos, mientras que los fuentes solo salen Flujos de Datos.

6. Evitar depósitos de datos sumideros y fuentes

7. Garantizar que los Diagramas estén balanceados respecto a la tarea padre que le dio origen. En el caso del Diagrama 1 debe estar balanceado con respecto al Diagrama de contexto y este ultimo con relación a la Tabla de Eventos.

8. Los procesos (tareas) de un Diagrama de Flujos de Datos deben estar lijados entre si formando un sistema.

Para el próximo artículo hablaremos sobre como tabular los procesos y flujos del sistema (Tabla de Eventos).



Artículos relacionados


No hay comentarios: