Vous êtes sur la page 1sur 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

Elementos de un Diagrama
Flujo Datos (DFD)
ALUMNOS

Entidad
Externa

1
MATRICULA

Proceso

+
Flujo
Datos

ALUMNOS

Almacn
Datos

Persona, grupo de personas o unidad


de negocio que entrega yo recibe
informacin.
Conjunto de actividades de negocio
que explican que se hace y como se
llevan a cabo.
Seala el flujo de datos de una entidad
externa a un proceso y viceversa, de
un proceso a otro, y de un proceso a
un almacn de datos y viceversa.
Lugar fsico donde se almacenan los
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

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

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

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

DIAGRAMA DE CONTEXTO
PROCESO MATRICULA

Diagrama elaborado
con Process Analyst
de PowerDesigner 6.0

(Nivel 0)
Identificacin

Estadsticas Matricula
Requerimiento Matricula
ALUMNOS

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

[Identificacin]

ALUMNOS

ALUMNOS

2
VERIFICAR
IDENTIFICACION

Datos Identificacin

Datos Alumno
[Constancia Matricula]

[Requerimiento Matricula]
Datos Matricula

5
EMITIR
CONSTANCIA
MATRICULA

3
REGISTRO
CURSOS
SECCION
+

Datos Matricula
CURSOS
MATRICULADOS

Datos Estadstica
Datos Matricula
OERA

[Alumnos Matriculados]

Datos Cursos

CURSOS

Datos Programacin Datos Cursos Seccin

6
ELABORAR
ESTADISTICAS

HORARIOS

[Estadsticas Matricula]

COMISION
MATRICULA

[Horarios]

4
CARGAR
HORARIOS

Datos Cursos Seccin

Anlisis y Diseo Sistemas

[Datos Alumno]
3.1

ALUMNOS
[Requerimiento Matricula]

Datos Cursos Registrados

VERIFICAR IDENTIFICACION

REGISTRAR
CURSOS
SECCION

[Datos Cursos]

CURSOS

Datos Cursos Cruce


[Datos Cursos Seccin]
[Datos Estadstica]
3.2

HORARIOS

VERIFICAR
CRUCES

[Datos Matricula]

CURSOS
MATRICULADOS

[Datos Programacin]

[Datos Matricula]

Diagrama de Segundo Nivel


EMITIR CONSTANCIA MATRICULA

Anlisis y Diseo Sistemas

USED AT:
AUTHOR: Luis Zuloaga Rotta
.
PROJECT: SISTEMA CADEMICO
CURSO A&DS

DATE: 16/06/2001

WORKING

REV: 16/06/2001

DRAFT

READER

DATE CONTEXT:

TOP

RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10

PUBLICATION

Identificacin
Documentos
Matricula

ALUMNO
Requerimiento
Matricula
Constancia
Matricula

$0

Alumnos
Matriculados

MATRICULA

OERA

Estadisticas
Matricula
2

COMISION

Horarios

MATRICULA

Diagrama Contexto
elaborado con
BPWin 2.5 de Platinum
NODE:

TITLE:

A-0

NUMBER:

MATRICULA
1

Anlisis y Diseo Sistemas

USED AT:
.
Curso A&DS

AUTHOR: Luis Zuloaga Rotta

DATE: 16/06/2001

WORKING

PROJECT: SISTEMA CADEMICO

REV: 16/06/2001

DRAFT

READER

DATE CONTEXT:

RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
1

PUBLICATION

A-0

Documentos Matricula

ALUMNO

1
$0

VERIFICAR
DOCUMENTOS

ALUMNOS

Datos
Identificacin
$0

Identificacin

DOCUMENTOS

Documentos
Verificados

Datos Matricula

CURSOS
MATRICULADOS

VERIFICAR
IDENTIFICACIN
3

Datos Alumno
Constancia
Matricula

$0

Datos Cursos

Datos
Matricula

EMITIR
CONSTANCIA
MATRICULA

$0
3
REGISTRO
CURSOS
SECCIN

Requerimiento
Matricula

COMISION
MATRICULA

OERA

5 CURSOS

$0

Horarios

Datos Curso
Seccin

Datos
Programacin

$0

Datos
Estadstica

Alumnos
Matriculados

ELABORAR
ESTADISTICAS
3

CARGAR
HORARIOS

HORARIOS

Estadisticas
Matricula

NODE:

TITLE:

NUMBER:

MATRICULA

A0

Anlisis y Diseo Sistemas

USED AT:
.
Curso A&DS

AUTHOR: Luis Zuloaga Rotta

DATE: 16/06/2001

WORKING

PROJECT: SISTEMA CADEMICO

REV:

DRAFT

16/06/2001

READER

DATE CONTEXT:

RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10

PUBLICATION

A0

ALUMNO
Requerimiento
Matricula

Datos
Cursos
$0

Datos
Alumno

31

REGISTRAR
CURSO
SECCION

Datos
Cursos
Registrados

