《软件需求最佳实践》阅读笔记01

第3章 软件需求与需求工程

什么是软件需求

需求的三个层次

  1. 业务需求|
    业务需求是反映企业组织对软件系统的高层次目标要求,就是软件系统的建设目标
  2. 用户需求:值描述的时用户使用软件需要完成什么任务,怎么完成的需求,通常是在业务定义的基础上进行用户访谈、调查,对用户使用的场景进行整理,从而建立用户角度的需求。用户需求是需求捕获的产物。
  3. 软件需求:用户需求具有零散、存在矛盾的特点,因此需求分析人员还需要对其分析、提炼、整理,从而生成知道开发的、更精确的软件需求。软件需求是需求分析与建模的产物。

需求的三种类型

  1. 功能需求,对于功能需求而言,最为关键的地方是如何对其进行组织,否则一句话、一句话地描述就是显得十分零散,而且很难保证开发人员注意满足这些需求
  2. 非功能需求,非功能需求最典型的两个问题:一个是信息传递的无效性,另一个是忽略了非功能需求的局部性
  3. 技术约束

优秀需求的标准:

  1. 完整性,就是使需求没有遗漏;也就是在需求变更中“新需求”所占的量不大,而且这些“新需求”都是因为外部环境的变化而产生的
  2. 不失真,需求的正确性和无歧义性是一组相关的要求,指的是确保需求在信息传递的过程中不知。加强需求的验证是关键手段;但是在做到需求验证时首先要认识到“验证是质量关”,尽可能多地暴露出问题才是关键。
  3. 优先级,想要更好地对项目进行管理,就需要有效地区分出优先级。
  4. 有技术早起介入

需求开发工作要点

  1. 需求获取,需求获取也称为需求捕获,它们都是主动动词
  2. 需求分析,需求分析是业务分析,需求分析的任务是对问题域进行研究,因此将从业务线索入手,而非系统结构;需求分析是一种提炼与整合活动,需要将用户的原始需求合并到雨雾活动中去,要将各个业务流程合并成全局业务流程图,要将每个业务时间相关的领域类图片面合并成全局领域类图,要将各个业务事件的用例图片断合并成全局的用例模型。
  3. 编写归约,是将需求分析结果文档化的过程。
  4. 需求验证

需求管理工作要点

  1. 统一、明确的需求项划分标准

a)        粒度均匀

b)        大小合适

c)        完整

  1. 引入基线管理
  2. 引入变更管理
  3. 引入需求跟踪

需求分析人员技能组成

  1. 需求分析人员的来源。需求分析人员的三大技能是夸文、理两大学科的。
  2. 各种能力培养的要点。

技能类型

培养要点

说明

业务能力

类比

例如,很多非销售型企业中也能找到“产、销、供”的线索

宏观思考

过于陷入细节就会影响宏观理解

技术能力

溯源

分析技术的发展历史,可以更好的了解其作用

优缺点

了解优缺点能够在正确的地方应用它

沟通能力

思维模式

通过改变思维模式、不断训练是可以提高的

 

 

总结:

本章中强调了需求的三种层次,说明了三种类型需求在整理时的要点,分析了优秀需求的标准,并且对需求工程中各项活动的关键问题予以了点评。

posted @ 2017-10-17 17:41  悦尔  阅读(222)  评论(0编辑  收藏  举报