1. Se trata de una actividad en la que se toman decisiones muy importantes, ya que sobre él se realizará la traducción al código que implementan realmente las funciones. Comparte aspectos con programación, pero que no son lo mismo, por que el nivel de detalle es muy diferente. DISEÑO ORIENTADO AL FLUJO DE DATOS
2. A partir del Diagrama de contexto , la información puede representarse mediante un flujo continuo que tiene una serie de cambios conforme se dirige de la entrada a la salida. El DFD se utiliza como una herramienta gráfica para la descripción del flujo de la información. El Diseño Orientado al Flujo de Datos (DOFD) define varias representaciones que cambian el flujo de la información en la estructura del programa.
3. El DOFD tiene orígenes en los primeros conceptos de diseño que consideraban la modularidad, el diseño descendente o refinamiento y la programación estructurada. DOFD amplió estas técnicas integrando el flujo de información en el proceso de diseño .
4. CONSIDERACIONES SOBRE EL PROCESO DE DISEÑO El DOFD permite una traducción sencilla de las representaciones de la información de los DFD contenidas en la especificación del sistema a una descripción del diseño de la estructura del programa .
12. Flujo de transformación En el Diagrama de Contexto (modelo del sistema) la información entra y sale de una forma . En ocasiones esta información tiene que ser convertida a una forma interna para el procesamiento. La información entra al sistema mediante rutas que transforman los datos externos a una forma interna y se identifica como flujo entrante. Los datos entrantes pasan por un proceso de transformación , moviéndose a través de caminos que conducen hacia la salida del software.
14. Flujo de transacción Se caracteriza por el movimiento de datos a través de un camino de llegada, que convierte la información, la evalúa, ( centro de transacción) y de acuerdo con el valor de la comparación, el flujo sigue por alguno de los caminos de acción .
15. ANÁLISIS DE TRANSFORMACIÓN Es un conjunto de pasos de diseño que permiten convertir un DFD, con características de flujo de transformación , en una estructura de programa. Pasos del diseño: Los pasos comienzan con una comprobación del trabajo realizado durante el análisis de requerimientos y luego evoluciona hasta las estructura del programa.
16. Revisión del modelo fundamental del sistema Diseño comienza con una evaluación de la especificación del sistema y de la especificación de requisitos del software . Revisión y refinamiento de los DFD del software Con el fin de conseguir un mayor detalle, se refina la información contenida en los DFD.
17. Determinar si el DFD tiene características de transformación o de transacción El diseñador selecciona la característica general del flujo basándose en la naturaleza del DFD (transformación o transacción) Aislar el centro de transformación especificando los límites de los flujos entrantes y salientes Diferentes diseñadores pueden establecer límites diferentes para la situación de los límites del flujo, se debe tener cuidado al establecer los límites, una variación de burbuja en un camino de flujo, normalmente tendrá poco impacto en la estructura del programa
18. Refinar la estructura inicial del programa utilizando medidas y heurísticas de diseño Se puede aumentar o reducir el número de módulos con el fin de conseguir una factorización sensata. ANÁLISIS DE TRANSACCIÓN Es un conjunto de pasos de diseño que permiten convertir un DFD, con características de flujo de transacción , en una estructura de programa.
19. Pasos del diseño Revisar el modelo fundamental del sistema Revisar y refinar los DFD para el software Determinar si el DFD tiene características de transformación o de transacción Identificar el centro de transacción y las características del flujo de cada camino de acción
20. Transformar el DFD en una estructura de software adecuada al procesamiento de transacciones Transformación de un flujo transaccional Factorizar y refinar la estructura de transacciones y la estructura de cada camino de acción Refinar la estructura inicial del software usando heurísticas de diseño para mejorar la calidad