Diseño Estructurado.

La estrategia que se implementa en este tipo de técnica es el refinamiento sucesivo, el cual fue propuesto por Niklaus Wirth , en el tema de la Ciencia de la Computación, que corresponde a implementar subproblemas más pequeños hasta llegar a resolverlos.
Es necesario parar dicho refinamiento, si se tiene un sin números de subproblemas entonces se volvería menos practico la descomposición, para ello es necesario dejar de descomponer cuando ya no existan tareas con estructuras definidas y cuando la interfaz de un modulo resulte mas complicada que el modulo general. Luego de la descomposición del problema el resultado será una seria de módulos en forma de pirámides, que representara en la cima el programa principal y en las bases se encontraran los módulos resultantes. Al final de la tarea debe de encontrarse en la pirámide los módulos de coordinación en la fase principal y los módulos inferiores tienen la obligación de realizar tareas de entrada y salida de información.
Los conceptos de acoplamiento y de cohesión son utilizados para determinar cuan bueno es un diseño estructurado. Se considera que estos conceptos son cualitativos y están relacionados uno con el otro, de manera que los problemas de uno repercuten en el otro. El acoplamiento es el grado de interdependencia que existen entre los distintos módulos y la cohesión es la medida de fuerza o atracción entre las sentencias de un modulo. Los acoplamientos pueden ser externos, son aquellos en los que los módulos están relacionados con componentes externos, común, es cuando dos módulos acceden a un mismo recurso y de contenido es cuando un modulo necesita recorrer a otro modulo. La cohesión puede ser funcional, secuencial, procedimental, temporal, Lógica causal o coincidente. Los fan-in y fan-out son los que cuentan el grado de absorción y la diseminación del control de los módulos, lo que ayuda a incrementar la calidad del diseño.



