- 1、本文档共70页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“软件工程”教学课件04软件项目计划
Cost and Effort Estimation 成本估算是软件可行性分析的重要依据,也是软件管理的重要内容,直接影响到软件开发的风险。 软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,即主要是人的劳动的消耗。因此,软件产品开发成本的计算方法不同于其他物理产品的成本的计算。 Cost and Effort Estimation 软件产品不存在重复制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的。因此软件成本估算,应以软件计划、需求分析、设计、编码到测试的软件开发全过程所花费的代价为依据。 对于大型软件项目来说,由于项目的复杂性,成本估算并不单纯是一个计算过程,还需要进行一系列的估算处理,处理手段主要是分解和类比。 Cost and Effort Estimation 自顶向下和自底向上的估算 专家估算、类推估算、算式估算 LOC(Line Of Code)-Based Estimation FP(Function Points)-Based Estimation Process-Based Estimation Empirical Estimation Model Automated Estimation Tools Cost and Effort Estimation 软件成本估算通常是对以下量进行估算 源代码行(LOC):是指机器指令行/非机器语言的执行步 开发工作量:常用的单位是:人-月(PM)、人-年(PY)、人-日(PD) 软件生产率:单位劳动量所能完成的软件数量,LOC/PM、¥/LOC、¥/PM 软件开发时间 Estimation----代码行技术 估计出有多少行的代码(code),再乘以每行的开发成本(cost)和复杂度(complexity),即可估算出开发成本。有时对代码行的估计有一定的难度(利用专家估算等)。 Estimation----任务分解技术 把软件开发工程分解成若干个相对独立的任务,再分别估计每个任务的开发成本,最后累加起来就是总成本(人/年)估计工作量 。一般可按阶段划分任务,再按阶段把每个阶段划分成更小的任务。 可行性研究 5% 需求分析 15% 设计 20% 编码和单元测试 40% 综合测试 20% Estimation----自动估算 可以更快、更客观地估计成本。但需要有长期的经验积累、强大的数据库(data base)、以及决策支持系统软件(decision support system)。 Cost and Effort Estimation 估算模型 Halstead估算模型 IBM估算模型 SLIM估算模型 PRICE-S估算模型 Putnam 估算模型 COCOMO估算模型 Balley-Basili估算模型 Schneider估算模型 Cost and Effort Estimation Accurate project estimates generally make use of at least two of the techniques noted above.By comparing and reconciling estimates derived using different techniques, the planner is more likely to derive an accurate estimate. Software project estimation can never be an exact science,but a combination of good historical data and systematic techniques can improve estimation accuracy. Software Project Scheduling 软件项目进度安排 Scheduling is the culmination of a planning activity that is a primary component of software management. When combined with estimation methods and risk analysis, scheduling establishes a road map for the project manager. Software Project Scheduling 软件项目进度安排 同意执行一个他本人都认为有缺点的计划的指挥官应该受到谴责。 过于乐观的进度安排并不会缩短实际进度,反而会拖后进度。 完成一个项目的时间与投入该项目的人员工作量之间
文档评论(0)