王瑀 張琦 關(guān)雅文 孟澤昕 周鑫


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