王瑀 張琦 關(guān)雅文 孟澤昕 周鑫
引言
本論文主要描述該醫(yī)考綜合模擬平臺的設(shè)計、開發(fā)過程,詳細(xì)講述了需求確認(rèn)、架構(gòu)選擇、基本功能、數(shù)據(jù)存儲結(jié)構(gòu)設(shè)計和所使用的關(guān)鍵技術(shù),對該軟件程序的制作過程進(jìn)行總結(jié),客觀分析了其設(shè)計的成長空間。軟件主要能夠?qū)崿F(xiàn)醫(yī)學(xué)生日??荚嚨倪x擇題部分模擬,統(tǒng)計錯題生成報表,乃至錯題重練功能。本文亦對系統(tǒng)中所使用的各類技術(shù)進(jìn)行了一定研究。軟件使用Microsoft Visual Studio Code開源代碼編輯器進(jìn)行開發(fā)與編譯,使用Microsoft Office Excel軟件導(dǎo)出的*.xlsx文件進(jìn)行數(shù)據(jù)保存,便于同學(xué)修改題庫,Golang編程語言用于圖形用戶界面與后端算法的開發(fā),軟件對醫(yī)學(xué)生具有一定用途。
平臺概述
目標(biāo)描述
以現(xiàn)代化、信息化的方法對醫(yī)學(xué)生進(jìn)行綜合測試,解決易錯題的收集和再次練習(xí)的難題,達(dá)到實時、動態(tài)、全面梳理已有知識的目的。為學(xué)生的進(jìn)一步學(xué)習(xí)提供輔助決策支持。使學(xué)生對知識的掌握規(guī)范有序,提高了學(xué)習(xí)效率以及學(xué)習(xí)興趣,極大地增強了學(xué)生的就業(yè)、考研競爭力。
系統(tǒng)的常規(guī)開發(fā)過程
常規(guī)軟件的開發(fā)過程應(yīng)包含開發(fā)準(zhǔn)備、調(diào)查、系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)維護等步驟。根據(jù)開發(fā)系統(tǒng)的大小、時間空間復(fù)雜度、各階段投入、程序編寫的方式方法等因素的不同,各步驟的要求和內(nèi)容也不同,故需要根據(jù)實際情況另行規(guī)劃。
開發(fā)準(zhǔn)備:主要應(yīng)包括有具體需求的獲取、選擇共同成立開發(fā)團隊的人員、制作開發(fā)甘特圖等工作。
調(diào)查:系統(tǒng)分析應(yīng)建立在現(xiàn)行調(diào)查的基礎(chǔ)上,即應(yīng)調(diào)查學(xué)生現(xiàn)行的選擇題練題方法。
(1)系統(tǒng)分析:即平臺正常運行所需的邏輯設(shè)計,是軟件開發(fā)與程序編寫時最為重要的環(huán)節(jié),要求在開發(fā)前調(diào)查結(jié)果的基礎(chǔ)上,對該軟件開發(fā)需要編寫的功能進(jìn)行細(xì)致的分析與規(guī)劃,并建立一個新的軟件模型。
(2)系統(tǒng)設(shè)計:是利用系統(tǒng)分析環(huán)節(jié)生成的報告,從中提取關(guān)鍵信息來建立邏輯模型,使用一切現(xiàn)有的技術(shù)成果和手段進(jìn)行模型的細(xì)節(jié)設(shè)計,確定軟件的實施計劃。
(3)系統(tǒng)維護:應(yīng)用軟件是一個復(fù)雜的實時系統(tǒng),瞬息萬變的系統(tǒng)內(nèi)部環(huán)境與外部交互從始至終地影響著系統(tǒng)的運行,這就需要設(shè)計者對該系統(tǒng)的不斷完善以提高運行效率與服務(wù)水平,從始至終地進(jìn)行系統(tǒng)的維護開發(fā)工作。
開發(fā)技術(shù)與平臺介紹
開發(fā)技術(shù)
1.Go編程語言
Go 是一種開源編程語言,它具有表現(xiàn)力、簡潔、干凈和高效。 它的并發(fā)機制可以輕松編寫程序,充分利用多核和聯(lián)網(wǎng)主機,而其新穎的類型系統(tǒng)可以實現(xiàn)靈活和模塊化的程序構(gòu)建。 Go 可以快速編譯為機器代碼,但具有垃圾收集的便利性和運行時反射的能力。 它是一種快速的、靜態(tài)類型的、編譯的語言,但感覺就像一種動態(tài)類型的解釋型語言。
2.Fyne GUI庫
Fyne 工具包是一個易于學(xué)習(xí)、免費和開源的平臺,用于為桌面、移動設(shè)備及其他平臺構(gòu)建圖形應(yīng)用程序。 將 Go 編程語言的強大功能和簡單性與精心制作的小部件庫相結(jié)合,現(xiàn)在比以往任何時候都更容易構(gòu)建應(yīng)用程序并將其部署到所有平臺和商店。
3.*.xlsx文件格式
xlsx是Microsoft Office EXCEL 2007/2010/2013/2016/2019文檔的擴展名。其基于Office Open XML標(biāo)準(zhǔn)的壓縮文件格式取代了其以前專有的默認(rèn)文件格式。
平臺介紹
1.平臺外觀
軟件采用簡潔的白底黑字、藍(lán)色標(biāo)簽的配色,可讀性更高的同時不失優(yōu)雅的外觀。
2.平臺功能
作為一款選擇題練習(xí)軟件,基礎(chǔ)的練習(xí)功能必不可少。軟件的練習(xí)頁面提供了“上一題”“下一題”與“提交”三個按鈕,最大程度減少練習(xí)過程中不必要干擾的同時,也可以方便地查看已作答的題目。而第二個標(biāo)簽頁“關(guān)于軟件與說明”則提供了軟件詳細(xì)的使用說明與版權(quán)聲明,幫助同學(xué)們高效地使用同時辨別盜版軟件。該軟件使用微軟Excel辦公軟件導(dǎo)出的 *.docx格式的表格文件作為題庫,以使毫無開發(fā)基礎(chǔ)的同學(xué)也能方便地對題庫進(jìn)行增、刪、改、查等操作。每一次作答完畢后,軟件自動生成同為(*.docx)格式的錯題本,使同學(xué)們無論是使用錯題再次測試還是保存文件隨時查看都只需要輕點鼠標(biāo)。軟件秉承“高內(nèi)聚,低耦合”的設(shè)計原則,運行穩(wěn)定占用內(nèi)存低,保證低端設(shè)備的兼容性,并可以自動完成一切基本操作。
測試及錯誤處理
單元測試
在計算機編程中,單元測試(英語: Unit Testing )又稱為模塊測試,是針對程序模塊(軟件設(shè)計的最小單位)來進(jìn)行正確性檢驗的測試工作。
本項目使用Golang內(nèi)置Testing功能進(jìn)行單元測試的設(shè)計,以達(dá)到測試驅(qū)動開發(fā)的需求。
Golang的單元測試有以下幾點規(guī)約要求:
·單元測試文件名必須以 xxx_test.go 命名;
·方法必須是 TestXxx 開頭,建議風(fēng)格保持一致(駝峰或者下劃線);
·方法參數(shù)必須為 t *testing.T;
·測試文件和被測試文件必須在一個包中。
錯誤處理
錯誤在Golang中是一個error接口類型,如果函數(shù)包含錯誤,我們就可以在返回值列表的最后一個值中獲取該錯誤信息并逐層向上傳遞返回,直到錯誤被處理。
總結(jié)
龐大的醫(yī)學(xué)生基數(shù)給教育培訓(xùn)類應(yīng)用程序帶來了巨大的商機。隨著時間的推移,傳統(tǒng)教育模式不斷變化的趨勢愈演愈烈。而如今通過通用計算機和手機應(yīng)用程序,線下培訓(xùn)和移動學(xué)習(xí)更加完全有機地結(jié)合了起來。
在這次開發(fā)中,本著對現(xiàn)代化、信息化醫(yī)學(xué)教育的學(xué)習(xí)和研究,我進(jìn)行了這個選題,而此次研究帶來的好處也是顯著的。在項目推進(jìn)過程中,我對使用的框架、語言都有了更深層次的了解,同時對醫(yī)學(xué)的專業(yè)課知識形成了一個整體框架,頭腦中已有的概念也更加清晰。對作品的每一次改善都是學(xué)習(xí)中的收獲,我也會不忘初心,繼續(xù)在我熱愛的方向上走下去。
參考文獻(xiàn):
[1]The Go Programming Language. Documentation[T/OL].https://golang.google.cn/doc/,2021-7-29.
[2]Fyne.HELPING THE WORLD BUILD BETTER SOFTWARE[T/OL].https://fyne.io/,2021-7-29.
[3]百度. xlsx_百度百科[EB/OL]. https://baike.baidu.com/item/xlsx/3044321,2021-7-29.
[4]知乎.Golang 單元測試指引[EB/OL].? https://zhuanlan.zhihu.com/p/267341653,2021-7-29.
通信作者:李璐