Diagrama de Flujo de Datos (DFD) Paul Leger http://pleger.cl
Recordando Modelos de Referencias de Procesos de Negocio (MRPNs) Un MRPN es un manual/tutorial acerca de los procesos de una industria/negocio genérico (ej. hotelería) Contiene un estándar de un conjunto de procesos de negocios, landscape, modelo de datos (ER) y incluso el diagrama organizacional en algunos casos Por ejemplo, en una empresa como «Ripley», un MRPN para una empresa de retail, responde preguntas como: ¿Son los guardias contratistas? ¿Bajo que departamento deben estar estos guardias? ¿Debe haber un departamento por tipo de electrodoméstico? NOTA: Su proyecto anterior con decimas pudo haber sido simplificado si ustedes conocieran un MRPN para una empresa «Retail»
Recuerden leer el «paper» acerca de MRPNs Está en mi página Web
Visión de Diagramas según SCOR (un MRPN) Nivel 1 Procesos Estratégicos Landscape Procesos De Soporte Nivel 2 REA Procesos de Negocios BP Nivel 3 ER DFD Procesos orientados al software Nivel 4
Hoy Aprenderemos DFD Un BP para computines
Diagrama de Flujo de Datos (DFDs) Es un diagrama para representar de manera gráfica los algoritmos de los computines Es muy similar a los BPs, pero: Tiene más abstracciones (no solo actividades y eventos) El objetivo es representar como fluye la información desde el comienzo a su final Suelen ser mucho más detallistas y menos ambiguos que los BPs Muchos computines lo usan DFD para representar BPs!
Advertencia: «Hay muchas formas de modelar un DFD» ¡¡Usáremos la más estándar dentro de este curso!!
Elementos BÁSICOS de un DFD INICIO/FIN Inicio/fin de un DFD HOLA Mostrar ALGO por Pantalla numero Entrada de datos ingresada por el usuario Conector entre elementos/abstracciones
Ejemplo Básico: Mostrar un número ingresado por el usuario INICIO Deme un número Muestra “Deme un número” n Solicita un número ‘n’ Usted ingreso «n» Muestra “Usted ingreso el número ‘n’ donde n es el valor ingresado” FIN
Otros Elementos de un DFD num = 1 + 3 Asignación de un valor a una variable (num) num > 10 Si Condicional No SubirFotos() Usar un procedimiento (definido en otro lugar)
Otro ejemplo (1): mostrar un n+1, dado un n INICIO Deme un número Muestra «Deme un número» n Solicita un número «n» n2 = n + 1 Crea un valor/variable n2 con el valor n + 1 Gané porque tengo «n2» Muestra «Gané porque tengo ‘n2’» donde n2 es igual n + 1 FIN
Otro ejemplo (2): Saber si un número es positivo o negativo INICIO Deme un número n n >= 0 Si No Es negativo Es positivo o neutro FIN
Otro ejemplo (3): Mostrar cuál de dos números es mayor TAREA 1: Modifiqué este DFD para que no muestre ‘x’ si ‘x >= y’ INICIO Deme dos números x & y Preguntar x & y x >= y Si No TAREA 2: Modifiqué este DFD para que muestre iguales cuando x = y y x Muestra ‘x’ o ‘y’ FIN
Otro ejemplo (5): Mostrar correos INICIO Deme un user y password User & Pass Uno puede escribir explícitamente que información pasa de una unidad a otra Usando un proceso que está definido en otro lugar Obtener correos correos Es opcional, es solo una ayuda para el lector Mostrar «correos» FIN
Otro ejemplo (6): Mostrar soluciones de un ecuación cuadrática INICIO TAREA 1: Modifique este DFD para mostrar los resultados cuando la ecuación tenga solución (=> a ≠ 0 y b2 -4ac > = 0) Deme a, b, y c a & b & c Solicitar a, b, c de «a*x2 + b*x + c» TAREA 2: Mostrar el DFD de la tarea 1 para que muestre «NO TIENE SOLUCIÓN CUANDO NO HAY» Mostrar «x1» y «x2» FIN
Otro ejemplo (7): Un ciclo INICIO TAREA : Modifique este DFD para que el sueldo no pueda ser mayor 10.000.000 y menor que 10.000 Deme su sueldo sueldo No sueldo > 0 Si Deme su sueldo sueldo Gracias por insertar su sueldo FIN
Calcular Soluciones cuadrática Niveles de un DFD Nivel 0: es el nivel de contexto Calcular Soluciones cuadrática + INICIO FIN Cada vez que vean el «+», significa que ese proceso es explotado más tarde En este caso, es el ejercicio que vimos antes
Tarea: Jalisco nunca pierde!! Cree un DFD de «Jalisco nunca pierde». El usuario ingresa un número n y ustedes deben decir «Jalisco te ganó, porque tiene un n+1» El DFD debe terminar cuando el usuario ingresa un n como «-1»