当前位置:文档之家› 软件架构的5视图法

软件架构的5视图法

软件架构的5视图法
软件架构的5视图法

软件架构的5视图法

下面内容来自《软件架构设计》一书的第五章。

5视图法可以帮助软件架构师以不同的视角对软件的各个方面的属性:功能需求,约束,运行期质量属性,开发期质量属性。

1、逻辑架构:逻辑架构关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块”——。

2、开发架构:开发架构关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK 和现场框架、类库,以及开发的系统将运行于其上的系统软件或中间件。关注编译时刻的静态依赖关系。

3、运行架构:运行架构关注进程、线程、对象等运行时概念,以及相关的并发,同步,通信等问题。运行架构关注运行期间各个单元的交互。

4、物理架构:物理架构关注“目标程序及其依赖的运行库和系统软件”最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性,可伸缩性等要求。

5、数据架构:数据架构关注持久化数据的存储方案,不仅包括实体及实体关系的存储格式、还包括数据传递,数据复制,数据同步等策略。

开发的策略。

1、逻辑架构的设计着重考虑功能需求——系统应该向用户提供什么样的服务。

架构视图

着重考虑

关注点

工具

逻辑架构

功能需求——系统应答向用户提供什么样的服务

行为和职责的划分

UML :静态——包图,类图,对象图;动态——序列图,协作图,状态图,活动图。

开发架构

开发期的质量属性——可扩展性,可重用性,可移植性,易理解性,易测试性

软件开发环境中软件模块实际组织方式——具体涉及源程序文件,配置文件,源程序包,编译后的目标文件和第三方库文件

UML:包图,类图,组件图

运行架构

运行期质量属性——性能,可伸缩性,持续可用性,安全性

系统的并发和同步,涉及进程和线程技术

UML:包图类图对象图来说明运行时的关键的概念;序列图,协作图等来描述交互机制。

物理架构

安装和部署的需求——包括计算机,网络,硬件设施情况,以及如何部署

软件单元如何映射到硬件,以及硬件相关的可靠性,可伸缩性,性能和安全性等

UML:部署图,组件图

数据架构

数据需求

持久化数据的组织,数据传递,数据复制和数据同步策略

E-R图

每种架构视图都包含动态方面和静态方面

对于架构视图的选择和架构视图的数目,可以根据实际的需要决定,并不是所有的架构设计要使用全部的架构视图,也不是所有的架构视图只有 5 个——根据具体的需要可以增加,这里只是作者概况的最常见的 5 种视图。

相关主题
文本预览
相关文档 最新文档