劉 巍 趙明海 侯豐田 張 瀟 劉志國 張心妍 梁春南
(中國食品藥品檢定研究院,北京 102629)
隨著生物醫藥、醫療器械、保健食品等領域的快速發展,各企業、高校、科研機構的動物實驗量及對實驗動物設施的需求也急劇增加。截至2021年3月31日,北京地區的實驗動物屏障環境生產設施和實驗設施總面積均位列全國之首[1]。截至2021年,北京共有235家實驗動物生產、使用單位[2]。本單位于2010年獲得中國計量認證(CMA)和中國合格評定國家認可委員會(CNAS)認可的實驗動物設施及環境檢測能力后,每年的業務量也在不斷增加。我們不僅需要快速、準確地完成現場檢測,同時也需要更快地完成結果計算和報告制作。本文可為快速處理實驗數據提供一定參考。
軟件需求分析是為了解用戶實際目標和任務來設計開發軟件。從用戶需求進行分析,軟件功能需求包括環境條件、飼養動物種類、房間類別等。系統性能設計要求系統響應速度快,穩定性高。在系統的友好性需求方面,要求設計的軟件系統具有美觀性,能夠快速找到需要的信息,還要求系統具有很好的兼容性,能夠在大多數電腦上使用。
在動物環境及設施國家標準GB 14925—2010(以下簡稱國標)中,有些檢測項目在不同的實驗動物種類、不同的設施功能、不同的環境等級中往往對應不同的檢測要求[3](表1)。國標對屏障環境設施的要求,不僅包括生產間/實驗間,還包括輔助用房,這些輔助用房包括潔物儲存室、無害化消毒室、潔凈走廊、污物走廊、入口緩沖間、出口緩沖間、二更、清洗消毒室、淋浴室、一更等。這些輔助用房面積雖然不大,但房間總量并不少,根據房間功能不同,需要滿足3~7項不同參數的要求,無形中增加了后期數據計算工作量。

表1 GB 14925—2010中不同條件下的部分技術指標匯總表
在日常檢測中,當一個受檢機構同時擁有兩種設施功能,多種設施環境時,除了要求檢測人員自身充分掌握不同情況下對應的標準,報告匯總人員也要準確無誤地應用標準,判斷該受檢機構是否滿足技術要求。
通過第三方軟件公司開發,雖然設計上有亮點,但由于軟件開發工期時限緊張,系統設計時間有限,導致整個軟件設計質量難以控制。在軟件測試過程中,由于前期工作的疏忽,只有上線實測才能發現問題和漏洞,這些問題有時還包括供需不一致的情況,很多的軟件設計需要不斷地修改完善。在軟件的開發設計中,難以掌握軟件實際的開發力度,把控制軟件質量的的工作全部留在測試化解,導致工作效率不高。
Visual Basic是由微軟公司推出的一套可用于開發Windows環境下的各類應用程序的開發工具,是一種可視化,真正面向對象、采用事件驅動的結構化高級程序設計語言,具有靈活方便、易于擴充、實用性強等特點,公認的編程效率最高的一種編程方法。
對于結果計算工具的選擇,我們通過易用程度、啟動速度、數據再錄入速度、可拓展性、系統兼容性等方面分別進行橫向比較(表2)。

表2 不同計算工具的特點
在計算檢測結果時,不論是用桌面計算器,還是采用含預制公式的Excel表格,都有各自影響計算效率的問題。
針對這些問題,用VB解決了這個問題,同時縮短了時長、提高效率并確保結果準確。
基于VB6界面,設計實驗動物環境檢測計算軟件,軟件中具備初始界面、房間概況界面、房間數據界面、飼養間/輔助用房檢測數據輸入界面及飼養間/輔助用房計算結果界面(圖1)。

圖1 系統總體結構
對于本次設計的軟件,程序流程如下(圖2)。

