鄧 陽,楊文東,胡寶慧
(1.中國科學(xué)技術(shù)大學(xué) 地球空間學(xué)院,安徽 合肥 230026;2.黑龍江省地震局,黑龍江 哈爾濱 150090)
項(xiàng)目實(shí)施初期,實(shí)施組根據(jù)體系框架進(jìn)行縱向分解,將項(xiàng)目分為測震、地下流體、形變(包括重力)、地磁、地電等五大觀測手段[2]。隨后針對各個手段的工程項(xiàng)目特征進(jìn)行基礎(chǔ)數(shù)據(jù)的收集和分析,找出各學(xué)科建設(shè)工程間的異同,以項(xiàng)目實(shí)施目標(biāo)測震工程為主,其他為輔,運(yùn)用關(guān)鍵路徑法定[3]制出項(xiàng)目任務(wù)流程。隨后在測震監(jiān)測設(shè)施建設(shè)定額編制過程中根據(jù)國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、技術(shù)規(guī)范、技術(shù)指南等為指導(dǎo)依據(jù),提取工程項(xiàng)目相關(guān)的數(shù)據(jù)指標(biāo),核算成工程項(xiàng)里的人工費(fèi)、材料費(fèi)、設(shè)備費(fèi),作為規(guī)定性環(huán)節(jié)的定額形成依據(jù)[4]。后期編制過程中的核算、測算及統(tǒng)計計算來源的數(shù)據(jù)大部分為動態(tài)性數(shù)據(jù)。隨著收集資料增多、涉及面增大、調(diào)整系數(shù)細(xì)化,基礎(chǔ)數(shù)據(jù)和基礎(chǔ)框架結(jié)構(gòu)需要反復(fù)分析計算和調(diào)整。經(jīng)過多版修訂,在測震定額體系初步框架穩(wěn)定后,項(xiàng)目組設(shè)計編制一套輔助數(shù)據(jù)測算軟件,在后期調(diào)整多源、復(fù)雜數(shù)據(jù)時,針對動態(tài)數(shù)據(jù)在框架內(nèi)填充、刪減,保證了數(shù)據(jù)庫結(jié)構(gòu)的穩(wěn)定性,提高了工作效率。
軟件采用Microsoft Visual Studio 2005 Win Form開發(fā),基于Access數(shù)據(jù)庫的C/S架構(gòu)的應(yīng)用程序。根據(jù)項(xiàng)目實(shí)施情況將程序設(shè)計成全開放式,所有的項(xiàng)目均可由用戶自由定義,擴(kuò)展性強(qiáng)。前臺應(yīng)用端和后臺數(shù)據(jù)庫端同時開放,將數(shù)據(jù)庫端數(shù)據(jù)和結(jié)構(gòu)實(shí)現(xiàn)可視化、可自定義化的模式,應(yīng)用端則相對數(shù)據(jù)庫固定,這樣在測算時可以根據(jù)應(yīng)用端情況直接修改數(shù)據(jù)庫字段,保證前后臺的一致性。應(yīng)用端提供第二級參數(shù)設(shè)置項(xiàng)和工程分項(xiàng)的可選操作,數(shù)據(jù)生成后導(dǎo)入電子表格,以概算或預(yù)算報表作為數(shù)據(jù)存檔形式,也作為一個單元數(shù)據(jù)。在單臺—區(qū)域—片區(qū)—全國的數(shù)據(jù)收集鏈條上基本轉(zhuǎn)化為單元數(shù)據(jù)的測算和匯集,最終寫入主數(shù)據(jù)庫。這樣設(shè)計便于測算時控制數(shù)據(jù)結(jié)構(gòu)、分析數(shù)據(jù)來源、調(diào)整數(shù)據(jù)參數(shù)等,也起到多人同時工作時項(xiàng)目規(guī)范化管理的作用。
軟件編制主要分為三部分:數(shù)據(jù)分解錄入、預(yù)算報表生成、其他功能編制。
2.1.1 數(shù)據(jù)分解錄入
通過結(jié)構(gòu)設(shè)計,將數(shù)據(jù)按照Project-Work-Class-Item-Subitem劃分層級,在數(shù)據(jù)庫中給單元數(shù)據(jù)按照P、W、C、I、S所屬進(jìn)行設(shè)置標(biāo)注。將數(shù)據(jù)庫中所有穩(wěn)態(tài)數(shù)據(jù)錄入,例如所有技術(shù)指標(biāo)及相關(guān)數(shù)據(jù)。其次將動態(tài)數(shù)據(jù)D進(jìn)行設(shè)置標(biāo)注。在可視化、開放式設(shè)計時修改任意數(shù)據(jù)前后臺數(shù)據(jù)會始終保持一致。項(xiàng)目初步框架結(jié)構(gòu)確定后,將每個工程項(xiàng)目分解并且細(xì)化,先用偽代碼編寫設(shè)計結(jié)構(gòu),將所有內(nèi)容按規(guī)定層級歸類,通過定額編號索引,確定數(shù)據(jù)的所屬和唯一性。以 “測震勘選工程”在數(shù)據(jù)庫中表結(jié)構(gòu)為例,如圖1所示:TProject-TWork-TClass-TItem-TSubitem,即一級—二級—三級—四級—五級。設(shè)置中注意,W和C級為工程分項(xiàng),都同時包含多組數(shù)據(jù),如果C和W數(shù)量為0,則只表示該工程分項(xiàng)未開展,數(shù)據(jù)庫結(jié)構(gòu)不變,這樣可以保證整個數(shù)據(jù)庫結(jié)構(gòu)的完整性和穩(wěn)定性。
2.1.2 預(yù)算報表生成
報表數(shù)據(jù)是依托基礎(chǔ)數(shù)據(jù)間的相互運(yùn)算產(chǎn)生的,也是與用戶交互最多的部分,在編制過程中最為復(fù)雜。目標(biāo)倒推法在編制軟件時能保證每一條生成數(shù)據(jù)都有唯一的數(shù)據(jù)鏈條支撐。編制中主要分為三個模塊:工程項(xiàng)目、系數(shù)調(diào)整和數(shù)量。對每個模塊特點(diǎn)進(jìn)行分析,工程項(xiàng)目模塊主要是在所有P所屬項(xiàng)目間選擇,并且將P下所有項(xiàng)目進(jìn)行列表顯示,此模塊不涉及計算。系數(shù)調(diào)整模塊計算復(fù)雜,在不同系數(shù)控制下,將W、C所屬項(xiàng)目進(jìn)行和的乘積,在數(shù)據(jù)層級上嚴(yán)格控制。數(shù)量模塊主要針對S所屬項(xiàng)目進(jìn)行選擇操作,無操作時可設(shè)置默認(rèn)值為0,表示此項(xiàng)工程未開展,大于0的數(shù)值都表示此項(xiàng)工作的工日數(shù)量,可以輸入非整數(shù),主要是乘積計算,此部分有對定額后期實(shí)現(xiàn)量價分離做考慮。報表的生成存在多層級數(shù)據(jù)求和、連乘等計算,編制時嚴(yán)格按照數(shù)據(jù)庫的設(shè)計要求,保證生成數(shù)據(jù)的準(zhǔn)確性。最后將計算數(shù)據(jù)由Excel接口導(dǎo)入電子表格中,形成預(yù)算報表。
圖1 測震勘選工程結(jié)構(gòu)分解示意圖Fig.1 The segment diagram of earthquake monitoring and survey engineering
軟件功能項(xiàng)的實(shí)現(xiàn)主要是以報表的生成為目標(biāo),從實(shí)際功能需求入手,對基礎(chǔ)數(shù)據(jù)進(jìn)行表結(jié)構(gòu)的關(guān)聯(lián)計算。產(chǎn)出報表主要是工程概、預(yù)算報表的形式。應(yīng)用功能盡量簡化用戶操作,減少繁雜選項(xiàng),可操作部分只有一級目錄的工程項(xiàng)目選項(xiàng)和系數(shù)調(diào)整以及數(shù)量。如圖2所示。
圖2 預(yù)算報表操作功能圖Fig.2 The function design diagram of budget report
定額中存在多項(xiàng)調(diào)整系數(shù),每項(xiàng)都需要刻修正系數(shù)的等級、內(nèi)容和數(shù)值。軟件實(shí)現(xiàn)了設(shè)置系數(shù)類別、系數(shù)等級、調(diào)整系數(shù)窗口。例“出工距離(km)”系數(shù),前臺可修改 “調(diào)整系數(shù)”項(xiàng),后臺可修改 “系數(shù)類別”和 “系數(shù)等級”。如圖3所示。
圖3 調(diào)整系數(shù)功能圖Fig.3 The function diagram of regulation factor
軟件中基礎(chǔ)數(shù)據(jù)錄入部分完全依據(jù)數(shù)據(jù)庫結(jié)構(gòu),以視圖模式顯示出結(jié)構(gòu)框架,使用戶能夠明晰數(shù)據(jù)層級,明確測算數(shù)據(jù)的錄入順序。此部分在定額編制過程初期采用全開放式交互形式,即輸出輸入用戶自定義完成。如圖4所示。
圖4 測震勘選工程數(shù)據(jù)展示圖Fig.4 The data diagram of showing monitoring earthquake engineering
軟件中將測震勘選工程、土建工程、安裝工程、調(diào)試試運(yùn)行、運(yùn)輸工程數(shù)據(jù)結(jié)構(gòu)統(tǒng)一編制成功能項(xiàng),可顯示、擴(kuò)展、修改,修改后的數(shù)據(jù)保存后直接改寫數(shù)據(jù)庫數(shù)據(jù),這樣測算數(shù)據(jù)過程就完成了數(shù)據(jù)庫匯集工作,對初期核算、測算起到重要作用。在定額體系完整后,主數(shù)據(jù)庫完善后,將對此部分功能進(jìn)行限制,前臺用戶不能直接修改后臺數(shù)據(jù)庫數(shù)據(jù),保證數(shù)據(jù)庫的穩(wěn)定性,但可將數(shù)據(jù)庫改成自生成子數(shù)據(jù)庫或虛擬數(shù)據(jù)庫的模式,便于用戶進(jìn)行操作。
實(shí)現(xiàn)數(shù)據(jù)輸入和輸出功能外,對定額相關(guān)配套文檔的讀取做了鏈接功能的實(shí)現(xiàn),如 “費(fèi)用定額”、 “計算規(guī)則說明”、 “編制使用說明”等,方便用戶在使用時隨時讀取。核算、測算過程中經(jīng)常有多個工程項(xiàng)目同時進(jìn)行的時候,所以設(shè)置了 “窗口”選取功能,可在運(yùn)行的多個窗口間任意切換。 “幫助”中設(shè)置了 “升級腳本”功能,給后期軟件的升級、修改提供了前臺接口。在用戶安全方面,設(shè)置了用戶權(quán)限設(shè)置和密碼登陸。后期軟件完善后,將對數(shù)據(jù)輸入和修改等功能進(jìn)行限制,可對不同等級用戶進(jìn)行權(quán)限設(shè)置,通過登陸身份控制用戶使用。
項(xiàng)目實(shí)施過程中要對遇到的問題隨時進(jìn)行透徹分析,用計算機(jī)程序解決問題可以事半功倍,對項(xiàng)目的順利開展起到了推進(jìn)作用。軟件的針對性設(shè)計是關(guān)鍵的步驟,隨著項(xiàng)目的推進(jìn),程序應(yīng)該不斷更新,所以要考慮軟件的升級、功能擴(kuò)展、再次開發(fā)等方面的問題。軟件在初期定額形成過程中對核算、測算、數(shù)據(jù)采集方面起到了清晰、規(guī)范的作用。實(shí)施中有些需要重點(diǎn)考慮的部分,一是基礎(chǔ)數(shù)據(jù)中存在動態(tài)數(shù)據(jù)的鏈條擴(kuò)展和縮減問題,應(yīng)該設(shè)置好數(shù)據(jù)間的等級關(guān)系,避免數(shù)據(jù)的改變影響整個數(shù)據(jù)鏈;二是生成報表的基礎(chǔ)數(shù)據(jù)間計算關(guān)系復(fù)雜,要嚴(yán)格按照目標(biāo)倒推法進(jìn)行梳理,仔細(xì)研究表結(jié)構(gòu)和表間的關(guān)聯(lián),分析好數(shù)據(jù)層級之間的聯(lián)系,將其轉(zhuǎn)換成離散數(shù)據(jù)存入數(shù)據(jù)庫。三是軟件界面及其他實(shí)用功能的設(shè)計,如何簡化、便捷、操作性強(qiáng)是實(shí)現(xiàn)中的必要考慮。
軟件還有很大擴(kuò)展空間,隨著定額編制工作的推進(jìn),數(shù)據(jù)逐漸完善,后期就要將用戶自定義和開放式模式進(jìn)行改變,對數(shù)據(jù)進(jìn)行輸入、輸出和只讀設(shè)置,數(shù)據(jù)庫升級為主庫、子庫、動態(tài)鏈接庫共存的模式等等,報表生成功能也可以在條件選擇上進(jìn)一步整合,讓前臺選項(xiàng)在后臺進(jìn)行,讓用戶使用更簡潔,軟件對用戶更加和諧。
[1]李萬昌,王翔,黎源.數(shù)據(jù)采集系統(tǒng)的構(gòu)建及軟件編制[J].電子測量與儀器學(xué)報,2004,18(22):873-876.
[2]李建峰.工程定額原理[M].北京:人民交通出版社,2008:6-13.
[3]科茲納.項(xiàng)目管理:計劃、進(jìn)度和控制的系統(tǒng)方法.北京:電子工業(yè)出版社,2002:530-563.
[4]孫建中,楊文東,李登恒,等.地震監(jiān)測設(shè)施建設(shè)定額標(biāo)準(zhǔn)體系分析研究[J].哈爾濱:世界地震工程,2011,27(2):190-195.