一般软件的设计过程分为以下几步:
1. 概念化阶段
2. 分析阶段
3. 架构设计阶段
4. 并行开发和测试阶段
5. 验收与交付阶段
架构师的架构设计过程
1. 需求分析
2. 领域建模
3. 确定关键需求
4. 概念性架构设计
5. 细化结构
6. 验证架构
需求分析
主要是对客户提出的需求的均衡考虑以及隐藏需求的挖掘。
领域建模
目的:透过问题的各种现象,捕捉现象背后最稳固的领域概念以及这些概念之间的关系。
在项目初期,领域模型是所有项目相关人员沟通交流的基础。
随着项目的进展,领域模型不断被细化,最终成为整个软件的问题领域层,决定软件系统能力的范围。
确定关键需求
不仅需要对功能性需求进行筛选,也需要对非功能性需求进行平衡,最终确定对软件架构起关键作用的需求子集。
概念性架构设计
第一步,分析关键用例的用例规约,运用鲁棒图构造系统理想化的职责模型;第二步,明确架构模式,确定交互机制,形成初步的概念性架构;最后,通过质量属性分析,制定满足非功能性需求的高层设计决策并根据这些决策对之前的架构进行增强、调整。
细化软件架构
主要是为开发人员提供足够的指导和限制。
验证软件架构
可以通过原型的方式或者框架的方式对架构进行测试,以保证设计的架构能够满足需求。
架构设计过程如何体现架构设计的策略?
确定关键需求对应关键需求决定架构的策略。
概念性架构设计对应全面认识需求的策略,主要是对非功能性需求的考察。
细化软件架构对应多视图开发的策略,来全面的对系统进行分析。
验证软件架构对应架构及时验证的策略,保证架构的准确性。
参考文献
《软件架构设计》 温昱