Menciones tres ventajas de disear y documentar la arquitectura de
software. Comunicacin con los participantes: La arquitectura es una presentacin de alto nivel del sistema, que puede usarse como una orientacin para la discusin de un amplio nmero de participantes. Anlisis del sistema: En una etapa temprana en el desarrollo del sistema, la arquitectura del sistema requiere cierto anlisis. Las decisiones de diseo arquitectnico tienen u efecto profundo sobre si, el sistema puede o no cubrir requerimientos crticos como rendimiento, fiabilidad y mantenibilidad. Reutilizacin a gran escala: Un modelo de una arquitectura de sistema es una descripcin corta y manejable de cmo se organiza un sistema y cmo interoperan sus componentes. Por lo general, la arquitectura del sistema es la misma para sistemas con requerimiento similares y, por lo tanto, puede soportar reutilizacin de software a gran escala. 2. Detalle las preguntas que debe formular el Arquitecto de Software. Existe alguna arquitectura de aplicacin genrica que acte como plantilla para el sistema que se est diseando? Cmo se distribuir el sistema a travs de algunos ncleos o procesadores? Qu patrones o estilos arquitectnicos pueden usarse? Cul ser el enfoque fundamental usado para estructurar el sistema? Cmo los componentes estructurales en el sistema se separarn en subcomponentes? Qu estrategia se usar para controlar la operacin de los componentes en el sistema? Cul organizacin arquitectnica es mejor para entregar los requerimientos no funcionales del sistema? Cmo se evaluar el diseo arquitectnico? Cmo se documentar la arquitectura del sistema?
3. Detalle y explique los requerimientos no funcionales que se debe
considerar. Rendimiento: Es un requerimiento crtico, la arquitectura debe disearse para localizar operaciones crticas dentro de un pequeo nmero de componentes, con todos estos componentes desplegados en la misma computadora en vez de distribuirlos por la red. Esto significara usar algunos componentes relativamente grandes, en vez de pequeos componentes de grano fino, lo cual reduce el nmero de comunicaciones
entre componentes. Tambin puede considerar organizaciones del sistema
en tiempo de operacin que permitan a ste ser replicable y ejecutable en diferentes procesadores. Seguridad: Es un requerimiento crtico, ser necesario usar una estructura en capas para la arquitectura, con los activos ms crticos protegidos en las capas ms internas, y con un alto nivel de validacin de seguridad aplicado a dichas capas. Proteccin: La proteccin es un requerimiento crtico, la arquitectura debe disearse de modo que las operaciones relacionadas con la proteccin se ubiquen en algn componente individual o en un pequeo nmero de componentes. Esto reduce los costos y problemas de validacin de la proteccin, y hace posible ofrecer sistemas de proteccin relacionados que, en caso de falla, desactiven con seguridad el sistema. Disponibilidad: La disponibilidad es un requerimiento crtico, la arquitectura tiene que disearse para incluir componentes redundantes de manera que sea posible sustituir y actualizar componentes sin detener el sistema. Mantenibilidad: La mantenibilidad es un requerimiento crtico, la arquitectura del sistema debe disearse usando componentes autocontenidos de grano fino que puedan cambiarse con facilidad. Los productores de datos tienen que separarse de los consumidores y hay que evitar compartir las estructuras de datos.
4. El UML debiera ser la herramienta para el diseo arquitectnico?
El UML no es til durante el proceso de diseo El UML se dise para describir sistemas orientados a objetos y, en la etapa de diseo arquitectnico, uno quiere describir con frecuencia sistemas en un nivel superior de abstraccin 5. Enumere los patrones arquitectnicos.
Arquitectura en capas Arquitectura de repositorio Arquitectura cliente-servidor Arquitectura de tubera y filtro