细化架构设计
多视图方法不仅仅是架构归档技术,更是指导我们进行架构设计的思维方法。将不同涉众关心的技术堆砌到一起,每个涉众都有可能看不懂了。另外,软件架构设计必须围绕“如何构建软件”制定多方面的设计决策,可能涉及的概念有很多:逻辑层(Layer)、物理层(Tier)、子系统、模块、接口、进程、线程、消息、协议,等等。基于之前介绍的5视图的架构设计方法,是解决上述两个问题的卓有成效的办法。运用5视图方法进行架构设计的细化。实际经验表明,越是负责的系统,越是需要从多个方面进行架构设计,这样才能把问题研究和表达清楚。而提供不同的软件架构视图也便于交流和传递设计思想。软件架构是团队开发的基础,运用基于5视图的架构设计方法可以比较明确地规定后期分头开发所必须的公共性的设计约定,从而为分头开发提供足够的指导和限制。
概念性架构设计,确定了最为关键的设计要素和交互机制。在概念性架构设计的基础上,运用更多具体的设计技术,设计出能够为实际开发提供足够多指导和限制的实际架构。软件架构中包括了软件系统如何组织等关键决策,模块的技术细节被局部化到了小组内部。
关键需求是对软件架构设计起关键作用的需求子集,包括功能需求、质量(属性)需求、商业需求三类。领域模型是以面向对象方式对问题领域的模拟和抽象,领域模型被不断精化之后成为最终软件系统的问题领域层,它决定了软件系统的功能范围,并影响着软件系统的可扩展性