Professional Documents
Culture Documents
II Cuatrimestre
2015
Alumnos:
Julio Guerra, Misael Vallejos, Ramn Gonzlez Porras, Carlos Aguirre, Eduardo Martnez.
Julio 2015.
Contenido
Introduccin ...................................................................................................................................... 3
1. Antecedentes................................................................................................................................. 4
2. Definicin....................................................................................................................................... 4
3. Elementos ...................................................................................................................................... 5
3.1. Modulo ................................................................................................................................... 5
3.2. Relacin entre mdulos (Conexin o invocacin) .................................................................. 6
3.3 Comunicacin entre mdulos (Parmetro o cupla) ................................................................ 7
3.4 Otros componentes ................................................................................................................. 8
4. Estructura de diagrama ................................................................................................................. 8
5. Principios de diseo ....................................................................................................................... 9
6 Criterios de validacin de calidad ................................................................................................... 9
6.1 Acoplamiento .......................................................................................................................... 9
6.2 Cohesin ................................................................................................................................ 10
6.3 Descomposicin (Factoring) .................................................................................................. 10
6.3.1 Reducir el tamao del mdulo ....................................................................................... 10
6.3.2 Hacer el sistema ms claro ............................................................................................. 10
6.3.3 Minimizar la duplicacin de cdigo ................................................................................ 10
6.3.4 Separar el trabajo de la administracin ....................................................................... 11
6.3.5 Crear mdulos ms generales ........................................................................................ 11
6.4 Fan-Out .................................................................................................................................. 11
6.5 Fan-In ..................................................................................................................................... 11
7 Ejercicio de demostracin ............................................................................................................ 12
Conclusin ....................................................................................................................................... 15
Anexos ............................................................................................................................................. 16
Introduccin
1. Antecedentes
El diseo estructurado de sistemas se ocupa de la identificacin, seleccin y organizacin de los
mdulos y sus relaciones. Se comienza con la especificacin resultante del proceso de anlisis, se
realiza una descomposicin del sistema en mdulos estructurados en jerarquas, con
caractersticas tales que permitan la implementacin de un sistema que no requiera elevados
costos de mantenimiento.
La idea original del diseo estructurado fue presentada en la dcada de los '70, por Larry
Constantine, y continuada posteriormente por otros autores: Myers, Yourdon y Stevens.
El diseo estructurado es un enfoque disciplinado de la transformacin de qu es necesario para
el desarrollo de un sistema, a cmo deber ser hecha la implementacin.
La definicin anterior implica que: el anlisis de requerimientos del usuario (determinacin del
qu) debe preceder al diseo y que, al finalizar el diseo se tendr medios para la implementacin
de las necesidades del usuario (el cmo), pero no se tendr implementada la solucin al problema.
Cinco aspectos bsicos pueden ser reconocidos:
1. Permitir que la forma del problema gue a la forma de la solucin. Un concepto bsico del
diseo de arquitecturas es: las formas siempre siguen funciones.
2. Intentar resolver la complejidad de los grandes sistemas a travs de la segmentacin de un
sistema en cajas negras, y su organizacin en una jerarqua conveniente para la
implementacin.
3. Utilizar herramientas, especialmente grficas, para realizar diseos de fcil comprensin.
Un diseo estructurado usa diagramas de estructura (DE) en el diseo de la arquitectura
de mdulos del sistema y adiciona especificaciones de los mdulos y cuplas (entradas y
salidas de los mdulos), en un Diccionario de Datos (DD).
4. Ofrecer un conjunto de estrategias para derivar el diseo de la solucin, basndose en los
resultados del proceso de anlisis.
5. Ofrecer un conjunto de criterios para evaluar la calidad de un diseo con respecto al
problema a ser resuelto, y las posibles alternativas de solucin, en la bsqueda de la mejor
de ellas.
El diseo estructurado produce sistemas fciles de entender y mantener, confiables, fcilmente
desarrollados, eficientes y que funcionan.
2. Definicin
Los diagramas de estructura (DE) sirven para el modelamiento top-down de la estructura de control
de un programa descripto a travs de un rbol de invocacin de mdulos.
El objetivo de este diagrama es representar la estructura modular del sistema o de un componente
del mismo y definir los parametros de entrada y salida de cada uno de los modulos.
Un diagrama de estructura permite modelar un programa como una jerarqua de mdulos. Cada
nivel de la jerarqua representa una descomposicin ms detallada del mdulo del nivel superior.
La notacin usada se compone bsicamente de tres smbolos:
Mdulos.
Invocaciones o conexiones.
Cuplas o parmetros.
Ver anexo 1.
3. Elementos
Un diagrama de estructura se representa en forma de arbol con los siguientes elementos:
3.1. Modulo
Un modulo puede representar un programa, subprograma o rutina dependiendo del lenguaje a
utilizar. Admite parametros de llamada y retorno. En el disen o de alto nivel hay que ver un modulo
como una caja negra, donde se contemplan exclusivamente sus entradas y sus salidas y no los
detalles de la logica interna del modulo. Para que se reduzca la complejidad del cambio ante una
determinada modificacion, es necesario que los modulos cumplan las siguientes condiciones:
Que sean de pequen o taman o.
Que sean independientes entre s .
Que realicen una funcion clara y sencilla.
Desde un punto de vista prctico, un mdulo es una coleccin de instrucciones de un programa
con cuatro caractersticas bsicas:
Entradas y Salidas: lo que un mdulo recibe en una invocacin y lo que retorna como
resultado.
Funcin: las actividades que un mdulo hace con la entrada para producir la salida.
Lgica Interna: por la cual se ejecuta la funcin.
Estado Interno: su rea de datos privada, datos para los cuales slo el mdulo hace
referencia.
Las entradas y salidas son, respectivamente, datos que un mdulo necesita y produce. Una funcin
es la actividad que hace un mdulo para producir la salida. Entradas, salidas y funciones proveen
una visin externa del mdulo. La lgica interna son los algoritmos que ejecutan una funcin, esto
es, junto con su estado interno representan la visin interna del mdulo.
Un mdulo es diseado como una caja, su funcin es representada por un nombre en el interior y
las entradas y salidas de un mdulo son representadas por pequeas flechas que entran y salen
del mdulo.
Mdulo
S
M
Notacion
Se representa mediante un rectangulo con su nombre en el interior.
Invocacin
Estndar
Notacin
Se representa mediante una l nea terminada en punta de flecha cuya direccion indica el modulo
llamado. Para llamadas a modulos estaticos se utiliza trazo continuo y para llamadas a modulos
dinamicos trazo discontinuo.
Existen varios tipos de cuplas, basado en lo que ellas pueden producir en el mdulo receptor, las
cuales se describen a continuacin:
Tipos de Cuplas
Cupla de
Datos
Con una flecha doble (apuntando al mdulo llamador y al mdulo llamado) se especifica
Cupla
Modificada un argumento enviado a un mdulo que deber modificar su valor, fijando un nuevo valor
disponible para el mdulo llamador (en la implementacin, se precisar que el lenguaje
posea un mecanismo de pasaje de parmetros por referencia) (ej.: el buffer enviado a un
mdulo de lectura de un archivo).
Cupla de
Resultados
Existen mdulos que retornan valores sin la necesidad de que estn inicializados en el
momento que se invocan. Estos casos son dos:
1. Cuplas similares al tipo Modificada cuyos valores previos a la invocacin del mdulo
NO se utilizan para calcular el valor de retorno. Si bien en Pascal se implementa como
las Cuplas Modificadas, es conveniente documentarlas en el DE como de
Resultados por cuestiones de claridad.
2. Si el Mdulo en cuestin es una funcin (retorna un valor), se debe documentar este
valor de retorno como Cupla de Resulta- do cuyo nombre se corresponder con el
nombre de la funcin.
Notacin
La representacion var a segun su
tipo: control (flags) o datos.
Dispositivo f sico: es cualquier dispositivo por el cual se puede recibir o enviar informacion
que necesite el sistema.
4. Estructura de diagrama
Existen ciertas representaciones graficas que permiten mostrar la secuencia de las llamadas entre
modulos. Las posibles estructuras son:
5. Principios de diseo
El diagrama de estructura se basa en tres principios fundamentales:
La descomposicion de los modulos, de manera que los modulos que realizan multiples
funciones se descompongan en otros que solo realicen una. Los objetivos que se persiguen
con la descomposicion son:
Reducir el taman o del modulo.
Hacer el sistema mas facil de entender y modificar y por lo tanto facilitar el
mantenimiento del mismo.
Minimizar la duplicidad de codigo.
Crear modulos utiles.
La jerarqu a entre los modulos, de forma que los modulos de niveles superiores coordinen
a los de niveles inferiores. Al dividir los modulos jerarquicamente, es posible controlar
el numero de modulos que interactuan con cualquiera de los otros.
La independencia de los modulos, de manera que cada modulo se ve como una caja
negra, y nicamente es importante su funcin y su apariencia externa, y no los detalles de
su construccin.
6.1 Acoplamiento
El acoplamiento entre mdulos clasifica el grado de independencia entre pares de mdulos de un
DE. El objetivo es minimizar el acoplamiento, es decir, maximizar la independencia entre mdulos.
A pesar de que el acoplamiento, es un criterio que clasifica caractersticas de una invocacin (una
relacin existente entre dos mdulos), ser usado para clasificar un DE completo. Un DE se
caracteriza por el peor acoplamiento existen- te entre pares de sus mdulos, ya que ese es el
problema que debe ser resuelto para me- jorar la calidad del DE completo.
Un bajo acoplamiento indica un sistema bien particionado y puede obtenerse de tres maneras:
Eliminando relaciones innecesarias: Por ejemplo, un mdulo puede recibir algunos datos,
innecesarios para l, porque debe enviarlos para un mdulo subordinado.
Reduciendo el nmero de relaciones necesarias: Cuanto menos conexiones existan entre
mdulos, menor ser la posibilidad del efecto en cadena (un error en un mdulo aparece
como sntoma en otro).
Debilitando la dependencia de las relaciones necesarias: Ningn mdulo se tiene que
preocupar por los detalles internos de implementacin de cualquier otro. Lo nico que
tiene que conocer un mdulo debe ser su funcin y las cuplas de entrada y salida (cajas
negras).
6.2 Cohesin
Otro medio para evaluar la particin en mdulos (adems del acoplamiento) es observar como las
actividades de un mdulo estn relacionadas unas con otras; este es el criterio de cohesin.
Generalmente el tipo de cohesin de un mdulo determina el nivel de acoplamiento que tendr
con otros mdulos del sistema.
Cohesin es la medida de intensidad de asociacin funcional de los elementos de un mdulo. Por
elemento debemos entender una instruccin, o un grupo de instrucciones o una llamada a otro
mdulo, o un conjunto de procedimientos o funciones empaquetados en el mismo mdulo.
El objetivo del diseo estructurado es obtener mdulos altamente cohesivos, cuyos elementos
estn fuerte y genuinamente relacionados unos con otros. Por otro lado, los elementos de un
mdulo no deberan estar fuertemente relacionados con elementos de otros mdulos, porque eso
llevara a un fuerte acoplamiento entre ellos.
6.4 Fan-Out
El fan-out de un mdulo es usado como una medida de complejidad. Es el nmero de subordinados
inmediatos de un mdulo (cantidad de mdulos invocados).
Si un mdulo tiene un fan-out muy grande, entonces compone el trabajo de muchos mdulos
subordinados y, casi con certeza, tiene toda la funcionalidad no trivial representada por ese
subrbol en el DE.
Para tener acotada la complejidad de los mdulos se debe limitar el fan-out a no ms de siete ms
o menos dos (7 2). Un mdulo con muchos subordinados puede fcil- mente ser mejorado por
descomposicin.
6.5 Fan-In
El fan-in de un mdulo es usado como una medida de reusabilidad, es el nmero de superiores
inmediatos de un mdulo (la cantidad de mdulos que lo invocan).
7 Ejercicio de demostracin
Problema: El sistema ABControl tiene como propsito llevar un control de cada uno de las
solicitudes de suministros internas de la empresa XYZ que actualmente tiene un sistema
rudimentario para llevar a cabo esta tarea. XYZ quiere que el sistema permita que la gerencia pueda
tener conocimiento en el momento justo que se deba proveer o adquirir los suministros para cada
departamento.
Este sistema deber tener un mdulo de solicitudes en el cual se realizaran todas las solicitudes
internas de suministros, tambin un mdulo de aprobacin de solicitudes que aprobara o denegara
cada una dependiendo de lo que tenga en existencia el inventario del Sistema, si existen los
artculos solicitados, se aprueba la solicitud y se descuentan los suministros del inventario, y si no
existen los artculos, se tendr que realizar un pedido el cual tendr que ser aprobado de acuerdo
al criterio del Contador de la empresa, con la informacin de los suministros necesitados, su
respectivo proveedor y precios.
Solucin:
Conclusin
Anexos
1- Ejemplo de un Diagrama de Estructura.