软件架构设计和系统设计有很大的不同,架构设计侧重于软件的框架构建,软件的质量特征以及系统的分解等,主要涉及以下几个方面:

  1. 软件架构的目标很定位,确定目标软件的市场定位等;

  2. 软件的质量属性及其优先级,如高性能,可伸缩,开放性,可定制性等属性确定;

  3. 架构约束;

  4. 架构原则,需要明确软件是什么和不是什么;

  5. 架构的总体设计思路

  6. 软件系统分解及其职责定义,包含系统上下文和功能结构;

  7. 子系统的设计,包含子系统模块划分,接口设计以及关键数据设计;

  8. 软件的物理部署;

  9. 软件包的组成以及安装方法等;