03《构建之法》阅读笔记03

个人感受:

  过去的做法:

  根据自己的想法来编辑程序代码,实现相关功能。

  这样做的缺陷:

  用户不喜欢,达不到用户的要求。

  解决方法:

  在开发软件之前要对用户进行充分的调查需求,按照用户的需求来进行编程,用户才是第一主观因素。

 重点记录:

  寻找需求:

  1. 获取和引导需求

    软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出对软件的需求。

  2. 分析和定义需求

   这是指对从各个方面获取的需求进行规整,定义需求的内涵,从各个角度将需求量化(需求实现的最后期限,实现需求大致所需的时间和资源成本,各个不同需求的优先级,需求带来的收益,等等)。

  3. 验证需求

    软件团队要跟利益相关者沟通,通过分析报告、技术原型、用户调查或演示等形式向他们验证软件团队对于这些需求的认知。

  4. 在软件产品的生命周期中管理需求

    在软件的生命周期中,需求在发送变化,技术在发展,团队成员的能力在提高。 

  对软件需求的划分:

  1. 对产品功能性的需求:要求产品必须实现某些功能。

  2. 对产品开发过程的需求:要求软件的开发流程必须满足某些约束条件,例如,开发过程必须产生某种类型的文档,必须在某个时间点达到某个状态,必须对源代码施以某种约束(安全性检查、代码版权核查、代码规范和支持文档的核查)

  3. 非功能性需求:例如:执行时间限制等。 

  4. 综合需求:可能牵涉到其他系统的情况。 

软件产品的利益相关者

  用户:

    顾客:购买这个软件或者根据合同或规定接收软件的人。这些人不一定是软件的直接用户。

    市场分析师:市场部门要代表“典型用户”的需求。

  监管机构:

    软件工程师:工程师也是软件需求阶段的一个重要角色,软件的各种约束、特性会影响到他们的工作效率、开发难度和软件维护的难度。他们应积极参与到软件需求阶段中来。

原文地址:https://www.cnblogs.com/guobin-/p/8448379.html