王琪,王丙星,竇鵬森,姜小瑩
(河南科技學院 化學化工學院,河南 新鄉 453003)
化學試劑和儀器是科學研究和實驗室教學的重要基礎設施。化學試劑具有種類繁多、理化性質復雜、流通速度快、流動范圍廣等特點[1],而實驗室的儀器設備大都具有成本較高、需定期維護,使用者多等特點。以往的人工操作、登記,難以保證化學試劑庫存信息、實驗儀器狀態的一致性,一些實驗室存在試劑和儀器重復購買、管理不當等問題,致使管理效率低、管理成本高[2]。近年來教育經費有所增長,人才培養方式發生了轉變,許多高校的化學實驗室都購置了大量儀器設備,但是由于擴大招生,人均占有教學及科研資源不增反降[3]。因此,如何調整利用好教學和科研資源,是當今高校亟待解決的問題。
在互聯網技術成熟的今天,計算機輔助管理正在被大眾廣泛接受,利用信息化管理可以使實驗室資源合理安排、儀器資源高效運轉、人力資源有效利用[4]。通過實驗室所存在問題和現有管理系統功能的對比后發現,現存的一些管理系統還是存在一些問題。比如:現有系統對于高校化學實驗室而言在功能上過于寬泛[5],一些功能過于理想化卻實用性不強;一些管理系統的管理精確度不高,對儀器及試劑做不到實時的狀態監控[6];現有的實驗室管理系統大都依賴于管理員或老師這一特定用戶或群體,無法實現多用戶共同操作管理等。
本文在針對高校化學實驗室現有問題分析及參考現有化學實驗室管理系統設計理念的基礎上,構建出了一款適用于高校化學實驗室管理的智能信息化平臺。該系統滿足了“共同管理”“信息開放”“流向追蹤”“Web 訪問”等需求,解決了現有高校化學實驗室管理系統設計所存在的問題[7],具有以下特點:(1)多用戶參與管理,改變傳統的“只有管理員在參與管理”的現狀;(2)給予不同系統用戶不同的操作權限,使系統兼具開放性和安全性;(3)供容錯方案,使數據在相對可靠的情況下兼容使用者造成的誤差;(4)在現有實驗室管理系統基礎上,新增整理操作記錄功能,用以排查系統問題;(5)管理系統設計為網站形式,無需使用者下載專屬客戶端。
系統的可行性分析是項目決策的重要科學依據,以下就經濟、技術及操作三個方面進行分析。
就經濟方面而言,本系統的設計和開發將采用成本較低的 Java 語言,并且在經濟可承受范圍內選用硬件設備。在實施后,使用本系統可以實現化學藥品及儀器設備的共享管理,避免重復購置,從而降低采購成本。此外,本系統將采用在線預訂和租借的方式,有效減少儀器設備的閑置浪費,同時也能夠減少人力、物力和財力成本。從經濟角度來看,用戶使用本系統得到的效益遠高于開發成本。
就技術方面而言,本系統采用了先進的 Spring Boot+Vue 組合框架,并且數據存儲方面采用了關系型數據庫管理系統 MySQL。這些技術已相對成熟穩定,并且對硬件需求不高,可拓展性強。從技術方面來看已經足夠支撐本系統開發。
在系統操作方面,本系統的設計上嚴格區分服務端和客戶端,采用了 Vue 腳手架,可視化界面可以達到操作方便。為了確保系統安全和穩定,本系統將實現多重身份驗證、權限管理和數據備份等措施。
因此,基于以上分析,化學藥品及儀器設備共享管理系統的開發和設計是可行的。
1.2.1 系統整體需求
在當前技術結構下,一個結構標準且邏輯嚴格具備前后端分離功能的實驗室管理系統功能應該具備:依據 Spring Boot 框架編寫的系統數據傳遞模塊和依據 Vue 腳手架編寫的前端操作頁面模塊。
系統數據傳遞模塊:應具備管理員和普通用戶的登錄功能,為普通用戶提供添加試劑及儀器信息、線上預約、在線查閱信息等功能;為管理員提供對用戶信息增刪改查、用戶行為查看等功能和日志查看等功能,以方便維護系統。
前端操作頁面模塊:提供給用戶一個精簡的可視化操作頁面,能夠與系統數據傳遞模塊進行交互,達到系統功能需求。
1.2.2 使用者對系統的需求
管理員需求:登錄、授權;查看修改用戶權限;修改用戶部分信息;修改自己的賬戶信息;查看系統日志。
在化學藥品及儀器設備共享管理系統中父級賬號(即管理員賬號)擁有對其子賬號的絕對管理權限。父級賬號可在擁有創建子賬號權限的前提下自定義創建子賬號,并可在創建過程中自定義賦予子賬號小于或等于當前賬號的權限。管理員賬號為系統中最頂級的管理者,它是唯一且沒有父級賬號的最高管理者專屬賬號,一般只用來對廣大賬號進行管理,不參與對實驗室信息的管理。
普通用戶需求:注冊、登錄、修改密碼、查詢資源信息、預約設備。
在系統中用戶可以在當前賬號權限許可的情況下,向系統中上傳、修改或刪除試劑及儀器信息。同時具備多條件搜索這些信息的能力,并可對有需要的試劑或儀器進行預約申請,而這些申請使用的操作都會被記錄在操作日志當中,供用戶搜索查看,這也使得用戶可以精確地確定實驗室資源的狀態。
系統功能設計主要為如圖1 所示的四個功能模塊(信息統計和報表輸出同屬一個模塊),另外還包括系統用戶模塊,共五大模塊。

