1.在架构设计之初,就全盘考虑架构设计要重点支持的关键质量目标.
2.在第一时间就判断关键质量之间有没有冲突关系,并制定权衡取舍策略.冲突关系见质量属性关系矩阵.
架构师需要把握需求技能的缺失.软件架构师不必是需求捕获专家,也不必是编写<<软件需求规格说明书>>的专家,但他一定应在需求分类、需求折衷和需求变更的研究方面的专家,否则他和优秀的架构师相比就输在了起跑线上。
功能需求、质量属性及约束共同决定了架构。对这3类需求的把握是否到位、设计决策是否对路,是架构设计成败的关键所在!
可以使用需求分类法和二维需求观与ADMEMS矩阵方法分析。
功能 | 质量 | 约束 | |
业务级需求 | * 适应业务变化 | * 4个月交付上线 | * 严格执行人行统一规定的利率 * 与原有行长办公系统集成 |
用户级需求 | * 利率调整功能 | * 分所操作人员水平不高 | |
开发级需求 | * 可修改性 * 可扩展性 * 互操作性 |
作者提出在PA阶段,使用以ADMEMS矩阵为核心的“四步法”:
1、需求结构化
2、分析约束影响
3、确定关键质量
4、确定关键功能