您的位置:首页 > 运维架构 > 网站架构

《软件架构设计》学习笔记--5--6大步骤1:需求分析

2016-03-23 15:50 429 查看
当前业界,大多数架构师都认同“需求决定架构”,但对需求“如何决定”架构还知之不深。……不同需求影响架构的不同原理,才是架构设计思维的基础。 ——温昱,《一线架构师实践指南》

本篇记录6大步骤中的第一步:需求分析。包括如下内容:

需求从哪里来?

如何知道当前已掌握的需求是否全面?

从需求向设计转化的思维方式是什么?

1.需求从哪里来

需求分析的前期工作是愿景描述及愿景分析。有很多的书籍、论坛在介绍。这部分内容不是本书的重点和核心。输出《愿景与范围文档》

下面说一下需求分析。

需求分析

从软件过程来看,需求分析是一个承上启下的阶段–“上承”愿景,“下接”设计。需求分析的工作内容包含如下三方面:

需求捕获。

需求分析。

系统分析。

需求捕获及分析也有非常多的书籍或文章涉足。输出《软件需求设计说明书》。

2.掌握的需求全不全

二维需求观

本书提到了二维需求观的概念,将“需求=列表”的传统观念,一下子拓宽了维度。有了视野和思维上的提升。这里应用的也是分类的思维方式。

关于思维方式及阅读感悟,请参考我的另一篇博文《软件架构设计》学习笔记–1–阅读感悟

那么,什么是“二维需求观”呢?

首先,需求是分层次的。

有组织级的需求,用户级的需求,和开发级的需求。

其次,需求还必须从不同方面考虑。

需求可分类为三类:

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

质量需求:运行期质量 + 开发期质量

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



书中提到了一个工具,即ADMEMS矩阵,可作为需求梳理和需求评审的工具,以直观易行的checklist帮助设计人员梳理和评审需求。



该矩阵由CSAI顾问团架构设计专家组于2009年提出。本书中的内容,包括二维需求观、5视图方法等观念,和概念架构设计、细化架构设计等步骤,也均出自该专家组。读者可浏览下面的博文以概观。

一个软件架构设计的方法体系

3.从需求向设计转化的密码

不同需求(及功能、质量、约束)影响架构的不同原理,是从需求向设计转化的密码。



如上表所示,

功能:体现的是职责协作链

质量:是完善架构的驱动力

约束:说明了设计并不自由

关于更多的理论介绍及实例解读,请阅读该书第5章和第6章。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: