赵 越 ,周大鹏 ,姜子南
(1. 辽宁江河水利水电新技术设计研究院有限公司,辽宁 沈阳 110003;2. 辽宁省水利水电科学研究院,辽宁 沈阳 110003;3. 辽宁省水利工程质量与安全监督中心站,辽宁 沈阳 110003)
信息化在社会上的各个领域广泛应用,市场需求迅猛,成为当今发展最快的重点学科之一。随着物联网、云计算、大数据、虚拟化、搜索引擎等新兴信息技术的成熟快速发展[1–2],水利整体行业发展对信息化的需求在逐年加大,信息化系统建设在现代水利建设管理中有着举足轻重的地位,具有实时性强、信息量大、跨度大、来源广、种类多、关联性强等特点,充分应用现代信息技术,开发、挖掘、利用各类资源信息,完成采集、通讯、存储、处理、整编、发布等信息系统管理目标。水利信息化系统建设过程中硬件产品的管理支撑是基础,软件开发和应用是关键,在防汛抗旱、山洪灾害防治、水保监测、移民评估、水资源监控、水文预报与调度等多个方面发挥了重大作用,但软件系统的开发费用的定价一直是供需双方争论的问题,由于不同人员智力成本和主观因素的存在[3],导致了不同知识背景和工作经验的人会有不同的观点,难以形成普遍认可的量化标准,因此亟需开展水利信息化软件成本的测算研究。
水利信息化软件紧密结合水利工作开展管家式的服务,从项目立项到运行直至验收的整个周期,主要包括用户需求分析、可行性分析、概要设计、详细设计、代码编写、集成、测试、安装、运行及验收、维护等多个阶段,软件生命周期如图 1 所示。一般每个项目都是一个单独的订单,根据不同水利用户的需求进行软件定制,体现在查询、实时采集、动态分析、成果显示、会商管理等诸多功能。
图 1 软件生命周期结构图
水利信息化软件成本是指在生命周期内各个阶段所消耗资源的成本总和,即项目支出,包括直接成本、间接成本和毛利润[4],费用构成如图 2 所示。水利信息化软件开发前,对水利项目规模和进度进行估算是十分必要的,但水利软件自身的复杂性、估算工具缺乏、人员经验少等实际问题,通常会导致项目成本估算与实际相差加大。如果成本估算太高和工期太长,会严重浪费公司的人力资源和成本;如果成本估算太低和工期太短,会导致项目预算超支和工期超期等不良后果。成功的软件开发意味着按时、按预算地交付符合用户和组织需求的信息系统。从国内外软件项目的开发经验来看,软件成本估算是软件开发管理控制过程中的关键因素。
图 2 软件开发费用构成
水利信息系统软件受到业务需求、功能变化、开发时间、资源、网络安全等因素影响。合理的软件测算是软件项目成功实施的基础。软件成本测算包括类比法、专家判断法、功能点分析法、COCOMO 模型法、BP 算法等多种方法[5],不同的测算方法对于软件成本有着千差万别的变化,针对不同的软件开发需求实施不同的测算方案。
1)类比法。假设待开发与已开发软件技术难度、团队的开发能力、业务功能相似,前提条件是存在共同点或相似点,可运用类比推理形式进行成本测算。此种方法简单易行,在项目初期信息量不足时使用。
2)专家判断法。邀请专家对应用领域、开发技术和环境进行软件工程量的估算,确定项目成本[6]。计算的精确度取决于专家对软件项目的理解能力和主观性,掺杂了生产率的数据,易造成估算结果的差异较大,适用于准备开发阶段。
3)功能点法。功能点数是多个测量参数(用户输入数、用户输出数、用户查询数、文件数、外部接口数)的功能点之和,其好处在于实现对估算规模的定量分析。目前应用比较广泛的是国际功能点用户组(IFPUG)发布的标准功能点法和荷兰软件度量协会(NESMA)发布的快速功能点法。
4)COCOMO 模型法。利用历史和现状中的某些特征参数,运用回归分析,建立数学模型预测项目成本[7]。此种方法过分依赖于历史项目的数据,如果有详细的历史数据和成本影响因子参数可以利用,估算结果相对准确。
综上分析,如何将软件开发过程从定性分析转到定量分析,结合功能点进行规模的估算,基于基准数据引入调整因子,功能点规模与业务复杂度相关,与技术实现的方式无关,采用基准比对进行成本和工期的测算,是国内软件造价管理中普遍采用功能点法的原因。
洪旱灾害每年给社会带来巨大的生命财产损失,各级政府高度重视防汛抗旱工作。近年来,各级水利部门逐步建设的一批非工程措施在实际应用工作中发挥了重要作用,但相对独立的管理系统构建的信息孤岛,难以满足在信息系统集成、业务衔接、预报调度、成果展示等方面的应用,难以形成工作合力。而防汛会商平台系统的开发将实现对各类信息管理系统的资源整合,适应于新时代智慧水利的建设要求,将防汛抗旱信息和形势直接呈现在会商现场,包括河流、山洪、水库、田间等信息,为科学决策提供直观、准确的参考,增强地区的防汛抗旱管理水平。
针对某地级市的防汛会商平台建设进行业务需求分析,主要项目包括:1)全面掌握全市基础水利信息,通过矢量化地图显示水库、河道、渠道、堤防等工情的静态信息;2)实时显示各雨量站、水位站、视频站、水文站等监测的动态信息;3)对辖区内的重点水库、水文站进行洪水预报分析及科学调度;4)将气象部门信息纳入平台中,针对卫星云图的短期和中长期进行超前预报;5)整合山洪灾害、水资源管理等现有防汛抗旱的业务信息;6)将水文部门数据纳入平台管理中,包括降雨量、河道水位等信息;7)建立防汛抗旱的保障机制,将防洪抗旱预案、应急转移安置预案等纳入平台管理;8)通过实时、直观、高效的运行管理模式,实现成果的界面化显示,为防汛抗旱决策提供依据。
防汛会商平台将为各级防汛抗旱指挥部门提供高效、便捷的查询与管理功能,通过平台展示实时、在线的数据信息及预测成果,为会商决策提供科学、系统的安全保障。
以某地级市的防汛会商平台进行项目成本测算,针对业务需求的功能结构进行细部划分,提供科学、准确的测算价格。1)识别业务需求中的内部逻辑文件(ILF,ILF′)和外部接口文件(EIF,EIF′),该防汛会商平台的文件识别信息如表 1 所示,其中内部逻辑文件包括地图信息、雨量站、水情站、视频站、水文预报、防洪调度、枢纽建筑等内容,外部接口文件包括雨情、水情和视频等信息,以及卫星云图等内容;2)预估功能点的规模度量已在国际上广泛应用,并取代代码行成为最主流的软件规模度量方法,通过预估功能点方法测算软件规模公式对未调整的功能点数进行计算,并根据规模变更因子调整后的功能点数计算未调整的工作量;3)根据软件及开发因素中的应用类型、质量特性、开发语言、开发团队背景等叠加因子计算调整后的工作量;4)将人力成本费率、折算系数、调整后的工程量乘积和直接非人力成本进行累加,从而确定软件开发费用,指导软件定价。通过合理测算对该案例的项目成本进行评估,软件开发费用计算过程如表 2 所示,测算价格结果在 108.53 万~327.67 万元之间,通过分析计算,最为合理的估算价格在 193.14 万元。
表 1 某市防汛会商平台文件识别信息表
表 2 某市防汛会商平台的软件开发费用测算表
水利信息化系统软件的成本测算工作需要测算人员对水利专业知识的了解和对软件开发周期各个复杂环节的宏观掌控,要求项目造价管理人员结合不同模型和测算方法进行成本的测算管理,而使用国际统一功能点的方法进行软件规模的度量,估算信息系统的项目工程量,使度量结果具有可比性,从而能够使成本和工期的估算更为合理,指导水利信息化系统的造价管理工作科学化和高效化。