P. 1
como hacer un diagrama de flujo

como hacer un diagrama de flujo

|Views: 1.250|Likes:
Publicado porsergio_rt_2011

More info:

Published by: sergio_rt_2011 on Mar 26, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/06/2013

pdf

text

original

DIAGRAMAS DE FLUJO DE DATOS (DFD

)
Ing. Luis Zuloaga Rotta

Análisis y Diseño Sistemas

DFD’s
• Muestran en forma visual sólo 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 información de los usuarios, deben ser capaces de concebir la manera en que los datos fluyen a través del sistema u organización, los procesos que sufren estos datos y sus tipos de salidas.
Análisis y Diseño Sistemas

1

Elementos de un Diagrama Flujo Datos (DFD)
ALUMNOS

Entidad Externa

Persona, grupo de personas o unidad de negocio que entrega yo recibe información. Conjunto de actividades de negocio que explican que se hace y como se llevan a cabo. Señala el flujo de datos de una entidad externa a un proceso y viceversa, de un proceso a otro, y de un proceso a un almacén de datos y viceversa. Lugar físico donde se almacenan los datos procesados o desde donde se recuperan para apoyar un proceso.

1 MATRICULA

Proceso

+
Flujo Datos Almacén Datos

ALUMNOS

Análisis y Diseño Sistemas

Otros símbolos para los elementos de un DFD
Entidad Externa

Proceso

Almacén de Datos Flujo Datos
Análisis y Diseño Sistemas

2

• Un proceso puede representarse señalando una localización. sólo lugar de transformación de ellos. • En el caso de que las entidades externas se comunicasen entre sí. Análisis y Diseño Sistemas 3 . organizaciones. por estar fuera del ámbito de nuestro sistema • Puede aparecer en los distintos niveles de DFD para mejorar su comprensión. para evitar entrecruzamientos de líneas. La localización expresa la unidad o área dentro de la organización donde se realiza el proceso. esto no se contemplaría en el diagrama. Análisis y Diseño Sistemas Procesos • Cuando un flujo de datos entra en un proceso sufre una transformación. aunque normalmente sólo aparecerá en el diagrama de contexto. • Es necesario un proceso entre una Entidad Externa y un Almacén de datos. Un proceso no es origen ni final de los datos. • Un proceso puede trasformar un dato en varios.Entidad Externa • Representa personas. o sistemas que no pertenecen al sistema. • Pueden aparecer varias veces en un mismo diagrama. • Suministra información acerca de la conexión del sistema con el mundo exterior.

