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