劉 巍 趙明海 侯豐田 張 瀟 劉志國 張心妍 梁春南
(中國食品藥品檢定研究院,北京 102629)
隨著生物醫(yī)藥、醫(yī)療器械、保健食品等領(lǐng)域的快速發(fā)展,各企業(yè)、高校、科研機構(gòu)的動物實驗量及對實驗動物設(shè)施的需求也急劇增加。截至2021年3月31日,北京地區(qū)的實驗動物屏障環(huán)境生產(chǎn)設(shè)施和實驗設(shè)施總面積均位列全國之首[1]。截至2021年,北京共有235家實驗動物生產(chǎn)、使用單位[2]。本單位于2010年獲得中國計量認證(CMA)和中國合格評定國家認可委員會(CNAS)認可的實驗動物設(shè)施及環(huán)境檢測能力后,每年的業(yè)務(wù)量也在不斷增加。我們不僅需要快速、準確地完成現(xiàn)場檢測,同時也需要更快地完成結(jié)果計算和報告制作。本文可為快速處理實驗數(shù)據(jù)提供一定參考。
軟件需求分析是為了解用戶實際目標和任務(wù)來設(shè)計開發(fā)軟件。從用戶需求進行分析,軟件功能需求包括環(huán)境條件、飼養(yǎng)動物種類、房間類別等。系統(tǒng)性能設(shè)計要求系統(tǒng)響應(yīng)速度快,穩(wěn)定性高。在系統(tǒng)的友好性需求方面,要求設(shè)計的軟件系統(tǒng)具有美觀性,能夠快速找到需要的信息,還要求系統(tǒng)具有很好的兼容性,能夠在大多數(shù)電腦上使用。
在動物環(huán)境及設(shè)施國家標準GB 14925—2010(以下簡稱國標)中,有些檢測項目在不同的實驗動物種類、不同的設(shè)施功能、不同的環(huán)境等級中往往對應(yīng)不同的檢測要求[3](表1)。國標對屏障環(huán)境設(shè)施的要求,不僅包括生產(chǎn)間/實驗間,還包括輔助用房,這些輔助用房包括潔物儲存室、無害化消毒室、潔凈走廊、污物走廊、入口緩沖間、出口緩沖間、二更、清洗消毒室、淋浴室、一更等。這些輔助用房面積雖然不大,但房間總量并不少,根據(jù)房間功能不同,需要滿足3~7項不同參數(shù)的要求,無形中增加了后期數(shù)據(jù)計算工作量。
表1 GB 14925—2010中不同條件下的部分技術(shù)指標匯總表
在日常檢測中,當一個受檢機構(gòu)同時擁有兩種設(shè)施功能,多種設(shè)施環(huán)境時,除了要求檢測人員自身充分掌握不同情況下對應(yīng)的標準,報告匯總?cè)藛T也要準確無誤地應(yīng)用標準,判斷該受檢機構(gòu)是否滿足技術(shù)要求。
通過第三方軟件公司開發(fā),雖然設(shè)計上有亮點,但由于軟件開發(fā)工期時限緊張,系統(tǒng)設(shè)計時間有限,導致整個軟件設(shè)計質(zhì)量難以控制。在軟件測試過程中,由于前期工作的疏忽,只有上線實測才能發(fā)現(xiàn)問題和漏洞,這些問題有時還包括供需不一致的情況,很多的軟件設(shè)計需要不斷地修改完善。在軟件的開發(fā)設(shè)計中,難以掌握軟件實際的開發(fā)力度,把控制軟件質(zhì)量的的工作全部留在測試化解,導致工作效率不高。
Visual Basic是由微軟公司推出的一套可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序的開發(fā)工具,是一種可視化,真正面向?qū)ο蟆⒉捎檬录?qū)動的結(jié)構(gòu)化高級程序設(shè)計語言,具有靈活方便、易于擴充、實用性強等特點,公認的編程效率最高的一種編程方法。
對于結(jié)果計算工具的選擇,我們通過易用程度、啟動速度、數(shù)據(jù)再錄入速度、可拓展性、系統(tǒng)兼容性等方面分別進行橫向比較(表2)。
表2 不同計算工具的特點
在計算檢測結(jié)果時,不論是用桌面計算器,還是采用含預制公式的Excel表格,都有各自影響計算效率的問題。
針對這些問題,用VB解決了這個問題,同時縮短了時長、提高效率并確保結(jié)果準確。
基于VB6界面,設(shè)計實驗動物環(huán)境檢測計算軟件,軟件中具備初始界面、房間概況界面、房間數(shù)據(jù)界面、飼養(yǎng)間/輔助用房檢測數(shù)據(jù)輸入界面及飼養(yǎng)間/輔助用房計算結(jié)果界面(圖1)。
圖1 系統(tǒng)總體結(jié)構(gòu)
對于本次設(shè)計的軟件,程序流程如下(圖2)。
圖2 程序流程圖
2.3.1以隱藏窗體替代卸載窗體:當關(guān)閉一個窗體時,只要不涉及窗體所顯示數(shù)據(jù)的大量更新,可以采用窗體隱藏的方法(Form_Hide)來提高運行速度,隱藏的窗體放入內(nèi)存中,需要占用一定內(nèi)存,但再次調(diào)用時,該窗體能很快出現(xiàn),不必執(zhí)行窗體加載時的一系列初始化工作,所以速度遠比窗體卸載后重新加載的速度更快。
2.3.2簡化窗體:窗體越復雜,其加載速度越慢,所以應(yīng)盡可能簡化窗體,減少不必要的控件,這樣也可以提高打開速度。
結(jié)合國標中不同檢項和不同房間的關(guān)鍵特點,充分利用程序的邏輯判斷性,通過邏輯判斷類代碼實現(xiàn)主要功能。
通過對房間名稱文本框(Text 2)進行關(guān)鍵字主動檢索,當光標移動時可同時完成動物種類選擇(Combo1)、選擇設(shè)施環(huán)境為“屏障環(huán)境”(Option 4)等功能(如圖3所示)。
圖3 房間概況界面
3.1.1飼養(yǎng)間動物種類自動選擇:當房間名稱中明確出現(xiàn)了飼養(yǎng)動物種類的字符時,如“小鼠飼養(yǎng)間”系統(tǒng)可自動在動物種類列表中選擇小鼠。
If InStr(Text2.Text, “小鼠”) >0 Then
Option3.Visible=False
Combo1.ListIndex=0
……
3.1.2屏障環(huán)境輔助用房檢測項目自動選擇:當房間名稱中出現(xiàn)“一更”“緩”“潔”等字符時,程序可自動識別并按照屏障環(huán)境輔助用房的標準進行項目勾選。
If InStr(Text2.Text, “一更”) >0 Then ′ 檢索房間名稱關(guān)鍵詞
Check1.Value=1 ′選擇溫度
Check6.Value=1 ′選擇噪聲
Check7.Value=1 ′選擇工作照度
Combo1.Locked=True ′鎖定動物種類列表框
Option4.Value=True ′選擇當前環(huán)境等級為屏障環(huán)境
Form3.Check1.Value=1 ′在房間尺寸界面中默認為“屏障環(huán)境”
……
在實際檢測過程中,當待檢房間平面為非矩形時,我們將其分割為不同大小的矩形分別測量,并在房間尺寸界面選擇“復雜形狀空間”,隨后輸入房間長、寬、高等數(shù)據(jù),系統(tǒng)自動進行房間面積、房間容積等數(shù)據(jù)的計算,并依據(jù)國標中部分檢項的布點規(guī)則給出正確的檢測位點數(shù)量(如圖4所示)。
圖4 房間尺寸界面
Private Sub Command1_Click()
Dim Square(5) As Single, Volume(5) As Single, l(5) As Single, W(5) As Single, H(5) As Single, msg As String
Dim i As Integer
If s - 50<=0 Then
Location=5 ′當房間面積小于50 m2時,檢測位點為5個
ElseIf s - 50 >0 Then
For i=1 To 15
If s - 10 * i<=0 Then ′當房間面積大于50 m2時,每增加10 m2,增加1個檢測位點。
Exit For
End If
Next i
Location=i
End If
……
如圖5所示,結(jié)合我們前幾年的實際檢測工作,在飼養(yǎng)間檢測界面設(shè)計時,設(shè)定房間尺寸<150 m2,除噪聲項目外,其他檢項共預留了15個檢測位點。通過對房間尺寸的計算,獲得待檢位點數(shù)量,并通過對控件數(shù)組(文本框)的規(guī)范,將多余的空白位點進行隱藏,這樣當窗口載入時便已完成各檢項所需位點數(shù)量的準備工作。結(jié)合我們現(xiàn)行的原始記錄格式,我們可以很方便的通過全尺寸鍵盤的小鍵盤區(qū)及“TAB”進行數(shù)據(jù)的快速錄入,最終光標可移動到“計算”按鍵。
圖5 房間檢測數(shù)據(jù)界面
For a=0 To 14
If Form2.Check1.Value=0 Then ′溫度
Text4(a).Visible=False
End If
……
如圖6所示,在房間檢測結(jié)果界面中,系統(tǒng)通過對原始數(shù)據(jù)的計算,并結(jié)合程序中預設(shè)的標準范圍,當檢測結(jié)果不符合標準要求時字體以變紅、加粗的形式提醒報告制作人員,檢測結(jié)果不符合規(guī)定。
圖6 房間檢測結(jié)果界面
If Form2.Check1.Value=1 And TA<20 Or TA >26 Then ′溫度
Text4.ForeColor=vbRed
Text4.FontBold=True
End If
隨著實驗動物資源越來越豐富,各地也在不斷為新的資源建設(shè)完善的標準化體系。北京現(xiàn)已為實驗用豬、牛、羊、狨猴、長爪沙鼠等實驗動物分別制定相應(yīng)的環(huán)境條件標準,部分技術(shù)參數(shù)指標與國標不同[5-9],由于該軟件是自主設(shè)計,可通過直接增加檢驗標準快速實現(xiàn)對不同標準要求的環(huán)境檢測的快速計算,功能設(shè)計合理,提高了計算的便利性,節(jié)約了計算時間,并且應(yīng)用于環(huán)境檢測工作中,取得了較好的使用效果。該軟件就有良好的可拓展性,可將其系統(tǒng)結(jié)構(gòu)移植到其他平臺,或與數(shù)據(jù)庫軟件相結(jié)合,便可實現(xiàn)更多功能,這些還需人們未來繼續(xù)研究。