当前位置:优秀论文/二等奖 - 文章详情
对综合管廊监控与报警系统中软件开发成本度量的探讨
付华民
(四川华通建设工程造价管理有限责任公司,四川 成都 610000)
摘 要:监控与报警系统是保证综合管廊项目安全运营的重要设施,为监控与报警系统开发管理软件是必不可少的工作,如何度量软件的开发成本是造价人员需思考的问题。本文分析了用于管理综合管廊监控与报警系统的各软件,探讨了度量软件成本的方法。
关键词:综合管廊;监控与报警;NESMA方法;规模估算;成本度量
0 引言
监控与报警系统是对综合管廊本体环境、附属设施进行在线监测、控制,对非正常工况及事故进行报警并兼具与管线管理单位或相关管理部门通信功能的各种系统的总称,其应包含环境与设备监控系统、安全防范系统、通信系统、预警与报警系统和统一管理平台。其中预警与报警系统应根据入廊管线的种类设置火灾自动报警系统、可燃气体探测报警系统;而统一管理平台是对各组成系统进行集成,实现各系统的关联协同、统一管理、信息共享和联动控制,满足对内管理、对外通信,与管线管理单位、相关管理部门进行协调等的具有综合处理能力的系统[1]。建设统一管理平台的核心任务之一是开发各子系统软件和平台软件。故招标人在编制项目招标控制价阶段必须考虑软件开发的费用。软件开发成本度量指对软件开发成本的预计值进行估算或对实际值进行测量、分析的过程[2]。它是编制招标控制价工作的基础,也是难题,必须探索科学的度量方法为综合管廊工程建设提供有力的支持。
1 综合管廊监控与报警系统的构成及软件需求
(1)环境与设备监控系统:对综合管廊环境质量进行监测,并对通风、排水、供配电及照明系统的设备进行监控和集中管理。系统由中央层、现场控制层及设备层组成,其中央层监控功能由统一管理平台融合,需开发“环境与设备监控系统管理软件”完成上述功能。
(2)安全防范系统:由入侵报警系统、视频安防监控系统、出入口控制系统、电子巡查系统和人员定位系统等子系统组成,由安全管理系统实现对各子系统的有效监控、联动和管理,并由统一管理平台融合,需开发的软件为“安全防范系统管理软件”。
(3)火灾自动报警系统:实现对管廊内火灾的全方位监控,通过各种火灾传感器监测管廊内火灾,在发生火灾时迅速做出判断,联动相关的系统和设备,并与相关管线管理单位互动及时启动应急预案,需开发的软件为“火灾自动报警系统管理软件”。
(4)可燃气体探测报警系统:在管廊各保护区域内按规定的浓度范围探测可燃气体的泄漏情况,并按爆炸浓度下限规定的比例值报警和做必要的联动,需开发的软件为“可燃气体探测报警系统管理软件”。
(5)统一管理平台:满足综合管廊监控管理、信息管理、现场巡检、安全报警、应急联动等要求,还应具备与入廊管线管理单位、相关管理部门信息平台之间信息互通的功能。需开发的软件为“综合监控平台系统”,该软件应具有可靠性、安全性、先进性、易用性、易维护性、可扩展性和开放性,应包括操作系统、数据库、平台应用程序及信息通信接口,应支持多用户同时操作并应具备单点登录及权限管理功能。
2 软件开发成本度量发展历程
长期以来,如何度量软件开发成本一直是产业界的难题,尤其是在工程预算、招投标阶段,因为无据可依,经常造成预算浪费或预算不足的现象。2015年美国的统计显示,因软件成本度量没做好造成超支超期的项目占比52%,彻底失败的项目占比19%,因此迫切需要科学的软件开发度量方法。
我国通过与世界上信息化发达国家的软件度量相关组织就方法、技术、数据库建设等方面进行交流和调研,于2006年开始正式对软件项目开发成本度量的“量化”、“标准化”的方法进行研究,并对行业级基准数据库的建设方法开始探索。从2008年开始对行业标准《软件研发成本度量规范》进行预研,2010年正式获准立项,于2013年10月正式发布成为行业标准(标准号SJ/T 11463-2013);2018年12月,国家标准《软件工程 软件开发成本度量规范》(GB/T 36964-2018)正式发布,于2019年7月1日正式实施。从2016年开始,每年公开发布一次CSBMK《中国软件行业基准数据》[3]。
3 软件开发成本构成
软件开发过程指从项目立项开始到项目完成验收之间所涉及的需求分析、概要设计、编码实现、集成测试、验收交付及相关的项目管理支持活动[2]。其成本由直接人力成本、间接人力成本、直接非人力成本、间接非人力成本构成。成本+利润+税金即构成了软件开发的费用。
①直接人力成本:指在项目实施过程中需要支付给项目组成员的工资、社保规费、奖金和福利等人力资源费用。根据不同项目的需要,项目组成员包括项目经理、需求分析人员、设计人员、开发人员、测试人员、部署人员、用户文档编写人员、质量保证人员和配置管理人员等。对于非全职投入项目开发工作的人员,按照项目工作量所占其总工作量比例折算其人力资源费用。
②间接人力成本:间接人力成本指开发方服务于开发管理整体需求的非项目组人员的人力资源费用分摊。包括开发部门经理、项目管理办公室人员、工程过程组人员、产品规划人员、组织级质量保证人员、组织级配置管理人员、商务采购人员和IT支持人员等的工资、奖金和福利等的分摊。
③直接非人力成本:指因项目实施而直接产生的非人力费用,包括办公费、差旅费、培训费、业务费(如招待费、评审费、验收费等)、采购费(如特殊采购的专用设备费、专用软件费、技术协作费、专利费等)及其他为开发此项目所需花费的费用。
④间接非人力成本:指开发方不为开发某个特定项目而产生,但服务于整体开发活动的非人力成本分摊,包括开发方开发场地房租、水电和物业,开发人员日常办公费用分摊,战略、市场宣传推广、品牌建设、知识产权专利等费用分摊,以及各种开发办公设备的租赁、维修和折旧分摊等。
4 与软件开发成本相关联的因素
(1)软件开发生产率:生产率与工程建设周期成反比,当需要加快软件开发进度时,就需要提高生产率,提升劳动力的级别,从而增加人力成本,导致开发成本升高。不同行业的软件开发生产率也不同。根据2021年10月22日发布的最新年度“中国软件行业基准数据”,我国软件开发生产率基准数据如表1所示,不同行业软件开发生产率如表2所示。
表1 软件开发生产率基准数据明细(单位:人时/功能点)
注:表中P代表百分位数,以中位数P50为例,意为有50%的开发者完成一个功能点的时间不大于7.04小时,表中数字越小,代表开发效率越高。
表2 各业务领域软件开发生产率基准数据明细(单位:人时/功能点)
(2)人力资源分级:人力资源除了作为劳动力的体力和能力之外,还具有其他资源不具备的思维能力,从而具有智力、创造力和认知力等特有的脑力劳动价值因素.因此,人力资源的度量和计价应当区别行业、专业、地域,建立分类、分级模型,确定人力资源、计价的标准体系和基准体系[4]。表3所示为“应用软件定制开发类项目人员分类和分级标准”参考样例数据。
表3 应用软件定制开发类项目人员分类与分级标准
注:“换算倍率”为不同人员费用的倍差。
2021年“中国软件行业基准数据”给出的我国不同城市软件开发人月费率(摘选)如表4所示。
表4 典型城市软件开发人月费率基准数据(单位:元)
注:表中人月费率代表该地区统计数据中位数(P50),每月以21.75天计。费用包含软件开发的直接人力成本、间接人力成本、间接非人力成本及合理利润(含税),但不包括直接非人力成本。
(3)复杂度:当开发任务分解到可度量计价粒度时,此粒度量级的度量计价对象的复杂度将影响工程量和生产率,量价的规模将因复杂度的上升而成比例地扩大,因此必须考虑复杂度因素。
5 软件规模估算
《软件工程 软件开发成本度量规范》建议的基本流程为:软件规模估算工作量估算成本估算确定软件开发成本。软件规模估算是一切估算的基础。
5.1 功能点数估算的方法
功能点是规模估算的标准度量单元,它将系统分解成更小的模块,便于理解和分析。功能点计数的视角是逻辑而不是技术,软件所采用的技术不影响对其功能点的计数。规范提出了5个国际上普及性较高的功能规模测量标准,本文重点介绍应用较广的IFPUG和NESMA方法。
(1)ISO/IEC 20926:2009《软件与系统工程 软件测量 IFPUG功能规模测量方法》
IFPUG是“国际功能点用户组”的简写,IFPUG组织成立于1986年,2003年被ISO组织接纳为国际标准。其他四种功能规模测量标准均是基于IFPUG标准发展而来。
(2)SJ/T 11619-2016《软件工程 功能规模测量NESMA方法》
NESMA是“荷兰软件度量协会”的简写,和IFPUG方法相比,该方法更着重在项目早期进行估算,使得用户可以在早期需求不完整的情况下,迅速估算出软件的功能点数。此外,针对IFPUG方法分析过程较复杂、计算工作量大的不足,NESMA方法实现了快速计算,它提供了三种类型的估算方法,分别为:指示法——用于计划阶段,因为此阶段需求文件多不完善,故而只需关注逻辑文件即可;估算法——用于执行阶段,此时需求文件较为完善,故需关注逻辑文件和相应的操作;详细法——主要用于事后评估阶段,此时功能需求非常详细,可关注逻辑文件、相应操作和复杂度。
5.2 功能点分类
功能规模测量标准将功能点分为5类,分别为:
ILF:Internal Logical File内部逻辑文件,是指一组从用户角度识别的,在应用程序边界内维护的逻辑相关数据或控制信息,其主要目的是保存由被计数的应用程序的一个或多个基本处理所维护的数据;
EIF: External Interface File外部接口文件,是指由被计数的应用程序引用但在另一应用程序边界内被维护的,用户可识别的逻辑相关数据组或控制信息,其主要目的是保存由被计数的应用程序边界内的一个或多个基本处理所引用的数据;
EI: External Input外部输入,是数据或控制信息由外向内穿越应用程序边界的一个基本处理过程,其主要目的是维护一个或多个ILF,和/或改变系统行为;
EQ: External Inquiry外部查询,是发送数据或控制信息到应用程序边界外的一个基本处理,其主要目的是通过检索来自ILF或EIF的数据或控制信息,来向用户呈现。该处理逻辑不包含任何数学公式或计算,也不创建派生数据。EQ不维护ILF,也不改变系统行为;
EO: External Output外部输出,是发送数据或控制信息到应用程序边界外的一个基本处理,其主要目的是通过检索数据或控制信息,并通过逻辑处理来向用户提供信息。该逻辑处理必须包含至少一个数学公式或计算,或创建派生数据。一个EO也可以维护一个或多个ILF,和/或改变系统行为[5]。
其中,ILF和EIF属于数据类型的功能点,EI、EQ、EO属于人机交互事务类型的功能点。
5.3 功能点计算公式
本文采用较为简便的NESMA标准,在项目立项阶段,可用指示法。其公式为:
UFP≈35 × ILF+15 × EIF
式中UFP为未调整的功能点数,单位为“个”,下同在项目编审预算和招投标阶段,可用估算法,公式为:
UFP=7 × ILF + 5 × EIF + 4 × EI + 5 × EO + 4 × EQ
5.4 系统边界
在规模估算前,需先识别系统边界,只统计边界内的功能点。以“环境与设备监控系统管理软件”为例,其边界划分如表5所示。
表5 环境与设备监控系统管理软件系统划分表
5.5 功能点数调整因子
为表征软件的功能复杂度,NESMA标准引入14个通用系统特征,软件对应每个通用系统特征的复杂程度用0到5之间的一个数值来表示估值,14个通用系统特征估值的总和为“总影响程度”,则得到如下公式:
VAF=0.65 + 0.01 × (总影响程度)
AFP=UFP × VAF
式中VAF表示功能点数调整因子,AFP表示调整后的功能点数。调整因子可以将原始功能点计数增加或者减少最多35%。
6 成本度量实例
依据《软件工程 软件开发成本度量规范》(GB/T 36964-2018),采用NESMA标准,用估算法来度量某综合管廊项目监控与报警系统中“环境与设备监控系统管理软件”的“B/S、C/S客户端” 模块在招投标阶段的开发成本,其他软件的度量方法类似。
(1)软件规模估算
“B/S、C/S客户端”模块的功能点计数如表6所示。
表 6 “B/S、C/S客户端”功能点统计表
则根据公式(2):UFP=7*5+5*11+4*7+5*5+5*5=168个
依据《软件工程 功能规模测量NESMA方法》附录A,计算“总影响程度”如表7所示。
表7 通用系统特征影响程度统计表
表7所示“总影响程度”为28,根据公式(3):VAF=0.65+0.01*28=0.93
根据公式(4):AFP=168*0.93=156.24个
在项目的不同阶段,需考虑规模蔓延对项目范围的影响。根据2021年度“中国软件行业基准数据”,在招投标阶段,规模调整因子取值1.21,则调整后的规模:156.24*1.21=189.05个功能点。
(2)工作量估算
根据规范推荐使用方程法,公式为:
工作量=调整后规模×生产率×软件调整因素×开发调整因素 在招投标阶段,软件调整因素、开发调整因素均缺省为1,生产率取表2中制造行业中的P50的中位数8.16人时/功能点,按1人月=21.75人天,1人天=8小时计算,则:
工作量=189.05*8.16/8/21.75*1*1=8.87人月
(3)成本估算
根据表4,2021年成都市人月费率P50的中位数为23922元/人月,考虑本模块不需差旅费、购买专门设备等直接非人力成本,则成本估算为:
成本=工作量×人月费率+直接非人力成本=8.87*23922/10000+0=21.22万元。
7 结语
综合管廊的健康运营离不开高质量的软件支持,如何估算定制软件的开发费用也是造价人需解决的一个难题。随着我国智慧城市、智慧工地建设的逐步推进,遇到的软件开发费用问题会越来越多。本文探讨了一种软件开发成本度量的方法,以期抛砖引玉,为估算综合管廊定制软件开发费用提供一条思路,为综合管廊建设的创新驱动提供助力。
参考文献:
[1]城镇综合管廊监控与报警系统工程技术标准(GB/T 51274-2017)[S].北京:中国计划出版社,2018
[2]软件工程 软件开发成本度量规范(GB/T 36964-2018)[S].2018
[3]中国软件行业基准数据(CSBMK®-202110)[R].2021
[4]中国建设工程造价管理协会.信息工程计价指南[M].北京:中国建筑工业出版社,2018
[5]软件工程 功能规模测量NESMA方法(SJ/T 11619-2016)[S].2016