预备架构的工具ADMEMS矩阵

矩阵,是很多著名方法的核心。例如,制定公司层战略的方法之一是"波士顿矩阵","波士顿矩阵"又称"市场增长率-相对市场份额矩阵"。

"ADMEMS矩阵",它又称为"需求层次-需求方面矩阵"。如下:

广义功能

质量

约束

业务级需求

业务目标

快、好、省

技术性约束

 

法规性约束

 

技术趋势

 

竞争因素与竞争对手

遗留系统集成

标准性约束

分批实施

用户级需求

用户需求

运行期质量

用户群特点

用户水平

多国语言

开发级需求

行为需求

开发期质量

开发团队技术水平  

开发团队磨合程度

开发团队分布情况     

开发团队业务知识

管理:保密要求       

管理:产品规划

安装                 

维护

首先,需求是分层次的。

业务级需求:包含客户或出资者要达到的业务目标、预期投资、工期要求,以及要符合哪些标准、对哪些遗留系统进行整合等约束条件。

用户级需求:用户使用系统来辅助完成哪些工作?对质量有何要求?用户群及所处的使用环境方面有何特殊要求?

开发级需求:开发人员需要实现什么?开发期间、维护期间有何质量考虑?开发团队的哪些情况会反过来影响架构?

可以看出,需求的三个层次,是站在"不同层次的涉众提出需求所站的立场不同"的角度,将需求划分为三种类型。其次,需求还必须从不同方面进行考虑。例如,一个网上书店系统的功能需求可能包括"浏览书目"、"下订单"、"跟踪订单状态"、"为书籍打分"等,质量属性需求包括"互操作性"和"安全性"等,而"必须运行于Linux平台之上"属于约束性需求之列。实践一再表明,忽视质量属性和约束性需求,常常导致架构设计最终失败。

于是,从"需求定义了直接目标还是间接限制"的角度,把需求划分为3种类型,这就是需求的3个方面:

功能需求:更多体现各级直接目标要求。

质量属性:运行期质量 + 开发期质量。

约束需求:业务环境因素 + 使用环境因素 + 构建环境因素 + 技术环境因素。

一句话,需求是有结构的。而且,需求的结构绝对不是"List",而应该是"二维数组"。

用ADMEMS矩阵方法进行需求结构化,非常直观。作为一种思维工具,ADMEMS矩阵背后的原理是"二维需求观",这是"需求列表"这种"一维需求观"所不及的。这就好比程序设计选择了不合适的数据结构,那么功能的实现就要多费周折。

原文地址:https://www.cnblogs.com/doit8791/p/9452870.html