圖1 RBAC 權限管理模型
2.1.1 用戶管理模塊
為了能夠滿足多用戶共同參與管理,解放管理員,且用戶權限分級這一需求。應該對用戶及用戶功能就行設計,常見的管理系統權限設計思路是直接賦予賬號用戶功能,因為在傳統設計思路中不存在普通用戶這一概念,故不會考慮多用戶多權限問題。此時為了實現自由擴展用戶,且要合理分配新增用戶權限,將依照如圖1 所示 RBAC 權限模型從用戶、角色、權限這三個維度進行用戶和權限的間接綁定[8-9]。首先將包括新增用戶、刪除用戶等在內的操作加以不同等級權限;然后將權限賦予不同的角色,新增用戶時又可對用戶加以不同角色,在保證了較簡單的新增用戶的同時又不失安全性。如此,用戶擁有角色,角色對應權限的體系就構成了。
2.1.2 規格管理模塊
化學藥品及儀器設備共享管理系統的設計雖然是為了對實驗室藥劑及儀器進行管理,但為了便于數據的維護,以及更清晰直觀地將實驗室藥劑及儀器數據呈現到用戶面前,確保用戶對藥劑及儀器的數量及單位有更加準確的認知,因此特別設計了一個規格單位的管理模塊,該模塊可以由用戶直接進行操作。在新增一個規格單位時,用戶要分別輸入單位名稱、單位描述、單位類型這三個信息,它們分別代表著用戶所新增這個單位的名稱、具體含義、適用對象,例如瓶-250 mL/瓶-試劑。如此,用戶今后在系統中登記試劑時就可選用該單位表示數量信息,例如:用戶上傳信息—蒸餾水-25-瓶,則代表25 瓶250 mL 裝的蒸餾水。除新增之外,用戶還可以對該模塊規格信息進行篩選搜索、修改和刪除操作。
2.1.3 試劑及儀器管理模塊
為了解決儀器及試劑在使用過程中的損耗和量取誤差問題增強數據的容錯性。藥劑管理和儀器管理在支持當前用戶的新增(即上傳共享)、刪除、修改、搜索查詢的基礎上,單獨為操作者提供了修改當前試劑或儀器可用量的接口,從而保證系統操作者在操作過程中發現數據存在誤差后可以及時更正。在實現共同參與管理且保證數據準確的同時也要考慮到數據安全問題,因此,在用戶權限之上,每個用戶只能刪除自己導入的器材或者藥劑,針對其他用戶新增的數據當前用戶只能進行預約操作或修改可用數量。
2.1.4 日志管理模塊
以往的實驗室管理系統設計思路上,著重于針對目標的管理,例如常見的化學實驗室管理系統設計,多專于實驗室藥劑設備管理[10]。這些傳統管理系統設計往往疏于對系統中數據的操作記錄進行管理,這自然造成了一些人為操作導致的系統數據異常難以排查。為了提高化學實驗室管理系統對自身數據異常的自我排查能力,特在管理系統中設計了操作日志管理模塊。該模塊功能包括對某個或所有用戶在某一時間段的操作記錄,也可通過儀器或試劑名稱查詢某一時間段的用戶操作信息,對實驗室資源流向有著很詳細的記錄,從而在系統數據出現與實際數據不符時可及時通過此模塊排查問題并找到相關責任人。
軟件系統的開發工作需要考慮系統開發所需要的數據,以及如何對這些數據進行操作。這兩個問題貫穿了整個軟件系統的開發過程。也就是說數據庫的設計問題是整個軟件設計的核心[11]。化學藥品及儀器設備共享管理系統在數據的存儲上,選用的是5.1.7 版本的MySQL 數據庫。在對系統功能設計中,存在用戶、規格、藥劑、儀器、使用記錄這些實體,關系模式如下:
用戶(id,用戶名,昵稱,性別,電話,部門,是否為管理員,郵箱);
藥劑(id,名稱,總量,規格,可用數量,地點);
規格(id,名稱,描述,類型);
儀器(id,名稱,總量,規格,可用數量,地點);
中間表(id,類型,用戶id,藥劑/儀器id,預約數量);
使用記錄(id, 用戶名,用戶id, 儀器/藥劑名稱,使用數量,規格,存放位置)。
具體數據關聯性及其流向如圖2 所示。由關系模式得知系統在實驗室管理功能中涉及的表有:用戶信息表、規格單位表、試劑表、儀器表、使用記錄表。

圖2 系統主要數據流向圖
在上文中已經明確了系統的主要功能,在功能確定之后便是要將功能效果通過UI 設計展現出來,化學藥品及儀器設備共享管理系統的功能便是通過技術選型中所調研的UI 設計工具XiaoPiu 所呈現出來的。
在上文提到的技術選型過程中,通過調研最終確定以 Vue 2.0 及 Element-UI 將 UI 設計圖中的系統界面以網頁形式還原。以 Ajax 向數據處理模塊發送瀏覽器數據操作請求,數據處理模塊通過 Java Web對 Ajax 所發送的請求進行攔截解析。解析的請求信息將被 Spring Boot 中邏輯代碼所處理,最終處理后的結果將被 Java Web 響應給頁面,同時數據結果也將會通過 JDBC 和 Mybatis-Plus 數據庫連接工具保存到數據庫中。在系統的開發工程中,所有的系統內容將被存儲在 Coding 托管平臺上,以此作為多人系統開發的基礎。
在系統的開發基本成型后,可以將系統運行在電腦主機上以供功能測試。本次系統設計與開發過程中,測試環節系統被運行在了阿里巴巴旗下產品阿里云服務器上,服務器的系統為 CentOS 7。
化學試劑及儀器設備共享管理系統采用了 B/S架構設計,使用者可在瀏覽器輸入系統網址直接通過賬號密碼進行登錄訪問,無需為了使用該系統而額外下載任何客戶端應用。同時,該系統對管理員功能進行了抽象化,管理員無需直接參與各項事務的管理,而是將各種操作設置對應權限,如上傳操作、查詢操作、修改操作、新增子用戶操作等。管理員只需要創建許多擁有不同權限的角色,從而在新增用戶時將對應的角色賦予該用戶即可。一個角色可以有多重權限,一個用戶可以有多個角色,用戶創建子用戶時子用戶權限不可高于當前用戶權限。管理員對用戶、用戶對子用戶的權限和角色可以動態的進行修改。
如此一來不僅滿足了用戶共同參與管理,進而解放管理員的需求,同時兼具安全性和權限隔離。也正是有了權限的控制和安全可靠的基礎,更多的用戶可以加入到系統的使用中來,從而提高實驗室信息的開放性。系統中特有的容錯方案也使得系統數據在保證時效性和準確性的同時兼容人為操作導致的數據誤差,而對操作記錄的保存和整理更是提高了系統出現問題時的自我排查能力。
4.2.1 測試類別
黑盒測試。
4.2.2 測試環境
操作系統:Windows 10、Windows 11、CentOS7。內存:2G。
4.2.3 測試用例
功能測試用例如表1 所示。

表1 功能測試用例
化學藥品及儀器設備共享管理系統的構建無疑是在現有化學實驗室管理的基礎上取得的重大突破,相較于當下一些管理系統的設計理念也優化了許多經典問題。特別是對“用戶共同參與管理工作”“處理系統數據與實際數據因人為操作造成的誤差”“化學實驗室資源流向追蹤”“信息對外公開”這些設計理念的實現,使得該系統的定位直接處于當下領先水平。但是即便有了如此改觀也依舊未能徹底解決當下管理系統設計中所遇到的問題進而打破一些共有問題所造成的局限性。如在硬件條件受限的情況下,系統的可靠性不得不依托于用戶的自覺性。可見在解決當下高校化學實驗室藥劑儀器管理這一問題上仍有很長的路要走。