本篇博客是该书的第3章内容的概要。
理解本章内容,最主要的要搞清楚一点,即:
为什么会有多种的架构视图?
个人认为,关于对这个问题的解答和理解,是学习和理解整本书最重要的切入点。
软件架构视图是什么?
下面给出《Rational统一过程引论》中的定义:
一个架构视图是对于从某一视角或某一点上看到的系统所作的简化描述,描述中涵盖了系统的某一特定方面,而省略了与此方面无关的实体。
通俗来讲,软件架构视图是一种设计架构(分而治之)、描述架构(交流与归档)的核心手段。
那么问题来了:为什么会有软件架构视图的存在?为什么它很重要?
为什么会有不同的软件架构视图?
想一想,谁会和软件打交道?不外乎:
程序员
产品经理
系统分析员
运维工程师
数据库工程师
部署工程师
用户
客户
……
由于不同涉众看待软件架构的视角是不同的,而架构师要为多种涉众设计架构。架构视图的本质其实是“分而治之”,将复杂的系统从多角度简化之后,更便于理解和设计。这有些类似于盲人摸象。
本书的软件架构视图包括哪些?
在本书中,作者为不同规模和复杂度的系统,提供了两组“架构视图组合”的解决方案。分别是:
- 2设计视图
包括:逻辑视图 + 物理视图 - 5设计视图
包括:逻辑视图 + 物理视图 + 运行视图 + 数据视图 + 开发视图
在此说明的是,
5视图法并非这本书的原创,而是作者的改良的成果。从作者早期的一篇文章中可以看出。成文的时间大约是2006年(也就是十年前)。这种改良,也是一种理论创新!
运用RUP 4+1视图方法进行软件架构设计
作者的CSDN博客地址:
csdn博客