论文部分内容阅读
[摘 要]当前软件开发项目由于前期需求分析做的不够,没有完全了解用户的需求,与用户的沟通存在问题,而盲目开发,导致了项目延期。本章首先介绍了软件项目开发过程当中需求分析存在的主要问题,提出了具体的解决办法。
[关键词]软件开发 项目需求 分析
中图分类号:TP311.52 文献标识码:A 文章编号:1009-914X(2013)09-0104-01
1 软件开发项目中的主要问题
为了从实际情况中找出需求分析中存在的问题,不仅查阅了以前一些项目的资料,向具体参与的开发人员了解情况,同时以调查问卷的方式,对软件开发中存在的问题进行调查,调查对象为公司的软件开发及维护人员,共发调查问卷45个,收回有效问卷21个。从调查结果来看,需求不明确、需求多变是软件开发项目中首要的问题,综合以往的经验,现将软件开发项目的主要问题进行剖析:
1.1 双方误解需求
用户表达的需求,不同的开发人员可能有不同的理解。如果需求分析员误解了需求,那会导致后续的不少开发人员将错就错,白干活。无论是复杂的项目还是简单的项目,需求分析员和用户都有可能误解需求。所以需求确认必不可少。
1.2 写不好需求文档
写不好需求文档的一种原因是:需求调查工作不充分,获取的需求信息太少或者太乱,以至于写不成需求文档。因此,要写出好的需求文档,前提条件是把需求调查工作做好。另一种原因是:开发人员写作能力比较差,虽然在调查过程中已经获得了不少需求信息,却写不出好的需求文档来。
1.3 用户经常变更需求
需求变更通常会对项目的进度,人力资源,经费产生很大的影响,这是开发商非常畏俱的问题。如果在项目开发的初始阶段,开发人员和用户没有搞清楚需求或者搞错了需求,到了项目开发后期才将需求纠正过来,导致产品的部分内容需要重新开发。这种需求变更将使项目付出额外的代价。所以不论是客户还是开发方提出需求变更,都要按照“申请一审批一执行”的流程操作。
2 软件开发项目需求分析问题解决办法
从上面看到需求分析中的问题,主要原因是没有做好开发前的需求调研工作,没有形成规范的软件需求文档,所以开发人员开发出来的系统得不到用户的认可,更多会导致用户需求的多变,因此,如何做需求调研,如何做需求分析,写好软件需求规格文档,对下一步的开发以及项目的成功至关重要。
2.1 如何开展需求调研
在需求调研过程中,先做好以下准备:
1)调研前应该将所有项目前期资料进行汇总,与相关的前期销售人员进行交流,以便对项目有一个基本轮廓的认识。
2)做好调研前使用资料的准备,如需求调研模板,需求调研问题列表等。
3)保持一种和客户平等合作的心态,确定需求调研是为了给客户解决问题,探讨问题,而不是接受问题,更不是来指导工作。
4)平静面对需求变更的心态去引导客户,达到需求理解基本一致。
5)要提高自己业务知识,对于调研的行业标准业务应该基本熟悉。
6)学习用户使用的术语,标准,以便能够准备的理解用户
7)需求调研中采用浅显易懂的口头语言来解释IT行业中的术语,以便用户能够很好的理解,提高自己的沟通交流能力。
8)提高速记能力,文字表述能力以及归纳能力,总结能力,书写一份完整的,前后一致的,可追踪的需求报告。
2.2 如何进行需求分析
需求分析是指在需求开发过程中,对所获取的需求信息信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。常用的需求分析方法有:
2.2.1 问答分析法
问答分析方法很简单:刨根究底地问,如果问题都被解答了,那么需求也就分析清楚了。问答分析最重要的问题是:“是什么”和“为什么”。追究“是什么”和“为什么”的目的是获得正确,清楚的需求,以便加深读者的理解。
2.2.2 界面原型法
它是指开发方根据自己所了解的用户需求,描画出应用系统的功能界面后与用户进行交流和沟通,通过“界面原型”这一载体,达到双方逐步明确项目需求的一种需求获取的方法。
这种方法比较适合于开发方和用户方都不清楚项目需求的情况。这种情况下,采用可视化的界面原型法比较可取。
這种方法的一般操作步骤是:
步骤一,开发方根据其所了解到的需求(如通过合同或与用户交流),采用界面制作工作描画出应用系统的功能界面;
步骤二,将应用系统的功能界面提交给用户并与用户沟通,挖掘出新需求或就需求达成理解上的一致;
步骤三,开发方就不断获取的需求进行增量式整理,根据新的需求丰富和细化界面原型;
步骤四,双方经过多次界面原型的交互,开发方最终整理出5用户需求说明书6,提交给用户方确认签字。
由于开发方和用户方都不清楚项目需求,因此此时需求获取工作将会比较困难,可能导致的风险也比较大。采用这种“界面原型”的方式,能加速项目需求的浮现和双方对需求的一致理解,从而减小由于需求问题可能给项目带来的风险。
2.3 如何写好需求文档
好的需求规格说明文档具有以下属性: 完整性、正确性、必要性、可行性、无二义性、划分优先级和可验证性。每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的全部必要信息;必须准确地描述其开发的功能。需求的来源是做出正确的判断的依据;必须是在已知系统和环境的权能和限制范围内可以实施的;都应客户真正所需要的和最终系统所需遵从的标准记录下来;给每项需求,特性或使用实例分配一个给定的优先级,以指明它在特定产品中所占的分量。如果把所有的需求都看作同样重要,那么项目管理者在开发或节省预算或调度中就丧失了控制的自由度;对所有的需求说明都只有一个明确的统一的解释;检查一下每项需求是否能通过设计测试用例或其它的验证方法,如用演示,检测等来确定产品是否确实按需求实现了。
参考文献
[1] 李华.软件开发项目管理理论与方法应用研究[D].北京国家图书馆,2005.
[2] 张文清.软件开发过程项目管理的研究[D].北京国家图书馆,2005.
[3] 丁荣贵.项目治理实现可控的创新[J].电子工业出版社,2006.
[4] 房西苑,周蓉翌.项目管理实战教程[J].企业管理出版社,2005.
[5] 刘丽.软件开发过程中的需求管理探究[D].北京国家图书馆,2004.
[关键词]软件开发 项目需求 分析
中图分类号:TP311.52 文献标识码:A 文章编号:1009-914X(2013)09-0104-01
1 软件开发项目中的主要问题
为了从实际情况中找出需求分析中存在的问题,不仅查阅了以前一些项目的资料,向具体参与的开发人员了解情况,同时以调查问卷的方式,对软件开发中存在的问题进行调查,调查对象为公司的软件开发及维护人员,共发调查问卷45个,收回有效问卷21个。从调查结果来看,需求不明确、需求多变是软件开发项目中首要的问题,综合以往的经验,现将软件开发项目的主要问题进行剖析:
1.1 双方误解需求
用户表达的需求,不同的开发人员可能有不同的理解。如果需求分析员误解了需求,那会导致后续的不少开发人员将错就错,白干活。无论是复杂的项目还是简单的项目,需求分析员和用户都有可能误解需求。所以需求确认必不可少。
1.2 写不好需求文档
写不好需求文档的一种原因是:需求调查工作不充分,获取的需求信息太少或者太乱,以至于写不成需求文档。因此,要写出好的需求文档,前提条件是把需求调查工作做好。另一种原因是:开发人员写作能力比较差,虽然在调查过程中已经获得了不少需求信息,却写不出好的需求文档来。
1.3 用户经常变更需求
需求变更通常会对项目的进度,人力资源,经费产生很大的影响,这是开发商非常畏俱的问题。如果在项目开发的初始阶段,开发人员和用户没有搞清楚需求或者搞错了需求,到了项目开发后期才将需求纠正过来,导致产品的部分内容需要重新开发。这种需求变更将使项目付出额外的代价。所以不论是客户还是开发方提出需求变更,都要按照“申请一审批一执行”的流程操作。
2 软件开发项目需求分析问题解决办法
从上面看到需求分析中的问题,主要原因是没有做好开发前的需求调研工作,没有形成规范的软件需求文档,所以开发人员开发出来的系统得不到用户的认可,更多会导致用户需求的多变,因此,如何做需求调研,如何做需求分析,写好软件需求规格文档,对下一步的开发以及项目的成功至关重要。
2.1 如何开展需求调研
在需求调研过程中,先做好以下准备:
1)调研前应该将所有项目前期资料进行汇总,与相关的前期销售人员进行交流,以便对项目有一个基本轮廓的认识。
2)做好调研前使用资料的准备,如需求调研模板,需求调研问题列表等。
3)保持一种和客户平等合作的心态,确定需求调研是为了给客户解决问题,探讨问题,而不是接受问题,更不是来指导工作。
4)平静面对需求变更的心态去引导客户,达到需求理解基本一致。
5)要提高自己业务知识,对于调研的行业标准业务应该基本熟悉。
6)学习用户使用的术语,标准,以便能够准备的理解用户
7)需求调研中采用浅显易懂的口头语言来解释IT行业中的术语,以便用户能够很好的理解,提高自己的沟通交流能力。
8)提高速记能力,文字表述能力以及归纳能力,总结能力,书写一份完整的,前后一致的,可追踪的需求报告。
2.2 如何进行需求分析
需求分析是指在需求开发过程中,对所获取的需求信息信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。常用的需求分析方法有:
2.2.1 问答分析法
问答分析方法很简单:刨根究底地问,如果问题都被解答了,那么需求也就分析清楚了。问答分析最重要的问题是:“是什么”和“为什么”。追究“是什么”和“为什么”的目的是获得正确,清楚的需求,以便加深读者的理解。
2.2.2 界面原型法
它是指开发方根据自己所了解的用户需求,描画出应用系统的功能界面后与用户进行交流和沟通,通过“界面原型”这一载体,达到双方逐步明确项目需求的一种需求获取的方法。
这种方法比较适合于开发方和用户方都不清楚项目需求的情况。这种情况下,采用可视化的界面原型法比较可取。
這种方法的一般操作步骤是:
步骤一,开发方根据其所了解到的需求(如通过合同或与用户交流),采用界面制作工作描画出应用系统的功能界面;
步骤二,将应用系统的功能界面提交给用户并与用户沟通,挖掘出新需求或就需求达成理解上的一致;
步骤三,开发方就不断获取的需求进行增量式整理,根据新的需求丰富和细化界面原型;
步骤四,双方经过多次界面原型的交互,开发方最终整理出5用户需求说明书6,提交给用户方确认签字。
由于开发方和用户方都不清楚项目需求,因此此时需求获取工作将会比较困难,可能导致的风险也比较大。采用这种“界面原型”的方式,能加速项目需求的浮现和双方对需求的一致理解,从而减小由于需求问题可能给项目带来的风险。
2.3 如何写好需求文档
好的需求规格说明文档具有以下属性: 完整性、正确性、必要性、可行性、无二义性、划分优先级和可验证性。每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的全部必要信息;必须准确地描述其开发的功能。需求的来源是做出正确的判断的依据;必须是在已知系统和环境的权能和限制范围内可以实施的;都应客户真正所需要的和最终系统所需遵从的标准记录下来;给每项需求,特性或使用实例分配一个给定的优先级,以指明它在特定产品中所占的分量。如果把所有的需求都看作同样重要,那么项目管理者在开发或节省预算或调度中就丧失了控制的自由度;对所有的需求说明都只有一个明确的统一的解释;检查一下每项需求是否能通过设计测试用例或其它的验证方法,如用演示,检测等来确定产品是否确实按需求实现了。
参考文献
[1] 李华.软件开发项目管理理论与方法应用研究[D].北京国家图书馆,2005.
[2] 张文清.软件开发过程项目管理的研究[D].北京国家图书馆,2005.
[3] 丁荣贵.项目治理实现可控的创新[J].电子工业出版社,2006.
[4] 房西苑,周蓉翌.项目管理实战教程[J].企业管理出版社,2005.
[5] 刘丽.软件开发过程中的需求管理探究[D].北京国家图书馆,2004.