属性驱动设计模块落地

1.摘要

设计复杂业务框架时,需要着重关注点在需求的满足及实现它们之间的平衡。在研发过程中应用ADD流程,支撑设计达成需求落地的完整性及质量要求,防止过度设计,其作为框架及架构设计工具,支持持续迭代及文档化,可有效梳理设计过程。本文以用户信息模块为例

2.设计过程

2.1用例模型

用例模型由需求转化,来源于需求及具体场景,区分是否核心用户或用优先级评估重要程度

用例模型

2.2质量属性

针对用例及系统提出质量指标,具体地量化目标,评价指标的重要程度及实现难度。质量属性是设计的核心依据,架构的设计决定的主要来源。针对用例和系统整体多角度提出系统的质量属性要求,不仅限于功能性,性能,可靠性等方面系统设计目标更具体。

质量属性分类

质量属性

2.3约束条件

指在架构中的客观因素,包括不限于系统现状,基础建设,人员配备等影响设计的关键因素

约束条件

2.4架构关注点

在设计过程中前置的设计意见,包括外部意见,保证设计逻辑完整同时兼顾环境因素

架构关注点

2.5设计决定

由用例及质量属性输出设计决定,设计决定不是具体的代码或者逻辑,而作为系统开发的指导规定系统的方向及实现的概况。设计输出不是一蹴而就的,通过多轮迭代完善满足需求目标,可通过看板等工具进行完成度管理。多轮的迭代支持需求的新增或敏捷方法提升系统的完成度,实现阶段交付

设计决定

2.5设计视图

设计图有利于设计高效直观地展示并文档化。作为设计文档化的阶段部分,有设计总图和局部图,形式不局限于常见的UML,ADL,或者设计草图。以下以简单设计草图为例。

批量更新
用户关系更新
Lambda架构数据处理
外部事件实时处理
速度层更新及数据查询
用户信息模块总图

2.6总结

综上,质量驱动设计可广泛用于架构,框架设计等质量指标要求的系统当中,通过需求的分析转化结合多种因素输出设计决定形成逻辑闭环。设计过程流程化文档化,形成有效输出成果以指引开发工作,并支持不断迭代。在复杂需求中能有效梳理和问题发现,控制项目质量与成本,降低项目风险