5 Diccionario de Datos 5.1 Documentación del sistema

Anuncio
5 Diccionario de Datos
5.1 Documentación del sistema
Hasta el momento hemos descrito las técnicas utilizadas en el desarrollo de sistemas,
pero el desarrollo de modelos no queremos hacerlo sobre hojas sueltas, con el peligro de
extraviarlas, y tener dificultad en mantenerlo. Por el contrario, necesitamos organizar el
seguimiento de los modelos, principalmente por dos razones:
♦ Dar significado a los componentes del modelo, ayudando a gestionar la
complejidad del sistema.
♦ Soportar el mantenimiento, ya que cualquier trabajo puede pasar de una
persona a otro.
A esta forma de seguimiento organizado del trabajo producido durante el análisis y
diseño del sistema se llama documentación del sistema.
La documentación del sistema es tanto una herramienta de comunicación, como de
comunicación porque contiene un almacen de todo el trabajo hecho cada día y lo pone a
disposición de todas las personas que trabajan en un proyecto grande. También es una
herramienta de dirección, porque asegura una alta eficiencia, ya que todas las personas
tienen acceso a lo último realizado. Dado que un proyecto se divide en fases, se establece
la documentación que se debe aportar en cada fase, lo que ayuda a conocer la situación en
cada momento del proyecto.
Para que sea útil, la documentación debe ser estructurada y fácil de usar. La
documentación en un primer momento se divide en informes de proyecto y una descripción
del sistema.
5.1.1 Informes del proyecto
Los informes del proyecto incluyen la información requerida por la dirección del
proyecto. Los informes incluyen un resumen de la fase actual, unas recomendaciones para
la siguiente fase y un plan con los recursos propuestos.
La información específica de la fase depende de la fase del proyecto, por ejemplo el
informe de viabilidad incluirá los costes esperados del proyecto, y una recomendación para
seguir o abandonarlo.
5.1.2 Diccionario del sistema
La estructura de un diccionario de sistema se mostrará mas adelante. El Diagrama
de Flujo de Datos describe el sistema. El diagrama E-R, describe los datos del sistema. El
componente descripción del proceso describe los procesos del DFD y el Diccionario de
datos que describe los datos del sistema (flujos y almacenes de datos). Los usuarios del
sistema y como lo utilizan se incluyen en la descripción del usuario.
5.1.3 Descripción de procesos
La descripción de procesos incluyen una entrada por cada proceso del diagrama de
flujo de datos. Cada entrada del proceso incluye el número de DFD para él, junto con la
descripción del proceso. Como ejemplo la descripción de un proceso de alto nivel, incluye
el número y nombre del proceso, los nombres de los flujos de datos de entrada y salida y
una descripción del proceso.
Para la descripción de procesos en los niveles inferiores de DFD, se usará un método
de descripción de procesos, no así en los DFD de alto nivel que basta una descripción
narrativa del proceso.
5.2 Diccionario de datos
El diccionario de datos es una lista organizada de todos los datos pertenecientes al
sistema, con una serie de definiciones precisas y rigurosas para que tanto el analista como
el usuario comprendan entradas, salidas, elementos de los almacenamientos y calculos
intermedios.
En el diccionario de datos incluimos almacenes de datos, flujos de datos, estructuras
de datos, elementos de datos y en algunos casos el modelo E-R.
El diccionario de datos (DD) define los datos en cuanto que:
1. Describe el significado de los flujos de datos y los almacenes que muestran
los DFD's.
2. Describe la composición de la estructura de datos que se mueven a los largo
de los flujos.
3. Describe la composición de la estructura de datos en los almacenes.
4. Describe los detalles de las relaciones entre almacenes que aparecen en un
diagrama entidad-relación.
Los analistas utilizan los diccionarios de datos por cuatro razones:
1. Para manejar los detalles en sistemas grandes ya que es imposible de recordar
todo lo referente a un sistema.
2. Para comunicar un significado común para todos los elementos del sistema.
Esto es muy importante cuando trabajan varios analistas y no pueden reunirse
todos los días para comunicarse.
3. Para documentar las características del sistema.
4. Localizar errores en el sistema.
5.2.1 Contenido de un Diccionario de Datos
El DD contiene las siguientes:
1. Definiciones lógicas de datos:
♦ Elemento de Dato (Atributos de la Entidad).
♦ Estructura de Dato.
♦ Flujos de Datos.
♦ Almacenes de datos.
2. Definiciones lógicas de procesos.
3. Definicion lógicas de entidad externa.
Los elementos de dato se agrupan para formar una estructura de dato.
1. Elemento de dato: Ninguna unidad mas pequeña tiene significado para los
analistas o usuarios. Son los bloques básicos para todos los demás datos del
sistema, por sí solo no lleva ningún significado al usuario. Son los atributos
de las entidades.
Por ejemplo: nº factura, fecha expedición, cantidad adeudada.
2. Estructuras de dato: es un grupo de datos elementales que en conjunto
describen un componente del sistema.
Por ejemplo: Factura.
Los flujos de datos, almacenes de datos son estructuras de datos.
5.2.2 Notación del Diccionario de datos
1. Notación del elemento dato: Cada uno está identificado con un nombre, una
descripción, un alias, una longitud, un intervalo de valores. Veamos las reglas
a seguir para cada elemento.
♦ Nombre de los datos: se deben asignar nombres que sean
significativos, es decir, que tengan significado en el contexto del
desarrollo del sistema. Por ejemplo: Fecha-factura. Un nombre no
debe ser mayor de 30 caracteres y tampoco debe contener espacios en
blanco.
♦ Descripción de los datos: indica de manera breve lo que éste
representa en el sistema, y debe escribirse de forma comprensible
para el lector y pensando que quien lo lea no sabe nada con respecto
al sistema.
♦ Alias: es cuando el mismo dato recibe varios nombres, según quien
haga uso del dato. Ejemplo; factura puede tener como alias
documento de pago o nota de pago etc...
No son alias los siguientes casos: factura autorizada, factura
verificada.
♦ Longitud: indica la cantidad de espacio necesario para cada dato sin
considerar la forma en que serán almacenados.
♦ Valores de los datos: si los valores de los datos están restringidos a un
intervalo específico, debe reflejarse en la entrada del DD. Por ejemplo
Talla unidad [centímetros], rango [1-200].
2. Descripción de las estructuras de datos: Las estructuras de datos se
construyen sobre cuatro relaciones de componentes (datos o estructuras) que
son:
♦ Relación secuencial: Define los componentes (datos o estructuras)
que siempre se incluyen en una estrucutra de datos en particular,
es decir, también se llama concatenación de dos o mas datos.
♦ Relación de selección: Define alternativas para datos o estructuras
incluidas en una estructura de datos.
♦ Relación de iteración: Define la repetición de un componente cero
o más veces.
♦ Relación opcional: Es un caso especial de la iteración, es decir,
una o ninguna iteración.
3. Descripción de los flujos de datos: Representamos los flujos de datos
siempre y cuando el flujo no sea un único atributo. Está formado por una o
mas estructuras previamente definidas. Del flujo nos interesa el contenido,
fuente, destino, volumen.
♦ Nombre del flujo de datos: se deben asignar nombres que sean
significativos, es decir, que tengan significado en el contexto del
desarrollo del sistema. Por ejemplo: factura.
♦ Fuente: indica cual es el proceso fuente de la información. Se
indicara el número del proceso.
♦ Destino: indica cual es el proceso destino de la información. Se
indicara el número del proceso.
♦ Definición: explica el contenido del flujo de datos.
♦ Contenido: describe cuales son las estructuras de datos incluidas.
4. Descripción de los almacenamientos de datos: Representamos los
almacenamientos de datos. Se documenta su contenido, flujos de entrada,
flujos de salida.
♦ Nombre de almacenamiento de datos: se asignan nombres que sean
significativos, es decir, que tengan significado en el contexto del
desarrollo del sistema. Ejemplo: histórico facturas.
♦ Flujos de entrada: indica cuales son los flujos que alimentan el
almacenamiento de datos.
♦ Flujos de salida: indica cuales son los flujos que extraen
información del almacenamiento de datos.
♦ Definición: describe el contenido del almacenamiento de datos.
♦ Contenido: especifica el contenido del almacenamiento.
5. Descripción de los procesos: Representamos los procesos del sistema. Se
documenta su contenido, flujos de entrada, flujos de salida.
♦ Nombre de proceso: se asignan nombres que sean significativos, es
decir, que tengan significado en el contexto del desarrollo del
sistema. Por ejemplo: verificar _crédito.
♦ Entradas: indica cuales son los procesos, almacenamientos de
datos que ejercen de fuente de datos.
♦ Flujos de salida: indica cuales los procesos, almacenamientos de
datos que ejercen de destino de datos.
♦ Definición: indica la misión del proceso.
♦ Descripción: describe el proceso. Para ello utilizaremos: Forma
narrativa, arboles de decisión, tablas de decisión, lenguaje
estructurado.
6. Descripción de las entidades externas: Representamos las entidades externas
del sistema. Se documenta a quien representa, flujos de datos relacionados,
volumen etc.
♦ Nombre de entidad externa: se asignan nombres que sean
significativos, que representen a la entidad. Por ejemplo: clientes.
♦ Flujos de datos asociados: indica cuales son los flujos (entrada /
salida) asociados.
♦ Definición: indica quienes son la entidad.
♦ Volumen: Número de componentes de la entidad.
5.2.3 Sintaxis del Diccionario de Datos
Conocida la forma de describir los datos y estructuras de datos, explicados en el
apartado anterior, a continuación se va a establecer una sintaxis estandarizada que nos
permitirá expresar dichos significados:
♦ = está compuesto por
♦ +y
♦ () opcional, puede o no puede estar presente
♦ [ ] selección entre varias alternativas
♦ { } iteración, repetir lo mismo varias veces
♦ ** comentario
♦ @ clave principal de un almacenamiento
♦ | separador de alternativas en selección
Ejemplo:
♦ Datos elementales.
Son datos, que dentro del contexto del usuario, no tiene sentido
descomponerlo. Es importante especificar: Valores permitidos, y unidad de
medida.
peso_persona =* *
* unidad: kilo ; rango: 1..150 *
sexo = * Masculino o Femenino *
* valores: [ M | F ] *
♦ Datos opcionales.
Dirección_cliente = (dirección _entrega) + (dirección _
facturación)
Dirección_cliente = [ dirección _entrega | dirección _
facturación | dirección _
entrega+
dirección _ facturación
]
Dirección_cliente = dirección _entrega + (dirección _
facturación)
♦ Iteración.
Repetición de uno mas datos elementales o grupo de datos. ' Cero o mas
ocurrencias.'
pedido = nombre _ cliente + dirección _
entrega + { producto }
♦ Selección.
' Una y no mas una de las alternativas '.
sexo = [ Masculino | Femenino ]
♦ Dominio (No Yourdon)
Consiste definir una única vez cada tipo de Dato elemental, y referenciarlo
para cada representación del tipo.
fecha = * *
* unidad: días ; rango: 0..36500 *
fec _ nacimiento = fecha
fec _ factura
= fecha
♦ Alias (Sinónimo)
No se debe confundir con el dominio. Es un nombre alternativo para un datos
elemental.
fecha _ contable = fecha
fecha _ efectiva = * alias de: fecha _ contable *
Nombre = Tratamiento + Nombre_pila + Primer_apellido +
Segundo_apellido
Tratamiento = [ Sr. | Sra. | Srta. | D. | Dr. ]
Nombre_pila = {carácter}
Primer_apellido = {carácter}
Segundo_apellido = {carácter}
carácter = [ A-Z | a-z | - ]
5.2.4 Definición de un Diccionario de Datos
1. Definición de datos secuenciales
Una definición se realiza mediante el símbolo = que significa se define como
por lo tanto una expresión como A= B + C, se podría leer igual que de forma
matemática es decir A está compuesto de B y C, pero para completarla se
debería añadir: el significado de dicho dato en el contexto de la aplicación, el
rango y tipo de valores que cada dato puede tomar.
Por ejemplo: En un sistema informático de un hospital
Datos_del_Paciente = nombre_completo +
*nombre completo del paciente*
*tipo: array de caracteres*
dirección +
*dirección completa del paciente*
*tipo: array de caracteres*
peso +
*peso del paciente*
*unidad: kilogramos; rango: 1-200*
talla +
*talla del paciente*
*unidad: centímetros;rango: 20250*
fecha ingreso +
*fecha de entrada en el hospital*
*tipo: fecha*
2. Definición de datos opcionales
Es aquel dato que puede o no formar parte de la composición de un dato
compuesto.
Ejemplo: La dirección de un cliente puede ser
♦ Unica: tanto la dirección comercial como de administración están
en el mismo lugar que producción o almacén.
♦ Dos direcciones: Tiene el almacén y producción separado
físicamente de la administración.
Esta situación en un DD se trataría así:
Cliente = nombre_completo + dni_cliente +
dirección_comercial + (dirección_mercancías)
3. Definición de selección
Sólo una de entre varias posibilidades será posible. Esta se define mediante [
].
Ejemplo:
Un cliente puede ser una empresa o un particular, por lo tanto los tipos de
datos son distintos según sea uno u otro.
cliente = [nombre_cliente | nombre_empresa] +
[dni_cliente | cif_cliente] + dirección_comercial
+ (dirección_mercancías).
4. Definición de iteración
La iteración se expresa mediante { } y sirve para indicar la repetición de una
cierta ocurrencia dentro de una definición.
Ejemplo:
Factura = fecha_factura + nombre_cliente +
numero_factura + {linea_factura} + total factura
El dato línea_factura es un componente de la estructura de datos factura que
puede tener una o varias ocurrencias, ya que una factura puede tener muchas
líneas de facturación de artículos.
5. Alias (Sinónimos)
Son nombres que dentro del Sistema de información tienen el mismo
significado entonces lo que se hace es declarar los sinónimos por medio del
símbolo =.
Ejemplo:
Acreedor = cliente
** definido ya anteriormente.
Hemos visto el contenido del Diccionario de Datos, que deberá mostrarse al usuario
siempre conjuntamente con las técnicas:
♦ Diagrama de Flujo de Datos (DFD).
♦ Modelo Entidad - Relación (DER).
♦ Especificación de Procesos ( EP).
5.2.5 Implementación del Diccionario de Datos
Varias posibilidades para la implementación de los DD, cada una con sus
características y ventajas.
♦ Repositorio de datos
◊ Herramientas automáticas integradas dentro de un entorno CASE.
◊ Dispone de mas posibilidades de la vistas.
♦ Diccionario de datos de SGBD o SO modernos
◊
Dan soporte automático para definiciones de datos, validar su
consistencia, producir algunos informes.
♦ Procesador de textos convencional
♦ Totalmente manual
Ejemplo:
__________________________________________________________________
Dato elemental
Nombre
Descripción
: Estado_Civil
: Código de una letra para indicar el estado civil de cada
empleado.
Long y tipo
: 1 caracter alfabético.
Sinónimos
: ESTADO (Personal)
CIVIL (Nóminas)
Valores
:S
Soltero
D
Divorciado
C
Casado
S
Separado
V
Viudo
O
Otros
_________________________________________________________________
Estructura de dato
Nombre
Descripción
Componentes
: Empleado
: Datos necesarios de un empleado.
: Nombre_empleado +
Num_empleado +
Datos_personales =
Fecha_nacimiento +
Estado_Civil +
Num_hijos [ 0 - ] +
(Num _ tfno)
Dirección =
Calle +
Número +
(Población) +
Codigo_Postal +
Provincia
__________________________________________________________________
Flujo de datos
Nombre
Ref
Fuente
Destino
Descripción
Estruct de datos
: Pago _ aceptado
: 11.1 - 11.2.
: 11.1 Aceptar pago
: 11.2 Validar pago
: Pago recibido y sellado pero no validado.
: Cheque +
Recibo _ Caja +
(Letra _ Pago) +
Metodo _ pago
Volumen
: 5000 por día
Comentarios
: La letra de pago esta omitida en el 10 % de los casos.
__________________________________________________________________
Almacenamiento de datos
Nombre
Ref
Flujo de Entrada
Flujo de Salida
: Historia _Pedidos
: P4.
: 9 - D4
Pedido
: D4 - 10
Detalles pedido
D4 - 11
Detalle ventas
D4 - 9
Demanda anterior
Descripción
: Todos los pedidos aceptados en los últimos 6 meses.
Contenido
: Pedido =
Id_pedido +
Detalle_cliente +
Detalle_libro
__________________________________________________________________
5.2.6 Descripción lógica de un proceso
Para el proceso Verificar_Crédito la plantilla correspondiente sería la siguiente:
Procesos
Nombre
Ref
Definición
Entradas
Salidas
Descripcion
: Verificar _ Crédito
:3
: Decidir donde van los pedidos sin pago previo, o si debe
pedirle el pago al cliente.
: 1 - 3 Pedidos
D3 - 3 Historia de pagos
: 3 - C Pedido de pago previo
3 - D3 Nuevo balance de orden
3 - 6 Pedidos con crédito ok
: Recuperar historia de pago.
Si el cliente es nuevo, enviar pedido de pago previo.
Si el cliente corriente (promedio de dos pedidos mensuales)
, OK con el pedido, a menos que el balance esté vencido
mas de dos meses.
Para clientes anteriores ( no
OK , a menos que tengan cualquier balance
con
corrientes),
vencido.
__________________________________________________________________
Hemos visto que para describir la lógica de un proceso, utilizaremos varias
alternativas como son: narrativa, arboles de decisión, tablas de decisión y lenguaje
estructurado.
Cuando utilizamos narrativa podemos encontrarnos con
♦ frases oscuras (no solo, pero no obstante, sin embargo....).
♦ rangos con huecos indefinidos (' hasta 20 unidades sin descuento, mas de 20
u. al 50 % ').
♦ Frases con y/o (' los clientes que nos compran mas de 1millón al año y tienen
una buena historia de pagos o que han tenido tratos con nosotros por mas de
20 años deberán recibir trato preferencial ').
♦ Adjetivos indefinidos ('buena historia de pagos ', ' trato preferencial ').
Estas razones obligan a pensar en otras alternativas:
♦ árbol de decisión: Pueden resultar una técnica no válida en situaciones
complejas con gran número de condiciones e implicaciones ya que no asegura
que se hayan considerado todas.
Se debe utilizar cuando el número de acciones sea pequeño y no sean posibles
todas las combinaciones.
♦ Tablas de decisión: Son mas precisas dado que permiten reflejar todas las
combinaciones posibles. Pero son mas difíciles de entender para el usuario.
Deben simplificarse una vez construídas, y se convertirán en arboles de
decisión.
Se debe utilizar siempre que se dude que el árbol muestra toda la lógica.
*Primera orden > 12 días-----------Hacer
pedido
*Total ordenes< menor que X
*Primera orden <= 12 días---------Esperar
*Descuento< pedido
*Total ordenes <
mayor o igual que X --------Calcular
descuento
*Hacer pedido
*No descuento ---------------------Hacer
pedido
5.2.7 Descripción lógica de una entidad externa
Para la entidad Proveedores la plantilla correspondiente sería la siguiente:
___________________________________________________________________
Entidad Externa :
Nombre
: Proveedores.
Ref
: p.
Definición
: Proveedores actuales de la empresa.
Flujos de Datos : 7 - p
Pedidos.
p-3
Albaran.
p - 11
Facturas.
Volumen
: Actualmente 25. Se espera llegar a 40.
___________________________________________________________________
Descargar