Академический Документы
Профессиональный Документы
Культура Документы
El Diseo Arquitectoico 1
Los grandes sistemas siempre se descomponen en subsistemas que proporcionan algn
conjunto de servicios relacionados. El proceso de diseo inicial de identificar estos subsistemas
y establecer un marco de trabajo para el control y las comunicaciones de los subsistemas se
llama diseo arquitectnico. El resultado de este proceso de diseo es una descripcin de la
arquitectura del software.
El diseo arquitectnico es la primera etapa en el proceso de diseo y representa un enlace
crtico entre el diseo y el proceso de requerimientos. El proceso de diseo arquitectnico se
preocupa de establecer un marco de trabajo estructural que identifique los componentes
mayores de un sistema y la comunicacin entre estos componentes.
Bass y otros (2003) discuten tres ventajas de disear y documentar explcitamente una
arquitectura de software:
1. Comunicacin con Interesados: La arquitectura es una presentacin de alto nivel del
sistema que puede ser usada como foco para discutir con un amplio rango de
interesados.
2. Anlisis del Sistema: Hacer explcita la arquitectura del sistema en una etapa temprana
del desarrollo del sistema requiere algn anlisis. Las decisiones de diseo
arquitectnico tienen un profundo efecto sobre si el sistema puede cumplir
requerimientos crticos tales como desempeo, confiabilidad y mantenibilidad.
3. Reusabilidad a Gran Escala: Un modelo de la arquitectura del sistema es una
descripcin compacta y manejable de cmo el sistema est organizado y cmo
interoperan los componentes. La arquitectura del sistema es a menudo la misma para
sistemas similares y puede soportar reusabilidad del software a gran escala. Puede ser
posible desarrollar arquitecturas de lnea de productos donde la misma arquitectura es
usada a travs de un rango de sistemas relacionados.
Hofmeister y otros (2000) discuten cmo la etapa de diseo arquitectnico forza a los
diseadores de software a considerar aspectos clave del diseo de manera temprana en el
proceso. Ellos sugieren que la arquitectura del software puede servir como un plan de diseo
que es usado para negociar requerimientos y como un medio para estructurar discusiones con
clientes, desarrolladores y administradores. Tambin sugieren que es una herramienta esencial
para administrar la complejidad. Esconde los detalles y le permite a los diseadores enfocarse
en las abstracciones clave del sistema.
La arquitectura del sistema afecta el desempeo, robustez, distribuibilidad y mantenibilidad de
un sistema. El estilo y estructura particulares escogidos para una aplicacin puede entonces
depender de los requerimientos no funcionales:
Tomado de: Ian Sommerville, Software Engineering, Pearson Education, 8 Ed., 2007, ISBN 978-0-32131379-9.
Bass y otros (2003) reclaman que diagramas simples de cajas y lneas no son representaciones
arquitectnicas tiles porque no muestran la naturaleza de las relaciones entre componentes
del sistema ni muestran las propiedades visibles externamente de los componentes. Desde el
punto de vista de un diseador de software, esto es absolutamente correcto. Sin embargo,
este tipo de modelo es efectivo para comunicarse con los interesados en el sistema y para
planeacin de proyectos, porque no est superpoblado de detalles. Los interesados pueden
comprender una visin abstracta del sistema. El modelo identifica los subsistemas clave que
van a ser desarrollados de manera independiente para que los administradores puedan
comenzar a asignar personas para planear el desarrollo de estos sistemas. Los diagramas de
cajas y lneas ciertamente no deberan ser la nica representacin usada del sistema; sin
embargo, son uno de los muchos modelos tiles.
El problema general de decidir cmo descomponer el sistema en subsistemas es difcil. Por
supuesto, los requerimientos del sistema son un factor mayor y usted debera tratar de crear
un diseo donde haya una cercana concordancia entre requerimientos y subsistemas. Esto