欢迎来到天天文库
浏览记录
ID:40894633
大小:19.83 KB
页数:4页
时间:2019-08-10
《软件项目估算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件项目估算学院:数学与计算机科学学院专业:计算机科学与技术(软件工程方向)班级:软件12学号:1060612014049姓名:邓茂记时间:2014年5月10日软件项目估算是软件项目管理的核心所在,通过估算才能得出软件项目的计划,并成为软件项目控制的依据。一个成功的软件项目首先要有一个好的起点,也就是一个合理的项目计划,而一个好的项目计划,离不开一个准确、可信、客观的项目估算。但是因为软件本身的复杂性、历史经验的可重复性、估算工具的缺乏以及一些人为错误,都会导致软件项目的估算往往和实际情况相差甚远。软件项目估算的目的在于为
2、软件项目制定一个预算,确定项目目标是否能够实现,从而让项目在可控的状态下达成这个目标,同时为后续的软件质量提供对比依据,从中找出项目中存在的问题和好的经验,促进企业的持续改进。对项目经理来说,合理、有效的项目估算能够让自己在工作中掌握主动权,否则在工作中只能是疲于奔命。软件项目估算主要包括规模估算、工作量估算和成本估算。软件项目估算一般分为两种应用场景:一是招投标的时候用来估价、报价;二是用来安排进度计划和指导项目具体工作的分配。前者是为了确定承接项目签合同进行的估算,后者是在项目确定后进一步的细化估算,往往前者的结果可能
3、会影响项目的执行。一个完全准确地估算基本是不可能的,这主要在于估算本身存在很多困难。进行软件估算的困难有些是软件本身所固有的,特别是软件的复杂性和不可见性。在估算一个软件项目时,软件项目经理需要明确以下三点:一是软件本身是非常困难的,但是估算又是必须的。二是只有准确地估算软件的功能,才能准确地估算出软件的成本,并制定出合理的进度计划。三是估算终究是估算,一个准确的与实际情况一模一样的估算是不可能的。软件的估算有主观和客观两种估算方法。主观的估算方法可以通过召集项目团队成员,或者邀请各方面的专家,共同对某个项目的属性进行评估
4、,参与评估的每个人都要单独进行估算,如果发现大家对某个项目属性估算的结果存在较大偏差,那么就需要做进一步的讨论,直到取得共识为止,对个别特殊属性进行主观估算时,一定要有直接干系人的参与。客观的估算方法是利用公司提供的各种度量数据进行估算。软件估算要有一个时机,不能过早也不能过迟,过早的估算使估算的结果可能与实际的结果相差很远,项目快结束时进行估算,虽然误差不会很大,但是此时似乎又不需要估算了。尽管估算是非常困难的,但是项目估算在项目的不同阶段都在某一个可以预测的范围内,估算最终是收敛的。软件项目的估算不是一个一劳永逸的活动
5、,它是随着项目进展不断细化的过程。软件开发的每一个阶段都可能最终影响到项目成本与进度,一般需要从可行性研究、需求说明、系统设计、系统实现、系统运行五个阶段进行估算。可行性研究阶段的估算是为软件组织提供基本的信息,已决定项目对组织是否有利;需求说明阶段的估算有助于组织在进入产品开发之前再次权衡产品的可行性;系统设计阶段的估算主要考虑的是如何将设计好的系统开发出来以及有没有被忽视的问题;系统实现阶段的估算主要是对原有的估算进行调整;系统运行阶段的估算是对估算过程的评价,用实际的消耗和各个阶段的估算值进行比较,总结估算工作中哪些
6、方面需要提高,为向项目提供经验。软件项目估算的步骤:确定软件项目范围、确定完成软件开发所需的资源(包括人力资源、可复用软件资源、环境资源)、估算工作量、估算成本。常见的软件规模估算方法主要包括:代码行法、功能点法、自下而上法、类比法、专家判断法、参数估算法、简单估算法等。代码行是常用的度量软件规模的一种方法,是对软件产品的源代码的行数进行测量。现在的一般规则是计算物理行数,不计算空行,不计算注释。对于其他选项,一般为计算源文件根目录下的所有文件。所以代码行指的是所有的可执行的源代码行数,包括可交付的工作控制语言语句、数据定
7、义、数据类型声明、等价声明、输入/输出的格式声明等。但是这种方法也存在许多问题:1、在需求、计划、设计阶段因为本身没有代码行,需要靠估算来解决。2、在满足客户的要求以及反映进度方面的能力差强人意,对于管理者意义不大。3、可视化编程工具的大量采用以及模板库、类库的广泛采用,在程序的结果中有大量自动生成的代码或者复杂的自动配置脚本或资源文件设置。4、对于不同的编程语言来说,代码行也缺乏可信转换方式。但是由于它容易使用、非常直观、操作成本低,因此仍然是规模估算中的一种可推荐的方法。功能点分析法是重要的,也是有效的软件规模估算方法
8、,它可以在项目早期就对项目进行测量,并在开发过程中不断地更新数据,从而实现一种持续一致的管理。功能点分析法是从用户的角度来估算软件规模,因为这种方法与开发语言无关,而和系统的功能相关。此方法是在需求分析阶段基于系统功能的一种规模估算方法,是基于应用软件的外部、内部特性以及软件性能的一种间接的规模估算。功
此文档下载收益归作者所有