⑴ 软件体系结构图怎么画啊

软件体系结构参考图如下:


软件架构是一种无法以简单的一维方式进行说明的复杂实体。
-Paul Clements 《软件架构编档》

正如上面提到的,不同的受众,比如用户、客户、开发人员、测试人员、运维人员,需要从各自工作的角度去理解和使用架构。所以回答这个问题,需要首先了解这幅架构图画出来是给谁看,你想从那个维度去入手。
确定了这个问题之后,再来了解架构视图有哪些维度和组成要素:
1. 架构视图
最经典的当属4+1视图:

  • 逻辑视图
  • 开发视图
  • 过程视图
  • 物理视图
  • 场景视图

4+1视图提出后,业界也有其它的观点提出,诸如SEI(模块视图、组建和连接件视图、分配视图)、西门子4种视图(概念、模块、代码、执行视图)、以及RM-ODP(企业视图、信息视图、计算视图、工程师图)等。
常见的视图除了上述4+1视图外还包括:数据视图、安全视图、实现视图等。

2. 了解架构视图的四要素

  • 图示化主要元素和元素之间的关系
  • 具有明确的图例、定义和说明元素
  • 每个元素具备明确的接口和行为规范
  • 设计原理和设计决策的信息


3. 简单说一下几个视图针对的角色和维度:
逻辑视图一般针对客户、用户、业务人员、开发组织,主要从系统的功能元素、以及它们的接口、职责、交互维度入手。主要元素包括系统、子系统、功能模块、子功能模块、接口等。

开发视图一般针对开发和测试相关人员,主要描述系统如何开发实现;主要元素包括描述系统的分层、分区、框架、系统通用服务、业务通用服务、类和接口、系统平台和大基础框架。用途是知道开发设计和实现。

物理视图一般针对系统运维人员、集成人员,它是系统逻辑组件到物理节点的映射,节点与节点间的物理网络配置等,主要关注非功能性需求,诸如性能(吞吐量)、可伸缩性、可靠性,可用性等,从而得出相关的物理部署结构图。