平台建设预算-系统开发成本分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
平台建设预算
一、服务器成本
1.服务器带宽
网络带宽M=并发数S*每用户宽带P
并发数S=用户总数U*同时使用系数λ
设定每个页面大小为200KB(计0.2MB),要求保证用户两秒打开页面,即单个用户所需带宽为0.1MB,预计最大支撑100并发数,得
M=S*P=0.1*100=10M
即为保证100并发数所需网络带宽为10M
设定同时使用系数为0.001,得
U=S/λ=10/0.001=100000用户
即每千用户有一个用户在同时操作时可支撑10万用户
根据网民在线习惯,建立用户在线时长模型,近似标准正态分布,简化为线性图表
计算得日均在线时长为28800秒(即这么长的时间内每秒都有用户访问)
在此条件下,可实现日均PV(页面访问量)=并发数*28800=288万
选定服务器带宽为10Mbps
2.硬件
平台设计功能点较多(下附),需消耗较多系统资源,选用硬件配置清单为
CPU:2核,内存2G,硬盘100G
考虑到后期平台发展,为实现数据热迁移、CDN加速和负载均衡,保证平台不崩溃,选用弹性云服务器。
以上各项资源累计所需成本为9800元/年
二、程序设计
参照《软件开发和服务项目价格构成及评估方法》,以及,目前国际上通行的也比较科学的
估算方法,建立一下估算模型。
1.Putnam 模型
1978年Putnam提出的,一种动态多变量模型。
L = Ck * K1/3 * td4/3
其中: L-----------源代码行数(以LOC计)
K-----------整个开发过程所花费的工作量(以人月计)
td-----------开发持续时间(以月计)
Ck----------技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异,见下表
可以得到估算工作量: K = L3/(Ck3*td4)
页面平均代码行数为1500行,预计50个页面(不包含CSS、JS等资源),估算代码总行数为7.5万
取Ck=11000,开发时间为6周,即td=1.5
代入得K=750003/(110003*1.54)=63
即需要63人工作一个月的工作量,以每人每月3000元计,则需要18.9万元
即7.5万行代码需要18.9万元,反代入得每行代码需要2.52元,开发人员每月编写1200行代码,契合算法。
2.COCOMO模型(constructive cost model)
这是由TRW公司开发,Boehm提出的结构化成本估算模型。是一种精确的、易于使用的成本估算方法。
COCOMO模型中用到以下变量:
DSI-------源指令条数。不包括注释。1KDSI = 1000DSI。
MM-------开发工作量(以人月计)
TDEV-----开发进度。(以月计)
COCOMO模型中,考虑开发环境,软件开发项目的类型可以分为3种:
1.组织型(organic): 相对较小、较简单的软件项目。开发人员对开发目标理解比较充
分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大(<50000行)
2.嵌入型(embedded): 要求在紧密联系的硬件、软件和操作的限制条件下运行,通常
与某种复杂的硬件设备紧密结合在一起。对接口,数据结构,算法的要求高。软件规模任意。如大而复杂的事务处理系统,大型/超大型操作系统,航天用控制系统,大型指挥系统等。
3.半独立型(semidetached):介于上述两种软件之间。规模和复杂度都属于中等或
更高。最大可达30万行。
估算公式:
基本COCOMO模型估算工作量和进度的公式如下
工作量:MM = r*(KDSI)c
进度:TDKV = a(MM)b
其中经验常数 r, c, a, b 取决于项目的总体类型。
COCOMO模型按其详细程度可以分为三级:基本COCOMO模型,中间COCOMO模型,详细COCOMO 模型。其中基本COCOMO模型是是一个静态单变量模型,它用一个以已估算出来的原代码行数(LOC)为自变量的经验函数计算软件开发工作量。中级COCOMO模型在基本COCOMO模型的基础上,再用涉及产品、硬件、人员、项目等方面的影响因素调整工作量的估算。详细COCOMO 模型包括中间COCOMO模型的所有特性,但更进一步考虑了软件工程中每一步骤(如分析、设计)的影响。
基本COCOMO模型
通过统计63个历史项目的历史数据,得到如下计算公式。
对应我方项目工程,属于半独立型,则
MM = 3.0*(KDSI)1.12
源指令条数DSI=75000 即KDSI=75
代入得MM=377,TDKV=10.5(377)0.35 =84
即需要84人工作一个月的工作量,以每人每月3000元计,需要25.2万元
即7.5万行代码需要25.2万元,反代入得每行代码需要3.36元,开发人员每月编写900行代码,契合算法。
3.功能点模型
系统开发费D=工作量(人月)*系统人员月人工费用
=(项目功能点*开发成本系数/1.5/22)*B
开发成本系数:3000个功能以下3.5人工时/FP-4.0人工时/FP
3000-8000个功能以下4.0人工时/FP-4.5人工时/FP
系统开发费用指对项目进行详细需求分析,系统设计,编码,测试等方面的工作而需支出的费用,取费主要依据项目规模(功能点),开发成本系数和系统人员月人工费,根据对系统的功能进行分析:系统项目难度较高,按照系统规模的大小,我们设定系统开发成本系数为复杂加权因子表(Complexity weights Factor)
系数范围采用系数
用户输入数EI 3-6 4
用户输出数EO 4-7 5
用户查询表EQ 3-6 5
内部逻辑文件数ILF 7-15 12
外部接口文件数EIF 5-10 6