廣州醫科大學衛生職業技術學院 吳力挽 蘇曼玲 楊 翀
醫學檢驗技術專業共享主題素材庫的設計與實現
廣州醫科大學衛生職業技術學院 吳力挽 蘇曼玲 楊 翀
結合醫學檢驗技術專業素材零散、原創不足的問題,為促進專業建設,本文設計實現了一種醫學檢驗技術專業共享主題素材庫,通過對素材庫的架構設計、角色設計、功能設計、數據庫設計,闡述了素材庫開發中用到的存儲過程預編譯、無限級分類、通用SQL防注入、靜態頁生成四種關鍵技術,將素材庫應用于課堂教學及自主學習,激發了學生興趣,提高了學習效率。
醫學檢驗技術;素材庫;存儲過程;SQL防注入
隨著社會的不斷發展,社會對醫學檢驗技術人才需求要求不斷增加,但是傳統醫學檢驗技術專業教學模式扁平單一、教學資源相對不足及原創素材匱乏、數據缺乏有效整合和共享、信息化手段滯后脫節,滿足不了培養現代醫學檢驗人才的需要。針對這些問題,本文設計實現了一個醫學檢驗技術專業共享主題素材庫,該素材庫通過引入多種教學資源,如:圖片、動畫、PPT、視頻等,豐富了教學設計,激發了學生興趣,提高了學習效率,解決了醫學檢驗技術專業素材資源匱乏問題,實現資源網絡化、數字化,滿足了培養醫學檢驗技術人才的需要。
1.1 系統架構設計
素材庫使用B/S架構,采用面向對象模塊化開發,設計一個核心子類,負責數據庫的通用連接、存儲過程的調用和對數據的增、刪、查、改操作。對Model封裝成實體類,調用這個核心子類模塊,模塊之間分層架構清晰,耦合度低,便于維護管理。DAL封裝常用的數據訪問操作,常用的數據訪問方法有Add()、Edit()、Delete()、Search()等。BLL控制器接受用戶請求,根據業務邏輯處理用戶請求并返回數據。系統架構見圖1。
圖1 系統架構圖
1.2 系統功能設計
系統功能有題庫管理、信息管理、用戶管理、模板管理、類別管理、內容管理和日志管理。系統模塊功能見表1。
1.3 系統角色設計
該系統角色可以分為三類:審核員、普通用戶和管理員。審核員主要是對資源審核、資源發布和資源檢索;普通用戶主要是資源發布、資源檢索、資源下載;管理員主要是題庫管理、類別管理、用戶管理、角色管理、信息管理、內容管理和日志管理。系統用例見圖3。
表1 系統模塊功能
圖2 系統功能結構圖
1.4 系統數據庫設計
本素材庫采用微軟SQL Server2008數據庫軟件,該數據庫存儲穩定,性能較高,安全性好,在設計中遵循范式理論規約,減少冗余字段,提高數據檢索性能。數據表說明如下:Sck_Answer是問答題和填空題數據表,sck_Choice是單選題和多選題數據表,sck_ Content是內容數據表,sck_Course是課程數據表,sck_User是用戶數據表,sck_Judge是判斷題數據表,sck_Class是類別數據表,sck_ SysLog是日志數據表,sck_Teacher是項目團隊數據表,sck_Template是模板數據表,數據表結構見圖4。
圖3 系統用例圖
圖4 數據表結構
本系統開發過程中采用了存儲過程預編譯機制,無限級分類,通用SQL防注入,靜態頁生成技術。通過這些關鍵技術,素材庫運行穩定,易于維護,可擴展性好。
2.1 存儲過程預編譯
素材庫所有的數據訪問均采用存儲過程實現,利用存儲過程的預編譯機制,只需在第一次訪問時編譯一次,再次執行無需編譯,從而加快了執行速度。素材庫所有的數據錄入、修改和刪除均采用通用存儲過程實現。執行存儲過程的代碼如下:
Public Function ExecProc(Byval procName, ByRef Parameter)
OpenDB()
Set Cmmd = Parameter
Set Cmmd.ActiveConnection = Conn
Cmmd.CommandType = adCmdStoredProc
Cmmd.CommandText = procName
Set ExecProc = Cmmd.Execute()
End Function
2.2 無限級分類
采用遞歸的方式實現無限級分類,首先定義大類,所有大類ParentID=0,再在大類上添加小類。本素材庫的大類有標準庫、項目庫、案例庫、素材庫、試題庫。標準庫小類有國際標準、國家標準、行業標準、其他標準。項目庫小類有微檢項目、寄檢項目、免檢項目、臨檢項目、血檢項目、生化檢項目。案例庫小類有微檢案例、寄檢案例、免檢案例、臨檢案例、血檢案例、生化檢案例。素材庫小類有微生物檢驗、人體寄生蟲檢驗、免疫學檢驗、臨床檢驗、血液學檢驗、生物化學檢驗、病原生物與免疫學。試題庫小類有微檢試題、寄檢試題、免檢試題、臨檢試題、血檢試題、生化檢試題、人體寄生蟲學試題。
2.3 通用SQL防注入
為了保證素材庫安全訪問,一方面在數據庫端采用存儲過程參數化查詢,另一方面,編寫一個通用函數,函數名為CheckSQLInjection,采用正則匹配技術,正則規則為'|(and|or).+?(>|<|=|in|like)|/*.+?*/|
2.4 靜態頁生成技術
利用DreamWeaver CS6,通過Div+CSS布局設計一個靜態頁模板,模板中定義標簽變量,標題標簽為$title$、作者標簽為$author$、添加時間標簽為$addtime$,內容標簽為$content$,通過Replace標簽替換,將數據表中取得的內容替換相應標簽,在通過FSO中CreateTextFile方法寫入內容,生成靜態頁。該生成方式主要優點是通過靜態頁訪問,不用訪問數據庫,大大減輕了數據庫的訪問壓力,不足是生成的大量網頁會占用硬盤的存儲空間,每次生成都會造成硬盤磁頭頻繁讀寫,影響硬盤使用壽命。
本文結合醫學檢驗技術專業教學現狀,設計了一個素材庫系統,具有廣闊的應用前景。在系統開發中,也有一些不完善的地方需要改進,第一,沒有利用Ajax局部刷新技術,影響用戶使用體驗。第二,在試題庫試題錄入方面,沒有通過Excel 模板實現試題批量錄入。最后,需要在緩存優化上和靜態頁生成相結合,加快數據讀取速度。下一步的工作是將題庫部分進一步完善,如試卷智能生成、題型智能分析、試題難度和區分度計算、試卷模板定制等,使素材庫更加符合教學實際,提高教學質量,增強教學效果。
[1]樂德廣,李鑫,龔聲蓉,鄭力新.新型二階SQL注入技術研究[J].通信學報,2015,36(Z1:):85-92.
[2]丁勇.基于層級管理的通用題庫及在線考試管理系統的設計與實現[J].電子技術與軟件工程,2014(20):68-69.
[3]董紅影.《程序設計》在線練習與考試系統的設計與實現[D].中山大學,2014.
[4]沈黎.基于網絡數據庫的存儲過程和觸發器應用研究[J].西南師范大學學報(自然科學版),2016,41(3):51-55.
吳力挽(1980—),男,碩士研究生,高級工程師,研究方向:大數據、信息安全。
廣東省教育廳2015年度高職質量工程立項項目(GDJG2015213)。
楊翀【通訊作者】(1967—),男,醫學學士,軟件工程領域工程碩士,副教授,研究方向:醫學教學資源計算機網絡應用和軟件。