1.

1PANORAMA GENERAL DEL DISEÑO FÍSICO Y LÓGICO El diseño de sistemas se refiere a la formulación de especificaciones para el nuevo sistema o subsistema propuesto, de manera que satisfaga los requisitos determinados durante la fase de análisis. Finalmente el diseño de sistemas vendrá a ser una presentación detallada del informe de terminación del análisis de sistemas. El diseño de un sistema de información puede descomponerse en especificaciones físicas y lógicas. El diseño lógico representa los componentes del sistema y sus relaciones mutuas, como aparecerían ante los usuarios. Muestra lo que la solución sistemática hará en contraposición con el modo como lo es en la actualidad implantada físicamente. Describe las entradas y salidas, las funciones de procesamiento a realizar, los procedimientos de negocios, los modelos de datos y los controles. El diseño físico es el proceso de traducción del modelo lógico abstracto a un diseño técnico específico para el nuevo sistema. Produce las especificaciones reales para el hardware, software y bases de datos físicas, medios de entrada/salida, procedimientos manuales y controles específicos. Proporciona las especificaciones que transforman el diseño lógico abstracto en un sistema de funciones de personas y máquinas. Cuando el analista esté listo para comenzar a diseñar el nuevo sistema, ya deben estar establecidos ciertos elementos. Debe hacer una definición del problema, información general de antecedentes sobre el área bajo estudio, una idea aproximada de las interacciones dentro del área de estudio y con otras áreas, un buen entendimiento del sistema actual, y un conjunto de requerimientos para el nuevo sistema. 1.2 CONCEPTOS DEL DISEÑO DE SISTEMA El diseño puede definirse como el acto de delinear, planear, bosquejar y disponer muchos elementos separados, reuniéndolos en un conjunto viable y unificado. Mientras que en la fase de análisis de sistemas se responde a preguntas tales como ¿qué está haciendo el sistema? Y ¿qué debería hacer para satisfacer las necesidades de los usuarios?, La fase de diseño se ocupa de ¿cómo debe desarrollarse el sistema para que pueda satisfacer esas necesidades? Durante el proceso de diseño, el analista plantea soluciones alternativas y finalmente determina cuál es la mejor. La fase de diseño es de naturaleza técnica, hasta el punto de que el analista debe responder esta pregunta "¿Cómo vamos a hacerlo?". Por otra parte, el diseño también es un arte creativo, hasta el punto de que el analista se pregunta continuamente: ¿qué ocurrirá si...? y ¿por qué no? El diseño es una solución: la conversión de los requerimientos en formas que los satisfagan. El diseño determina el éxito del sistema. A través del diseño, los analistas de sistemas pueden tener gran influencia sobre la efectividad del usuario, ya sea para el manejo de

t ti i t l i it it i l i C l it ti l li t l i i l i l l l l i i it l i ti t l it l l ti t it l l t ll l l i ili t l i l i Mi t li i l i i t i ti t j ti l it ii i i i t ili i i i t it t it it i i ii i t t i i i t l l i i i i t 3 4 5 6 i l l t l i i i i t i i t l l l i li t ti i i it i t t li l t i l i t l ti i .

Lo recomendable es tener un conjunto de módulos débilmente acoplados. Acoplamiento fuerte. es cuando los objetos de un paquete o módulo están completamente relacionados. En otra perspectiva.2. cubriendo todas las necesidades.1. también denominada Arquitectura lógica. Una Arquitectura de Software.1 ACOPLAMIENTO Y COHERENCIA Acoplamiento y coherencia. En resumen. el acoplamiento mide el efecto de un cambio en un módulo. La Arquitectura de Software establece los fundamentos para que analistas. se debe recurrir a técnicas de encapsulamiento. la coherencia debe ser alta y el acoplamiento debe ser débil. Coherencia. Cuando los desarrolladores se "atan" al cómo de los módulos de software. etc. trabajen en una línea común que permita alcanzar los objetivos del sistema de información. En una estructura de módulos. polimorfismo y diseño por interfaces. el acoplamiento se fortalece. Para debilitar el acoplamiento. Una coherencia alta. como se refleja en los módulos relacionados. los módulos no se ven afectados ante cambios en otros módulos relacionados 1. consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construcción del software para un sistema de información. Acoplamiento débil. herencia. y con un acoplamiento débil.2. programadores. Un sistema está acoplado a otro sistema cuando existe una dependencia entre ambos. Una coherencia baja. Con una coherencia alta se lograr independizar un módulo de software de otro. diseñadores. . para poder lograr un sistema bien diseñado. Esto se debe procurar relacionar todos los objetos de un mismo módulo o paquete. es cuando un cambio en un modulo implica un esfuerzo grande en los módulos relacionados. es cuando los objetos de un paquete o módulo no tienen nada que ver entre sí. es cuando un cambio en un modulo implica un esfuerzo mínimo en los módulos relacionados. la coherencia es el grado de comunicación que hay entre elementos del módulo.2 ARQUITECTURA DEL SOFTWARE La Arquitectura del Software es el diseño de más alto nivel de la estructura de un sistema.

