首页 Web系统软件开发项目的成本估算模型

Web系统软件开发项目的成本估算模型

举报
开通vip

Web系统软件开发项目的成本估算模型 2007年 8月 August 2007 计 算 机 工 程 Computer Engineering 第 33 第 16期 Vol 卷 .33 No.16 ·开发研究与设计技术· 文章编号:1000—3428(2007)16—0274—03 文献标识码:A 中图分类号:TP311.5 Web系统软件开发项目的成本估算模型 李虎雄1,李虎俊2 (1. 温州大...

Web系统软件开发项目的成本估算模型
2007年 8月 August 2007 计 算 机 工 程 Computer Engineering 第 33 第 16期 Vol 卷 .33 No.16 ·开发研究与 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 技术· 文章编号:1000—3428(2007)16—0274—03 文献标识码:A 中图分类号:TP311.5 Web系统软件开发项目的成本估算模型 李虎雄1,李虎俊2 (1. 温州大学计算机科学与工程学院,温州 325027;2. 湖北职业技术学院计算机学院,孝感 432100) 摘 要:常用的软件成本估算 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 具有很多不确定因素,很难准确地估算出软件开发所需成本,且不易被用户接受。该文分析了常用软件 成本估算模型的估算方法,提出了一种新的Web系统软件开发项目成本估算模型——人天评估模型,抛开了复杂代码、功能点和技术难度 的估算,根据估算出的不同层次技术人员所需的人天数和市场工资水平估算软件项目的成本。 关键词:软件成本;人天数;开发项目;模型;估算 Cost Estimation Model for Web System Software Development Item LI Hu-xiong1, LI Hu-jun2 (1. School of Computer Science & Engineering, Wenzhou University, Wenzhou 325027; 2. School of Computer, Hubei Vocational & Technical College, Xiaogan 432100) 【Abstract】 Since most estimation methods are based on the number of software codes, the function of software and the difficulty of software can not be computed exactly because of many uncertain factors, whice can not be accepted by customers easily. This paper analyses the software cost estimation method and puts forward a new software cost estimation method of Web system development——man/day estimation method, which computes the software cost by estimating the man/day of different level technicians and market level of wages without estimating complex codes, function and technical difficulty. 【Key words】software cost; man/day; development item; model; estimation 随着软件技术的发展,软件功能日益强大,结构日益复 杂 难 程 以 提 的 功 心 据 个 系 页 时 算 策 量 人 包 会 员 1 确 比 假设测试费用E1与测试的时间T成正比,则 ( )1 1E T CT= 。其中, — ,软件在开发、测试、维护过程中成本的估算也越来越困 。建立一套有效的软件开发项目成本估算模型,对开发过 中成本的控制、优化资源的配置具有很大的作用,不仅可 减少软件的开发和维护成本,还可以优化部门的资源配置, 高工作效率。软件成本估算是对将要开发的软件项目所需 工作量、风险费用、工作进度作出预测,主要参考软件的 能点、源代码行数、软件开发的风险、软件技术难度等。 在实际开发过程中, 软件开发项目分为核心部分和非核 部分。核心部分主要是随项目变化比较大的业务模块和数 库接口部分;非核心部分是软件中通用的功能部分,即每 项目中都会用到的部分,如登录/登出模块、用户管理模块、 统管理、日志模块、时间管理、邮件模块、文件上传模块、 面显示等。软件开发公司在核定某个软件开发项目的报价 ,通常采用“人天预估”和“附加利润”的方式为客户计 开发费用。这种项目计算模型只考虑“人天预估”部分的 略,只能粗略计算出某个项目所需的人工时。人天预估数 的依据有很多,但最主要的是任务的工作量,其直接影响 天预估值。为了最大限度地盈利和规避项目风险,软件外 商会尽量虚报人天数目;为了节省项目开支,软件开发商 尽量在项目中少使用高层次技术人员,多使用普通技术人 。这给人天预估带来了很大的问题。 常用的软件成本估算方法 (1)软件的设计与开发费用。这些费用在开始阶段就已经 定,定为一个常数E0。 (2)软件的测试费用。在开始测试阶段,故障出现的密度 较高,确定故障的位置、排除故障都需要花费较长的时间, C1为测试费用系数,可根据以往软件项目测试费用的经验值 得到。 (3)软件运行期的维护费用。在维护阶段排除故障的费用 与在时间隔[T, T+TW]内排除所有检测到的故障所需的时间 成正比。假设运行期的维护费用为E2,则 2 2 1 n i i E C T = = ∑ 。其中, i为在时间间隔[T, T+TW]内故障次数;Ti为排除第i次故障所需 的时间;C2为维护费用系数,是一个经验值。 (4)在软件运行期间由于软件失效产生的风险费用。已有 的软件费用模型中,因软件失效而给用户带来风险损失的模 型很少。对软件风险费用的计算与软件的应用目标相关,该 值可能很大也可能很小,且通常无法预期软件的使用时限。 从最坏的情况考虑,可以认为软件中潜伏的任何软件失效, 都会给用户造成损失,并且假设每个软件失效给用户带来的 损失都是相同的,假设风险费用为E3,则 3 3E C N= 。其中, C3 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示经验风险值;N为软件失效次数,它与软件的使用时 限TW成正比[1]。 由此得出估算公式: 0 1 2 3 1 n i i E E C T C T C N = = + + +∑ 2 2种不同开发类项目的人天评估 2.1 新开发类项目的人天评估 在供应商提供的新开发类项目的方案建议书中, 固定消 作者简介:李虎雄(1971-),男,实验师,主研方向:网络平台的开 发与研究;李虎俊,副教授 收稿日期:2006-09-02 E-mail:jsj_lhx@wznc.zj.cn 274— 耗的角色和任务数量已确定。总体上,角色决定人数,任务 数量决定天数,所以,工作任务的人天数目是可以确定的, 规范的软件外包企业可以给出其精确数目,但顾及自身利益 和管理能力,实际中不会或不可能将人天数提供给用户。有 效的做法是通过多家供应商的竞标消除信息的不对称。这也 是常用的消除评估误差的有效手段。对于时间要求比较苛刻 的项目,如结束时间固定的项目,评估的策略就不同了。如 果时间是固定的,人天估算的精度要求就要更高。为了保证 项目成功,必须精确估算,这对开发人员的要求也就更高。 因此,建议找长期合作的经过验证的供应商提供高效的外包。 当然,评估的依据主要是对人员的评估。 2.2 变更类项目的人天评估 变更类项目是对已有的系统进行变更和维护的项目,其 特点是: (1)老问题。因为没有介入旧系统开发,所以无法确定旧 开发商的人天预估策略。但是旧供应商天然的技术优势造成 技术垄断,极可能导致漫天要价。 (2)新矛盾。引入新供应商也很容易因为技术壁垒导致失 败。因此,引入新的供应商和继续沿用旧的供应商都没有有 效评估依据手段。 可以通过引入新供应商,获取可能的价格优势来消除旧 供应商的技术优势,避免陷入被动。因此,必须尽早引入新 的替代供应商,让他尽快熟悉系统以摆脱旧供应商。在没有 技术评估的背景下,根本无法明确需要的角色和工作量,而 引入新的供应商就是对所作的人天评估最有效的验证。 3 Web系统软件开发项目人天评估模型的建立 3.1 人天评估模型的分析 现有的很多软件成本模型都是以软件代码的多少和技术 难度的高低来计算软件的成本。但是,同一件事情由不同的 人做,成本也不一样,这给软件成本的计算带来很多不确定 因素。因为现在软件成本主要是人工费,Web 系统软件开发 项目人天评估模型并未考虑软件代码的多少与软件技术难 度,而主要估算需要多少人员和天数来计算软件的成本。 建立人天评估模型的过程其实是一个开发仿真的过程。 假设自己就是供应商,在目前的Web系统开发模型的基础上, 很容易确定人天评估模型。其他的开发模型同理可知,不同 的项目开发模型都在此模型的基础上进行裁剪。现在以一个 典型的中小项目软件开发为案例来介绍人天评估模型。为了 完成项目,必须满足一定的人员配置。 图 1 为中小项目软件开发小组所需的基本人员配备情 况,遵循 2-8原则[2]。 6% 6% 6% 13% 32% 31% 6% 项目经理 架构设计师 高级开发人员 中级开发人员 初级开发人员 软件测试人员 QA人员 图 1 中小项目人员配备情况 对于无须外购的项目,开发商会给出便宜的报价。固定 成本主要包括人员工资、办公费用、机器费用和其他补贴等, 其中,最主要的是人员工资。Java开发项目涉及人员的平均 工资如表 1[3]所示。 表 1 Web软件开发人员的工资情况 等级 平均价格/元 人员界定 初级 Java开发 3 000 1年~2年开发 中级 Java开发 5 000 2年~4年开发 高级 Java开发 7 000 4年以上开发 初级软件测试 2 000 1年以上测试 软件测试 3 000 2年以上测试 项目管理经理 8 500 5年以上开发,具备大型管理经验 架构设计师 8 500 开发 5 年以上,大型项目实施,具备核心技能 3.2 新开发类项目的人天评估模型 新开发类项目的人天评估模型由人天估算固定成本、人 天估算变动成本和额外利润组成,即 人天估算软件成本=人天估算固定成本+人天估算变动 成本+额外利润 3.2.1 人天估算固定成本 首先是开发人员是否具备开发这个项目所需的技能。如 果没有能力但又很想做这个项目,要么外购软件,要么外购 人员。这 2 个方案都带来固定成本,并要最终计算到项目的 报价中。反之,如果无须外购,开发商会给出较低的报价。 缺少必要的角色,项目的开展必然会出现问题,即供应商在 项目开发中的人员配置存在不合理性。对于开发外包类软件 的开发项目,需要扣除客户自己所提供的人员费用。人天估 算因定成本为 。其中,E代表人天估算因定成本; P 7 1 ( i i i E P W = = ×∑ ) i代表不同级别技术人员工资水平;Wi代表不同级别技术人 员工作的天数。 3.2.2 变动成本 变动成本主要是功能用例部分的成本。 建立项目开发的 基本人员配置之后,变动的工作量部分主要由“初级开发人 员”和“初级测试人员”完成,有时候二者是同一批人。按 照方案建议书产生的工作分解和人员分解主要体现在“初级 开发人员”和“初级测试人员”的工作分配上[4]。所以,项 目的人天估算其实是按照功能划分的功能用例数目和按照初 级开发人员及测试人员的工作效率计算得出的结果。即 人天估算变动成本=项目功能用例数目×初级人员开发 效率 3.2.3 额外利润 额外利润作为人天估算费用的必要部分,是必须存在的 利润部分,也是和客户商务谈判的底线,一般是占报价的一 定的比例,毛利润一般达到 200%~300%。 3.3 变更类项目人天评估模型的提出 变更类型项目的本质是将项目变更所带来的工作交给 “初级开发人员”完成,所以,人天评估取决于需要变更的 功能用例数量;后期变更作为前期项目的延续,为了保证利 润,一般使用初级开发人员以提高人天数量。在确定了功能 用例数量后,按照初级开发人员的工作量估算得出得人天数 目会偏高;作为客户,则假设供应商使用有经验的开发人员, 得出的结果会偏低,因此,实际的人天数目应该是二者的加 权和,即 变更项目的实际人天估算=(供应商报价的人天估算·x+ 客户自己的估算·(1-x))·估算误差补偿 其中,x为 0~1内取值的加权值,不同的供应商可以设立不同 权值。估算误差补偿是在预算允许范围内的商务浮动部分。x 的取值来自高级人员的比例,经验数据是 55%[5],因此,对 于新的供应商建议x=0.55。 —275— 4 模型的分析与应用 通过分析 Web系统的多层开发模型,本文建立了用于软 件开发项目的人天估算模型。在具体的项目中,通过划分项 目的类型(新开发类项目和变更类),在扣除固定成本的基础 上,针对初级开发人员的开发效率和业务需求的功能点的数 量可以得出变动成本的具体人天数。额外利润是商务谈判的 参考底线,不是本文估算的重点。固定成本的人天估算主要 来自项目经理、架构设计师和高级开发人员,他们对于新开 发类项目的贡献超过 55%,对于变更类项目的贡献小于 5%。 固定成本对于不同的供应商只有单价的差异,人天数目基本 一样。一个中小项目中各角色的实际经验人天贡献数据见 图 2。 高级技能 55% 20% 质量管理 25% 高级技能 初级技能 质量管理 初级技能 图 2 项目人员贡献比例 变动成本的人天估算主要来自于初级技能人员,包括开 发和测试人员。在新开发项目中,他们对项目的贡献小于 45%;在变更类项目中,他们的贡献达到 95%。变动成本单 价基本相同(初级技能人员),但是人天数目不同。估算时按 照需求功能点和初级人员效率推算工作量。 初级人员的工作 效率可以通过与供应商沟通或者项目的历史经验数据得出。 具体数据在图 3中得到了很好的对比。 额外利润占总体成本(固定成本+变动成本)的比例,估 算时可以根据历史数据得出,并需要根据实际数据不断调整。 根据数据的分析可知,本文的固定成本就是高级开发人员所 带来的成本消耗。通过对历史项目数据的分析可以发现目前 供应商的人天分配比例和实际数据的误差,这些数据能有效 支持模型的精度。 0 10 20 30 40 50 60 70 80 90 100 新开发类项目 变更类项目 高级技能人员 初级技能人员 技能 人员 贡献 /% 图 3 不同项目初级与高级技术人员的贡献数据对比 5 结束语 虽然COCOMO已经是一个很完善的软件成本估算模型, 但是在国内的软件行业很少有软件开发商来用这个模型估算 软件项目开发成本。大多数的软件开发商都采用人天评估的 方法来计算软件项目的开发成本。但由于没有统一的标准, 因此对于同一个软件开发项目,不同的开发商之间报价有很 大的差异,用户也无法判断开发商报价的合理性,而 Web系 统软件开发项目成本估算模型为开发商和用户提供了一个很 好估算模型。 参考文献 1 刘杰生, 软件成本估算方法与技术现状探讨[J]. 舰船电子工程, 2000, (4): 13-16. 2 Pham H, Zhang X M. A Software Cost Model with Warranty and Risk Costs[J]. IEEE Transactions on Computer, 1999, 48(1): 71-75. 3 朱 鸿, 金凌紫. 软件质量保障与测试[M]. 北京: 科学出版社, 1997. 4 Boehm B. Software Engineering Economics[M]. Prentice Hall, 1981. 5 孙 铮, 王鸿祥. 财务 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 分析[M]. 北京: 企业管理出版社, 1997: 130-142. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (上接第 273页) (2)系统控制:基于多文档窗体(multi-document interface, MDI)的菜单控制; (3)系统屏幕显示分辨率:800×600。 图 3 人机接口主界面 专家或输入专家知识的专业人员登录后,方可进行后续 操作。知识的获取包括普通诊断知识录入、累积症状知识录 入及治疗知识录入 3个部分,从而完成知识获取的工作。交 互界面中还包含这 3个方面知识的相关查询项。 6 结论 本文利用面向对象的系统开发思想,设计并实现了一种 医疗辅助诊断系统。具体介绍了该系统的知识表示、知识获 取、推理机实现、数据管理以及人机交互界面。该系统将知 识库与推理机分离,使得该系统在医疗辅助诊断领域具有通 用性。后期的工作是将系统升级为分布式或并行专家系统。 参考文献 1 王永庆. 人工智能原理与方法[M]. 西安: 西安交通大学出版社, 2003. 2 张 华, 王崇骏, 叶玉坤, 等. SARSES:SARS医疗辅助诊断专家 系统的设计和实现[J]. 计算机工程与应用, 2004, 40(18): 227. 3 陈再旺, 陈景长. 一个医疗辅助诊断专家系统的设计与实现[J]. 计算机系统应用, 2001, (12): 50-52. 4 Minsky M. A Framework for Representing Knowledge[M]//The Psychology of Computer Vision. New York: McGraw-Hill, 1975: 211-277. —276—
本文档为【Web系统软件开发项目的成本估算模型】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_237741
暂无简介~
格式:pdf
大小:325KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2013-11-25
浏览量:50