zoukankan      html  css  js  c++  java
  • 02《掌握需求过程》读后感

    个人感受:

      过去的做法:往往容易忽略和使用程序的人沟通的重要性,导致软件程序开发出来后,不能很好地满足使用人的需要。
      这样做的缺陷:需要一而再再而三的返工,不仅在技术上带来巨大的麻烦,并且会造成时间的浪费,还会使开发出的软件性能深受影响。
      解决方案:在开发程序的早期,尽量提高项目需求分析的质量,减少重复劳动,通过控制程序的需求变更来保证按计划完成预定目标。

     阅读记录:

      所谓需求,就是那些必须在开始进行产品构建前发现的东西,如果在构建的过程中才发现需求,或者更晚更糟,直至客户已经在使用产品的时候才发现需求,那么代价将会是很大的,效率也将十分低下。
      《掌握需求过程》这本书中,讲述了身为一个需求分析师,应完成的几个工作内容。按书中所说,分析师即是解释者,必须理解用户所说的关于工作的事情,并将其解释为一个产品的需求规格说明。
      软件需求分析,应做到以下四点:
      第一点:观察和学习该项工作,并从用户的角度来解释它
      学习和研究工作,不仅是用户现在做什么,还有用户为什么这么做,这样才能从用户角度理解工作。
      第二点:解释该项工作
      解释工作的时候,需要对用户的描述进行一定的过滤。需要跳过对当前技术和做事方式的描述,以避开事件的表象,直达本质。“人们总是以解决问题的方式来描述问题”,确实如此,很多时候,听者很容易受到某些问题描述的误导,这就会导致在项目中产生“技术化石”,并从一代产品进入下一代产品。
      第三点:创造完成工作的更好办法
      在理解工作的实质的基础上,分析师有时候需要给出更好的解决办法,至少要比目前的工作方式好。这样不仅仅是为了帮助客户得到更好的工作方式或开发更好的产品,还要充分的考虑,因为用户不成熟或者对技术不熟悉所造成的调研前期忽略的很多对他们有用的需求。分析师若是不去主动发现这一部分需求,很可能到实际开发的时候,随着进度快要完成,用户将不断提出新的需求,或者修改要求,使得项目面临大改或走向失败。
      第四点:以需求规格说明和分析模型的方式来记录结果
      完成以上工作,还需要一个固化的输出,那就是设计师工作的输入,需求规格说明。
      “有意识的需求是客户头脑最上层的需求,它们常常代表着客户想的东西。无意识的需求是客户常常忘记表述的需求,因为他们对这些需求知道得太多,并假定别人都有同样的知识。做梦都没有想到过的需求是一些有用的需求,但客户没有意识到实际它是可能的。”正如书中这段话所言,在需求分析过程中,及早的发现所有的需求更有效,代价更小。而在工程中没有发现的需求最终会显露出来,也许是在用户开始操作产品的时候。如果是在后面的阶段,为这些新发现的需求所做的修改将更为昂贵。

  • 相关阅读:
    学习笔记:@RequestMapping
    学习笔记:serializable接口实现Java对象序列化
    学习笔记:JWT在spring中的时间
    学习笔记:JWT学习
    《OpenGL编程指南》学习进度备忘
    【练习7.4】使用直方图陆地移动距离EMD区分不同光线条件下的图片cvCalcEMD2
    【练习7.3】从直方图创建signature、计算两个直方图的EMD距离
    自动变量和开辟内存的生存期和作用域探讨
    【练习7.2】直方图归一化cvNormalizeHist、匹配cvCompareHist及各种匹配方法
    【练习7.1】cvCreateHist创建直方图、cvCalcHist计算直方图、cvQueryHistValue_1D访问直方图及右左法则
  • 原文地址:https://www.cnblogs.com/guobin-/p/8448521.html
Copyright © 2011-2022 走看看