Está en la página 1de 25

DIAGRAMAS DE

FLUJO DE DATOS (DFD)


Ing. Luis Zuloaga Rotta

Anlisis y Diseo Sistemas

DFDs
Muestran en forma visual slo el flujo de
datos entre los distintos procesos, entidades
externas y almacenes que conforman un
sistema.
Cuando los analistas de sistemas indagan
sobre los requerimientos de informacin de
los usuarios, deben ser capaces de concebir
la manera en que los datos fluyen a travs del
sistema u organizacin, los procesos que
sufren estos datos y sus tipos de salidas.

Anlisis y Diseo Sistemas

1
Elementos de un Diagrama
Flujo Datos (DFD)
Entidad
Persona, grupo de personas o unidad
ALUMNOS
Externa de negocio que entrega yo recibe
informacin.
Conjunto de actividades de negocio
1
que explican que se hace y como se
MATRICULA Proceso llevan a cabo.
+ Seala el flujo de datos de una entidad
externa a un proceso y viceversa, de
Flujo un proceso a otro, y de un proceso a
Datos
un almacn de datos y viceversa.
Almacn Lugar fsico donde se almacenan los
ALUMNOS
Datos datos procesados o desde donde se
recuperan para apoyar un proceso.
Anlisis y Diseo Sistemas

Otros smbolos para los


elementos de un DFD

Entidad Externa

Proceso

Almacn de Datos

Flujo Datos
Anlisis y Diseo Sistemas

2
Entidad Externa
Representa personas, organizaciones, o sistemas que
no pertenecen al sistema.
En el caso de que las entidades externas se
comunicasen entre s, esto no se contemplara en el
diagrama, por estar fuera del mbito de nuestro sistema
Puede aparecer en los distintos niveles de DFD para
mejorar su comprensin, aunque normalmente slo
aparecer en el diagrama de contexto.
Pueden aparecer varias veces en un mismo diagrama,
para evitar entrecruzamientos de lneas.
Suministra informacin acerca de la conexin del
sistema con el mundo exterior.

Anlisis y Diseo Sistemas

Procesos
Cuando un flujo de datos entra en un proceso
sufre una transformacin. Un proceso no es
origen ni final de los datos, slo lugar de
transformacin de ellos.
Un proceso puede trasformar un dato en
varios.
Es necesario un proceso entre una Entidad
Externa y un Almacn de datos.
Un proceso puede representarse sealando
una localizacin. La localizacin expresa la
unidad o rea dentro de la organizacin
donde se realiza el proceso.
Anlisis y Diseo Sistemas

3
Almacn de Datos
Representa la informacin en reposo
No puede crear, destruir ni transformar datos
No puede estar comunicado directamente con otro
almacn o Entidad externa
El flujo de datos (Entrada y Salida) no lleva nombre
cuando incide sobre su contenido completo
No debe estar referido al entorno fsico, y por tanto,
no se diferencian los ficheros convencionales de las
bases de datos
No se representa la clave de acceso a este almacn
sino slo la operacin que se realiza (lectura,
escritura, actualizacin)

Anlisis y Diseo Sistemas

Flujo de Datos
El concepto de flujo de datos es similar al concepto de
tubera a travs del cual fluye informacin de
estructura conocida.
Los datos no pueden ser creados ni destruidos por un
flujo de datos.
Sirve para conectar el resto de los componentes de un
DFD.
No es un activador de procesos.
Cuando un proceso almacena datos, la flecha de flujo
de datos se indica en la direccin del almacn de
datos y a la inversa si es el proceso el que lee datos
en el almacn.

Anlisis y Diseo Sistemas

4
DFD : Descomposicin por Niveles
El sistema deber contener:
- Un Diagrama de contexto (primer nivel)
- Varios DFD en niveles intermedios
- Varios DFD en el ltimo nivel de detalle
En cualquier momento nos puede aparecer
un proceso que no necesite descomposicin
y es lo que denominaremos Proceso
Primitivo (PP). En ellos, se detallar la
entrada y salida que tenga, adems de la
descripcin asociada que explique lo que
realiza.

