知识卡片

Kruchten"4+1"架构视图模型

普通读书笔记卡

内容

架构表示是用架构描述语言/方法对架构进行说明的结果,而不同的表示方法本质上是在解决同一个问题——一个软件系统太复杂,无法用单一的图或文档把所有关心的方面都讲清楚。Kruchten提出的”4+1”架构模型给出的解法是”拆视角”:从逻辑视角、过程视角、物理视角、开发视角、场景视角五个不同角度分别描述软件架构,每个视角只关心系统的一个侧面(例如逻辑视角关心功能如何组织,物理视角关心部署到哪些物理节点,过程视角关心运行时的并发与同步),五个视角组合在一起才能反映系统架构的全部内容,因此能比较细致地刻画需求和架构之间的关系。这个模型之所以叫”4+1”而不是”5”,是因为”场景”视角本质上是用来贯穿、验证前面四个视角一致性的工具,而不是与其他四个平行独立的第五个维度。类似的思路还有Siemens提出的四视角模型,从概念、执行、模块、代码架构四个视角分离不同的工程关注点,以降低架构设计任务的复杂性——两个模型的共同启发在于:单一维度的架构图必然会遗漏某些利益相关者关心的信息(例如只画组件调用关系的图,天然遗漏不了部署拓扑),而多视角拆分本质上是把[[软件架构的六大特征]]中”利益相关者较多”这一特征,直接转化为了一种可操作的架构表示方法论。

参考来源

- 位置:《软件架构理论与实践》第1章《软件架构概述》"1.4.1 软件架构理论和方法研究"节之"(1)软件架构描述与构造表示"(源文件:_epub-src/OEBPS/text00009.html) - 结论依据:原文说明Kruchten的"4+1"架构模型"从5个不同的视角(包括逻辑视角、过程视角、物理视角、开发视角和场景视角)来描述软件架构。每一个视角只关心系统的一个侧面,5个视角结合在一起才能够反映系统软件架构的全部内容",并对比说明Siemens四视角模型的四个具体视角,直接支撑本卡片结论。 - 原始内容:Kruchten的"4+1"架构模型从5个不同的视角(包括逻辑视角、过程视角、物理视角、开发视角和场景视角)来描述软件架构……类似的还有Siemens的四视角模型,其由Siemens公司研究所开发,从概念、执行、模块和代码架构四个视角分离不同的工程关注点,从而降低架构设计任务的复杂性。