1. Diseño y Flujo de Información La transición desde el flujo de información (representado como DFD) a una estructura del programa se realiza en un proceso de seis pasos: Se establece el tipo de flujo de información. Se indican los límites del flujo. Se convierte el DFD en la estructura del programa.
3. Diseño y Flujo de Información Se define la jerarquía de control. Se refina la estructura resultante usando medidas y heurísticas de diseño. Se refina y elabora la descripción arquitectónica. El tipo de flujo de información es lo que determina el método de conversión requerido en el paso 3.
4. Tipos de Flujo de Información Los Flujos de Información determinan la forma en como debe de ser conducido el programa dado que nos representa las entradas y salidas del sistema. Los tipos de flujos de información se clasifican básicamente en dos de Transformación y de Transacción
5. Tipos de Flujo de Información El flujo de Transformación ocurre de manera general con las entradas y las salidas. El flujo de transacción es aquel que se tiene cuando a partir de éste se derivan otros flujos de información. El flujo de transacción suele asociarse con menú de opciones.
6. Análisis de Transformación El análisis de transformación es un conjunto de pasos de diseño que permite convertir un DFD, con características de flujo de transformación, en una plantilla predefinida para la estructura del programa. Los pasos a seguir son los siguientes: Revisar el modelo fundamental del sistema Revisar y refinar los diagramas de flujo de datos del software.
7. Análisis de Transformación Determinar si el DFD tiene características de flujo de transformación o de transacción. Aislar el centro de transformación especificando los límites de los flujos de entrada y salida. Realizar una descomposición de primer nivel.
8. Análisis de Transformación Realizar descomposición de segundo nivel. Refinar la estructura inicial del programa utilizando heurísticas para mejorar la calidad del software.
13. Análisis de Transacción Para realizar el análisis de transacción se siguen los siguientes pasos: Revisar el modelo fundamental del sistema Revisar y refinar los diagramas de flujo de datos para el software
14. Análisis de Transacción Determinar si el DFD tiene características del flujo de transformación o de transacción. Identificar el centro de transacción y las características de flujo a lo largo de cada camino de acción. Transformar el DFD en una estructura de programa adecuada al procesamiento de la transacción.
15. Análisis de Transacción Descomponer y refinar las estructuras de transacción y la estructura de todos los caminos de acción. Refinar la primera arquitectura del programa usando heurísticas de diseño para mejorar la calidad del software.
18. Heurísticas del Diseño A continuación se muestra un conjunto de heurísticas a seguir para obtener mejores resultados: Evaluar la primer iteración de la estructura de programa para reducir el acoplamiento y mejorar la cohesión. Explosión Implosión
19. Heurísticos del Diseño Intentar minimizar las estructuras con un alto grado de salida; esforzarse por la entrada a medida que aumenta la profundidad. Mantener el ámbito del efecto de un módulo dentro del ámbito de control de ese módulo. Evaluar las interfaces de los módulos para reducir la complejidad, la redundancia, y la consistencia.
20. Heurísticos del Diseño Definir módulos cuya función pueda predecir, pero evitar módulos que sean demasiado restrictivos. Intentar conseguir módulos de entrada controlada evitando conexiones patológicas.
22. Optimización del Diseño Se recomienda las siguientes acciones para tener un diseño óptimo: Desarrollar y refinar la estructura del programa sin preocuparse de la optimización. Usar herramientas CASE que simulen el rendimiento en tiempo de ejecución para aislar áreas de ineficiencia.
23. Optimización del Diseño Durante iteraciones posteriores del diseño, seleccionar los módulos sospechosos de “devorar tiempo” y desarrollar cuidadosamente procesamientos que mejoren la eficiencia en el empleo de tiempo. Codificar en un lenguaje de programación apropiado.
24. Optimización del Diseño Instrumentar el software para aislar módulos que consuman mucho tiempo de procesador. Si es necesario, rediseñar o recodificar en lenguaje máquina para mejorar la eficiencia.