架构设计的5视图方法:
逻辑架构,开发架构、运行架构、物理架构、数据架构
1.逻辑架构
逻辑架构关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块”
2.开发架构
开发架构关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方dk和现成的框架、类库,以及开发的系统将运行于其上的系统软件或中间件
3.运行架构
运行架构关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。
4.物理架构
物理架构关注“目标程序及其依赖的运行库和系统软件” 最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。
5.数据架构
数据架构关注持久化数据的存储方案,不仅包括实体及实体关系的数据存储格式,还可能包括数据传递、数据复制和数据同步等策略。
5视图架构设计方法的不同视图,所重点针对的需求类型不同:
逻辑架构 -> 功能需求
开发架构 -> 开发期质量属性 {可扩展性、可重用性、可移植性、易理解性、已测试性}
运行架构 -> 运行期质量属性 {性能、可伸缩性、持续可用性、安全性}
物理架构 -> 安装部署需求
数据架构 -> 数据需求 {持久化数据的组织、数据传递、数据复制和数据同步}