Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Diseño estructurado

660 views

Published on

  • Be the first to comment

  • Be the first to like this

Diseño estructurado

  1. 1. DANIEL BRICEÑOC.I.: 14.781.603
  2. 2. DEFINICIÓNEl diseño estructurado persigue elaborar algoritmos quecumplan la propiedad de modularidad, para ello, dado unproblema que se pretende resolver mediante la elaboraciónde un programa de ordenador, se busca dividir dichoprograma en módulos siguiendo los principios de diseño deDescomposición por refinamientos sucesivos, creación de unaJerarquía modular y elaboración de módulosIndependientes.
  3. 3. TÉCNICAS DEL DISEÑO ESTRUCTURADOTop Down Técnica para diseñar que consiste en tomar el problema en formainicial como una cuestión global y descomponerlo sucesivamente en problemas máspequeños y por lo tanto, de solución más sencilla.La descomposición del problema original (y de las etapas subsecuentes),puede detenerse cuando los problemas resultantes alcanzan un nivel de detalleque el programador o analista pueden implementar fácilmente.Objetivos básicos del Top-DownSimplificación del problema y de los subprogramas de cada descomposición.Las diferentes partes del problema pueden ser programadas de modo independiente eincluso por diferentes personas.El programa final queda estructurado en forma de bloque o módulos lo que hace massencilla su lectura y mantenimiento.
  4. 4. Ejemplo de un diseño descendente (top-down ) de un control de almacén :
  5. 5. Bottom upEl diseño ascendente se refiere a la identificación de aquellos procesos que necesitancomputarizarse con forme vayan apareciendo, su análisis como sistema y su codificación, obien, la adquisición de paquetes de software para satisfacer el problema inmediato.Cuando la programación se realiza internamente y haciendo un enfoque ascendente, esdifícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido.Los problemas de integración entre los subsistemas son sumamente costosos y muchos deellos no se solucionan hasta que la programación alcanza la fecha limite para la integracióntotal del sistema.En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios,como para corregir aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistemacomo una entidad global, adolece de ciertas limitaciones por haber tomado un enfoqueascendente. Uno de ellos es la duplicación de esfuerzos para accesar el software y mas aunal introducir los datos. Otro es, que se introducen al sistema muchos datos carentes de valor.Un tercero y tal vez el mas serio inconveniente del enfoque ascendente, es que los objetivosglobales de la organización no fueron considerados y en consecuencia no se satisfacen.
  6. 6. Warnier OrrEs una técnica que utiliza una representación semejante a la de cuadros sinópticos para mostrarel funcionamiento y organización de los elementos que conforman el algoritmo. Los diagramas Warnier Orr son útiles porque son compatibles con las técnicas de programaciónestructurada ; y además, son fáciles de desarrollar.Los diagramas Warnier Orr son fáciles de leer y modificar y no tienen que completarse antesde ser útiles. Se van desarrollando hacia otras salidas del sistema.Básicamente, utiliza una notación de llaves para organizar los módulos y se auxilia en lasiguiente simbología para indicar operaciones de control. Nota : Los diagramas Warnier Orr se leen de izquierda a derecha y de arriba hacia abajo.
  7. 7. Objetivos Del Diseño Estructurado"El diseño estructurado, tiende a transformar el desarrollo de software de unapráctica artesanal a una disciplina de ingeniería"."Diseño" significa planear la forma y método de una solución. Es el proceso quedetermina las características principales del sistema final, establece los límites enperformance y calidad que la mejor implementación puede alcanzar, y puededeterminar a que costos se alcanzará.El diseño se caracteriza usualmente por un gran número de decisiones técnicasindividuales. En orden de transformar el desarrollo de software en una disciplina deingeniería, se debe sistematizar tales decisiones, hacerlas más explícitas y técnicas,y menos implícitas y artesanales.Un ingeniero no busca simplemente una solución, busca la mejor solución, dentro delas limitaciones reconocidas, y realizando compromisos requeridos en el trabajo delmundo real.
  8. 8. En orden de convertir el diseño de sistemas de computadoras en una disciplinade ingeniería, previo a todo, debemos definir objetivos técnicos claros para losprogramas de computadora como "sistemas". Es esencial además comprenderlas restricciones primarias que condicionan las soluciones posibles.Para realizar decisiones concisas y deliberadas, debemos identificar los puntosde decisión .Finalmente necesitamos una metodología que nos asista en la toma dedecisiones.Dadas estas cosas: objetivos, restricciones, decisiones reconocidas, y unametodología efectiva, podemos obtener soluciones de ingeniería, y noartesanales. Eficiencia Mantenibilidad Modificabilidad Flexibilidad Generalidad Utilidad
  9. 9. Principios utilizados por el diseño estructuradoAbstracciónLa noción psicológica de abstracción permite concentrarse en un problema al mismo nivel degeneralización, independientemente de los detalles irrelevantes de bajo nivel. El uso de laabstracción también permite trabajar con conceptos y términos que son familiares al entornodel problema, sin tener que transformarlos a una estructura no familiar.Cada paso de un proceso de ingeniería de software es un refinamiento del nivel deabstracción de la solución de software.Conforme nos movemos por diferentes niveles de abstracción, trabajamos para crearabstracciones de datos y de procedimientos. Una abstracción procedural es una determinadasecuencia de instrucciones que tienen una función limitada y específica.Una abstracción de datos es una determinada colección de datos que describen un objeto.Refinamiento sucesivoEl refinamiento sucesivo es una primera estrategia de diseño descendente propuesta porNiklaus Wirth. La arquitectura de un programa se desarrolla en niveles sucesivos derefinamiento de los detalles procedimentales. Se desarrolla una jerarquía descomponiendouna declaración macroscópica de una función de una forma sucesiva, hasta que se llega alas sentencias del lenguaje de programación.
  10. 10. ModularidadLa arquitectura implica modularidad, el software se divide en componentes con nombres yubicaciones determinados, que se denominan módulos, y que se integran para satisfacer losrequisitos del problema.Arquitectura del softwareLa arquitectura del software se refiere a dos características importantes del software decomputadoras:la estructura jerárquica de los componentes procedimentales (módulos)la estructura de datosJerarquía de controlLa jerarquía de control, también denominada estructura de programa, representa laorganización (frecuentemente jerárquica) de los componentes del programa (módulos) eimplica una jerarquía de control. No representa aspectos procedimentales del software,tales como secuencias de procesos, o la repetición de operaciones.
  11. 11. Estructura de datosLa estructura de datos es una representación de la relación lógica existente entre loselementos individuales de datos. Debido a que la estructura de la información afectaráinvariablemente al diseño procedimental final, la estructura de datos es tan importante comola estructura del programa en la representación de la arquitectura del software.Procedimientos del softwareLa estructura del programa define la jerarquía de control, independientemente de lasdecisiones y secuencias de procesamiento. El procedimiento del software se centra sobre losdetalles de procesamiento de cada módulo individual.El procedimiento debe proporcionar una especificación precisa del procesamiento, incluyendola secuencia de sucesos, los puntos concretos de decisiones, la repetición de operaciones, eincluso la organización/estructura de los datos.Ocultamiento de la informaciónEl principio de ocultamiento de la información sugiere que los módulos se han de caracterizarpor decisiones de diseño que los oculten unos a otros. Los módulos deben especificarse ydiseñarse de forma que la información (procedimientos y datos) contenida dentro de unmódulo sea accesible a otros módulos únicamente a través de las interfaces formalesestablecidas para cada módulo.

×