蔣智鋼
(遵義醫(yī)學(xué)院公共衛(wèi)生學(xué)院,貴州 遵義 563000)
事業(yè)單位人事考核工作中,工作量考核既重要又繁瑣。尤其是高校,一名教師可能在一個(gè)學(xué)期同時(shí)講授多門課時(shí)不同的課程,并且理論課時(shí)與實(shí)驗(yàn)課時(shí)在考核的計(jì)算方式上又會(huì)存在較大差異,加之由于學(xué)生分班、合班的情況較為復(fù)雜,因此給教師工作量的核算造成諸多不便。盡管教師可以去收集自己在一個(gè)考核周期(一般為3年)內(nèi)的全部教學(xué)計(jì)劃,但是因需要課程歸屬教研室(會(huì)涉及多個(gè)教研室)的審查,還需要教務(wù)管理部門的復(fù)審,浪費(fèi)了大量本應(yīng)用于教學(xué)和科研的時(shí)間。同樣,人事部門囿于客觀條件也難以準(zhǔn)確核算每位教師的工作量。因此需要將教務(wù)、人事、科研管理等不同部門的數(shù)據(jù)全部整合在一起,建立功能完備的信息管理系統(tǒng)。
對(duì)于績(jī)效考核而言,如何準(zhǔn)確計(jì)算出教師工作量是首要任務(wù),這涉及兩方面:一是教師需要向教研室、二級(jí)學(xué)院(部、系)、教務(wù)處等多個(gè)部門提交自己的工作量證明材料以便對(duì)方審查;二是人事處在對(duì)教師提交的材料進(jìn)行核實(shí)時(shí)仍需與相關(guān)部門溝通,以避免因多報(bào)、漏報(bào)造成考核結(jié)果失真。從根本上分析,無(wú)論是被考核者,還是考核者,他們都會(huì)與教學(xué)工作量的審批部門教務(wù)處產(chǎn)生聯(lián)系。如果由教務(wù)部門統(tǒng)一提供教師課時(shí)量的證明材料,那么將會(huì)大大減輕教師以及人事處人員的工作量,但問(wèn)題在于從教務(wù)信息管理系統(tǒng)導(dǎo)出的數(shù)據(jù)是以統(tǒng)一的Excel表格形式存在的,就其數(shù)據(jù)結(jié)構(gòu)而言,教師的不同授課情況(如授課次數(shù)不同)所占據(jù)數(shù)據(jù)行不等,因而導(dǎo)致Excel文件巨大。此外,出于對(duì)個(gè)人隱私的尊重及一些其他原因,不可能將包含全部教師信息的Excel文件直接公布出去,只能將每位教師的信息單獨(dú)保存后才能分別發(fā)送至其郵箱,工作量大,而且效率低,容易出錯(cuò)。因此,考慮將相關(guān)信息經(jīng)過(guò)一定處理后直接交予人事部門,并據(jù)其制定的考核規(guī)則編制出相應(yīng)的計(jì)算機(jī)程序供教師查詢使用。這樣更具操作性,不但可以減少教師填報(bào)課時(shí)數(shù)這項(xiàng)工作近80%的工作量,而且可以保證數(shù)據(jù)的正確率,同時(shí)亦可方便人事部門審核人員的工作。
Visual Basic 6.0(簡(jiǎn)稱VB6)是微軟公司推出的一款可視化編程軟件,全面支持面向?qū)ο蟮某绦蛟O(shè)計(jì),包括數(shù)據(jù)抽象、封裝、對(duì)象與屬性、類與成員、繼承和多態(tài)性等,具有簡(jiǎn)單易學(xué)、功能強(qiáng)大、開(kāi)發(fā)快速等優(yōu)點(diǎn),不但是一些工業(yè)行業(yè)編程軟件首選,而且易于被非計(jì)算機(jī)專業(yè)人員掌握,在諸多領(lǐng)域得到廣泛應(yīng)用[1-5]。考慮到VB6軟件可以在絕大多數(shù)版本的Windows系統(tǒng)中運(yùn)行,本文選用VB6作為編程語(yǔ)言。
前文已述及該軟件的主要目的就是為教師提供一個(gè)可直接查詢其工作量并計(jì)算相應(yīng)積分的工具,因此,該軟件應(yīng)實(shí)現(xiàn)以下功能:第一,根據(jù)教師的工號(hào)查詢其在各學(xué)期的工作量,其中理論課與實(shí)驗(yàn)課的工作量均需分別提供,以利于填寫(xiě)考核手冊(cè);第二,按照人事部門給出的考核規(guī)則如崗位類型、崗位級(jí)別、考核期限等條件,給出相應(yīng)積分;第三,根據(jù)教師的級(jí)別、積分等給出其應(yīng)得的績(jī)效考核結(jié)果。
程序設(shè)計(jì)的核心部分在于確定數(shù)據(jù)的提供形式,目前常見(jiàn)的方式大多是通過(guò)VB與其他特定格式文件如ACCESS[6-7]、Excel[8]或SQL[9]等數(shù)據(jù)庫(kù)文件搭配起來(lái)使用,其連接方式要么是ODBC[10],要么是ADO[11-12]。這些方式雖然可以提供方便的數(shù)據(jù)讀取,但在程序發(fā)布時(shí)還需要使用者安裝額外的軟件,而且保存信息的數(shù)據(jù)庫(kù)文件存在被破解的風(fēng)險(xiǎn),不能滿足信息保密的要求。此外,對(duì)于一個(gè)功能不算復(fù)雜的僅幾百kB的小程序來(lái)講,沒(méi)必要采用此種方式,且采用這種編程方式,教師的相關(guān)信息會(huì)作為獨(dú)立的數(shù)據(jù)文件一起發(fā)布,使用時(shí)易出現(xiàn)誤操作的情況。
將參與考核的全部教師信息直接內(nèi)嵌于程序代碼中是一種比較穩(wěn)妥的做法。若將數(shù)據(jù)文件以字符串方式作為資源文件導(dǎo)入程序,限于VB6對(duì)資源文件格式的定義,這種思路也是行不通的。另一種方案是先將完整的數(shù)據(jù)信息保存于一個(gè)文件中,然后以自定義資源的形式嵌入資源文件整合到程序里面,在程序運(yùn)行過(guò)程中,先把該資源文件釋放到一個(gè)臨時(shí)文件夾中供程序讀取,待全部數(shù)據(jù)讀入完畢后再自動(dòng)刪除,但是此種操作方式比較繁瑣且保密性不高。因此,將教師的數(shù)據(jù)直接以數(shù)組賦值的方式寫(xiě)進(jìn)代碼中去,更為實(shí)際些。畢竟VB6編寫(xiě)的程序從反匯編的難度來(lái)看是大于Visual C、C++的,這是因?yàn)閂B6編寫(xiě)的程序一般都在VB的DLL中運(yùn)行,無(wú)論是靜態(tài)反編譯還是動(dòng)態(tài)調(diào)試都不易獲得相關(guān)信息,再加上VB6中的漢字采用的是Unicode,即使采用專門的分析工具軟件打開(kāi),也很難像采用ANSI碼編寫(xiě)的程序那樣可以直接在編譯程序中看見(jiàn)明碼(中文文本)。
按照程序設(shè)計(jì)的思路,將每個(gè)教職工的基礎(chǔ)數(shù)據(jù)以數(shù)組teacher(l,m,n)的形式直接寫(xiě)在Form_Load()過(guò)程的代碼中。其中,l表示與工號(hào)相對(duì)應(yīng)的內(nèi)部編號(hào);m代表教師的授課時(shí)間,取值從1到6,分別表示考核周期3年中每一年的春季學(xué)期與秋季學(xué)期;n代表教師授課內(nèi)容的類型,取值為1和2,分別表示該次授課內(nèi)容屬于理論課和實(shí)驗(yàn)課,見(jiàn)圖1。