sus interfaces y la comunicación entre ellos. Existen muchas definiciones de Arquitectura del Software y no parece que ninguna de ellas haya sido totalmente aceptada. adaptabilidad. flexibilidad e interacción con otros sistemas de información. En un sentido amplio podríamos estar de acuerdo en que la Arquitectura del Software es el diseño de más alto nivel de la estructura de un sistema. y disponibilidad. no es viable emplear una arquitectura de software de tres capas para implementar sistemas en tiempo real. programa o aplicación y tiene la responsabilidad de: y y y y y y y Definir los módulos principales Definir las responsabilidades que tendrá cada uno de estos módulos Definir la interacción que existirá entre dichos módulos: Control y flujo de datos Secuenciación de la información Protocolos de interacción y comunicación Ubicación en el hardware La Arquitectura del Software aporta una visión abstracta de alto nivel. como la confiabilidad. La arquitectura de software define. pero no solamente los de tipo funcional. escalabilidad. Por ejemplo. Los objetivos son aquellos prefijados para el sistema de información. Unas arquitecturas son más recomendables de implementar con ciertas tecnologías mientras que otras tecnologías no son aptas para determinadas arquitecturas. Es el resultado de ensamblar un cierto número de elementos arquitectónicos de forma adecuada para satisfacer la mayor funcionalidad y requerimientos de desempeño de un sistema. tiene que ver con el diseño y la implementación de estructuras de software de alto nivel. los componentes que llevan a cabo alguna tarea de computación. portabilidad. Las restricciones son aquellas limitaciones derivadas de las tecnologías disponibles para implementar sistemas de información. . posponiendo el detalle de cada uno de los módulos definidos a pasos posteriores del diseño. La arquitectura de software. que consiste simplemente en determinar qué computadora tendrá asignada cada tarea. de manera abstracta. también otros objetivos como la mantenibilidad. Toda arquitectura debe ser implementarle en una arquitectura física.Una arquitectura de software se selecciona y diseña con base en objetivos y restricciones. así como requerimientos no funcionales.

y Ámbito de efecto. Debe evitarse ambos extremos: y Ámbito de control alto: Normalmente se produce cuando no se tienen en cuenta los niveles intermedios. El estudio de los grupos de módulos subordinados que permitan combinar sus funciones en una sola. es decir. . Este término se aplica a los módulos en los que interviene alguna decisión. comprimir módulos subordinados en el módulo de nivel superior. para formar nuevos módulos. El desarrollo del sistema de una estructura modular define la funcionalidad propia de cada módulo. y en el otro extremo. si los módulos forman una larga secuencia lineal. e identifica a los módulos afectados por esa decisión. En general. y Tamaño de un módulo. es posible que pueda suprimirse alguno de ellos. el coste en el desarrollo y mantenimiento de un sistema será óptimo. podemos resumir diferentes versiones sobre el tamaño óptimo de un módulo definiendo que. Sin embargo. Un módulo que llama a muchos otros puede ser difícil de entender. y Ámbito de control. y Ámbito de control bajo: Para optimizar una estructura de este tipo se deben revisar las posibilidades de descomponer las funciones en subfunciones con entidad propia. El ámbito de efecto debe estar contenido en el ámbito de control del módulo que toma la decisión. a todos los módulos que hay por debajo de él. puede solucionar el problema. es recomendable revisar independientemente cada módulo a efectos de optimizar su tamaño en número de sentencias.1. Se llama ámbito de control de un módulo a todos los módulos llamados por él y a los llamados por éstos. así como de las características del equipo físico donde se desarrolla el sistema. HEURÍSTICAS DE DISEÑO Las heurísticas de diseño son un conjunto de recomendaciones que ayudan a mejorar la estructura del sistema. cuando su estructura esté compuesta por módulos con un tamaño comprendido entre 10 y 100 sentencias. o por el contrario. en esa rama del diagrama de descomposición funcional. para facilitar el desarrollo técnico del programa y su posterior mantenimiento. optimizando la modularidad. La aplicación de estas recomendaciones depende en gran medida del diseño específico.

Si i l l t i i i i i t l i t l it l i i j i l it l t t l i j l t l t l l i i l l t l t l i l t it j i l t ii i i t i i i t : i t l l l l l i l j t t l l t i l i l i l lt l l t l t l i i l i l lt i i 3 t l i i http://www.mx/sistemasinformacion2/# .itsa.edu.tutoriales.

Sign up to vote on this title
UsefulNot useful