Anlisis y Diseo Sistemas

DFD : Construccin
Representar el diagrama de contexto.
Representar el DFD de primer nivel, indicando los
distintos subsistemas funcionales en que se
descompone nuestro sistema.
Descomponer cada uno de los procesos que
aparecen en el DFD de primer nivel, hasta llegar a un
nivel suficiente de detalle.
Se recomienda el utilizar cuatro niveles de
descomposicin de diagramas.
Nivel 0: Diagrama de contexto
Nivel 1: Subsistemas
Nivel 2: Funciones de cada subsistema
Nivel 3: Subfunciones asociadas
Nivel 4: Procesos necesarios para el tratamiento de cada subfuncin

Anlisis y Diseo Sistemas

5
DIAGRAMA DE CONTEXTO
Diagrama elaborado
PROCESO MATRICULA con Process Analyst
(Nivel 0) de PowerDesigner 6.0

Identificacin

Estadsticas Matricula

Requerimiento Matricula

ALUMNOS 1
Horarios COMISION
MATRICULA MATRICULA

Documentos Matricula
+

Alumnos Matriculados

Constancia Matricula

OERA

Anlisis y Diseo Sistemas

DIAGRAMA DE PRIMER NIVEL


1
Documentos Verificados
VERIFICAR
DOCUMENTOS
[Documentos Matricula] DOCUMENTOS

2 ALUMNOS
[Identificacin] VERIFICAR
ALUMNOS
IDENTIFICACION Datos Identificacin

Datos Alumno

[Requerimiento Matricula]
[Constancia Matricula]
Datos Matricula 3 Datos Cursos
REGISTRO
5 Datos Matricula CURSOS
EMITIR SECCION
CONSTANCIA + CURSOS
MATRICULA CURSOS
MATRICULADOS
Datos Estadstica
Datos Programacin Datos Cursos Seccin
Datos Matricula

OERA [Alumnos Matriculados] 6


ELABORAR HORARIOS
ESTADISTICAS

[Estadsticas Matricula]

4 Datos Cursos Seccin


COMISION
[Horarios] CARGAR
MATRICULA HORARIOS

Anlisis y Diseo Sistemas

6
[Datos Alumno]
3.1 VERIFICAR IDENTIFICACION
ALUMNOS REGISTRAR
[Requerimiento Matricula] CURSOS
SECCION
[Datos Cursos]

Datos Cursos Registrados CURSOS


Datos Cursos Cruce
[Datos Cursos Seccin]

[Datos Estadstica]
3.2

VERIFICAR HORARIOS
CRUCES

[Datos Matricula]

[Datos Programacin]
CURSOS [Datos Matricula]
MATRICULADOS

Diagrama de Segundo Nivel

EMITIR CONSTANCIA MATRICULA

Anlisis y Diseo Sistemas

USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 16/06/2001 WORKING READER DATE CONTEXT:
.
PROJECT: SISTEMA CADEMICO REV: 16/06/2001 DRAFT
CURSO A&DS
RECOMMENDED
TOP
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION

Identificacin

Documentos
Matricula
1

ALUMNO
Requerimiento $0 0
Matricula
Alumnos
3
Matriculados
Constancia
Matricula MATRICULA OERA

Estadisticas
Matricula

2
COMISION Horarios
MATRICULA

Diagrama Contexto
elaborado con
BPWin 2.5 de Platinum
NODE: TITLE: NUMBER:

A-0 MATRICULA
1

Anlisis y Diseo Sistemas

7
USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 16/06/2001 WORKING READER DATE CONTEXT:
. PROJECT: SISTEMA CADEMICO REV: 16/06/2001 DRAFT
Curso A&DS
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A-0

1
Documentos Matricula
ALUMNO
1 DOCUMENTOS
Documentos
$0 1 Verificados
VERIFICAR 2 ALUMNOS
DOCUMENTOS Datos
Identificacin
Datos Matricula
6 CURSOS
$0 2 MATRICULADOS
Identificacin VERIFICAR
IDENTIFICACIN
3
Datos Alumno Datos Cursos
5 CURSOS OERA
Constancia $0 4 Datos
Matricula EMITIR Matricula
CONSTANCIA
MATRICULA Datos Curso
$0 3
Requerimiento Seccin
REGISTRO
Matricula
CURSOS
SECCIN
Datos Alumnos
$0 5
Programacin Matriculados
ELABORAR
2 Datos ESTADISTICAS
COMISION $0 6 Estadstica
Horarios
MATRICULA CARGAR 3 HORARIOS
HORARIOS

Estadisticas
Matricula

NODE: TITLE: NUMBER:

A0 MATRICULA
2

Anlisis y Diseo Sistemas

USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 16/06/2001 WORKING READER DATE CONTEXT:
.
PROJECT: SISTEMA CADEMICO REV: 16/06/2001 DRAFT
Curso A&DS
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A0

1
ALUMNO

Requerimiento Datos
Matricula Cursos
$0 31 5 CURSOS
Datos
REGISTRAR
Alumno CURSO
SECCION Datos
Datos Cursos Curso
Cruce Seccin
Datos Datos
Cursos Estadstica
Registrados 3 HORARIOS

$0 32 Datos
Datos Programacin
Matricula VERIFICAR
CRUCES
Datos
Matricula CURSOS
6
MATRICULADOS

NODE: TITLE: NUMBER:


REGISTRO CURSOS SECCIN
A3 3

Anlisis y Diseo Sistemas

8
USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 16/06/2001 WORKING READER DATE CONTEXT:
.
PROJECT: SISTEMA CADEMICO REV: 16/06/2001 DRAFT
Curso A&DS
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A3

Datos $0 323
Matricula
PROCESAR
MATRICULA

Datos Datos
Matricula Estadstica
CURSOS
6
MATRICULADOS

3 HORARIOS
Datos Datos Datos
Cursos $0 322 Cursos Cursos
Cruce Cruce Registrados
MOSTRAR
CRUCES

Datos
$0 321
Cursos
Registrados
COMPARAR
HORARIOS Datos
Programacin

NODE: TITLE: NUMBER:


VERIFICAR CRUCES
A32 4

Anlisis y Diseo Sistemas

Diccionario de Datos (DD)


Notacin para representar la estructura de
items de datos, necesaria para expresar :
composicin (secuencia ?) cmo un item esta
compuesto de unidades planas (sus atributos).
Repeticin items que son repetidos en (e.g.) listas,
arreglos (arrays), etc.
seleccin valores para items a seleccionar desde
alternativas.
opcionalidad - items que no siempre estan
presentes.

Anlisis y Diseo Sistemas

9
Smbolos usados en la notaci
notaci
n del DD
Asigne un nombre significativo a cada item de datos
bsico o compuesto.
= significa es definido como', o esta hecho de'
+ significa y '
{} significa cero o mas de cualquier cosa que este
dentro de las llaves, i.e. repeticin
n{ }m significa entre n y m (inclusive)
[||] significa que uno de los atributos entre las barras
esta presente.
() significa que el item entre parentesis es opcional
"" incluye literales (valor a utilizar)
** incluye comentarios define el significado de
datos, informalmente.
Anlisis y Diseo Sistemas

Ejemplo : Lista Seminarios


ListaSeminarios = Titulo + NumeroVersion
+ Fecha + {DetalleSeminario}
DetalleSeminario = DiaSemana + Horario + Aula
+ {ListaEstudiantes}
ListaEstudiantes = {Nombre + Apellido Paterno}
o..
ListaSeminarios = Titulo + NumeroVersion + Fecha
+ { DiaSemana + Horario + Aula
+ {Nombre + ApellidoPaterno} }
NumeroVersion = Digito + "." + Digito
Digito = ["1" |"2" |"3" |"4" |..]
Horario = HoraInicio + "-" + HoraTermino
HoraInicio = ["9" |"10" |"11" |"12"..]
Anlisis y Diseo Sistemas

