zoukankan      html  css  js  c++  java
  • 构建之法阅读笔记06-第八章用户需求

    阅读笔记

    第八章:需求分析

    第八章的需求分析介绍了软件需求的类型、利益相关者,获取用户需求的常用方法和步骤,竞争性需求分析的框架NABCD以及项目计划和估计的技术。

    在软件需求方面,可以从利益相关者那里,引导他们表达需求,从而获取。从用户那里获取了需求之后,需要分析和定义需求,也就是对需求进行规整,来定义一下需求的内容。下一步就要像用户去验证这些规整好的需求,看看是否满足用户的需要。另外在软件开发过程中也会对需求进行调整,来适应新的变化。

    在对软件的需求方面,可以分为对产品功能性的需求,也就是要求超频产品实现某些功能。也可以对产品开发过程的需求,要求开发流程满足某些约束条件。也有一些非功能性需求,还有综合需求。

    上面提到的一些软件产品的利益相关者,可以是直接使用软件系统的用户,也可以不一定是直接用户,但是他们的利益和软件直接相关,还有一些市场分析师,监管机构和软件工程师。

    接着介绍了用户调研的方法,可以是下面几种:一种是焦点小组。最常用的一种方法,大家一群人围在一起来讨论对一个软件的看法,但是这种方式也会有一些弱点。还有一种方式是和用户深入的面谈,可以深入了解用户需求,但是费时费力。这种方法可以用在软件可用性研究上。探究用户在使用软件时的建议,并进行改进。还有的方式是卡片分类,对各种需求进行谈论-明晰定义-归类-排序。还可以进行用户调查问卷,但是调查问卷其实也有需要注意的地方,避免问题定义不准确,使用含糊不清的形容词等等,当然调查问卷可以采取很多方式,比如全开放式问题,二项选择题,多项选择题或者顺位选择题等。

    在竞争性需求分析的框架中,不能在学习了很多新技术,新模式之回馈,却还是一点创新想法都没有。要学会创新,分为改良型创新和颠覆性创新。有一个称为NABCD的框架模型,分为需求,做法,好处,竞争,推广。首先一个软件时解决了用户的某种需求,找到这种需求之后,就要有独特的招数来解决用户的这些需求,你的这种做法能不能给用户带来好处,能带来什么好处呢。当做这些的时候,竞争对手也在做,所以要清楚自己的优势和劣势,最后就要进行软件的推广,怎么让用户来用这个产品。

    在得到用户需求之后,就要用功能来实现这些功能了。在做产品的时候,一定要有一两个"杀手"功能,也就是同类软件没有的功能,同时其他还有一些普通的外围功能。还有产品的一些必要需求和辅助需求。从这四个方面,来开发产品的功能。

    在做产品之前需要有一个计划和估计,就是估计各个项目所需要的时间。要分清目标,估计和决心的概念。在做估计的时候,可以使用Wideband Delphi估计法。先经过几轮的讨论,先确定对目标统一的理解,然后每一轮统计大家的估计,询问假设,然后继续就可以。这个方法是让大家在较短的时间内让团队充分沟通,交换意见。也可以先参考前人的做法或者意见。一个项目的复杂程序是由需求和技术的复杂程度决定的。

    最后就是完成一个项目一定要学会分而治之的模式,将大项目分解为可以操作的工作。所有的小节点覆盖了全部内容,并且小节点最好不要相互覆盖,小节点要足够小,可以比较快速的完成。

    过去的看法:

    在做软件开发时,只要能够开发出来就可以了,没关心过有什么用户需求。

    这样为什么不好:

    如果不考虑用户需求这个最重要的过程,那么做出来的软件只能是一个演示产品,没有任何的实际价值,也不会有人去用。

    解决办法:

    在做软件开发之前,要首先用多种方式去了解用户的需求,把需求进行归纳汇总,选出必要和不太必要的需求,根据这些需求,来做产品,同时在开发过程中,要适应可能变化的需求。

  • 相关阅读:
    UVA 10462 Is There A Second Way Left?(次小生成树&Prim&Kruskal)题解
    POJ 1679 The Unique MST (次小生成树)题解
    POJ 2373 Dividing the Path (单调队列优化DP)题解
    BZOJ 2709 迷宫花园
    BZOJ 1270 雷涛的小猫
    BZOJ 2834 回家的路
    BZOJ 2506 calc
    BZOJ 3124 直径
    BZOJ 4416 阶乘字符串
    BZOJ 3930 选数
  • 原文地址:https://www.cnblogs.com/diyunfei/p/5517888.html
Copyright © 2011-2022 走看看