软件架构师如何开展工作内容及设计步骤?

如何有序、高效、全面做好软件架构设计呢?作为一名软件架构师,应该具备的基本素质是:掌握架构设计的基本步骤,且清晰每个步骤的工作内容。本文结合实际项目经验,将对软件架构设计的步骤及工作内容进行介绍。

在整个软件架构设计过程中,笔者结合自身项目经验将架构设计步骤罗列为6个大步骤,依次是需求分析、领域建模、确定关键需求、概念架构设计、细化架构设计、架构验证。在实际项目过程中,也是遵循这6个大步骤进行软件架构设计的。软件架构设计步骤如下图所示:

软件架构师如何开展工作内容及设计步骤?

那么,每一个步骤具体工作内容包含哪些呢?

(1)需求分析

我们知道,需求分析的目标是找出功能、质量和约束这三个方面的要求。首要工作是沟通以获取需求,然后是确定非功能性需求、确定系统目标、建立用例模型等,最终以需求说明书的形式作为产出物。

(2)领域建模

领域建模的目标是构建业务领域模型,业务决定功能,功能决定模型。领域建模主要工作是与业务领域专家一起,整理和掌握软件功能和非功能要求的业务数据、业务流程等。

(3)确定关键需求

具体而言,确定关键需求工作包括:为了确定关键功能而进行的功能需求和约束需求的研究;为了确定关键质量而进行的质量需求和约束需求研究。

(4)概念架构设计

具体包含五项工作:决定如何划分*子系统、架构风格选型、开发技术选型、二次开发技术选型、集成技术选项。

(5)细化架构设计

从逻辑架构、开发架构、运行架构、物理架构、数据架构五个方面出发,对模块划分、接口定义、领域模型、技术选型、控制流程、硬件分布、软件部署、存储格式等内容进行详细设计。

(6)架构验证

对后续工作产生重大影响且造成返工代价很高的任何工作,都应该安排原型测试和评审工作。同时,进行必要的软件技术选型验证工作。