摘 要:通过阅读论文使读者对软件项目计划有一定认识并应用于他们的项目和组织中。希望读者为提高软件的可预测性而不断探索,为此使我们的行业生产出高质量的产品。
关键词:项目计划;软件成本;项目监控;软件度量
人类长期以来从事各种工程项目所积累起来的行之有效的原理、概念、技术和方法,特别是人类从事计算机硬件研究和开发的经验教训,应用到软件的开发和维护中。因此北大西洋公约组织科学委员会于1968年提出了“软件工程”这个概念。它是指导软件开发和维护的工程类学科。软件项目计划是软件工程管理的主要任务之一。成本估计是软件费用管理的核心,也是软件工程管理中最易出错的问题之一。
(一)自项向下成本估计:这种方法由技术和管理人员参加,依据以前已完成项目所耗费的总成本,推算新开发软件的总成本,然后在项目内部进行成本分配。其优点工作量小,速度快。缺点是对开发中某些局部问题或特殊困难易低估,估计偏差可能较大。
(二)自底向上成本分析:这种方法在应用之前必须先了解待开发软件的功能、性能、限制、接口和可靠性等,并做适当的细化以提供较详细的信息。对于细化得到的任务单元可交给该任务的开发人员去估计,得到各任务单元的估计成本,然后将其汇总成项目的总成本。
(三)基于经验模型的成本估计
(1)静态单变量模型
典型结构为:E=A+B*(估计变量)C
其中A、B和C是由经验导出的常数;E是以人月为单位的工作量;“估计变量”是被估软件特征的估计量。
(2)动态多变量模型
它是把项目资源的需求看成是时间的函数。如普照特南提出的模型L=CK*K1/3*td3/4
其中L表示源代码行数;K表示全生存期所需工作量;td表示开发持续时间;Ck表示技术状态常数。
(3)COCOMO 模型
1981年Barry Bochm在其经典著作Software Engineering Economics(《软件工程经济学》)一书中,详细介绍了他提出的一种软件成本估算模型——构造性成本模型(Constructive COst MOdel),简称COCOMO模型。Boehm将软件成本估算分成三个层次:基本层、中间层和详细层。每个层次又按软件项目总体类型分成三种:组织型、嵌入型和半独立型。其模型形式为
其中MM表示开发工作量 kDSI表示代码或卡片形式的源程序行数 TDEV表示开发时间 fi(i=1-15)表示15项影响成本的调节因子 a、c表示模型系数 b、d表示模型指数。
不论如何实施,估算过程都应仔细、严格地进行。参数模型一般都有许多的参数,每一个参数都可能影响成本估算的10%以上。若错误地选择了五个参数,那么这五个参数所产生的整体影响很容易超过60%。同样,在进行一个新项的相似性分析中,选择了以前一个不合适的项目,那么将对该项目的估算产生较大的误差。为了避免这些问题的出现,最好的办法是使用有经验的估算人员进行成本估算。
软件项目计划涉及项目的各个环节,带有全局性。但计划是在开发工作尚未开始之前进行,只能采用估计的办法处理,因此,开展的项目必危害带有一定的风险。在进行项目估计之后,项目规划小组即可进一步制定《项目计划》,软件项目计划不必过于冗长复杂,重点内容包括目标与范围、过程定义、人力资源计划、软硬件资源计划、财务计划、任务进度计划及下属计划。
1.目标与范围:给出清晰的可以验证的目标,语言说明本项目用途,本产品适合哪些领域包含的内容和不适合哪些领域及不包含内容。
2.过程定义:描述、绘制本项目的过程模型,可以裁剪SPP模型。
3.人力资源计划
4.软硬件资源计划
5.财务计划
6.任务进度计划:制定详细任务表并绘制Gantt图作为附件
7.下属计划
此后还需要进行项目计划审批和项目计划变更控制
项目计划的审批流程非常简单,项目经理把《项目计划》递交给机构的领导。机构领导认真审阅该《项目计划》,如果没有异议就签字批准;如果有不同意之处,就和项目经理沟通,并请项目经理及时修改。机构领导签字批准之后,该《项目计划》就成为“正式文件”所有的项目成员都必须按照该计划执行。如果以后要修改《项目计划》必须按照变更控制流程来修改。
项目计划变更控制是由于对项目本身缺乏深入的了解,第一版本的《项目计划》有可能比较粗略不切实际。在执行项目过程中如发现《项目计划》与实际情况有较大的偏差,应及时更新《项目计划》,应使《项目计划》随着项目的进展而逐步的完善。
项目计划详细说明了软件工作及如何实现它,并估算其所需时间、资源等,并且为管理者提供了一个框架。同时也提供了一种有效的学习途径。还可以为计划者提高估算精确度。项目计划应该从不确切与准确的需求间的映射关系入手,例如软件的需求,开始阶段都是模糊而又不完整的,做质量计划只能对客户的需求大体而不确切的理解之上。所以我认为软件项目计划应从二者之间入手。实际上,软件项目计划是建立并维护软件项目的计划,就是一个用来协调软件项目,执行软件项目和监控软件项目能为项目的成功实施打个坚实的基础。
软件项目计划是软件工程管理的重要部分,这项任务要求项目经理实施好他的判断,了解产品的技术和过程,能够与获取方、项目人员以及公司管理人员进行有效的交流,能够规划项目活动,能够对发生的变更做出积极响应,并能够恰当地形成工作文档。这项任务还为在职人员提供了有关业务、技术和人员管理机会等方面的良好可见性。
参考文献:
[1] Mark ensen Richard .软件工程最佳实践项目经理指南(第一版).北京:电子工业出版社,2004年
[2] 陈松乔.现代软件工程(第一版).北京:清华大学出版社,2004年
[3] 王国军.对象WEB软件开发自动化集成环境的研究和开发.计算技术与自动化,2000(3)
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。