架构存在的目的是什么?
确保利益相关人员的关注点能够得到满足,而在构想、计划、构建和维护系统时,系统架构能够处理复杂性。
为了对付复杂性,系统被分解为一些交互的组件
而每种结构都有特定的关注点,如可变性和性能。各种关注点需要相互妥协、折中
而架构师的工作就是:
1)满足客户需要
2)整个系统应用相同的设计原则
3)满足法规和安全性需求
架构与需求的关系?
外部行为的描述,展示了产品如何与它的用户、其他系统和外部设备之间的交互,这应该表现为需求。
结构描述,展示了产品如何划分为多个部分,以及这些部分的关系
内部行为描述,用于描述组件之间的交互接口
需求一般理解为系统的功能,但其隐含的品质性要求,也需要架构考虑。
架构与设计的关系?
这个是针对架构师和开发者的工作区别而言。
架构是系统设计的一部分,架构忽略了系统的一些细节,更侧重于系统如何组装起来。而开发者更侧重中部分组件的设计,不用太注意系统组件的装配问题。