Académique Documents
Professionnel Documents
Culture Documents
Diseo estructurado
3 edicin (2000)
Facultad de Informtica
diseando el software
El diseo estructurado es un mtodo de diseo de software concebido por Page-Jones. El mtodo debe aplicarse despus de analizar el software mediante un mtodo estructurado (p.e. mtodo de Yourdon). El diseo del software se plantea como la organizacin de los mdulos (procedimientos y funciones) para conseguir la funcionalidad descrita en el anlisis; por ello, este mtodo se considera dentro de la categora de los mtodos orientados por la funcin. El mtodo proporciona un conjunto de herramientas para la representacin del diseo del software, la organizacin de las actividades de diseo y criterios para comprobar la calidad del diseo.
Diseo estructurado
contenido
Parte I. Herramientas de representacin Parte II. Gua de diseo Referencias bibliogrficas
Diseo estructurado
Diseo estructurado
Estas herramientas permiten dividir el trabajo entre los miembros de un equipo de desarrollo al estar orientadas modularmente.
Diseo estructurado
diagrama de estructura
N Mdulo Invocacin o transferencia de control X Parmetro de entrada T Mdulo contenido dentro del padre
Parmetro de salida
Mdulo transaccional
Subsistema
Conector
Flag
Diseo estructurado
Marcar n EP
Comando
EP
Write
Escribir puerto
Fichero: matra.unit
Diseo estructurado
Diseo estructurado
Ejemplo
Mdulo. Seleccionar sitios de pasajeros. Call ObtenerPrimerSitio(Sitio,NoHaySitios) While Not NoHaySitios Comprobar Sitio con Preferencias_sitio Si es valido Aadir a la Lista_sitios Call ObtenerSiguienteSitio(Sitio,NoHaySitios) EndWhile Mostrar la lista al usuario para que seleccione el nmero de sitio. Accept Numero_sitio Sitio_seleccionado=Lista_sitios(Numero_sitio) Return Sitio_seleccionado
Diseo estructurado
Diseo estructurado
10
estrategia
Las especificaciones desarrolladas durante el anlisis estructurado pueden ayudar a derivar la estructura del diseo. La transicin desde el diagrama de flujo de datos a la estructura del programa, representada en el diagrama de estructura, requiere la identificacin del tipo de flujo de informacin.
Flujo de transaccin Flujo de transformacin
Entrada
Transformacin
Salida
Diseo estructurado
11
actividades
Si es transformacin Aislar el centro de transformacin de los procesos de entrada y salida. Realizar el primer nivel de factorizacin.
Controlar
Si es transaccin Identificar el centro de transaccin. Establecer una estructura software adecuada para el procesamiento de transacciones.
Controlar
Leer
Procesar
Emitir
Leer datos
Invocar
Ejecutar el segundo nivel de factorizacin, convirtiendo los procesos de DFD en mdulos de la estructura. Refinar la estructura resultante usando medidas y heursticas de diseo.
Desarrollar la estructura de cada una de las transacciones, incorporndola a la estructura anterior. Refinar la estructura resultante usando medidas y heursticas de diseo.
Diseo estructurado 12
medidas
La cohesin y el acoplamiento son dos medidas que permiten evaluar la calidad de la particin de los mdulos y, por lo tanto, ayudan a refinar el diseo. Un buen diseo se caracteriza por un acoplamiento bajo, es decir, poca interdependencia entre mdulos, y una cohesin alta, significando que los elementos que componen un mdulo estn muy relacionados. Estas cualidades permiten reducir los errores y mejorar la comprensin del diseo, facilitando, por lo tanto, la tarea de mantener el software. Mejorar la cohesin Para asegurar que las funciones del software reflejen las originales y as facilitar la comprensin.
Partir mdulos que realicen actividades poco relacionadas entre s. Asignar a los mdulos tareas de control o de trabajo.
Mejorar el acoplamiento Para reducir la posibilidad de transmisin de errores (efecto ripple) entre mdulos.
Eliminar relaciones innecesarias. Reducir el nmero de relaciones. Facilitar la claridad de las relaciones.
Diseo estructurado
13
heursticas
Factorizar Separar la funcionalidad de un mdulo en varios mdulos.
Reducir el tamao de los mdulos. Minimizar la duplicidad de cdigo. Proporcionar mdulos de uso general. Mejorar la cohesin.
Inicializacin y terminacin Iniciar y terminar cada funcin en el momento preciso (evitar funciones de inicializar y terminar todo). Compromiso entre restrictividad y generalidad Los mdulos muy restrictivos son difciles de reusar. Los mdulos muy general son muy complejos y poco eficientes. Reducir el nmero de subordinados Un mdulo que posea ms de siete mdulos subordinados dificulta su comprensin.
Formar estructuras reconocibles Tender hacia estructuras con formas bsicas (p.e., entrada, transformacin y salida) o estructuras inspiradas en las propias estructuras de datos.
Diseo estructurado
14
referencias bibliogrficas
Yourdon, E. Modern Structured Analysis. Prentice-Hall, 1989. Page-Jones, M. Practical guide to structured systems design. Prentice-Hall, 1988. Pressman, R.S. Ingeniera del software. Un enfoque prctico. McGraw-Hill, 1993.
Diseo estructurado
15