• Cuando un proceso almacena datos. Análisis y Diseño Sistemas 4 . actualización) Análisis y Diseño Sistemas Flujo de Datos • El concepto de flujo de datos es similar al concepto de tubería a través del cual fluye información de estructura conocida. destruir ni transformar datos • No puede estar comunicado directamente con otro almacén 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 físico. • No es un activador de procesos. y por tanto. • Los datos no pueden ser creados ni destruidos por un flujo de datos. la flecha de flujo de datos se indica en la dirección del almacén de datos y a la inversa si es el proceso el que lee datos en el almacén. • Sirve para conectar el resto de los componentes de un DFD. no se diferencian los ficheros convencionales de las bases de datos • No se representa la clave de acceso a este almacén sino sólo la operación que se realiza (lectura.Almacén de Datos • Representa la información en reposo • No puede crear. escritura.

Varios DFD en niveles intermedios . indicando los distintos subsistemas funcionales en que se descompone nuestro sistema. se detallará la entrada y salida que tenga.DFD : Descomposición por Niveles • El sistema deberá contener: . • Representar el DFD de primer nivel.Varios DFD en el último nivel de detalle • En cualquier momento nos puede aparecer un proceso que no necesite descomposición y es lo que denominaremos Proceso Primitivo (PP). 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 subfunción Análisis y Diseño Sistemas 5 .Un Diagrama de contexto (primer nivel) . Análisis y Diseño Sistemas DFD : Construcción • Representar el diagrama de contexto. En ellos. • Se recomienda el utilizar cuatro niveles de descomposición de diagramas. hasta llegar a un nivel suficiente de detalle. además de la descripción asociada que explique lo que realiza. • Descomponer cada uno de los procesos que aparecen en el DFD de primer nivel.

DIAGRAMA DE CONTEXTO PROCESO MATRICULA (Nivel 0) Identificación Diagrama elaborado con Process Analyst de PowerDesigner 6.0 Estadísticas Matricula Requerimiento Matricula ALUMNOS 1 Horarios MATRICULA Documentos Matricula COMISION MATRICULA + Alumnos Matriculados Constancia Matricula OERA Análisis y Diseño Sistemas 1 Documentos Verificados VERIFICAR DOCUMENTOS [Documentos Matricula] DIAGRAMA DE PRIMER NIVEL DOCUMENTOS 2 VERIFICAR IDENTIFICACION ALUMNOS Datos Identificación ALUMNOS [Identificación] Datos Alumno [Constancia Matricula] [Requerimiento Matricula] Datos Matricula 5 EMITIR CONSTANCIA MATRICULA Datos Matricula CURSOS MATRICULADOS Datos Matricula OERA [Alumnos Matriculados] 6 ELABORAR ESTADISTICAS 3 REGISTRO CURSOS SECCION + Datos Cursos CURSOS Datos Estadística Datos Programación Datos Cursos Sección HORARIOS [Estadísticas Matricula] Datos Cursos Sección COMISION MATRICULA [Horarios] 4 CARGAR HORARIOS Análisis y Diseño Sistemas 6 .

[Datos Alumno] 3.5 de Platinum NODE: TITLE: NUMBER: A-0 Análisis y Diseño Sistemas MATRICULA 1 7 .1 VERIFICAR IDENTIFICACION ALUMNOS [Requerimiento Matricula] REGISTRAR CURSOS SECCION [Datos Cursos] Datos Cursos Registrados Datos Cursos Cruce [Datos Cursos Sección] [Datos Estadística] 3.2 CURSOS VERIFICAR CRUCES HORARIOS [Datos Matricula] CURSOS MATRICULADOS [Datos Matricula] [Datos Programación] Diagrama de Segundo Nivel EMITIR CONSTANCIA MATRICULA Análisis y Diseño Sistemas USED AT: AUTHOR: Luis Zuloaga Rotta . PROJECT: SISTEMA CADEMICO CURSO A&DS NOTES: 1 2 3 4 5 6 7 8 9 10 DATE: 16/06/2001 REV: 16/06/2001 WORKING DRAFT RECOMMENDED PUBLICATION READER DATE CONTEXT: TOP Identificación Documentos Matricula 1 ALUMNO Requerimiento Matricula Constancia Matricula $0 0 Alumnos Matriculados 3 MATRICULA OERA Estadisticas Matricula 2 COMISION MATRICULA Horarios Diagrama Contexto elaborado con BPWin 2.

USED AT: . Curso A&DS AUTHOR: Luis Zuloaga Rotta PROJECT: SISTEMA CADEMICO DATE: 16/06/2001 REV: 16/06/2001 WORKING DRAFT RECOMMENDED READER DATE CONTEXT: NOTES: 1 2 3 4 5 6 7 8 9 10 1 PUBLICATION A-0 ALUMNO Documentos Matricula 1 $0 1 Documentos Verificados 2 Datos Identificación $0 2 DOCUMENTOS ALUMNOS Datos Matricula 6 VERIFICAR DOCUMENTOS Identificación CURSOS MATRICULADOS 3 VERIFICAR IDENTIFICACIÓN Datos Alumno Constancia Matricula $0 EMITIR CONSTANCIA MATRICULA Requerimiento Matricula 4 Datos Matricula Datos Cursos 5 CURSOS OERA $0 3 REGISTRO CURSOS SECCIÓN Datos Curso Sección Datos Programación $0 5 Alumnos Matriculados 2 COMISION MATRICULA Horarios $0 6 Datos Estadística 3 ELABORAR ESTADISTICAS CARGAR HORARIOS Estadisticas Matricula HORARIOS NODE: TITLE: NUMBER: A0 Análisis y Diseño Sistemas MATRICULA 2 USED AT: . Curso A&DS AUTHOR: Luis Zuloaga Rotta PROJECT: SISTEMA CADEMICO DATE: 16/06/2001 REV: 16/06/2001 WORKING DRAFT RECOMMENDED PUBLICATION READER DATE CONTEXT: NOTES: 1 2 3 4 5 6 7 8 9 10 A0 1 ALUMNO Requerimiento Matricula $0 31 Datos Cursos 5 CURSOS REGISTRAR CURSO SECCION Datos Cursos Cruce Datos Estadística 3 Datos Alumno Datos Curso Sección Datos Cursos Registrados HORARIOS $0 32 Datos Matricula Datos Programación VERIFICAR CRUCES Datos Matricula 6 CURSOS MATRICULADOS NODE: TITLE: REGISTRO CURSOS SECCIÓN NUMBER: 3 A3 Análisis y Diseño Sistemas 8 .

etc. necesaria para expresar : – composición (secuencia ?) – cómo un item esta compuesto de unidades planas (sus atributos). – Repetición – items que son repetidos en (e. – opcionalidad . arreglos (arrays).g. Curso A&DS AUTHOR: Luis Zuloaga Rotta PROJECT: SISTEMA CADEMICO DATE: 16/06/2001 REV: 16/06/2001 WORKING DRAFT RECOMMENDED PUBLICATION READER DATE CONTEXT: NOTES: 1 2 3 4 5 6 7 8 9 10 A3 Datos Matricula $0 323 PROCESAR MATRICULA 6 CURSOS MATRICULADOS Datos Matricula Datos Estadística 3 HORARIOS Datos Cursos Cruce $0 MOSTRAR CRUCES 322 Datos Cursos Cruce Datos Cursos Registrados Datos Cursos Registrados $0 321 COMPARAR HORARIOS Datos Programación NODE: TITLE: VERIFICAR CRUCES NUMBER: 4 A32 Análisis y Diseño Sistemas Diccionario de Datos (DD) • Notación para representar la estructura de items de datos.items que no siempre estan presentes.USED AT: . Análisis y Diseño Sistemas 9 . – selección – valores para items a seleccionar desde alternativas.) listas.

i. significa que el item entre parentesis es opcional incluye literales (valor a utilizar) incluye comentarios – define el significado de datos..e.] Análisis y Diseño Sistemas 10 .] Horario = HoraInicio + "-" + HoraTermino HoraInicio = ["9" |"10" |"11" |"12"….. • ListaSeminarios = Titulo + NumeroVersion + Fecha + { DiaSemana + Horario + Aula + {Nombre + ApellidoPaterno} } • NumeroVersion = Digito + ". repetición significa entre n y m (inclusive) significa que uno de los atributos entre las barras esta presente. = + {} n{ }m [||] () "" ** significa ‘es definido como'.. Análisis y Diseño Sistemas Ejemplo : Lista Seminarios • ListaSeminarios = Titulo + NumeroVersion + Fecha + {DetalleSeminario} • DetalleSeminario = DiaSemana + Horario + Aula + {ListaEstudiantes} • ListaEstudiantes = {Nombre + Apellido Paterno} • o….Símbolos usados en la notación del DD notació Asigne un nombre significativo a cada item de datos básico o compuesto. informalmente." + Digito Digito = ["1" |"2" |"3" |"4" |…. o ‘esta hecho de' significa ‘ y ' significa cero o mas de cualquier cosa que este dentro de las llaves.

.] • SemanaInstruccion = 2{DetalleExposicion}2 + (ListaSeminarios) + (TrabajoPractico) • DetalleExposicion = *Descripcion del contenido Exposicion* • FechaInicio = Fecha FechaDePlan = Fecha Fecha = *fecha en formato "dd-mmm-yy"* • etc.Un nuevo Ejemplo : PlanCurso • PlanCurso = FechaDePlan + NroVersion + Titulo + {DetalleSemanal} • DetalleSemanal = NroSemana + FechaInicio + [SemanaInstruccion|SemanaNoInstruccion] • SemanaNoInstruccion = [“administrativa"| "introduccion"| “aprendizaje centrado estudiante"| . Análisis y Diseño Sistemas ESPECIFICACIÓN DE PROCESOS Análisis y Diseño Sistemas 11 . etc..

Análisis y Diseño Sistemas Que es lo que el proceso hace ? • Los procesos a bajo nivel deben ser descritos en forma precisa y sin ambiguedades. • Los métodos usados para describir procesos de alto nivel. y que pueda ser facilmente comprendido por usuarios y programadores. difieren de aquellos utilizados para describir procesos detallados. • Se necesitan métodos que remuevan ambiguedades desde la descripción del sistema. Análisis y Diseño Sistemas 12 .Métodos utilizados para Especificar Procesos • Todos los procesos en un DFD deben ser descritos. • Los primeros son descritos usualmente utilizando lenguaje natural. y los otros utilizando un lenguaje estructurado.

dependiendo de un número de condiciones.Técnicas del Análisis Estructurado • • • • Inglés Estructurado Inglés Extendido Tablas de Decisión Árbol de Decisión Análisis y Diseño Sistemas Inglés Estructurado y Extendido Tabla y Árbol de Decisi ón • Las dos técnicas del inglés permiten construir descripciones verbales dentro de una estructura lógica. • Las técnicas de decisión se utilizan donde una de un número de acciones va a ser seleccionada. removiendo ambiguedades lógicas. Análisis y Diseño Sistemas 13 .

Inglés Estructurado IF limite crédito excedido THEN IF cliente tiene mala historia de pago THEN rechase crédito ELSE IF compra es mayor de 200 $ THEN rechase crédito ELSE pasar a administrador ELSE permitir crédito Análisis y Diseño Sistemas Inglés Extendido IF nivel de crédito excedido THEN (limite crédito excedido) IF cliente tiene mala historia de pago THEN rechazar crédito ELSE (cliente tiene buena historia de pago) IF compra es mayor a 200 $ THEN rechazar crédito ELSE (compra es menor a 200 $) pasar a administrador ELSE (nivel de crédito no excedido) permitir crédito Análisis y Diseño Sistemas 14 .

TABLA DE DECISIÓN Acciones Condiciones Límite crédito excedido Cliente con buena historia de pago V V V V V F V V F F F F F V V F F F F X Compra arriba de 200 $ V F Permitir crédito Rechazar crédito Pasar a administrador X X V F V X X X X X Análisis y Diseño Sistemas Árbol de Decisión Buena historia pago Limite Crédito Excedido Compra arriba 200$ Rechazar crédito Pasar administrador Compra abajo 200$ Rechazar crédito Mala historia pago Limite Crédito no Excedido Análisis y Diseño Sistemas Permitir crédito 15 .

Not equal to Análisis y Diseño Sistemas 16 . Not • Greater than . Análisis y Diseño Sistemas Operadores Aritméticos y Booleanos • Multiply • Add • Exponential • Or . Less than • Less than or equal to . Divide . • Por ejemplo : ADD Salario_Persona to Total_Salario • Pueden utilizarse operadores Booleanos y aritméticos. Subtract . Greater than or equal to • Equals .Inglés 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. en las sentencias imperativas.

... END CASE REPEAT……. ..THEN ……….Lógica del Inglés Estructurado • • • • • • • BEGIN …….. UNTIL WHILE ………DO IF ……..ELSE DO FOR Análisis y Diseño Sistemas Orden Preliminar = Nro_Orden + {Nro_Parte + Cantidad } Orden Finalizada Precio_Parte = Nro_Parte + Precio_Unitario Finalizar Orden Descripción del Proceso : Finalizar Orden Análisis y Diseño Sistemas = + + + + + Nro_Orden {Nro_Parte Cantidad Precio_Unitario Valor_Parte} Valor_Orden 17 ....

Análisis y Diseño Sistemas 18 .Descripción del proceso : Registro de Ventas Reporte de Venta = + + + Cliente Nro_Parte Cantidad_Vendida Precio_Unitario VENTAS = Nro_Parte + Cantidad_Total + Valor_Total Registro de Ventas Resúmen de Ventas = Cliente + Valor_de_Venta Análisis y Diseño 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.

Descripción de proceso : Sumando Descuentos Emisión de Autorización de Descuentos = CLIENTE + IMPORTE DEL DESCUENTO Descuentos Registro de Ventas = + + + Cliente Nro_Parte Cantidad_Vendida Precio_Unitario Registro de Ventas Resúmen de Ventas = Cliente + Tipo + Valor_de_Venta VENTAS = Nro_Parte + Cantidad_Total + Valor_Total Análisis y Diseño Sistemas Descripción del proceso: Registro Ventas Emisión de descuentos Notificación de Descuento = Cliente + Importe_Descuento Envío de Cuentas Recepción = Cliente + Valor_Venta Informe de Ventas = Cliente + Nro_Parte + Cantidad_Vendida + Precio_Unitario + Tipo Emisión de Facturas Registro de Ventas Cuentas de Correo = Cliente + Valor_de_Venta Resumen de Ventas = Cliente + Tipo + Valor_de_Venta Datos de la Factura = Cliente + Nro_Parte + Importe_de_Factura VENTAS = Nro_Parte + Cantidad_Total + Valor_Total Análisis y Diseño Sistemas 19 .

Análisis y Diseño Sistemas Estructura de Decisión a) Selección de dos maneras Condición Grupo A sentencias Grupo B sentencias IF condition THEN BEGIN Group A sentences END ELSE BEGIN Group B sentences END Análisis y Diseño Sistemas 20 .00 THEN BEGIN CANT_DESCUENTO = SALE-VALUE * 0. Send ‘RESUMEN VENTAS ’ IF VALOR_VENTA > 500.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.02 Send ‘DESCUENTO AUTORIZADO’ END END.

02 send ‘ Descuento Autorizado ’ END.b) Selección Múltiple Valor Test Grupo A sentencias . Write Ventas record...Z’ son valores que pueden ser tomados por ‘name’. 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. Send ‘ Resumen Ventas ’ CASE TYPE OF ‘Cuenta ’: BEGIN Send ‘ Cuenta Correo ’ IF Valor_Venta = 500.00 THEN BEGIN Cant_Descuento = Valor_Vta* 0. Grupo k sentencias Grupo L sentencias Grupo Z sentencias Case (name) of A : BEGIN Group A sentences END Z : BEGIN Group Z sentences END Análisis y Diseño Sistemas Aqui ’name’ es una variable y ‘A. END Análisis y Diseño Sistemas 21 ...

END ‘Credito’: BEGIN Send ‘Recibir’. END ‘Credito’: BEGIN Cant_Factura = Valor_Vta + Valor_Vta* 0.‘Contado’.01 send ‘Datos Factura’ END END END. Análisis y Diseño Sistemas Estructuras de Repetición a) Usando WHILE Condición Grupo A sentencias WHILE condition DO BEGIN GROUP A sentences END Análisis y Diseño Sistemas 22 .’Cheque’: BEGIN Send ‘Recibir’.

b) Usando REPEAT GRUPO A sentencias Condición REPEAT BEGIN GROUP A sentences END UNTIL condition Análisis y Diseño 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’ Análisis y Diseño Sistemas 23 .

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’ Análisis y Diseño Sistemas 24 .Descripción 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 Análisis y Diseño Sistemas 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 ’ Análisis y Diseño Sistemas Descripción 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 Análisis y Diseño Sistemas 25 .Get ‘Orden Preliminar’ Valor_Orden = 0.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->