软件开发项目概算指南
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发项目概算指南
目录
1前言 (2)
1.1 目的 (2)
1.2 软件项目建设类别 (2)
1.3 适用范围 (2)
1.4 名词解释 (3)
2软件项目费用概算 (4)
2.1 软件项目阶段 (4)
2.1.1立项阶段 (4)
2.1.2 建设阶段 (4)
2.1.3 完成阶段 (4)
2.2 各阶段项目费用构成 (4)
2.3 项目费用概算 (5)
2.4 需求变更估算 (6)
3各项费用取费依据 (7)
3.1 咨询费 (7)
3.2 建设费 (8)
3.2.1 开发费 (8)
3.2.2 实施费 (8)
3.2.3 运行维护费 (9)
3.3 服务费 (10)
3.3.1 验收测试费 (10)
3.3.2 工程监理费 (12)
3.3.3 数据处理费 (14)
3.4 附加费 (14)
4软件项目规模功能点估算方法 (14)
4.1 功能点估算流程 (15)
4.2 功能点分析的要素 (15)
4.3 功能点计算(初步值UFC) (16)
4.4 确定技术复杂度因子TCF (17)
4.5 计算调节后的功能点数FP (18)
5软件行业人月成本估算方法 (18)
6开发商软件项目建设能力评估 (20)
7实际案例分析 (21)
8其他事项 (22)
8.1 最终合同金额确定 (22)
8.2 付款方式 (22)
8.3 评估机构 (22)
参考文献 (23)
1前言
1.1 目的
规范软件市场行为,维护价格公平竞争,同时为软件项目建设经费概算提供科学可信的依据。
1.2 软件项目建设类别
软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同时由于开发工具和操作系统平台的可选择性,软件项目出现了多样化的趋势。同样是软件项目,完成途径和开发手段不同,其费用也会存在很大差异。不同类别的软件项目,其费用构成和概算方法也不同。根据项目建设要求和方式,一般分为以下几类:新开发项目:从项目的需求分析开始直至产品完成正式交付使用,其工作覆盖软件产品的分析、设计、测试、实施、运行维护各阶段。
二次开发:在现有产品的基础上进行提升和改造。
软件移植:已有产品从一个操作系统平台转移到另一个操作系统平台,或者从原来的运行环境切换到另一个新的运行环境所需要进行的调整
和变动。
产品集成:将多个现有软件产品构件整合在一起,组装成比较复杂的或者更加完整的产品。
1.3 适用范围
本指南适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过程(包括立项可行性分析,需求分析、编码实现、安装实施、运行维护各个阶段工作)。
本指南是站在行业的角度,去评估一个应用软件开发项目的开发费用应该是多少,而不是站在开发商的角度去计算某企业开发软件时的成本支出是多少。虽然这两者之间会有关联。
对于同一软件开发项目,不同的开发商由于各自的技术、能力、管理、积累以及其他方面的因素,其实际成本支出会有较大差异。而这不在本指南考虑之内。
1.4 名词解释
应用软件:是指针对特定领域开发,为特定目的服务的一类软件。
软件开发:指从软件项目启动到项目实施前这一时间段的工作。其内容包括详细设计、编码、测试、系统调试等方面的工作。
系统实施:指软件项目开发完毕进行安装到项目正式验收这一时间段的工作。其内容包括系统安装、个性化配置、用户培训等方面的工作,但不包括各实施点
的本地化开发工作。
运行维护:指从软件项目正式验收到合同规定的一年项目维护期结束的这一时间段的工作。其内容包括在此期间所需要提供的原系统完善性修改和服务等工作
(不包括新增需求和原功能的重大变更)。
验收测试:确定项目是否符合其验收准则,使客户能确定是否接收此项目的正式测试。功能点(FP):功能点是对软件功能和大小的间接度量单位,一般通过必须和用户交互的情况的数目来测算程序工作量的大小。功能点分析法是目前国际上软
件行业普遍接受的软件项目规模度量模型。
成本系数:成本系数是指完成某个功能点(FP)的规定活动所需要投入的人工时,其单位为:人工时/FP。根据软件项目建设过程的各阶段工作,可分为:开
发成本系数、实施成本系数、维护成本系数。
工作量:工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人月”。人月成本:指软件企业一个月平均需要的所有开销(包括员工成本、国家税收、企业利润、管理成本和质量成本等)摊分到各个员工头上的金额。
平均工资:指软件企业支付给所有员工的工资总和除以企业员工人数得到的工资数。
2软件项目费用概算
2.1 软件项目阶段
为保证软件项目开发质量,避免因需求不确定,或者频繁更改所造成的成本上升,同时也利于项目费用概算,软件项目建设最好采取“总体规划、分段实施”的原则。
软件项目全过程可分为:立项阶段、建设阶段、完成阶段。不同阶段工作重点不同,而监理可以是全过程监理,也可在某一阶段介入。
2.1.1立项阶段
可委托专业技术咨询机构或者专家进行项目的可行性分析,需求分析;根据需求分析,进行系统设计;根据需求分析、系统设计,计算工作量,估算项目建设费(预算);根据项目概算进行招投标,确定软件开发商,签定建设合同。
2.1.2 建设阶段
由软件开发商根据前期需求分析和系统设计,进行编码实现,并负责安装实施、运行维护等工作。项目实施完毕,一般需委托第三方测试机构进行验收测试。
2.1.3 完成阶段
项目完成后,在需求变更较大的情形下,可委托专业技术机构根据实际工作量估算项目建设费(决算),项目结束。
2.2 各阶段项目费用构成
软件项目工作内容可分为:咨询、设计、估价、开发、实施、验收、维护,此外还有监理。其中完成各项工作并需要费用的主体有:咨询机构(或者专家)、软件开发商、第三方测试机构、监理单位。我们用一个二维表来表示主体、工作内容和项目费用的对应关系,如下表所示。