[架构之路-211]- 需求- 软架构前的需求理解:ADMEMS标准化、有序化、结构化、层次化需求矩阵 =》需求框架

目录

前言:

一、什么是ADMES:

首先,需求是分层次的:

其次,需求是有结构的,有维度的

再次,不同层次需求、不同维度需求之间可以相互转化(难点、经验积累)

最终,标准化的ADMEMS需求矩阵

二、软架构前的需求理解

1. 目标

2. 时机

3.  四个步骤

三、最佳实践过程

第一步:获取业务功能需求

第二步-1:获取质量属性

1. 开发期质量

2. 运行期质量

 第二步-2:分析约束影响

第三步:确定关键性需求(对架构设计影响较大的需求)

1. 确定关键功能启发规则,可以借鉴四象限法,下面是4个启发规则:

2. 确定关键约束

3. 确定关键质量(影响架构设计的质量需求)

第四步:将约束衍生为质量属性及功能、将质量属性衍生为功能需要

第五步:将关键约束衍生为功能

第六步:根据功能提炼出非功能性需求

第七步:最后:输出结构化需求ADMEMS矩阵


前言:

在架构架构设计之前,架构师首先要弄清楚目标系统功能需求、非功能需求和约束条件,这些都会影响最终的架构设计。系统软件或硬件需求规格说明书是系统需求的承载体,当然,需要分析并非是架构师的主要职责,需求规格说明书是产品经理或系统工程师或系统分析师的主要职责。 

本文就是讨论,如何通过ADMEMS方法论,使用结构化和层次化的需求矩阵来表达不同层次、不同维度的需求!!!

一、什么是ADMES:

ADMEMS:Architecture Design Method has been Extended to Method System,是一种架构设计的方法论,该方法论原本是用于架构设计的,但需求是架构的输入,为了更好进行标准化架构设计,该方法论对输入的需求也进行了标准化、结构化和层次化。UML不同的是,UML是一种建模语言,可以为需求建模,也可以为涉及建模,而ADMEMS是一种方法论,因此该方法论对需求定义提供的一种方法和框架,不涉及需求的表达方式。

首先,需求是分层次的:

可以看出,需求的三个层次,是站在“不同层次的利益相关者提出需求所处的立场不同”的角度

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

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

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

其次,需求是有结构的,有维度的

其次,,将需求划分为三种类型或三个维度:

功能需求:建设的目标是什么?

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

约束需求:业务环境因素+使用环境因素+构建环境因素+技术环境因素
从3个层次到3个类型这就是需求的转化过程。

再次,不同层次需求、不同维度需求之间可以相互转化(难点、经验积累)

层次间转化:业务需求 =》 用户级需求 =》 开发级需求

维度间转化:约束条件 =》 质量需求 =》 功能需求

维度间转化:功能需求 =》 质量需求

最终,标准化的ADMEMS需求矩阵

如下就是ADMES标准化、结构化、层次化需求矩阵的形态:

二、软架构前的需求理解

1. 目标

  • 结构化、层次化的方式理解需求
  • 建立需求的大局观
  • 降低架构失败风险
  • 明确架构设计的驱动力(哪些是核心需求)
  • 尽早开始架构设计

2. 时机

  • 有了明确的业务需求
  • 了解全面的用户需求
  • 有了典型的行为需求

3.  四个步骤

三、最佳实践过程

第一步:获取业务功能需求

根据客户需求,整理出功能需求列表(一级模块、二级模块)。常用的工具电子表格或者思维导图。

第二步-1:获取质量属性

1. 开发期质量


2. 运行期质量

 
第二步-2:分析约束影响

    主要从业务环境、使用环境、构建环境和技术环境方面考虑,采用推导法则和查漏法则进行。

    上面我们系统化的梳理了系统的业务功能、质量属性及约束内容,下面我们采取需求层次-需求类型二维矩阵来找出关键功能、关键质量属性及关键约束。

用户:关心的是运行期间的质量

开发者:关心的是开发期的质量

第三步:确定关键性需求(对架构设计影响较大的需求)

采用ADMEMS二维矩阵,依次确定三个层次的功能、质量和约束

1. 确定关键功能启发规则,可以借鉴四象限法,下面是4个启发规则:

  1. 核心功能
  2. 必做功能
  3. 高风险功能
  4. 独特功能

2. 确定关键约束

  • 首先,把约束尽可能全面进行罗列
  • 其次,分析约束面向的功能、质量方面的转化
  • 最后,确定这些约束转化后的功能、质量是否重要

3. 确定关键质量(影响架构设计的质量需求)


第四步:将约束衍生为质量属性及功能、将质量属性衍生为功能需要

约束条件 =》质量属性、质量需求 =》 功能需求

约束条件 =》 功能需求

约束条件,最终要体现到软件的实现上。

第五步:将关键约束衍生为功能

比如,终端客户的人员的计算机水平参差不齐 =》 操作简单的需求、文字简化、尽可能可视化等功能需求!!! 

第六步:根据功能提炼出非功能性需求

约束条件和功能需求,背后都会隐藏了一下质量需求!!如性能要求。

第七步:最后:输出结构化需求ADMEMS矩阵

        通过上述的几个环节,我们把不同类型的约束转化为质量属性及功能需求,最终我们形成了最终的需求二维矩阵,这将为我们的架构指明方向,后续我们再做架构的设计及规划的时候就能够做到有的放矢,不会走错方向。

 ADMEMS矩阵把零乱的需求转换成了有序的、结构化的需求。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文火冰糖的硅基工坊

你的鼓励是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值