張浩晨,朱參世
(西京學(xué)院計(jì)算機(jī)學(xué)院,陜西西安 710123)
在目前這個(gè)擁有網(wǎng)絡(luò)化體系的大社會(huì)環(huán)境里邊,基本上每一個(gè)行業(yè)都已經(jīng)實(shí)現(xiàn)了信息化體系,尤其是管理型軟件,已經(jīng)出現(xiàn)在社會(huì)上的各個(gè)行業(yè)中,協(xié)助處理工作。當(dāng)然,作為教育行業(yè)知識(shí)的引領(lǐng)者,必然也會(huì)實(shí)現(xiàn)出新型的管理體系。在考試的管理方面上,與考試相關(guān)的管理數(shù)據(jù)太多,諸如學(xué)生相關(guān)的數(shù)據(jù)、課程相關(guān)的數(shù)據(jù)、考試相關(guān)的信息等,當(dāng)面對(duì)大量的需要管理的數(shù)據(jù)時(shí),學(xué)校的管理方式也慢慢地提升到計(jì)算機(jī)的層面之上,現(xiàn)今從高校的日常管理方面上來(lái)看,雖然已經(jīng)引入了不少的管理型的程序,但這顯然并不是很全面,缺乏一套好的、新穎的有關(guān)考試管理的體系結(jié)構(gòu),而且處于互聯(lián)網(wǎng)科技的時(shí)代,各個(gè)高校都會(huì)開設(shè)類似于C語(yǔ)言程序設(shè)計(jì)等計(jì)算機(jī)基礎(chǔ)課程,作為一門公共必修課開展相應(yīng)的教學(xué)活動(dòng),傳統(tǒng)考試方式不僅難以滿足計(jì)算機(jī)基礎(chǔ)考核要求,還會(huì)因卷面考核的形式而消耗大量的資源,高校使用此系統(tǒng)不僅可以減輕老師和學(xué)生的負(fù)擔(dān)還可以提高在有關(guān)考試方面的效率,只要將與考試有著一定聯(lián)系的內(nèi)容信息錄入至該系統(tǒng)當(dāng)中去,系統(tǒng)會(huì)進(jìn)行相應(yīng)的保存和處理,也具備一定查詢的功能[1]。
SSM 框架是Spring、SpringMVC、MyBatis 的簡(jiǎn)稱,它們?nèi)齻€(gè)都是免費(fèi)的開源框架,經(jīng)常作為數(shù)據(jù)源較簡(jiǎn)單的Web 項(xiàng)目的框架。其中Spring 是一種輕量的容器框架,由控制反轉(zhuǎn)(IoC) 和面向切面(AOP) 組合而成,它能夠作為一個(gè)工廠將項(xiàng)目中的JavaBean用模塊化的方式進(jìn)行組織和裝配,通過(guò)使用該框架可以在指定的配置文件中定義一些必要的參數(shù)去調(diào)用項(xiàng)目中已經(jīng)定義好的實(shí)體類或者構(gòu)造方法達(dá)到實(shí)例化對(duì)象的目的[2]。Spring中存在的MVC框架稱為SpringMVC,它就是把傳統(tǒng)的模型層被拆分為了業(yè)務(wù)層(Service)和數(shù)據(jù)訪問(wèn)層(DAO),它是一種輕量級(jí)Web 框架,主要是將Web層進(jìn)行加工解耦。MyBatis是一款優(yōu)秀的持久層框架,用于簡(jiǎn)化JDBC開發(fā),它讓數(shù)據(jù)庫(kù)底層操作變得透明,屬于半自動(dòng)的ORM(對(duì)象關(guān)系映射)框架。
MySQL數(shù)據(jù)庫(kù)是一款跨平臺(tái)且高效數(shù)據(jù)庫(kù)系統(tǒng),它與許多主流的編程語(yǔ)言緊密結(jié)合,大多數(shù)中小型網(wǎng)站都采用數(shù)據(jù)庫(kù)MySQL作為后臺(tái)數(shù)據(jù)庫(kù),它不僅體積小,運(yùn)行效率高,而且是一款免費(fèi)的產(chǎn)品,MySQL支持多種數(shù)據(jù)庫(kù)存儲(chǔ)引擎,不同的引擎可以適用于不同的應(yīng)用場(chǎng)合,它的權(quán)限與密碼系統(tǒng)兼有靈活性和安全性,而且允許基于主機(jī)的驗(yàn)證[3]。同時(shí)MySQL 數(shù)據(jù)庫(kù)會(huì)對(duì)所有傳輸過(guò)程的密碼按一定的算法進(jìn)行加密,以此來(lái)保證密碼的安全。
在進(jìn)行操作的可行性研究與分析當(dāng)中,必須首先要考慮與注意的就是界面的一些操作以及相關(guān)要注意的事項(xiàng)。首先要知道的是一個(gè)好的軟件系統(tǒng)首次展示在它的用戶面前的是系統(tǒng)的顯示界面,第一印象有的時(shí)候就往往決定了它的友好程度,所以在設(shè)計(jì)的時(shí)候要不假思索地去調(diào)查和發(fā)現(xiàn)那樣的顯示界面布局安排可以足夠給用戶留下深刻的印象,其次界面當(dāng)中直觀地展示的是該系統(tǒng)所能做到的操作,只有合理地去安排操作顯示界面才能使得開發(fā)設(shè)計(jì)出來(lái)的系統(tǒng)顯示界面清晰一目了然,而且沒(méi)有煩瑣的功能按鈕,最初的目的就是能讓用戶一看就能夠知道點(diǎn)擊哪些按鈕達(dá)到自己想要的預(yù)期結(jié)果,還能夠根據(jù)所自帶的提示功能去熟練地使用和操作,因此總的來(lái)說(shuō),在進(jìn)行不斷的調(diào)查和研究的結(jié)果之后,所開發(fā)的C語(yǔ)言考試軟件系統(tǒng)在操作方面上是可以實(shí)行的。
本文所開發(fā)的C語(yǔ)言考試軟件系統(tǒng),首先從花費(fèi)方面來(lái)說(shuō),貫穿這個(gè)開發(fā)過(guò)程中所用到系統(tǒng)需要的服務(wù)響應(yīng)器和數(shù)據(jù)存儲(chǔ)庫(kù)MySQL都是無(wú)償免費(fèi)的,可以直接通過(guò)查詢搜索在自己的個(gè)人電腦上進(jìn)行下載安裝。當(dāng)所開發(fā)設(shè)計(jì)出來(lái)的程序運(yùn)行后能夠助推學(xué)校在考試方面相關(guān)信息的管理,與傳統(tǒng)在紙張上記錄進(jìn)行考試相關(guān)數(shù)據(jù)管理的這一方式相比,這樣做不但省下了許多要打印出來(lái)的紙張的費(fèi)用,而且效率明顯也提高很多。
在C 語(yǔ)言在線考試軟件系統(tǒng)中主要包括教師和學(xué)生以及管理員這三個(gè)用戶角色,三個(gè)角色在系統(tǒng)中作用不同,下面介紹一下他們的具體功能:
教師:教師的功能是可以注冊(cè)登錄,登錄后功能有個(gè)人中心、學(xué)生管理、資料類型管理、考試資料管理、C語(yǔ)言考試管理、試題管理、考試管理。
學(xué)生:學(xué)生可以查看系統(tǒng)信息,包括首頁(yè)、考試資料、C語(yǔ)言考試、注冊(cè)登錄、個(gè)人中心、考試記錄、錯(cuò)題本、我的收藏。
圖1 系統(tǒng)的模塊功能圖
管理員:系統(tǒng)的管理員只要通過(guò)登錄的顯示界面之后,就能進(jìn)入管理員的主界面當(dāng)中去,在該主頁(yè)中就包括了:個(gè)人的一些信息、學(xué)生與教師相關(guān)功能的管理、發(fā)布考題、答卷情況的一些記錄以及試題內(nèi)容的導(dǎo)入和導(dǎo)出等功能。
業(yè)務(wù)流程的調(diào)查主要是為了掌握業(yè)務(wù)信息的內(nèi)容、功能、輸入和輸出以及數(shù)據(jù)儲(chǔ)存和處理信息的方法和流程,主要任務(wù)是查詢系統(tǒng)中每個(gè)環(huán)節(jié)的業(yè)務(wù)活動(dòng),這是了解系統(tǒng)現(xiàn)狀和建立系統(tǒng)邏輯模型的必要環(huán)節(jié)[4]。該系統(tǒng)有三個(gè)功能角色分別是學(xué)生、老師和管理員,他們都必須通過(guò)驗(yàn)證才能登錄系統(tǒng),學(xué)生登錄之后可以在個(gè)人的首頁(yè)中修改自己的相關(guān)信息,查看之前的答題情況的相關(guān)歷史記錄,閱讀老師已經(jīng)上傳的一些關(guān)于考試的試卷選擇列表,學(xué)生根據(jù)自己的情況或者老師的規(guī)定去選擇應(yīng)該參加的考試,點(diǎn)擊開始考試的按鈕就可以進(jìn)行C語(yǔ)言考試,考試內(nèi)容主要包括了單選題、多選題、判斷題和讀程題等題目類型,并且學(xué)生要在規(guī)定的考試時(shí)間內(nèi)完成答題,答題成功之后,系統(tǒng)會(huì)自動(dòng)判題最后自動(dòng)生成考試成績(jī)。老師和學(xué)生都可以看到考試成績(jī),管理員不僅能夠?qū)︻}庫(kù)進(jìn)行管理而且還可以管理系統(tǒng)用戶的信息,具體系統(tǒng)的業(yè)務(wù)流程如圖2所示。
圖2 系統(tǒng)業(yè)務(wù)流程圖
通常數(shù)據(jù)庫(kù)設(shè)計(jì)在一款應(yīng)用軟件系統(tǒng)開發(fā)時(shí)是必不可少的環(huán)節(jié)。無(wú)論是前端還是后端它們都調(diào)用的是同一個(gè)數(shù)據(jù)庫(kù),設(shè)計(jì)數(shù)據(jù)庫(kù)的目的就是要設(shè)計(jì)出能夠很好地適應(yīng)該系統(tǒng)并且能按要求去存儲(chǔ)相關(guān)數(shù)據(jù)的數(shù)據(jù)庫(kù)[5]。在數(shù)據(jù)庫(kù)的設(shè)計(jì)中首先就是利用數(shù)字字典、數(shù)據(jù)流等對(duì)全部系統(tǒng)中的數(shù)據(jù)項(xiàng)進(jìn)行相應(yīng)的描述與總結(jié),下來(lái)就是設(shè)計(jì)確定出數(shù)據(jù)庫(kù)相應(yīng)的外模式以及內(nèi)模式,最后再部署和實(shí)施數(shù)據(jù)庫(kù)。通過(guò)系統(tǒng)的E-R 圖可以清晰地描述系統(tǒng)數(shù)據(jù)之間的關(guān)系和實(shí)體之間的關(guān)系,考試系統(tǒng)的整體E-R,如圖3所示。
圖3 系統(tǒng)整體E-R圖
最后根據(jù)系統(tǒng)的業(yè)務(wù)需求,設(shè)計(jì)的數(shù)據(jù)表包括教師表(jiaoshi)、學(xué)生表(xuesheng)、考試列表(exampaper)、試題信息表(examquestion)、考試記錄表(examrecord)、考試資料表(kaoshiziliao)、收藏表(token)、管理員表(users)等。
相比于其他考試系統(tǒng),該系統(tǒng)增添了管理員用戶角色,這樣更有利于管理和維護(hù)好系統(tǒng)。在此功能模塊中管理員能夠修改或者刪除學(xué)生以及老師的個(gè)人信息,其中個(gè)人信息包括:教師工號(hào)、學(xué)生學(xué)號(hào)、手機(jī)號(hào)、職稱、個(gè)人圖片、賬戶密碼、所屬班級(jí)等,如圖4 所示為管理員端的信息管理界面。
圖4 管理員端信息管理模塊
考試系統(tǒng)的基礎(chǔ)與核心就是試題庫(kù),試題類型首先確立為單選題、多選題、填空題、判斷題和讀程題,老師和管理員可以在自己的個(gè)人界面中設(shè)置一門C 語(yǔ)言考試,并且針對(duì)該考試設(shè)置相應(yīng)的題目類型,在設(shè)置題目的時(shí)候需要設(shè)置題目的內(nèi)容、題目的類型、考試的限制時(shí)間、題目的分?jǐn)?shù)以及題目的排序和試題的答案分析,試題發(fā)布功能如圖5所示。
圖5 教師端試題發(fā)布功能模塊
學(xué)生登錄至系統(tǒng)時(shí),點(diǎn)擊頂部導(dǎo)航欄C語(yǔ)言考試系統(tǒng)按鈕就可以進(jìn)入如圖6所示的考試界面,然后選擇考試列表中的屬于自己的C語(yǔ)言考試科目,最后點(diǎn)擊考試按鈕,就要在規(guī)定的時(shí)間內(nèi)結(jié)束答題,結(jié)束答題時(shí)系統(tǒng)會(huì)自動(dòng)判定成績(jī)并將考試記錄存儲(chǔ),方便后期考試復(fù)盤和總結(jié),在線考試功能模塊如圖6所示。
圖6 學(xué)生端在線考試功能模塊
開發(fā)該C 語(yǔ)言在線考試系統(tǒng)遵循了軟件工程整個(gè)開發(fā)生命周期的過(guò)程思想,主要運(yùn)用了JavaWeb 技術(shù)體系中的SSM 軟件設(shè)計(jì)框架,完成了試題管理、試題發(fā)布、線上考試,試卷庫(kù)中的試卷內(nèi)容輸出為Excel格式的文件,系統(tǒng)中用戶個(gè)人的信息賬戶的相應(yīng)管理,試卷或者日常練習(xí)資料上傳管理,賬戶的檢驗(yàn)登錄和自動(dòng)評(píng)分等功能,相比于傳統(tǒng)使用紙張進(jìn)行考試的方法制度,使用這個(gè)擁有在線考試功能的系統(tǒng)就可以減少高校在平時(shí)打印大量試卷的費(fèi)用,相比較之前老師們只能批量地修改試卷和人工計(jì)算與統(tǒng)計(jì)學(xué)生試題成績(jī)的結(jié)果來(lái)說(shuō),現(xiàn)在使得學(xué)校整個(gè)考試環(huán)節(jié)變得高效且靈活,很好地節(jié)約了學(xué)校的人力和物力資源,而且有助于考試的正常推進(jìn),學(xué)生平時(shí)也可以在該系統(tǒng)中完成一些C語(yǔ)言的練習(xí)題,這不僅有助于加強(qiáng)鞏固學(xué)生的編程基礎(chǔ)而且拓寬了學(xué)生學(xué)習(xí)的渠道,彌補(bǔ)了傳統(tǒng)考試方式中的弊端。最后對(duì)該C 語(yǔ)言在線考試系統(tǒng)中的測(cè)試情況進(jìn)行了分析,測(cè)試結(jié)果表明,該系統(tǒng)運(yùn)行良好,具有一定的安全可靠性,能夠準(zhǔn)確地響應(yīng)用戶的操作,滿足在線考試系統(tǒng)的基本要求。