第一章 绪论
1.1 研究背景
随着软件在各个行业中的应用越来越广泛,软件项目的数量也几何级数增长,相应的软件开发的理论也是越来越丰富,越来越完善。但是参与到项目开发过程中的相关人员,无论是客户还是项目管理人员,甚至项目设计开发人员,都有一个共同的体验,那就是软件项目的功能越来越复杂,难度越来越高,往往因为各种原因会导致项目的延期甚至失败。经常会有这样一种现象,客户不断的提出新的要求或者修改要求,开发人员不断的增加或者修改软件功能,但是项目就像是一个无底洞,似乎很难顺利按照预定计划实施完成。其实这背后的原因,最重要的是对需求的变更管理不当,甚至失控造成的。
软件开发的过程,就是逐步确认用户的需求,最终将其以软件产品形式交付给用户的过程。在项目复杂度不断提升的背景下,需求的数量和难度也是不断提升,要求用户在项目开始阶段就完整的提出所有需求,并保持到最后完成,是不现实的。在软件项目的实际开发过程中,经常是随着项目的逐步深入,细化,用户才对系统有了感性认识,才能提出比较准确的需求,甚至是开发人员也是逐步慢慢对需求进行深入了解的。另外,需求也是在项目开发过程中动态变化的,对于项目管理的提出了苛刻的要求。
美国某次调查研究,统计了超过一万个软件开发项目,其数据显示[1]:· 绝对成功的项目 34%· 彻底失败的项目 15%· 受到质疑的项目 51%需求变更成为项目失败的重要原因。
1.2 国内外研究现状
在软件开发历史上,先后出现了以下方法:
最先提出了瀑布软件过程,但是该过程需要在得到所有的需求后,才能有效发挥作用,因此不能很好的解决需求变更带来的问题。之后又出现了迭代模型以及螺旋模型,它们将先解决已经确定的需求,等到下个开发周期再考虑需求的变动。敏捷开发模型天生则可以处理需求变动,能够及时对用户的需求变动进行处理,不断地调整项目,因此具有更快速的响应能力。该模型主要包括 XP,Scrum 等方法。
1.3 论文研究意义
随着国内计算机软件行业的飞速发展,涌现了一大批中小规模的软件项目,但是中小软件项目往往由于规模较小,项目参与人员往往不太注重需求变更管理的规范性,需求有着很大的随意性和不确定性。由于需求变更管理不当导致项目出现问题的情况在中小软件项目显得更加突出。
基于以上分析,本文首先讨论了中小软件项目开发的特点。在此基础上总结作者多年的项目经验,提出了一种适用于中小软件项目的需求变更评估模型和变更管理流程,希望能为类似的项目提供帮助。
最后,在作者实际的开发项目中,将新提出的评估模型和变更流程进行了应用,总结了其优点和不足,为后续的改进和提高指出了方向。
1.4 研究内容和安排
1.4.1 研究内容
本文的内容包括:
§ 需求变更管理概述
§ 中小企业需求发生变化的一些分析
§ 常见流程和工具
§ 软件项目功能点估算
§ 需求变更评估模型
§ 需求变更流程
§ 评估模型和流程在项目案例中的应用
§ 分析和总结
1.4.2 论文安排
本论文分为以下几个章节:
第一章 绪论
描述了论文的背景、现状及意义。同时也介绍了本文的主要研究内容与章节安排。
第二章 需求变更管理基本理论
介绍了需求变更的基本知识以及可能的影响。同时介绍了目前比较流行的过程和工具。最后介绍了功能点估算方法和 UML 的基本知识。
第三章 一种适用于中小软件项目的需求变更评估模型
通过分析中小软件项目的需求变更特点和现状,结合功能点估算方法以及 UML 工具的使用,提出了一种适合中小软件项目的需求变更评估模型,并对该模型的内容和步骤结合实际开发案例进行了详细论述。
第四章 一种适用于中小软件项目的需求变更流程
结合前面提出的需求变更评估模型,提出了一种适合中小软件项目的需求变更管理流程。并对其内容和步骤进行了详细论述。最后具体分析了在实际开发案例中的应用情况。
第五章 总结与展望
对全文进行总结与展望,分析本文的成绩和不足,并为后续进一步的改进提出建议和方向。
1.5 本章小结
本章首先介绍了课题的研究背景。软件项目的整个过程都是根据需求进行的, 其管理贯穿在整个系统开发过程中。在复杂度不断提升的背景下,需求的数量和难度也是不断提升,在众多项目不成功的原因中,最多的就是软件的需求变更。
接着描述了行业内的相关研究现状以及本课题的意义。随着国内计算机软件行业的飞速发展,涌现了一大批中小规模的软件项目,由于需求变更管理不当导致项目出现问题的情况在中小软件项目显得更加突出。在这样的背景下,针对中小软件项目的特点,同时也是总结作者多年的项目经验,提出了一种适用于中小软件项目的需求变更评估模型和一种适用于中小软件项目的需求变更流程。
最后提出主要研究内容以及内容安排。