10
Un nuevo Ejemplo : PlanCurso
PlanCurso = FechaDePlan + NroVersion + Titulo
+ {DetalleSemanal}
DetalleSemanal = NroSemana + FechaInicio
+ [SemanaInstruccion|SemanaNoInstruccion]
SemanaNoInstruccion = [administrativa"| "introduccion"|
aprendizaje centrado estudiante"| ...]
SemanaInstruccion = 2{DetalleExposicion}2
+ (ListaSeminarios) + (TrabajoPractico)
DetalleExposicion = *Descripcion del contenido Exposicion*
FechaInicio = Fecha
FechaDePlan = Fecha
Fecha = *fecha en formato "dd-mmm-yy"*
etc, etc.

Anlisis y Diseo Sistemas

ESPECIFICACIN DE
PROCESOS

Anlisis y Diseo Sistemas

11
Mtodos utilizados para
Especificar Procesos
Todos los procesos en un DFD deben ser
descritos.
Los mtodos usados para describir procesos
de alto nivel, difieren de aquellos utilizados
para describir procesos detallados.
Los primeros son descritos usualmente
utilizando lenguaje natural, y los otros
utilizando un lenguaje estructurado.

Anlisis y Diseo Sistemas

Que es lo que el proceso hace ?

Los procesos a bajo nivel deben ser descritos


en forma precisa y sin ambiguedades.
Se necesitan mtodos que remuevan
ambiguedades desde la descripcin del
sistema, y que pueda ser facilmente
comprendido por usuarios y programadores.

Anlisis y Diseo Sistemas

12
Tcnicas del Anlisis
Estructurado

Ingls Estructurado
Ingls Extendido
Tablas de Decisin
rbol de Decisin

Anlisis y Diseo Sistemas

Ingls Estructurado y Extendido


Tabla y rbol de Decisi n
Las dos tcnicas del ingls permiten construir
descripciones verbales dentro de una
estructura lgica, removiendo ambiguedades
lgicas.
Las tcnicas de decisin se utilizan donde
una de un nmero de acciones va a ser
seleccionada, dependiendo de un nmero de
condiciones.

Anlisis y Diseo Sistemas

13
Ingls Estructurado

IF limite crdito excedido


THEN
IF cliente tiene mala historia de pago
THEN rechase crdito
ELSE
IF compra es mayor de 200 $
THEN rechase crdito
ELSE pasar a administrador
ELSE permitir crdito

Anlisis y Diseo Sistemas

Ingls Extendido
IF nivel de crdito excedido
THEN (limite crdito excedido)
IF cliente tiene mala historia de pago
THEN rechazar crdito
ELSE (cliente tiene buena historia de pago)
IF compra es mayor a 200 $
THEN rechazar crdito
ELSE (compra es menor a 200 $)
pasar a administrador
ELSE (nivel de crdito no excedido)
permitir crdito

Anlisis y Diseo Sistemas

14
TABLA DE DECISIN
Acciones Condiciones

Lmite crdito excedido V V V V F F F F


Cliente con buena V V F F V V F F
historia de pago
Compra arriba de 200 $ V F V F V F V F

Permitir crdito X X X X
Rechazar crdito X X X
Pasar a administrador X

Anlisis y Diseo Sistemas

Rechazar
rbol de Decisin crdito
Compra
arriba 200$ Pasar
Buena
administrador
historia
pago
Compra
Limite
abajo 200$
Crdito
Excedido Mala Rechazar
historia crdito
pago
Limite
Crdito no Permitir
Excedido crdito

Anlisis y Diseo Sistemas

15
Ingls Estructurado
Sentencias imperativas: usualmente consiste
de un verbo imperativo seguido por el
contenido de uno o mas almacenamiento s de
datos sobre los cuales el verbo opera.
Por ejemplo :
ADD Salario_Persona to Total_Salario
Pueden utilizarse operadores Booleanos y
aritmticos, en las sentencias imperativas.

Anlisis y Diseo Sistemas

Operadores Aritmticos y
Booleanos
Multiply . Divide
Add . Subtract
Exponential
Or . Not
Greater than . Less than
Less than or equal to . Greater than or equal to
Equals . Not equal to
Anlisis y Diseo Sistemas

16
Lgica del Ingls Estructurado
BEGIN . END
CASE
REPEAT. UNTIL
WHILE DO
IF . ..........THEN .ELSE
DO
FOR

Anlisis y Diseo Sistemas

Orden
Preliminar
= Nro_Orden
+ {Nro_Parte
+ Cantidad }

Orden
Finalizada
Finalizar
Precio_Parte Orden

= Nro_Orden
= Nro_Parte
+ {Nro_Parte
+ Precio_Unitario
+ Cantidad
+ Precio_Unitario
+ Valor_Parte}
Descripcin del Proceso : + Valor_Orden
Finalizar Orden
Anlisis y Diseo Sistemas

17
Descripcin del proceso :
Registro de Ventas

Reporte de Venta Registro Resmen de Ventas


de Ventas
= Cliente = Cliente
+ Nro_Parte + Valor_de_Venta
+ Cantidad_Vendida
+ Precio_Unitario
VENTAS
= Nro_Parte
+ Cantidad_Total
+ Valor_Total

Anlisis y Diseo Sistemas

BEGIN
Receive REPORTE VENTA
Get VENTAS record for Nro PARTE in REPORTE VENTA
CANT_TOTAL = CANT_TOTAL+ CANT_VENDIDA
VALOR_VTA = CANT_VENDIDA * PRECIO_UNIT
VALOR_TOT = VALOR_TOT + VALOR_VTA
Write VENTAS record.
Send Resumen Ventas
END.

Anlisis y Diseo Sistemas

18
Descripcin de proceso :
Sumando Descuentos
Emisin de Autorizacin de Descuentos = CLIENTE
Descuentos + IMPORTE DEL DESCUENTO

Registro de Ventas Registro Resmen de Ventas


de Ventas = Cliente
= Cliente + Tipo
+ Nro_Parte + Valor_de_Venta
+ Cantidad_Vendida
+ Precio_Unitario

VENTAS

= Nro_Parte
+ Cantidad_Total
+ Valor_Total
Anlisis y Diseo Sistemas

Descripcin del proceso:


Registro Ventas
Emisin de Notificacin de Descuento = Cliente
descuentos + Importe_Descuento

Envo de
Recepcin Cuentas de Correo Cuentas
= Cliente = Cliente
+ Valor_Venta + Valor_de_Venta

Informe de Ventas Registro


de Ventas Resumen de Ventas
= Cliente
+ Nro_Parte = Cliente
+ Cantidad_Vendida + Tipo
+ Precio_Unitario + Valor_de_Venta
+ Tipo

Emisin VENTAS
Datos de la Factura
de = Nro_Parte
= Cliente
Facturas + Cantidad_Total
+ Nro_Parte
+ Importe_de_Factura + Valor_Total
Anlisis y Diseo Sistemas

19
BEGIN
Receive REPORTE VENTA
Get VENTAS record for NRO_PARTE in REPORTE VENTA
CANT_TOTAL = CANT_TOTAL + CANT_VENDIDA
VALOR_VENTA = CANT_VENDIDA * PRECIO_UNIT
VALOR_TOTAL = VALOR_TOTAL + VALOR_VENTA
Write VENTAS record.
Send RESUMEN VENTAS
IF VALOR_VENTA > 500.00
THEN
BEGIN
CANT_DESCUENTO = SALE-VALUE * 0.02
Send DESCUENTO AUTORIZADO
END
END.
Anlisis y Diseo Sistemas

Estructura de Decisin
a) Seleccin de dos maneras