$0

Datos
Matricula

HORARIOS

Datos
Programacin

VERIFICAR
CRUCES
Datos
Matricula

NODE:

Datos
Curso
Seccin

Datos Cursos
Cruce
Datos
Estadstica

32

CURSOS

TITLE:

A3

REGISTRO CURSOS SECCIN

CURSOS
MATRICULADOS

NUMBER:
3

Anlisis y Diseo Sistemas

USED AT:
.
Curso A&DS

AUTHOR: Luis Zuloaga Rotta

DATE: 16/06/2001

WORKING

PROJECT: SISTEMA CADEMICO

REV:

DRAFT

16/06/2001

READER

DATE CONTEXT:

RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10

PUBLICATION

$0

Datos
Matricula

A3

323

PROCESAR
MATRICULA

Datos
Matricula

CURSOS
MATRICULADOS

Datos
Estadstica

Datos
Cursos
Cruce

$0

322

Datos
Cursos
Cruce

HORARIOS

Datos
Cursos
Registrados

MOSTRAR
CRUCES

Datos
Cursos
Registrados

$0

321

COMPARAR
HORARIOS

NODE:

TITLE:

Datos
Programacin

VERIFICAR CRUCES

NUMBER:

A32

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

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'

n{ }m
[||]

significa entre n y m (inclusive)

()
""
**

significa que el item entre parentesis es opcional

significa y '
significa cero o mas de cualquier cosa que este
dentro de las llaves, i.e. repeticin
significa que uno de los atributos entre las barras
esta presente.
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

Acciones Condiciones

TABLA DE DECISIN
Lmite crdito excedido

V V

F F F

Cliente con buena


historia de pago

V V

V V

Compra arriba de 200 $ V F

V F V

X X X

Permitir crdito
Rechazar crdito
Pasar a administrador

Anlisis y Diseo Sistemas

rbol de Decisin
Buena
historia
pago
Limite
Crdito
Excedido

Limite
Crdito no
Excedido

Mala
historia
pago

Compra
arriba 200$

Rechazar
crdito
Pasar
administrador

Compra
abajo 200$
Rechazar
crdito

Permitir
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
Add
Exponential

. Divide
. Subtract

. Not
Greater than
. Less than
Less than or equal to . Greater than or equal to
Equals
. Not equal to
Or

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 }

Precio_Parte

Finalizar
Orden

= Nro_Parte
+ Precio_Unitario

Descripcin del Proceso :


Finalizar Orden

Orden
Finalizada

=
+
+
+
+
+

Nro_Orden
{Nro_Parte
Cantidad
Precio_Unitario
Valor_Parte}
Valor_Orden

Anlisis y Diseo Sistemas

17

Descripcin del proceso :


Registro de Ventas
Reporte de Venta
=
+
+
+

Resmen de Ventas

Registro
de Ventas

Cliente
Nro_Parte
Cantidad_Vendida
Precio_Unitario

= Cliente
+ Valor_de_Venta

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
+ IMPORTE DEL DESCUENTO
Descuentos

Registro
de Ventas

Registro de Ventas
=
+
+
+

Resmen de Ventas
= Cliente
+ Tipo
+ Valor_de_Venta

Cliente
Nro_Parte
Cantidad_Vendida
Precio_Unitario

VENTAS
= Nro_Parte
+ Cantidad_Total
+ Valor_Total
Anlisis y Diseo Sistemas

Descripcin del proceso:


Registro Ventas
Emisin de
descuentos

Notificacin de Descuento = Cliente


+ Importe_Descuento

Informe de Ventas
= Cliente
+ Nro_Parte
+ Cantidad_Vendida
+ Precio_Unitario
+ Tipo
Emisin
de
Facturas

Envo de
Cuentas

Cuentas de Correo
= Cliente
+ Valor_de_Venta

Recepcin
= Cliente
+ Valor_Venta
Registro
de Ventas

Datos de la Factura
= Cliente
+ Nro_Parte
+ Importe_de_Factura

Resumen de Ventas
= Cliente
+ Tipo
+ Valor_de_Venta

VENTAS
= Nro_Parte
+ Cantidad_Total
+ 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
sentencias

Grupo B
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
sentencias

...

Grupo k
sentencias

Case (name) of
A : BEGIN
Group A sentences
END
Z : BEGIN
Group Z sentences
END

Grupo L
sentencias

Grupo Z
sentencias

Aqui name es una variable


y A...Z son valores que
pueden ser tomados por name.

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
= Nro ORDEN
+ {Nro PARTE
+ CANTIDAD REQUERIDA}

Completar
Ordenes

Orden completa
= Nro ORDEN
+ {Nro PARTE
+ 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
= Nro ORDEN
+ LIMITE ORDEN
+ {Nro PARTE
+ CANTIDAD REQUERIDA}

Orden completa
Completar
Ordenes

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

Anlisis y Diseo Sistemas

25

Vous aimerez peut-être aussi