大型建设工程项目实施状态诊断指标自适应调整系统的构建与开发
2020-03-24侯学良
王 毅,郭 玉,侯学良
(华北电力大学工程技术与管理研究所,北京 1022061)
近年来,为实现国民经济持续稳定发展的战略目标,我国建设了一大批大型和特大型建设工程项目,如港珠澳大桥、京津冀陕甘蒙跨区域特高压输变电工程、北京大兴国际机场等工程。在这些工程项目的建设过程中,为了实现对工程项目的有效管理与控制,很多大型建设工程项目采用了工程项目实施状态诊断系统软件。实践证明, 该系统不仅能够基于工程实态信息及时分析和描述出工程项目各层级管理对象的实施状况,而且还能依据有关标准确定出工程项目管理对象所处的即时状态,特别是在分析和诊断工程项目具体问题并在判定问题主次根源方面,具有独特的优越性[1]。但在使用过程中也发现,由于该系统目前还不具备诊断指标的自动调整功能,为此,在工程项目的实施过程中,当工程项目管理对象发生变化后,工程项目管理者就从诊断系统的指标数据库中选取指标,人工完成这些管理对象及其相关管理对象实施状态诊断指标的系统性、系列性调整与修正工作。然而,这种方法不仅给工程项目管理者带来较大的工作负担,而且时常由于项目管理人员的考虑不周而漏缺相关管理对象诊断指标的调整与修正,给工程项目的有效管理和科学决策带来一定程度的不利影响[2]。
针对这一问题,有关研究者通过深入系统地理论分析和实证研究,提出了有效解决这一问题的自适应调整新技术。从其研究结果来看,由于这一技术的研发是以当前大型建设工程项目实施状态诊断系统为基础的,因而若要使这一技术在工程实践中发挥其应有的作用,不仅需要开发出以该技术为核心的系统软件,而且还必须确保该系统与当前大型建设工程项目实施状态诊断系统具有良好的兼容性和匹配性。因此,如何基于这一新技术,科学构建和开发出大型建设工程项目实施状态诊断指标的自适应调整系统,就成为工程项目管理中需要解决的一个实际问题。
1 自适应调整系统的功能需求分析
目前,工程建设单位使用的大型建设工程项目实施状态诊断系统是由11个一级子系统和46个二级子系统组成的,这11个一级子系统分别是工程项目概况、工程信息采集、信息冗余处理、诊断指标管理、专家评判打分、状态分析判定、诊断结果查询、状态预警管理、工程文档管理、诊断后期评价和用户信息管理[3]。当工程项目管理对象发生变化后,如果需要新的诊断指标来满足当前工程项目实施状态诊断管理需求,工程项目管理者就从诊断系统的诊断指标管理模块中调取相应的管理对象实施状态诊断指标,人工完成这些管理对象及其相关管理对象诊断指标的系统性和系列性调整工作。然而,若要从目前这种繁琐的人工调整模式转变成诊断系统的自动化调整模式,根据诊断指标自适应调整这一新技术的研究成果可知[3],现行工程项目实施状态诊断系统就需要在现有功能基础上增补若干新的功能,以满足诊断指标自适应调整的运行要求。这些新增功能主要包含有具有自适应伺服行为能力的核心功能和为这一核心功能而服务的其他辅助功能两部分,其中,核心功能主要是广义误差分析和伺服程序修正,辅助功能包含有工程项目查询、管理对象查询、诊断指标查询、指标参数修正、信息游程增补、信息处理规则和判定标准修正。这些功能的主要作用分述如下。
1.1 工程项目查询
大型建设工程项目是由多个单位工程组成的集群工程,每个单位工程又由若干分部工程组成,分部工程又包含着多个分项工程[4]。因此,若要使诊断系统随着工程项目的不断变化实现实施状态诊断指标的自动调整与修正,首先就必须明确需要管控的工程项目,以便为该工程内含所有管理对象实施状态诊断指标的自适应调整与修正提供行为方向指令。但需要明确的是,由于诊断指标自适应调整技术的研发是以当前大型建设工程项目实施状态诊断系统为母体的,因此,诊断指标自适应调整系统就将隶属于诊断系统的一个子系统。在诊断指标自适应调整系统中,这一功能模块的运行程序就将是一个链接大型建设工程项目实施状态诊断系统中工程项目概况模块的行为指令,而不单独配有数据存储空间。其目的有三,一是满足自适应调整行为的内部运行需求,二是有利于减少同类数据系统数据库储用空间的占有率,三是可以确保系统管理对象参数的一致性。
1.2 管理对象查询
尽管诊断指标自适应调整系统可以根据工程项目的实态信息,自动完成管理对象诊断指标的调整与修正工作,但在管理对象实态信息的分析与处理中,如果出现信息处理规则缺陷或工程项目实施状态的异态表象或突变新态等情况,诊断指标的自适应调整结果就可能出现误差。在此情态下,工程项目管理者就可通过该模块核查管理对象在特征分析、类别划分、属性判定等信息归属分析结果中存在的问题,并通过伺服程序修正模块,纠正管理对象实态信息自适应分析结果所产生的错误。
1.3 诊断指标查询
不同的工程项目管理者有不同的管理需求,如工程项目上层决策者希望通过对单位工程宏观状态的总体诊断,了解和掌握工程项目的宏观状况;而工程项目的现场管理者希望通过对工程项目中观和微观状态的具体诊断,了解和掌握工程项目更为详实的实施状况[5]。因此,在诊断指标自适应调整系统中,通过诊断指标查询这一功能,就可以使不同的工程项目管理者结合管理所需,查询该工程项目宏观、中观与微观不同层级管理对象实施状态的诊断指标结构组成与当前诊断指标的使用状况,为工程项目管理者及时了解和准确掌握诊断指标的自适应调整结果与预期目标之间的差异提供科学依据。
1.4 指标参数修正
在工程项目的建设过程中,有可能出现工程项目不可预见事件,这就使得工程项目管理者预先建立的诊断指标数据与工程实际管理需求产生一定程度的差异[6]。为了消除这些差异,确保诊断指标自适应调整的稳定运行,就需要在自适应调整系统中增加这一功能。其目的是,当工程中发生设计变更或其他意外情况且需要诊断系统增加若干新的诊断指标时,管理人员就可以通过该模块,即时输入新的诊断指标,且就新增指标的名称、等级、权重、标准以及所属类别等参数进行增补和修正,以满足诊断指标自适应调整中从数据库调取临增指标的特殊需求。
1.5 信息游程增补
信息游程是有效描述管理对象处于任何状态下的全息信息[7],只有确保工程项目任何管理对象信息游程集的正确性和完整性,才能使得自适应诊断系统识别出工程项目管理对象的即时变化形态,且可根据分析结果完成诊断指标的自动调整与修正工作。如果在工程项目管理中,出现了管理对象的新形态,管理者即可通过该模块,将该管理对象的新形态模型及时存储在诊断系统的数据库中。这样,诊断系统即可继续执行自适应程序,完成管理对象诊断指标的即时调整与修正工作。
1.6 广义误差分析
根据诊断指标自适应分析技术研究成果可知,诊断系统在对管理对象实施状态进行自适应分析的过程中,将会在系统后台根据诊断系统所采集的信息自动进行广义误差分析,并根据分析和判定结果,自动指令诊断系统进行诊断指标的调整与修正工作,并将信息广义分析结果存储到诊断系统指定的数据库位置。如果管理人员对诊断指标的调整结果存在质疑,即可通过该模块查看当前即时分析过程,也可调看已完成的信息广义误差分析结果,为今后改进与完善诊断指标自适应调整系统提供科学依据。
1.7 信息处理规则
诊断系统在对工程项目管理对象实施状态信息进行分析的过程中,需要进行信息的特征分析、类别划分、信息约简、冗余消除、模式规整、核提取和属性判定等一系列工作[8]。在此期间,可能会由于工程异态表象的出现而出现信息处理规则缺失。在此情态下,就需要工程项目管理者通过该功能模块,增补和完善相应的信息处理规则,确保诊断指标自适应调整系统能够正常开展信息分析与处理工作。
1.8 判定标准修正
相关研究成果已证明,当标示工程项目实施状态的范数值大于等于3.14时,即意味着工程项目出现了新的管理对象[9],工程项目管理者就需要采用相应的诊断指标和管理标准对该对象进行管控,以免管理对象在工程质量、进度、费用、安全等方面出现超过预期规定的偏差。但由于不同等级的工程项目有不同的管理精度要求[10],如果管理者需要提高或降低工程管理精度要求时,即可通过该模块来调整工程项目实施状态的判定标准参数值,自适应诊断系统即可根据新的实施状态判定标准发出管理对象诊断指标的调控指令。
1.9 伺服程序修正
自适应伺服程序是诊断指标自适应调整系统确保系统各模块之间发生信息互馈行为和接续行为必不可缺的重要媒介,但在工程项目的实施过程中,如果工程项目管理者需要修改和完善现有诊断系统(如在诊断系统增加新的功能模块),系统原有的自适应伺服程序就可能无法满足诊断系统的这些新要求,或给现有自适应伺服程序的运行带来干扰。因此,在诊断指标自适应调整系统中,就需要预先设置一个程序修正端口模块,通过这一模块来调取和修改后台自适应伺服程序,确保诊断指标自适应调整系统的有效运行。但鉴于程序在系统运行中的重要性,这一模块仅限于程序员使用,且当程序员使用时,也需要通过特殊授权码和系统管理员临时发送的随机码进行双重认证,避免给诊断指标的自适应调整工作带来不利影响。
2 功能模块间的数据流程分析
诊断指标自适应调整技术的实验结果表明,若要以现行诊断系统为母体,使现行工程项目实施状态诊断系统能够随着工程项目实施状态的变化同步实现管理对象诊断指标的自动调整与修正,现行诊断系统不仅需要在现有功能基础上增补诊断指标自适应调整这一子系统,而且还必须使这一子系统内含的各功能模块与现行诊断系统相关一级模块形成一个有效的数据互馈链接,且这一链接行为必须具有自组织和自互馈的系统性行为能力,以满足诊断系统自适应技术的运行要求。而要实现这一目的,就必须了解和掌握诊断指标自适应调整系统内含各功能模块之间以及与现行诊断系统相关一级模块之间的数据流程。
根据信息理论可知,在开展数据流程分析时,为了清晰描绘出模块间的数据流程,一般会把分析对象从系统中抽象出来,舍去具体的系统结构,完全从实际业务的运行角度来考察系统数据的流动过程,并以流程图的方式展现出来[11]。通过这一分析,不仅可以明确系统内各模块之间相关数据的输入输出关系,而且可为正确编制模块之间的自适应伺服程序提供清晰的逻辑关系依据。基于信息理论中数据流程的分析方法与模式,大型建设工程项目实施状态诊断指标自适应调整系统中各功能模块间以及与现行诊断系统一级相关模块之间的数据流程如图1所示。
图1 诊断指标自适应调整系统各功能模块间的数据流程图
3 系统开发及其主要界面
在完成并明确大型建设工程项目实施状态诊断指标自适应调整系统功能需求和数据流程的基础上,为了确保所开发的诊断指标自适应调整系统与现行诊断系统具有良好的兼容性和匹配性,最终使现行诊断系统实现诊断指标的自动调整与修正这一目标,在开发该系统时,本研究选择了与现行诊断系统完全一致的C#语言与开发环境,即开发系统以Visual Studio 2005 为平台,采用C/S体系结构。开发软件的主频为4G,内存为32G,硬盘空间为500G;运行软件的最低主频为1.6G,内存要求为4G,数据库采用SQL Server 2008。考虑到开发及安装软件的便利性,采用XML进行数据库的连接设置,其主要代码为:
<configuration>
<connectionStrings>
<add name="connStr" connectionString="Server=localhost;database=ProjectSystem;IntegratedSecurity=tr ue"/>
</connectionStrings>
</configuration>
在此基础上,开发出的系统初始界面和主要界面(系统主页界面、诊断指标查询、广义误差分析、信息游程增补、伺服程序修正)参见图2~图7所示。
图2 系统初始界面
图3 系统主页界面
图4 诊断指标查询界面
图5 广义误差分析界面
图6 信息游程增补界面
4 诊断指标自适应调整系统的测试
作为软件开发的重要环节,系统测试的意义就在于使软件投入正常使用前,尽可能及早发现软件中存在的问题,确保研究成果在工程实际应用中的实用性和有效性。鉴于此,基于大型建设工程项目实施状态诊断指标自适应调整系统的开发目的,在明确测试内容与测试方法的基础上,研究人员对所开发的诊断指标自适应调整系统进行了系统测试。
4.1 测试内容
尽管诊断指标自适应调整系统归属于现行大型建设工程项目实施状态诊断系统的一级子系统,但该子系统还包含工程项目查询、广义误差分析等9个二级模块。因此,若要实现诊断指标自适应调整系统的开发目标,不仅需要测试9个二级模块的各自性能及运行效果,还需测试诊断指标自适应调整系统的整体性能,以及该系统与大型建设工程项目实施状态诊断系统的整体联动性能,即测试内容包含模块、子系统和系统整体3个层级的测试。
4.2 测试方法
就测试方法而言,目前主要有黑盒测试和白盒测试二种方法[12]。黑盒测试是在测试中只考虑系统的输入、输出和需求规范中定义的普通功能,不考虑系统的内部处理,因此,该方法多用于系统整体性能测试。白盒测试也称结构测试,是对设计功能、系统代码以及二者之间关系的显性检测,因此,该方法多用于局部程序运行效果和模块功能的检测。结合诊断指标自适应调整系统需要检测的内容,本研究在检测模块性能及其运行效果时,采用了白盒测试法,以便快速修改和完善每一个功能模块,确保每个模块功能及其运行程序的正确性和有效性。在检测诊断指标自适应调整子系统和系统整体联动性能时,采用了黑盒测试方法,以便系统、全面、完整的观测出软件整体的运行性能与效果。测试的标准是测试对象是否达到系统的预定功能。
图7 伺服程序修正界面
4.3 测试结果
在测试前,为了便于分析测试结果,为系统地改进和完善提供科学依据,预先将测试过程中可能出现的测试问题(Bug)分为5个等级,即A、B、C、D和E级[13]。当Bug为A级时,错误问题最严重,可以致使系统崩溃;当Bug为E级时,错误最轻,可以忽略不计。测试先后分为3组,共进行了93次测试。测试分组及各组的测试内容与测试次数参见表1所示。
表1 测试分组及各组测试内容与测试次数
从测试结果可以得知,在模块测试期间,45次测试中出现了3次Bug,其中,D级Bug 一次,E级Bug二次,问题分别是广义误差分析模块的算法程序出现符号错误、管理对象查询模块中的确定按钮无效、指标参数模块的数据存储未指定存储路径。在子系统性能测试期间,38次测试中出现了2次D级Bug,问题分别是判定标准未指定、自适应数据输出路径未指定。因此,模块性能测试的失效率为6.7%,子系统测试的失效率为5.3%。
在完成功能模块和子系统错误的修改工作且确保各功能模块和子系统能够稳定运行的基础上,研究组将诊断指标自适应调整系统作为一级集成模块,嵌入到大型建设工程项目实施状态诊断系统中。然后通过连续、间断二种信息输入模式的分类测试,诊断系统在10次测试中都能够随着输入信息的变化给出相应的诊断指标,达到了100%的合格率,为该系统在工程实际中的应用奠定了坚实基础。
5 结论
为有效解决当前大型建设工程项目实施状态诊断系统在诊断指标调整方面存在的问题,在明确诊断指标自适应调整功能需求和各功能模块间的数据流程关系基础上,开发了与大型建设工程项目实施状态诊断系统相配套的诊断指标自适应调整系统,并通过系统测试,得出以下结论:
(1)基于自适应控制技术的诊断指标自适应调整系统与现行诊断系统具有良好的兼容性和匹配性,能够满足当前大型建设工程项目实施状态诊断系统实现诊断指标自动调整的要求。
(2)在自适应调整系统链接和调取大型建设工程项目实施状态诊断系统有关数据的试验中,均未出现系统静默或无反应现象,因此,该系统与现行工程项目实施状态诊断系统具有良好的兼容性和匹配性。
(3)模块、子系统和系统整体三个层级累计93次的测试结果证明,所开发的诊断指标自适应调整系统不存在A、B、C级的Bug,D级Bug 三次,E级Bug二次,系统整体运行性能测试合格率为100%,因此,该系统具有很高的可靠性。