Condicin

Grupo A Grupo B
sentencias sentencias

IF condition
THEN
BEGIN
Group A sentences
END
ELSE
BEGIN
Group B sentences
END
Anlisis y Diseo Sistemas

20
b) Seleccin Mltiple

Valor
Test

Grupo A Grupo k Grupo L Grupo Z


sentencias ... sentencias sentencias sentencias

Case (name) of
A : BEGIN
Group A sentences
END Aqui name es una variable
y A...Z son valores que
Z : BEGIN
pueden ser tomados por name.
Group Z sentences
END
Anlisis y Diseo Sistemas

BEGIN
Receive Reporte Ventas
Get Ventas record for Nro_Parte in Reporte Ventas
Cant_Total = Cant_Total + Cant_Vendida
Cant_Vendida = Cant_Vendida * Precio_Unit
Valor_TOTAL = Valor_TOTAL + Valor_Venta.
Write Ventas record.
Send Resumen Ventas
CASE TYPE OF
Cuenta :
BEGIN
Send Cuenta Correo
IF Valor_Venta = 500.00
THEN
BEGIN
Cant_Descuento = Valor_Vta* 0.02
send Descuento Autorizado
END.
END

Anlisis y Diseo Sistemas

21
Contado.Cheque:
BEGIN
Send Recibir.
END
Credito:
BEGIN
Send Recibir.
END
Credito:
BEGIN
Cant_Factura = Valor_Vta + Valor_Vta* 0.01
send Datos Factura
END
END
END.

Anlisis y Diseo Sistemas

Estructuras de Repeticin
a) Usando WHILE
Condicin

Grupo A
sentencias

WHILE condition DO
BEGIN
GROUP A sentences
END

Anlisis y Diseo Sistemas

22
b) Usando REPEAT

GRUPO A
sentencias

Condicin
REPEAT
BEGIN
GROUP A sentences
END
UNTIL condition

Anlisis y Diseo Sistemas

Get Orden Preliminar


Valor_Orden = 0.
WHILE there are more Lineas Orden DO
BEGIN
Get next Linea Orden
Get Precios record for Nro_Parte in Linea Orden
Valor_Parte = Cant_Neces * Precio
Valor_Orden= Valor_Orden + Valor_Parte
Create Linea Orden in Orden Finalizada
END
Send Orden Finalizada

Anlisis y Diseo Sistemas

23
Descripcin del proceso :
Completando Ordenes
+ PRECIO
= Nro PARTE
PRECIOS

Orden Preliminar Completar Orden completa


= Nro ORDEN Ordenes = Nro ORDEN
+ {Nro PARTE + {Nro PARTE
+ CANTIDAD REQUERIDA} + CANTIDAD REQUERIDA
+ PRECIO
+ VALOR PARTE}
+ VALOR ORDEN

Anlisis y Diseo Sistemas

Get Orden Preliminar


Valor_Orden = 0.
FOR each Linea Orden in an Orden DO
BEGIN
Get next Linea Orden
Get Precios record for Nro_Parte in Linea Orden
Valor_Parte = Cant_Neces * Precio
Valor_Orden = Valor_orden + Valor_Parte
Create Linea Orden in Orden Finalizda
END
Send Orden Finalizada

Anlisis y Diseo Sistemas

24
Get Orden Preliminar
Valor_Orden = 0.
REPEAT
BEGIN
Get next Linea Orden
Get Precio record for Nro_Parte in Linea Orden
Valor_Parte = Cant_Neces * Precio
Valor_Orden = Valor_Orden + Valor_Parte
IF Valor_Orden < Limite_Orden
THEN create Linea Orden in Orden Finalizada
END
UNTIL (Valor_Orden > Limite_Orden) or
(there are no more Lineas Orden)
Send Orden Finalizada

Anlisis y Diseo Sistemas

Descripcin de proceso:
Completar Ordenes Limitadas
= Nro PARTE
+ PRECIO

Orden Preliminar Orden completa


Completar
= Nro ORDEN Ordenes = Nro ORDEN
+ LIMITE ORDEN + { Nro PARTE
+ {Nro PARTE + CANTIDAD REQUERIDA
+ CANTIDAD REQUERIDA} + PRECIO
+ VALOR PARTE}
+ VALOR ORDEN

Anlisis y Diseo Sistemas

25

También podría gustarte