圖2 程序流程圖
2.3.1以隱藏窗體替代卸載窗體:當關閉一個窗體時,只要不涉及窗體所顯示數據的大量更新,可以采用窗體隱藏的方法(Form_Hide)來提高運行速度,隱藏的窗體放入內存中,需要占用一定內存,但再次調用時,該窗體能很快出現,不必執行窗體加載時的一系列初始化工作,所以速度遠比窗體卸載后重新加載的速度更快。
2.3.2簡化窗體:窗體越復雜,其加載速度越慢,所以應盡可能簡化窗體,減少不必要的控件,這樣也可以提高打開速度。
結合國標中不同檢項和不同房間的關鍵特點,充分利用程序的邏輯判斷性,通過邏輯判斷類代碼實現主要功能。
通過對房間名稱文本框(Text 2)進行關鍵字主動檢索,當光標移動時可同時完成動物種類選擇(Combo1)、選擇設施環境為“屏障環境”(Option 4)等功能(如圖3所示)。

圖3 房間概況界面
3.1.1飼養間動物種類自動選擇:當房間名稱中明確出現了飼養動物種類的字符時,如“小鼠飼養間”系統可自動在動物種類列表中選擇小鼠。
If InStr(Text2.Text, “小鼠”) >0 Then
Option3.Visible=False
Combo1.ListIndex=0
……
3.1.2屏障環境輔助用房檢測項目自動選擇:當房間名稱中出現“一更”“緩”“潔”等字符時,程序可自動識別并按照屏障環境輔助用房的標準進行項目勾選。
If InStr(Text2.Text, “一更”) >0 Then ′ 檢索房間名稱關鍵詞
Check1.Value=1 ′選擇溫度
Check6.Value=1 ′選擇噪聲
Check7.Value=1 ′選擇工作照度
Combo1.Locked=True ′鎖定動物種類列表框
Option4.Value=True ′選擇當前環境等級為屏障環境
Form3.Check1.Value=1 ′在房間尺寸界面中默認為“屏障環境”
……
在實際檢測過程中,當待檢房間平面為非矩形時,我們將其分割為不同大小的矩形分別測量,并在房間尺寸界面選擇“復雜形狀空間”,隨后輸入房間長、寬、高等數據,系統自動進行房間面積、房間容積等數據的計算,并依據國標中部分檢項的布點規則給出正確的檢測位點數量(如圖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所示,結合我們前幾年的實際檢測工作,在飼養間檢測界面設計時,設定房間尺寸<150 m2,除噪聲項目外,其他檢項共預留了15個檢測位點。通過對房間尺寸的計算,獲得待檢位點數量,并通過對控件數組(文本框)的規范,將多余的空白位點進行隱藏,這樣當窗口載入時便已完成各檢項所需位點數量的準備工作。結合我們現行的原始記錄格式,我們可以很方便的通過全尺寸鍵盤的小鍵盤區及“TAB”進行數據的快速錄入,最終光標可移動到“計算”按鍵。

圖5 房間檢測數據界面
For a=0 To 14
If Form2.Check1.Value=0 Then ′溫度
Text4(a).Visible=False
End If
……
如圖6所示,在房間檢測結果界面中,系統通過對原始數據的計算,并結合程序中預設的標準范圍,當檢測結果不符合標準要求時字體以變紅、加粗的形式提醒報告制作人員,檢測結果不符合規定。

圖6 房間檢測結果界面
If Form2.Check1.Value=1 And TA<20 Or TA >26 Then ′溫度
Text4.ForeColor=vbRed
Text4.FontBold=True
End If
隨著實驗動物資源越來越豐富,各地也在不斷為新的資源建設完善的標準化體系。北京現已為實驗用豬、牛、羊、狨猴、長爪沙鼠等實驗動物分別制定相應的環境條件標準,部分技術參數指標與國標不同[5-9],由于該軟件是自主設計,可通過直接增加檢驗標準快速實現對不同標準要求的環境檢測的快速計算,功能設計合理,提高了計算的便利性,節約了計算時間,并且應用于環境檢測工作中,取得了較好的使用效果。該軟件就有良好的可拓展性,可將其系統結構移植到其他平臺,或與數據庫軟件相結合,便可實現更多功能,這些還需人們未來繼續研究。