“4+1”视图最早由Philippe Kruchten提出,他在1995年的《IEEE Software》上发表了题为《The 4+1 View Model of Architecture》的论文,引起了业界的极大关注,并最终被RUP采纳,现在已成为架构设计的结构标准。五类视图需要考虑的问题不一样:
场景视图
也叫用例视图,描述用户的业务场景,从用户的角度识别出业务需求,它是架构设计的起点和终点。
逻辑视图
如果设计采用面向对象的方法,逻辑视图就是对象模型。逻辑视图重点在于功能,功能包括可见的业务功能,也包括不可见的系统功能(如日志、权限、事务等)。同时更重要的是确立逻辑分层、模块划分和模块之间的依赖关系。
开发视图
描述软件在开发环境下的静态组织。开发视图关注程序包,应用的统一框架,引用的类库、SDK和中间件,以及工程和包的划分规则等,规范、约束开发环境的结构。
过程视图
描述系统的并发和同步设计。过程视图聚焦在进程、线程等运行时概念,以及相关的并发、同步、通信等问题。如果系统不需要考虑这些方面,本视图可以省略。
物理视图
也叫部署视图,描述软件如何映射到硬件,反映系统在分布/部署上的设计。物理视图需要解决最终如何安装和部署到服务器,以及网络分布的问题。