圖1 數(shù)組賦值
一次性將參與考核的全部人員信息錄入Form_Load()過(guò)程后,按F5運(yùn)行程序,VB6彈出對(duì)話框,提示“過(guò)程太大”,如圖2。經(jīng)過(guò)反復(fù)測(cè)試發(fā)現(xiàn),當(dāng)一個(gè)過(guò)程中的代碼行數(shù)超過(guò)1 779行就會(huì)報(bào)錯(cuò)。因此,將上萬(wàn)行數(shù)組賦值代碼直接放到一個(gè)過(guò)程中去實(shí)現(xiàn)數(shù)據(jù)的載入是不可能的,只能將其先行拆分,然后放入多個(gè)過(guò)程中才能實(shí)現(xiàn)數(shù)據(jù)的內(nèi)嵌。但問(wèn)題在于,一個(gè)Form只有一個(gè)Form_Load()過(guò)程。當(dāng)然,也不可能要求教師使用時(shí)通過(guò)多次單擊操作手動(dòng)實(shí)現(xiàn)數(shù)據(jù)的讀取過(guò)程,因?yàn)槭謩?dòng)操作會(huì)破壞用戶體驗(yàn)。由于很難預(yù)判程序界面打開(kāi)后教師會(huì)先點(diǎn)哪個(gè)按鈕,若是對(duì)其點(diǎn)擊順序進(jìn)行限制也不合適,因此要求程序自動(dòng)完成對(duì)這些數(shù)據(jù)的內(nèi)嵌操作就成為首要前提。在對(duì)多種解決思路進(jìn)行試驗(yàn)比較后,得出的首選方案就是利用Timer控件可以自行激活的特性來(lái)依序完成對(duì)數(shù)組賦值的操作,然后用Timerx.Enabled=False(此處x表示控件序號(hào))將其禁用即可,并且由于Timer控件始終不可見(jiàn),可以在使用者無(wú)法察覺(jué)的情況下實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)讀取。考慮到每個(gè)過(guò)程對(duì)代碼有1 779行的數(shù)量限制,因此只需按實(shí)際情況添加多個(gè)Timer控件即可實(shí)現(xiàn)此目標(biāo)。

圖2 錯(cuò)誤提示
按上述分析結(jié)果,一共在程序代碼中添加了5個(gè)Timer控件,各個(gè)控件的Interval設(shè)置為100,即每隔0.1 s激活一個(gè)Timer控件,相當(dāng)于每0.1 s執(zhí)行一次數(shù)組賦值操作,由于CPU運(yùn)行速度極高,因此使用者根本感覺(jué)不到程序完全讀入這些數(shù)據(jù)所花費(fèi)的時(shí)間,程序可以在他們開(kāi)始任意一項(xiàng)操作前就完成數(shù)據(jù)準(zhǔn)備工作,根本不會(huì)妨礙用戶體驗(yàn)。
經(jīng)過(guò)測(cè)試,采用此種方式可以很流暢地完成數(shù)據(jù)的內(nèi)嵌操作,即使是一些反應(yīng)特別敏捷的教師也絲毫沒(méi)有感覺(jué)到操作過(guò)程中數(shù)據(jù)顯示或程序響應(yīng)存在任何卡頓的現(xiàn)象。目前,該程序已經(jīng)在我校績(jī)效考核中使用。教師們反映,該程序運(yùn)行穩(wěn)定,操作簡(jiǎn)單,為他們節(jié)省了收集整理相關(guān)支撐材料的時(shí)間,提高了工作效率,節(jié)約了大量紙張。因數(shù)據(jù)直接來(lái)源于教務(wù)處管理系統(tǒng),保證了教師工作量計(jì)算的準(zhǔn)確性。同時(shí),人事部門的考核人員使用此程序可以輕松地對(duì)教師提交的工作量材料進(jìn)行審核,相當(dāng)便捷。
本文給出了在Visual Basic 6.0中內(nèi)置數(shù)據(jù)的一種可行性方案,不僅有效解決了VB6對(duì)過(guò)程代碼行數(shù)的限制以及資源文件使用局限性的問(wèn)題,而且巧妙地通過(guò)Timer控件實(shí)現(xiàn)數(shù)據(jù)內(nèi)嵌的自動(dòng)化過(guò)程。實(shí)際應(yīng)用測(cè)試結(jié)果顯示,該數(shù)據(jù)內(nèi)嵌方案可以滿足程序需求和用戶需求,實(shí)現(xiàn)目標(biāo)功能。此種數(shù)據(jù)內(nèi)嵌方式可供有類似情況的編程人員參考。
[參考文獻(xiàn)]
[1]王禮,蓋立平,柴英,等.VB 6.0在物理實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用[J].數(shù)理醫(yī)藥學(xué)雜志,2010,23(3):366-368.
[2]黃維.關(guān)于VB.NET的管理信息系統(tǒng)的開(kāi)發(fā)的研究[J].數(shù)字技術(shù)與應(yīng)用,2017(1):130,132.
[3]曹萌,仲梁維,陳粵.基于VB的ANSYS二次開(kāi)發(fā)及其在管道外自然對(duì)流換熱系數(shù)確定中的應(yīng)用[J].軟件導(dǎo)刊,2017,16(3):135-137.
[4]王杰.基于VB語(yǔ)言的施工測(cè)量應(yīng)用程序設(shè)計(jì)[J].現(xiàn)代制造技術(shù)與裝備,2016(12):15-17,20.
[5]王誠(chéng).基于VB的高校畢業(yè)資格審核程序開(kāi)發(fā)與應(yīng)用[J].信息與電腦(理論版),2016(6):130-131.
[6]常廣炎.用VBA開(kāi)發(fā)Excel、Access的數(shù)據(jù)處理軟件[J].數(shù)字技術(shù)與應(yīng)用,2014(6):170-171.
[7]馬玉峰,安愛(ài)琴.基于VB的軸承精度查詢軟件開(kāi)發(fā)[J].輕工科技,2016,32(9):49-50,52.
[8]姜麗杰.VB與Excel數(shù)據(jù)導(dǎo)入導(dǎo)出的研究與實(shí)現(xiàn)[J].遼寧師專學(xué)報(bào)(自然科學(xué)版),2012,14(1):43-45.
[9]熊凱.基于VB 6.0編程實(shí)現(xiàn)SQL數(shù)據(jù)任意條件查詢[J].電腦編程技巧與維護(hù),2007(3):49-53.
[10]李進(jìn),呂海丹.基于VB與ACCESS的固井水泥車參數(shù)監(jiān)測(cè)系統(tǒng)軟件開(kāi)發(fā)[J].石油工業(yè)計(jì)算機(jī)應(yīng)用,2016,24(2):40-43.
[11]柏建普,杜娟.ADO技術(shù)在VB訪問(wèn)SQL數(shù)據(jù)庫(kù)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2013,9(29):6481-6485,6488.
[12]張新華.基于VB與ADO的應(yīng)用系統(tǒng)開(kāi)發(fā)技術(shù)研究[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2013,29(16):24-25.