开发架构- 五视图

开发架构

程序单元

  1. 源文件, 配置文件
  2. 程序库, 架构
  3. 目标单元

程序单元组织

  1. Project划分
  2. Project目录结构
  3. 编译依赖关系
着重考虑开发期质量属性
  可扩展性  可重用性  可移植性  易理解性  易测试性  

关注点软件模块实际组织方式  
  源程序文件  配置文件  源程序包  现成框架,类库  提供之间件  便以后目标文件 第三方库文件  

逻辑层会映射到程序包  

物理架构

物理节点

  1. PC 服务器
  2. 单片机, 单板机,专用机
  3. 软件安装, 部署, 烧写
  4. 系统软件选型

物理结点拓扑

  1. 连接方式、拓扑结构
  2. 物理层
  3. 冗余考虑
关注软件如何安装和部署到物理节点上  

部署机器和网络配合软件系统的可靠性, 可伸缩性等要求  

重视目标程序的静态位置问题  

考虑整个软件系统之间是如何互相影响的  

着重考虑安装和部署要求  

关注点是软件的目标单元如何影射到硬件  

关注相关的质量属性  
  可靠性  可伸缩性  持久可用性  性能  安全性  

数据架构

持久数据单元

  1. 文件
  2. 关系数据库
  3. 实时数据库

数据存储格式

  1. 文件格式
  2. 数据库
着重考虑数据需求  

关注点
  持久化数据的存储方案  数据存储格式  数据传递  数据复制  数据同步  

用ER图和数据流图表示  

逻辑架构

职责划分

  1. 逻辑层
  2. 子系统, 模块
  3. 关键类

职责间协作

  1. 接口
  2. 协作关系
着重考虑功能需求  
系统应该向用户提供什么样的服务  
关注点是行为或职责的划分  
关注用户可见的功能  
提供辅助功能模块  
他们可能是逻辑层,功能模块和类  

运行架构

控制流

  1. 进程, 线程
  2. 中断服务程序

控制流组织

  1. 系统启动与停机
  2. 控制流通信
  3. 加锁与同步
着重考虑运行其质量属性  
  性能  可伸缩性  持久可用性  安全性  

关注点是系统的并发与同步问题  

关注进程,线程,对象等运行时概念  

考虑并发,同步,通信等问题

偏重程序包在编译时期的静态依赖关系  

解决运行时各单元的交互问题  

你可能感兴趣的:(开发架构- 五视图)