El diseño estructurado es un enfoque disciplinado de la transformación de qué es
necesario para el desarrollo de un sistema, a cómo deberá ser hecha la implementación.
Principios del diseño estructurado
Los principios de diseño estructurado son los siguientes:
Descomposición por refinamientos sucesivos
Creación de una jerarquía modular Elaboración de módulos independientes
Conceptos del diseño estructurado
El diseño de sistemas se caracteriza por hacer uso de un conjunto de conceptos que deben ser comprendidos con el fin de poder especificar una propuesta de solución exitosa. Abstracción Es el proceso por el cual se resaltan ciertas características y se descartan o minimizan otras características de la realidad. Para el diseño, este proceso está enfocado en construir la solución a diferencia del análisis, el cual busca especificar la situación actual. El concepto de abstracción tiene relevancia en el sentido de que los intereses, gustos, conocimientos, etc., afectan la forma en que percibimos la realidad. Refinamiento Es el proceso por el cual se refinan los procesos por automatizar en su mínima expresión, que son las actividades. Como en el diseño la materia prima son los algoritmos, las actividades deben ser transformadas en algoritmos que se deben especificar de acuerdo con el lenguaje de programación seleccionado, debido a las singularidades que tiene cada lenguaje. No solamente se debe refinar los algoritmos, también se tiene que refinar los datos. Aunque esta tarea se hace en el análisis, cuando se crea el Diccionario de Datos. Modularidad Es el proceso por el que se agrupan o se dividen los componentes de un sistema que, a su vez, están formados por un conjunto de programas. La forma de hacer la agrupación está en función de la arquitectura que se haya seleccionado, así como de los estándares que maneje el equipo de desarrollo y la organización a la que se le está construyendo el sistema. La ventaja de la modularización es que permite mantener y reutilizar los componentes del sistema. Arquitectura del software La arquitectura es la estructura jerárquica de los componentes del programa (módulos), la manera en que los componentes interactúan y la estructura de datos que van a utilizar los componentes. El diseñador establece la arquitectura, obedeciendo las características que el sistema debe tener, y la tecnología que se va a emplear, por lo que no es de extrañarse que exista una diversidad de formas para crear la arquitectura de un sistema. Otra forma de plantear la arquitectura de software es creando un conjunto de modelos que representen la parte estática y la parte dinámica del sistema. Los modelos se representan por medio de diagramas junto con sus especificaciones correspondientes. División estructural La división estructural es un concepto inherente al concepto de jerarquía de control. Como se mencionó anteriormente, es en la jerarquía de control como se organizan los componentes agrupándose entre sí. Estas agrupaciones se dan en forma horizontal (ancho) y en forma vertical (profundidad). Estructura de datos La estructura de datos es una relación entre datos. Conforme con los requerimientos del usuario, éste establecerá ciertos conceptos que tienden a convertirse en estructuras de datos. Por ejemplo, el usuario menciona que “renta películas”, la renta es una estructura de datos que está compuesta por una fecha de renta, fecha de devolución, películas rentadas, cliente que renta, entre otros.