12.27阅读笔记《软件需求分析》

发布时间 2023-12-27 22:56:14作者: zhangmingmingkjz

许多工程项目不能按时完成或者最后导致失败的一个很大的原因就是弄不清需求是什么,不能准确理解客户的需求意图,所以前期做好需求调研是一件非常重要的工作,是一件与系统代码开发占有同等比重的工作。

读这本书的同时,要注意实践过程,不必非得要从一个新项目开始应用,可以找一个以前的或者是现在正在进行的项目,根据书中所讲,着手开始实践.

软件需求就是需要知道是什么和为什么。

在软件开发当中遇到的许多问题,都是由于收集,编写,协商,修改产品需求过程中的手续和做法失误所带来的。需求分析阶段如果能够做好的话,就能开发出很出色的产品。因为需求分析奠定了软件工程和项目管理的基础。

用户和开发者理解的需求是不一样的,所以在开发之前,一定要编写需求文档。并且如果中途换了开发人员的话,可以从需求文档里面查看需求,而不必重新做需求分析。在描述需求的语言和文字上,需要和用户达成共识。

软件需求分三个层次:业务需求,用户需求和功能需求,还包括非功能需求。三种需求需要写在软件需求规格说明书中。非功能需求描述了系统展现给用户的行为和执行的操作等。用户需求需要与业务需求一致。需求并没有涉及设计细节,实现细节等信息,它关注的是究竟想开发什么。

开发软件系统最困难的是编写出详细技术需求,一旦做错,修改极为困难。

即便只是并非出于商业目的的软件需求也是必须的,有些东西可能不需要交流就能达成一致,但后期可能会花费更长时间返工。所以即便只是很小的事情,最好还是写清楚需求说明。

很多情况会导致出现不合格的需求说明:没有足够的用户参与,就不能确定软件的实际使用情况;用户需求可能会不断扩展,会导致项目越来越庞大,导致不可控情况,所以需要在一开始就对项目视图、范围、目标、约束限制和成功标准给予明确说明;模棱两可的需求会带来不可避免的后果便是返工,比较好的方法是从不同角度审查需求,来消除二义性;一些不必要的特性需要慎重考虑;如果规格说明过于精简,会使得开发最后失败;在只有一个不明确的需求分析时,不要简单的做一个计划。

高质量的需求过程会使开发后期和整个维护阶段的返工重做大大减少,会节省很多维护时间成本,所以在前期做好需求分析是一件非常重要的事情。一个优秀的需求说明具有完整性,正确性,可行性,必要性,无二义性,可验证性,还要划分优先级。而好的需求规格说明也具有一些特点:完整性,一致性,可修改性,可跟踪性。

需求工程又分为需求开发和需求管理,需求开发包括问题获取,分析,编写规格说明,验证过程。需求管理一般包括定义需求基线等活动。

需求分析是一个非常重要的前期工作,如果可以把这个地方做好,那么无论是在开发还是后期的维护当中,都会节省很多时间成本,做好需求分析,是一个复杂的过程,也需要一些经验,所以不要心急。