Diseño orientado al fd

14
Diseño Orientado al Diseño Orientado al Flujo de Datos Flujo de Datos Materia Sistemas de Información II Yazmin Ibarra Ceniceros Docente Ing. Ricardo de Jesús Bustamante González

Transcript of Diseño orientado al fd

Page 1: Diseño orientado al fd

Diseño Orientado al Flujo Diseño Orientado al Flujo de Datosde Datos

Materia Sistemas de Información II

Yazmin Ibarra Ceniceros

Docente Ing. Ricardo de Jesús Bustamante

González

Page 2: Diseño orientado al fd

El diseño es una actividad que consta de una serie de pasos, en los que partiendo de la especificación del sistema (de los propios requerimientos), obtenemos una representación de la arquitectura del sistema, de las estructuras de datos y de los procedimientos.

El Diagrama de Flujo de Datos (DFD) se utiliza como 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 transforman el flujo de la información en la estructura del programa.

DISEÑO Y FLUJO DE LA INFORMACIÓN

Page 3: Diseño orientado al fd

La traducción desde el flujo de la información hasta la estructura consta de cinco pasos: Establecer el tipo de flujo de información Determinar los límites del flujo Convertir el DFD en la estructura del programa Definir la jerarquía de control mediante factorización Refinar la estructura resultante mediante heurísticas de diseño

El tipo de flujo de información es el que determina cómo se realiza la conversión del DFD a la estructura del programa.

Los tipos de flujo de información son: Flujo de transformación Flujo de transacción

CONSIDERACIONES SOBRE EL PROCESO DE DISEÑO

Page 4: Diseño orientado al fd

A veces la información que entra y sale tiene que ser convertida a una forma interna para el procesamiento. La información entra al sistema mediante caminos que transforman los datos

externos a una forma interna y se identifica como flujo entrante. Es decir, un flujo entrante es un camino en el que se transforma la información externa en interna.

El flujo saliente transforma la información interna en externa. El flujo de datos global ocurre de forma secuencial.

Flujo de transformación

Cuando una parte de un DFD muestra estas características tenemos un flujo de transformación.

Figura 1. Flujo de transformación

Page 5: Diseño orientado al fd

El 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.

Flujo de transacción

Figura 2. Flujo de transacción

El centro del flujo de información desde el que emanan los caminos de acción se denomina Centro de Transacción. Dentro de un flujo de transacción, el flujo de información a través de un camino de acción puede tener características de flujo de transformación.

Page 6: Diseño orientado al fd

El 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 plantilla predefinida para la estructura del programa.

Pasos del diseñoLos pasos comienzan con una comprobación del trabajo realizado durante el

análisis de requerimientos y luego evoluciona hasta las estructura del programa.

ANALISIS DE TRANSFORMACIÓN

Page 7: Diseño orientado al fd

Paso 1. Revisar el modelo fundamental del sistema: revisar el DFD nivel 0 y la información complementaria.

Paso 2. Revisar y refinar los DFD del software: Con el fin de conseguir un mayor detalle, se refina la información contenida en los DFD. Se trata de ver que los niveles de los DFD muestren una cohesión relativamente alta, es decir, que cada proceso realice una función sencilla y clara. De esta forma se podría proceder sin necesidad de refinar más.

Paso 3. Determinar si el DFD tiene características de transformación o de transacción: en este paso el diseñador selecciona la característica general del flujo basándose en la naturaleza del DFD (transformación o transacción. Para ello se verían si existen centros de transacción claramente definidos). A continuación se aíslan las regiones locales de flujo de transformación o de transacción.

Pasos del diseño

Page 8: Diseño orientado al fd

Paso 4. Aislar el centro de transformación especificando los límites de los flujos entrante y saliente: la interpretación de los límites es algo subjetivo dependiente del diseñador, así es posible obtener distintas soluciones alternativas variando los límites del flujo. El diseñador debe establecer unos límites razonables.

Paso 5. Realización del Primer Nivel de Factorización: La factorización da como resultado una estructura de programa en la que los módulos de nivel superior toman las decisiones de ejecución y los módulos de nivel inferior ejecutan la mayor parte del trabajo de entrada, computacional y de salida. Los módulos intermedios realizan algunas tareas de control y algunas tareas de trabajo.

Page 9: Diseño orientado al fd

Figura 3. Primer nivel de factorización

En la parte superior de la estructura de programa se encuentra un módulo de control, que sirve para controlar las funciones de control subordinadas.

El número de módulos del primer nivel debe limitarse al mínimo necesario para obtener buenas características de cohesión y acoplamiento.

Page 10: Diseño orientado al fd

Paso 6. Ejecución del Segundo Nivel de Factorización: el segundo nivel de factorización se realiza mediante la conversión de las burbujas de un DFD en los módulos correspondientes de la estructura de programa.

La conversión se realiza comenzando desde dentro y yendo hacia afuera comenzando por los caminos de entrada, y luego continuando con los caminos de salida como se muestra en la figura siguiente.

Figura 4. Segundo nivel de factorización

Page 11: Diseño orientado al fd

Aunque la figura anterior muestra una correspondencia uno a uno entre las burbujas y los módulos del software, se pueden combinar varias burbujas en un solo módulo (con el consecuente problema de cohesión) o una burbuja puede dividirse en varios módulos.

Paso 7. Refinar la estructura inicial del programa utilizando medidas y heurísticas de diseño: la estructura inicial del programa siempre puede refinarse aplicando los conceptos de independencia funcional. Se puede aumentar o reducir el número de módulos con el fin de conseguir una factorización sensata, una buena cohesión, un acoplamiento mínimo y una estructura que se pueda implementar sin dificultad, probarse sin confusión y mantenerse sin problemas.

Page 12: Diseño orientado al fd

El 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.

Pasos del diseñoLos pasos del diseño para el análisis de transacciones son similares (y en algunos casos

idénticos) a los pasos para el análisis de transformaciones. La principal diferencia se encuentra en la conversión del DFD en la estructura del programa. Paso 1. Revisar el modelo fundamental del sistema Paso 2. Revisar y refinar los DFD para el software Paso 3. Determinar si el DFD tiene características de transformación o de Transacción Paso 4. Identificar el centro de transacción y las características del flujo de cada camino

de acción

ANÁLISIS DE TRANSACCIÓN

Page 13: Diseño orientado al fd

Paso 5. Transformar el DFD en una estructura de software adecuada al procesamiento de transacciones

Este proceso se muestra en la figura siguiente Paso 6. Factorizar y refinar la estructura de transacciones y la estructura de cada

camino de acción Paso 7. Refinar la estructura inicial del software usando heurísticas de diseño para

mejorar la calidad

Figura 5. Transformación de un flujo transaccional

Page 14: Diseño orientado al fd

Una vez que se ha desarrollado una estructura de programa utilizando el método del DOFD, se puede conseguir una modularidad efectiva aplicando los principios de diseño y manipulando la estructura resultante de acuerdo con este conjunto de heurísticas.1. Evaluar la estructura de programa preliminar para reducir el acoplamiento y reducir la cohesión2. Intentar minimizar las estructuras con alto grado de salida. Fomentar un alto grado de entrada

conforme aumente la profundidad3. Mantener el efecto de un módulo dentro del ámbito de control de ese módulo4. Evaluar las interfaces de los módulos para reducir la complejidad y la redundancia y mejorar la

consistencia5. Definir módulos cuyas funciones sean predecibles: Los módulos deben tener una apariencia de

caja negra, ocultando los detalles de procesamiento.6. Fomentar módulos con entrada única y salida única: el software es más fácil de comprender, y

por tanto, es más fácil de mantener, si a los módulos se entra por el principio y se sale por el final.

HEURÍSTICAS DE DISEÑO