曾敬 伍革新 黃志芳



摘 ?要: 由于傳統實驗室預約系統缺少移動客戶端,導致預約效果差。為滿足高效預約效果,設計基于UML的實驗室多模式自動預約系統。在應用表達層中利用后臺SQL Server 2000數據庫B/S結構模式,設計手機客戶端,保證客戶端能夠脫機預約。依據業務流程,通過自動預約控制電路達到不同人員預約的目的。采用P89C669型號單片機設計以太網通信服務器,為數據層提供更大存儲空間。數據層采用根節點與邊之比為1[∶]1方式,實現數據集中控制。利用UML建立的實驗實訓預約順序,設計數據庫安全存儲功能,通過單片機串口向GSM發送AT指令進行短信息接收與發送,依據自動預約流程完成自動預約系統設計。由實驗結果可知,所設計系統最高預約效果可達到97%,具有實際應用價值。
關鍵詞: 自動預約系統; 手機客戶端設計; 脫機預約; 服務器設計; 數據集中控制; AT指令發送
中圖分類號: TN02?34; TP311 ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)07?0173?05
Design of UML?based multi?mode automatic reservation system for laboratory
ZENG Jing1, WU Gexin2, HUANG Zhifang3
(1. Hubei Engineering University, Xiaogan 432000, China;
2. School of Information Management, Central China Normal University, Wuhan 432100, China;
3. Institute of Education, Hubei University, Wuhan 432100, China)
Abstract: According to the performance analysis of the traditional laboratory reservation system, the lack of mobile client leads to poor booking effect. In order to meet the high efficiency booking effect, a multi?mode automatic booking system based on UML is designed for laboratory. In the application expression layer, the B/S structure mode of the background SQL Server 2000 database is used to design the mobile client to ensure that the client can make an offline reservation. According to the business process, the automatic reservation control circuit is used to achieve the purpose of different personnel reservation. The Ethernet communication server is designed with P89C669 MCU, which provides more storage space for data layer. In data layer, the ratio of root node to edge is 1[∶]1, which realizes data centralized control. The UML is adopted to establish the order of experiment and training reservation, and design the database security storage function. The AT instructions are sent to GSM through the serial port of single chip computer to receive and send short messages. According to the automatic reservation process, the design of the automatic reservation system is completed. The experimental results show that the maximum reservation effect of the system can reach 97%. It has a practical application value.
Keywords: automatic reservation system; mobile client design; offline reservation; server design; data centralized control; AT instruction issue
0 ?引 ?言
實驗室是高校實驗課程教學的基礎,負責實驗教學與校內模擬學習的重任。在20世紀70年代末出現了第一代實驗室預約系統,隨著校園網不斷完善,引入互聯網技術,實驗室預約系統正在蓬勃發展[1]。實驗室不僅能最大限度地減少工作人員的工作量,還能提高實驗室設備使用效率,然而學生對于實驗室預約提出了更高要求。目前,各大高校除了具備常規實驗室外,還建設了一系列實訓中心,該中心除了進行常規教學外,還存在閑置設備,因學生個體化差異,部分學生無法得到合理實驗時間。依據很多高校對開放型實驗室的要求,原本只針對教師開放的實驗室,現在對學生也進行預約開放,為了充分利用實驗室資源,本文提出了基于UML的實驗室多模式自動預約系統[2]。
以UML建模語言為基礎,融入軟件工程新思想,其作用域不再局限于實驗室預約系統分析,還可依據學生需求從硬件到軟件進行開發設計,使實驗室設備得到充分利用。
1 ?系統平臺實現
以往實驗室預約系統流程復雜、效率較低,學生每完成一次實驗室預約流程需經過如下步驟:學生預約→管理人員查看所有預約信息→做出預約安排→管理人員對預約情況回復→學生查詢預約結果[3]。通常實驗室工作人員只會在固定時間對查詢情況進行總結,而學生接收到預約結果信息也需要2~3天[4]。因此,為了提高預約效率,在系統平臺中添加手機客戶端,有利于提高實驗室預約服務水平。
實驗室多模式自動預約系統中學生、教師和實驗室管理人員之間的關系如圖1所示。
依據上述關系,設計由客戶端、內部局域網、服務器構成的系統,其結構是面向服務體系進行設計的,實驗室多模式自動預約系統結構如圖2所示。
如圖2所示,該系統結構是由應用表達層、業務流程層、服務層和數據層組成的。
1) 應用表達層
應用表達層是用戶接口部分,可與業務流程層進行信息交互。利用后臺SQL Server 2000數據庫B/S結構模式,通過不同客戶端調用服務,經過業務邏輯編排可實現訪問控制[5]。該層次為系統提供了最終界面,保證系統能夠接收用戶請求。
通過自定義協議、公共協議設計手機客戶端,除了瀏覽器和服務器外,還需設計一個純客戶端[6]。客戶端與服務器相對應,為客戶提供本地服務程序,通常安裝在用戶移動設備上,需要與服務端相互配合運行[7?9]。手機客戶端可通過在客戶機上寫一些程序,保證服務器出現故障時,客戶端依然能夠正常工作,實現脫機預約。
2) 業務流程層
業務流程層是應用表達層和數據訪問層的中心層次,負責系統業務處理,系統中所有邏輯關系都體現在該層次中[10]。業務邏輯主要包括兩部分:用戶權限管理,用戶按照所授權限預設業務流程處理相關業務[11]。該層次由管理員模塊、教師模塊和學生模塊組成,如圖3所示。
依據圖3可知,教師模塊和學生模塊都只是針對個人需求進行實驗室預約,而管理員模塊是匯總這兩個模塊全部信息進行相應時間安排[12]。因此,在該情況下,設計自動預約控制電路如圖4所示。
開關(1)在電路中連接服務層單片機接口,當電平較低時,整個電路處于工作狀態,集電極輸出高電平觸發可控硅[N2],使[R1]得電閉合,與繼電器[R2]形成閉合電路,達到教師預約目的[13]。
開關(2)連接服務器單片機另一接口,當電平較低時,同樣觸發可控硅[N2],使繼電器[R2]線圈得電,此時需斷開電源,達到學生預約目的。
開關(3)無需預約時間,隨時使用,達到實驗室工作人員管理的目的。
3) 服務層
服務層在操作系統服務基礎上對數據進行管理,為業務邏輯層提供標準化訪問接口。通過分析設計目標特有性能,采用嵌入式以太網通信服務器,采取如圖5所示架構。
采用某公司生產的P89C669的芯片8位單片機,自帶96 KB的FLASH,執行速度是標準80C51器件2倍,網卡芯片選擇RTL8019AS局域網處理芯片,能夠滿足數據量存儲要求,保證MCU具有足夠數據堆棧運行到嵌入式系統程序之中。網絡芯片1負責與上位機通信,是系統上聯接口;網絡芯片2負責與下位機通信,是系統下聯接口;SRAM靜態隨機存取存儲器用來擴展數據庫,為數據層提供存儲空間。
4) 數據層
采用大型數據庫實現對數據存儲與處理,通過使用SQL Server數據庫,為業務邏輯層提供數據訪問統一接口。采用層次結構模型建立的數據庫,實質上是一種有根節點的定向有序樹,實驗室管理人員為根節點,教師和學生為枝節點,根節點與枝節點之間的聯系為邊,即根節點與邊之比為1[∶]1,一個根節點可具有多個邊,表示一個管理人員可同時處理教師和學生預約信息,實現數據集中控制,保持數據一致性和可維護性,確保數據安全與可靠。
依據實驗室多模式自動預約系統中學生、教師和實驗室管理人員之間的關系,設計實驗室多模式自動預約系統,該系統包括應用表達層、業務流程層、服務層和數據層。其中,應用表達層設計手機客戶端,保證服務器出現故障時,客戶端依然能夠正常工作,實現脫機預約;業務流程層由管理員模塊、教師模塊和學生模塊組成,通過自動預約控制電路,達到不同人員預約的目的;服務層為業務邏輯層提供標準化訪問接口,采用嵌入式以太網通信服務器,為數據層提供更大存儲空間;數據層采用根節點與邊之比為1[∶]1方式,實現數據集中控制,確保數據安全與可靠,由此完成系統平臺設計。
2 ?基于UML系統軟件功能設計
系統采用UML建模,在設計階段分別針對實驗室管理人員、教師和學生在實驗過程中所承擔的不同角色進行需求分析,利用UML建模工具,以漸進式迭代過程實現系統軟件功能設計。
2.1 ?動態建模
采用Rational Rose 2003建立UML軟件系統模型,在面向對象建模過程中,系統動態行為主要通過順序圖表現出來。通過順序圖描述對象之間動態交互行為,著重體現不同對象間的信息傳遞順序,水平軸表示不同對象,垂直軸表示時間,采用UML建立的實訓預約順序示意圖如圖6所示。
依據圖6,實驗室管理人員需及時審核教師或學生預約信息,并給出預約結果,在數據庫安全存儲功能下,設計移動端信息處理功能,通過預約流程實現軟件功能設計。
2.2 ?數據庫安全存儲功能設計
實驗室多模式自動預約系統數據庫設計需要建立統一數據庫,這是完成預約系統設計的關鍵環節,實驗室預約信息處理可用如下公式表示:
[fxmin=i=1nαiytix+βzx] (1)
式中:[fxmin]表示申請預約信息處理結果的最小值;[x]為原始用戶預約申請信息變量;[y]表示預約信息處理中損失的信息;[z]表示正則化系數;[α],[β]分別表示對偶處理中的變量和共軛系數。
預約信息安全存儲公式如下所示:
[Wgmin=i=1nαi-gi-βz1βi=1nyigi] (2)
式中:[Wgmin]為信息安全存儲最低值,[g]為安全等級信息變量。將全部安全信息存儲到該數據庫中,由此設計短信息處理功能。
2.3 ?短信息處理功能設計
從終端設備或數據終端設備向電路終端設備發送相關指令,由不同廠家共同為GSM全球移動通信系統研制DTE?DCE標準接口,服務層的單片機可通過串口向GSM發送AT指令,達到控制全球移動通信系統收發短信的目的。
短信息接收與發送流程如下:
1) 短信息接收:監控新短信息,讀取相應SIM卡內新消息,利用PDU格式分析并判斷其編碼方式,無論是中文解碼,還是英文解碼,都自動生成短消息正文。查看短消息內容格式是否有誤,如果正確,則短消息內容通過串口發往上位機;如果錯誤,則直接回復錯誤提示信息,由此結束短信息接收。
2) 短信息發送:從串口讀取上位機發回的短消息正文內容,判斷短消息正文字符串種類,無論是中文解碼,還是英文解碼,都需設置短消息中心號碼。通過讀取目標號碼和時間,封裝PDU編碼串,由此結束短信息發送。
2.4 ?實驗室多模式自動預約流程設計
實驗室多模式自動預約流程設計如圖7所示。
在實驗室預約狀態顯示表中,教師或學生可選擇狀態為預約的課時、預約相關實驗,而系統可根據當前對話判斷用戶是否登錄。如果未登錄,則需用戶選擇課時所有參數跳轉至登錄頁面,再根據傳遞參數跳轉至該課時預約內容,進而填寫頁面。用戶填寫相關信息后,系統先查詢booking表中是否有該課時的預約信息,防止多個用戶同時預約,確認無人預約后,對該用戶發送預約成功信息。
3 ?仿真實驗
在網絡服務器端開發環境下,采用某實驗室中心數據庫提供的相關數據信息作為傳統系統與基于UML系統預約效果仿真實驗數據集。
3.1 ?實驗數據收集
從實驗室中心數據庫中提取相關人員的信息如表1所示。
依據表1所示相關人員信息,查看其對應的預約實驗內容,如表2所示。
不同實驗內容都會存在很多教師和學生進行預約,因此,管理人員需根據實際預約情況合理安排時間。
3.2 ?實驗結果與分析
從上述預約成功的實驗內容中選取編號為1,2,4的實驗內容,對比分析傳統系統與基于UML系統預約效果。
1) 理想狀態下
在理想狀態下,無其他干擾,兩種系統預約效果如表3所示。傳統系統實驗次數為5次時,編號為1下實驗預約效果較好,在實驗次數為50次時,編號為4下實驗預約效果較差,維持在70%以上。
基于UML系統實驗次數為5次、10次時,編號為1的實驗預約效果較好,達到98%,在實驗次數為50次時,編號為4的實驗預約效果較差,但也達到92%。
對比兩種系統預約效果可知,在理想狀態下,兩種系統預約效果都較好,但基于UML系統比傳統系統預約效果更好。
2) 實際情況下
在實際情況下,兩種系統會受到網絡、時間、距離等多種因素的影響,導致預約效果不如理想狀態。而添加手機客戶端的UML系統要比傳統系統預約效果好,為了驗證預約效果,進行實驗對比分析,結果如圖8所示。
由圖8可知:隨著實驗次數的增加,傳統系統最高預約效果也沒超過70%,最低達到3%,說明實際情況給傳統系統帶來影響較大。而基于UML系統最低預約效果也高于70%,最高可達到97%,說明設計手機客戶端給預約帶來極大便利,也提高了預約效果。
對比兩種系統的預約效果可知,在實際情況下,基于UML系統比傳統系統預約效果要好。
4 ?結 ?語
本文設計了基于UML的實驗室多模式自動預約系統,充分體現了以學生和教師為中心的預約理念,促進了學生對學習的熱情,也使設備能夠充分被利用。將實驗室自動預約系統應用于手機客戶端上,可隨時完成實驗室預約,解決學生缺少電腦情況下通過客戶端就可方便完成實驗室自動預約的問題。
目前,該系統建設還處于起步階段,不斷深入研究高效論證方法,才能保證實驗室建設更加有序,為我國科學事業發展打好基礎。
參考文獻
[1] 朱曉倩.基于UML的EtherCAT礦井電力監控系統實時性研究[J].計算機測量與控制,2018,26(10):21?30.
[2] 姜人和,鄭曉梅.一種基于UML關系的Java代碼庫構造方法[J].計算機科學,2017,44(11):69?79.
[3] 喻正偉,王瑞英,唐麗麗,等.一種多功能新型核與輻射應急監測移動實驗室的設計[J].核電子學與探測技術,2017,37(12):18?22.
[4] 趙慧娟,巨春飛,解歡,等.多模式進給結構與控制界面設計[J].機械設計與制造,2017,30(9):186?189.
[5] 顧賢能.基于數字化多媒體的藝術設計實驗室智能平臺設計[J].現代電子技術,2018,41(11):110?114.
[6] 李程慧,付敏峰.基于微信企業號的實驗室預約系統設計與實現[J].電腦知識與技術,2017,13(6):115?118.
[7] HOU Xiaoli, DENG Wei, NIU Tianyong, et al. Functional design of open laboratory reservation system [J]. Computer know?ledge and technology, 2017, 13(6): 19?28.
[8] XIE Xuyang. Design and implementation of open laboratory re?servation management system [J]. Information and computer (Theoretical edition), 2017, 12(17): 109?111.
[9] 蘇東偉,梁志堅,賀秋麗,等.基于微信平臺的高校開放實驗室預約系統的設計與實現[J].信息通信,2018,11(1):160?161.
[10] 劉素轉,吳衛江.實驗室開放預約系統的設計與開發[J].教育教學論壇,2018,26(16):275?276.
[11] 余獻平.以ASP.NET為基礎的實驗室預約系統的設計[J].電子技術與軟件工程,2018(12):61?67.
[12] 林杰.基于云平臺虛擬網絡實驗室功能實現設計[J].電子設計工程,2018,26(24):32?35.
[13] 郝靜鵬.云平臺下實驗室數據庫資源負載優化控制仿真[J].計算機仿真,2017,34(7):391?394.