Karl-H

通常,一个软件会经过以下这些软件过程

  • 需求
  • 分析
  • 设计
  • 实现
  • 集成
  • 维护
  • 退役

其中哪一个最重要呢?显然是需求

需求是目标软件产品的根和源,如果软件需求不准确,甚至是错误的,那么无论如何,也不可能有任何一个机会开发出满足客户需求的软件产品,也就是说,需求对于软件产品的最终成功起着至关重要的作用,

有的人说,需求的任务就是确定客户想要什么,事实上,这是一种错误的概念,真正的概念是,确定客户需要什么。

咋一看,确定客户需要什么是挺简单的事情,只要开发团队的成员,简单询问客户就行了,但事实上,许多客户不知道他们真正需要什么,况且,即使客户真正了解他们需要什么,也有可能很难精确的把这些想法传达给开发者,因为,大多数客户的计算机知识,软件知识不如开发团队的成员,因为软件本身是复杂的,抽象的,对于一个软件工程师来说,对一个软件产品及其功能进行形象化描述已经很难了,而这对于不精通软件工程的客户来说,这更加困难,没有足够的软件开发团队的协助,客户很难理解到真正需要什么。

另一方面,除非可以与客户面对面的交流,否则,专业的软件开发团队,也无法确定客户究竟需要什么,软件开发团队获取并确定需求的能力和水平,以及需求的优点,将直接关系到软件产品的成功与否,乃至于软件企业的发展。

获取和确定需求的能力和水平,可以分为三个层次,

被动型——开发方被客户方牵着鼻子走,开发方将陷入被动的境地,客户想要什么就要给什么,哪怕是不合理的,如果需求做到这个层次上, 软件产品以及开发方成功的可能性是非常小的。

主动型——开发方牵着客户鼻子走,开发方能够帮助客户发掘和确定目标软件系统的需求,开发方始终处于一个非常主动的地位,如果需求做到这个层次上, 软件产品以及开发方成功的可能性是非常大的。通常,成功的软件企业都能达到这个层次。

引领型——开发方通常在没有确定的客户的情况下,就能发现或预见到潜在的客户群体中的需求,通过市场调查研究等方式,确定需求,进而设计开发出软件产品,该产品将迅速占领市场,引领潮流。


参考或转载:
https://www.icourse163.org/course/NEU-1001812013

分类:

技术点:

相关文章: