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

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

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

表1 功能測(cè)試用例
化學(xué)藥品及儀器設(shè)備共享管理系統(tǒng)的構(gòu)建無(wú)疑是在現(xiàn)有化學(xué)實(shí)驗(yàn)室管理的基礎(chǔ)上取得的重大突破,相較于當(dāng)下一些管理系統(tǒng)的設(shè)計(jì)理念也優(yōu)化了許多經(jīng)典問(wèn)題。特別是對(duì)“用戶(hù)共同參與管理工作”“處理系統(tǒng)數(shù)據(jù)與實(shí)際數(shù)據(jù)因人為操作造成的誤差”“化學(xué)實(shí)驗(yàn)室資源流向追蹤”“信息對(duì)外公開(kāi)”這些設(shè)計(jì)理念的實(shí)現(xiàn),使得該系統(tǒng)的定位直接處于當(dāng)下領(lǐng)先水平。但是即便有了如此改觀(guān)也依舊未能徹底解決當(dāng)下管理系統(tǒng)設(shè)計(jì)中所遇到的問(wèn)題進(jìn)而打破一些共有問(wèn)題所造成的局限性。如在硬件條件受限的情況下,系統(tǒng)的可靠性不得不依托于用戶(hù)的自覺(jué)性。可見(jiàn)在解決當(dāng)下高校化學(xué)實(shí)驗(yàn)室藥劑儀器管理這一問(wèn)題上仍有很長(zhǎng)的路要走。