笔者认为COCOMO II 模型在实际操作中存在一些局限性。首先,COCOMO II 成本估算模型要求根据项目的代码行数得出项目所需的持续时间和工作量,然而在项目早期阶段的代码行评估结果通常难以令人信服。也有软件组织将评估出的功能点规模转换为代码行规模,然后再计算工作量的实践。但软件代码行和功能点的转换表本身就存在较多的不确定性,例如软件系统所处的行业不同、代码效率差异、自动生成代码的比例不同等多种因素均可能会对这种转换关系产生影响。功能点评估结果本身比较客观,如果通过这种对应关系转换反倒使得评估过程对外不透明了。与其人为降低评估过程的透明性和评估结果的准确性,软件组织不如自行建立以功能点作为输入的幂函数模型。
第1章 绪论
1.1 引言
随着我国移动互联网的迅猛发展,截至 2019 年 12 月底,我国移动 4G用户总数达到 12.8 亿,占全部移动电话用户总数的 80.1%,远超全球平均水平,成为全球覆盖最完善的 4G 网络[1]。2019 年是我国 5G 商用的元年,国内5G 商用全面推进,位于全球第一梯队,同时移动互联网用户继续保持低速增长。伴随着 5G 商用的逐步推进,一系列基于 5G 技术的移动应用项目相继落地,相信随着 5G 的全面覆盖,会有越来越多的 5G 移动应用项目上线。
随着移动网络速度越来越快,智能手机性能大幅提升,各种移动应用的涌现,人们使用手机等移动终端的时间越来越多,使用电脑的时间逐渐减少,很多软件公司也纷纷将重心转向互联网,研发各行各业的移动应用,同时也逐渐将原来桌面端的应用移植到手机端。移动应用相比传统桌面端软件在前端方面需要适配更多系统和终端,如最常用的 Android(安卓)和 IOS(苹果)两种系统的手机和平板,并且还要适配手机和平板的各种尺寸的屏幕和功能。另外由于开发 Android 端和 IOS 端移动应用是使用两种不同的开发语言,这意味着一般软件公司需要分别招聘 Android 开发工程师和 IOS 开发工程师,所以移动应用在前端的人力成本和开发成本投入要比传统个人电脑端软件要多。
由于缺乏移动应用领域研发经验,刚转型到移动互联网领域的企业如何有效的管理移动应用项目的成本是这些企业能否成功转型的关键因素之一。而管理成本的关键是如何较为准确的估算移动应用项目的成本。FG 公司是上海地区一家较早进行医疗软件开发的公司,也是上海地区最早从事医疗行业信息系统综合解决方案的提供商之一。随着移动网络和移动医疗技术的不断快速发展,FG 公司也开始将企业发展的重心从桌面医疗软件转移到移动医疗软件领域,研发移动医疗相关应用。FG 公司目前也存在着因为移动应用项目研发和管理经验不足,多个移动应用项目因为成本管理不善和成本估算不准确,造成项目成本超支,公司利润受损。FG 公司迫切的需要一套适合移动应用项目的成本估算方法和管理方案。
..........................
1.2 国内外研究现状
1.2.1 软件项目成本估算研究现状
对于软件项目成本估算,国外对软件项目成本估算模型研究比较早,从20 世纪 60 年代开始国外学者就开始了对软件成本估算模型的研究。在 20 世纪 90 年代以前,软件项目成本估算准确度并不高,因为当时采用估算模型过于注重从参数角度得出成本估算公式和估算模型规则。20 世纪 90 年代后成本估算模型得到长足发展,估算的精度不断提高。这主要得益于项目案例推理、数据分析、数据挖掘和统计分析等技术的发展,利用这些最新的技术对海量历史项目数据进行挖掘和统计,大幅提高了成本估算模型的精度。
国外在软件成本领域较为成熟的估算模型有:An 等[4]提出案例推理成本估算模型,这个估算模型基于层次分析法,但主观性较强,总的来说是基于专家经验。1981 年 COCOMO 由 Barry Boehm 博士在其著名作品《软件工程经济学》中提出。COCOMO 的英文全称为 Constructive Cost Model,中文为构造性成本模型[2]。这个估算模型后来被称为 COCOMO 81。1997 年 Barry Boehm 博士在 COCOMO 81 估算模型的基础上开始研究更适合现代软件估算的模型也就是后来的 COCOMO II,可以说 COCOMO II 是 COCOMO 的继承者并做了大量的改进。Barry Boehm 博士也被称为 COCOMO 模型之父。Khalifelu 等[5]提出在软件项目成本估算中使用数据挖掘技术等。就使用广泛性来说 COCOMO 成本估算模型是世界上应用范围最广的。笔者罗列了部分国外比较成熟的软件成本估算模型,详见下表 1-1。
表 1-1 国外部分软件成本方面的估算模型
..........................
第2章 相关文献和理论综述
2.1 项目成本及软件成本的概念
关于项目成本的概念,存在不同的看法。在管理会计学把成本作为达到某个目标而牺牲的资源。而在财务会计学中,成本却是为了取得资产所付出的代价。马克思则认为成本是为了获得特定产品,在生产过程中发生的人力、物力和财力的耗费[4]。上面三种成本的定义,都说到了成本是资源的耗费,这种资源的耗费可以用货币来表现。综合来说,我们可以这样定义项目成本:项目成本是一种货币体现,是为完成特定项目目标所消耗的资源总和。
在经济学领域中,软件成本体现了软件产品开发过程中产生的各种花费。 它是原材料,设备,电力,折旧,人工费用,管理费用,财务费用和其他费用的总和[5]。通常一般的软件项目成本主要有五方面组成[7]:
(1) 人员费用。在软件开发项目中一般项目组的工资成本占比最大。项目组的人员包括研发工程师、需求分析师、UI 界面设计师、测试工程师、项目实施工程师、项目经理等。这些人员的工资标准也不同
(2) 软硬件费用。项目组成员需要使用个人计算机、网络设备、各种软件和服务器等。尽管这部分成本可以用作固定资产,但由于技术贬值过快,因此在软件开发中需要分摊一部分成本。
(3) 通信费和住宿差旅费。项目组成员和客户沟通所花费的通信费,一些外地或者较远的客户有时候还需要出差住宿,因此会产生差旅费。
(4) 咨询、外包和外购费用。当公司需要对外采购或者将项目中某一部分外包给其他公司开发时,会发生这些费用,另外有时候需要技术咨询费用。
(5) 培训费和材料费。由于新技术和新硬件的不断出现,公司需要采购新的培训材料,并安排项目组成员接受培训。这可能需要聘请专家、购买培训资料和租用培训场所。
.....................
2.2 软件项目成本管理的过程
项目成本管理是管理项目的各种过程,以确保在项目进行过程中,在既定的成本预算范围内尽最大努力实现项目目标。
在《项目管理知识体系指南》(Project Management Body Of Knowledge)中,将项目管理的基本过程定义为五个阶段,分别为启动、计划、执行、控制、收尾[9]。项目成本管理的过程包括:编制资源计划、估算、预算和控制四个过程,如下表 2-1 所示。
表 2-1 成本管理过程
资源计划编制基于项目管理计划、项目章程、公司提供的资源等通过专家判断和分析,对每项需要完成的工作所需的资源和数量做出预估,通过会议的充分讨论之后制订详细资源需求清单。
对软件项目来说,成本估算通常包含软件规模估算、软件工作量估算和软件进度估算,这三级估算会转化为软件成本估算。图 2-1 是一个简单的成本估算模型,它表示了项目成本和软件规模、计划工作量、项目进度这三者之间的关系。根据软件需求规格说明书进行规模估算,按项目情况及客户提出的进度要求进行进度估算,综合项目其他情况进行工作量估算,最后进行成本估算。
.......................
第3章 FG 公司 APP 项目成本管理现状分析..................30
3.1 FG 公司 APP 项目成本管理现状..................30
3.1.1 FG 公司组织架构介绍..................30
3.1.2 FG 公司成本构成..................30
第4章 FG 公司 APP 项目成本管理优化..................35
4.1 公司组织机构调整..................35
4.2 成本管理流程调整..................35
第5章 FG 公司 APP 项目成本管理应用实践..................38
5.1 项目介绍
5.2 项目资源计划编制...............................38
第5章 FG 公司 APP 项目成本管理应用实践
5.1 项目介绍
上海市某大型三甲医院始建于 1910 年,截止至 2020 年 12 月 31 日,拥有 45 个临床科室,职工 3000 多人,开放床位数 1860 张,出院患者 11 万人次,手术达 7 万人次[10]。随着门急诊患者、住院患者、手术患者的日益增多,对医院信息化实时性、便捷性和准确性的要求越来越高,医院原有的基于手工和 PC 端的审批、监控、查询、提醒、上报等功能已经不能满足信息化的要求,在这种情况下该院委托 FG 公司定制开发基于移动端的全院医政管理系统。希望为医务管理者、医护人员提供一个高效、实时、动态的人性化、友好的移动工作平台,提升医院的医疗业务应用效率与医疗管理质量。
全院医政管理系统以智能手机终端为载体,借助移动技术,支持 Android、IOS 操作系统,满足医院管理部门、临床科室不同层面的信息需求,通过后台角色权限管理为不同的用户动态配置不同功能。 全院医政管理系统第一期计划开发的功能模块包含:住院患者管理、危急值管理、医务台账管理、住院病历质控、住院病历借阅、全院多科室大会诊、特殊用血审批、抗生素审批、患者手术排班、手术实时监控与审批、VTE(静脉血栓栓塞症)评估统计、主动上报(不良事件)管理、医疗安全记分、医学资讯、消息通知等 20 个功能模块,建造了一个可扩展的、可维护的、健壮的、安全可靠的移动应用。
........................
第6章 总结与展望
6.1 总结
本文以 FG 公司移动应用项目成本管理为切入点,回顾了项目成本及软件项目成本的概念、成本管理的过程和方法原理,通过查阅国内外的文献总结了国内外对移动应用项目成本管理的研究的现状,介绍了软件成本估算的常用方法,着重介绍了目前在软件领域中应用最为广泛的 COCOMO II 成本估算模型的优缺点、估算方法和估算流程。
然后以 FG 公司移动应用项目为例,详细分析了成本管理过程中存在的问题,针对存在的问题,优化了 FG 公司成本管理的流程并创新性的将COCOMO II 成本估算模型引入到 FG 公司成本管理流程中。在使用 COCOMO II 成本估算模型估算项目成本时根据移动应用项目的特点增加了安全约束和终端适配两个新的成本驱动因子,使估算模型更加适用于移动应用,为以后其他移动应用项目的估算提供了重要参考。通过更准确的成本估算为后续成本预算和成本控制打下坚实的基础,从而降低移动应用项目总成本,为 FG公司创造了更多的利润。
最后以 FG 公司一个新的移动应用项目为实践,对整个成本管理流程进行检验、完善和总结,为今后国内其他移动应用项目的成本估算和管理提供了一定的参考。
参考文献(略)