張浩晨,朱參世
(西京學院計算機學院,陜西西安 710123)
在目前這個擁有網絡化體系的大社會環境里邊,基本上每一個行業都已經實現了信息化體系,尤其是管理型軟件,已經出現在社會上的各個行業中,協助處理工作。當然,作為教育行業知識的引領者,必然也會實現出新型的管理體系。在考試的管理方面上,與考試相關的管理數據太多,諸如學生相關的數據、課程相關的數據、考試相關的信息等,當面對大量的需要管理的數據時,學校的管理方式也慢慢地提升到計算機的層面之上,現今從高校的日常管理方面上來看,雖然已經引入了不少的管理型的程序,但這顯然并不是很全面,缺乏一套好的、新穎的有關考試管理的體系結構,而且處于互聯網科技的時代,各個高校都會開設類似于C語言程序設計等計算機基礎課程,作為一門公共必修課開展相應的教學活動,傳統考試方式不僅難以滿足計算機基礎考核要求,還會因卷面考核的形式而消耗大量的資源,高校使用此系統不僅可以減輕老師和學生的負擔還可以提高在有關考試方面的效率,只要將與考試有著一定聯系的內容信息錄入至該系統當中去,系統會進行相應的保存和處理,也具備一定查詢的功能[1]。
SSM 框架是Spring、SpringMVC、MyBatis 的簡稱,它們三個都是免費的開源框架,經常作為數據源較簡單的Web 項目的框架。其中Spring 是一種輕量的容器框架,由控制反轉(IoC) 和面向切面(AOP) 組合而成,它能夠作為一個工廠將項目中的JavaBean用模塊化的方式進行組織和裝配,通過使用該框架可以在指定的配置文件中定義一些必要的參數去調用項目中已經定義好的實體類或者構造方法達到實例化對象的目的[2]。Spring中存在的MVC框架稱為SpringMVC,它就是把傳統的模型層被拆分為了業務層(Service)和數據訪問層(DAO),它是一種輕量級Web 框架,主要是將Web層進行加工解耦。MyBatis是一款優秀的持久層框架,用于簡化JDBC開發,它讓數據庫底層操作變得透明,屬于半自動的ORM(對象關系映射)框架。
MySQL數據庫是一款跨平臺且高效數據庫系統,它與許多主流的編程語言緊密結合,大多數中小型網站都采用數據庫MySQL作為后臺數據庫,它不僅體積小,運行效率高,而且是一款免費的產品,MySQL支持多種數據庫存儲引擎,不同的引擎可以適用于不同的應用場合,它的權限與密碼系統兼有靈活性和安全性,而且允許基于主機的驗證[3]。同時MySQL 數據庫會對所有傳輸過程的密碼按一定的算法進行加密,以此來保證密碼的安全。
在進行操作的可行性研究與分析當中,必須首先要考慮與注意的就是界面的一些操作以及相關要注意的事項。首先要知道的是一個好的軟件系統首次展示在它的用戶面前的是系統的顯示界面,第一印象有的時候就往往決定了它的友好程度,所以在設計的時候要不假思索地去調查和發現那樣的顯示界面布局安排可以足夠給用戶留下深刻的印象,其次界面當中直觀地展示的是該系統所能做到的操作,只有合理地去安排操作顯示界面才能使得開發設計出來的系統顯示界面清晰一目了然,而且沒有煩瑣的功能按鈕,最初的目的就是能讓用戶一看就能夠知道點擊哪些按鈕達到自己想要的預期結果,還能夠根據所自帶的提示功能去熟練地使用和操作,因此總的來說,在進行不斷的調查和研究的結果之后,所開發的C語言考試軟件系統在操作方面上是可以實行的。
本文所開發的C語言考試軟件系統,首先從花費方面來說,貫穿這個開發過程中所用到系統需要的服務響應器和數據存儲庫MySQL都是無償免費的,可以直接通過查詢搜索在自己的個人電腦上進行下載安裝。當所開發設計出來的程序運行后能夠助推學校在考試方面相關信息的管理,與傳統在紙張上記錄進行考試相關數據管理的這一方式相比,這樣做不但省下了許多要打印出來的紙張的費用,而且效率明顯也提高很多。
在C 語言在線考試軟件系統中主要包括教師和學生以及管理員這三個用戶角色,三個角色在系統中作用不同,下面介紹一下他們的具體功能:
教師:教師的功能是可以注冊登錄,登錄后功能有個人中心、學生管理、資料類型管理、考試資料管理、C語言考試管理、試題管理、考試管理。
學生:學生可以查看系統信息,包括首頁、考試資料、C語言考試、注冊登錄、個人中心、考試記錄、錯題本、我的收藏。

圖1 系統的模塊功能圖
管理員:系統的管理員只要通過登錄的顯示界面之后,就能進入管理員的主界面當中去,在該主頁中就包括了:個人的一些信息、學生與教師相關功能的管理、發布考題、答卷情況的一些記錄以及試題內容的導入和導出等功能。
業務流程的調查主要是為了掌握業務信息的內容、功能、輸入和輸出以及數據儲存和處理信息的方法和流程,主要任務是查詢系統中每個環節的業務活動,這是了解系統現狀和建立系統邏輯模型的必要環節[4]。該系統有三個功能角色分別是學生、老師和管理員,他們都必須通過驗證才能登錄系統,學生登錄之后可以在個人的首頁中修改自己的相關信息,查看之前的答題情況的相關歷史記錄,閱讀老師已經上傳的一些關于考試的試卷選擇列表,學生根據自己的情況或者老師的規定去選擇應該參加的考試,點擊開始考試的按鈕就可以進行C語言考試,考試內容主要包括了單選題、多選題、判斷題和讀程題等題目類型,并且學生要在規定的考試時間內完成答題,答題成功之后,系統會自動判題最后自動生成考試成績。老師和學生都可以看到考試成績,管理員不僅能夠對題庫進行管理而且還可以管理系統用戶的信息,具體系統的業務流程如圖2所示。

圖2 系統業務流程圖
通常數據庫設計在一款應用軟件系統開發時是必不可少的環節。無論是前端還是后端它們都調用的是同一個數據庫,設計數據庫的目的就是要設計出能夠很好地適應該系統并且能按要求去存儲相關數據的數據庫[5]。在數據庫的設計中首先就是利用數字字典、數據流等對全部系統中的數據項進行相應的描述與總結,下來就是設計確定出數據庫相應的外模式以及內模式,最后再部署和實施數據庫。通過系統的E-R 圖可以清晰地描述系統數據之間的關系和實體之間的關系,考試系統的整體E-R,如圖3所示。

圖3 系統整體E-R圖
最后根據系統的業務需求,設計的數據表包括教師表(jiaoshi)、學生表(xuesheng)、考試列表(exampaper)、試題信息表(examquestion)、考試記錄表(examrecord)、考試資料表(kaoshiziliao)、收藏表(token)、管理員表(users)等。
相比于其他考試系統,該系統增添了管理員用戶角色,這樣更有利于管理和維護好系統。在此功能模塊中管理員能夠修改或者刪除學生以及老師的個人信息,其中個人信息包括:教師工號、學生學號、手機號、職稱、個人圖片、賬戶密碼、所屬班級等,如圖4 所示為管理員端的信息管理界面。

圖4 管理員端信息管理模塊
考試系統的基礎與核心就是試題庫,試題類型首先確立為單選題、多選題、填空題、判斷題和讀程題,老師和管理員可以在自己的個人界面中設置一門C 語言考試,并且針對該考試設置相應的題目類型,在設置題目的時候需要設置題目的內容、題目的類型、考試的限制時間、題目的分數以及題目的排序和試題的答案分析,試題發布功能如圖5所示。

圖5 教師端試題發布功能模塊
學生登錄至系統時,點擊頂部導航欄C語言考試系統按鈕就可以進入如圖6所示的考試界面,然后選擇考試列表中的屬于自己的C語言考試科目,最后點擊考試按鈕,就要在規定的時間內結束答題,結束答題時系統會自動判定成績并將考試記錄存儲,方便后期考試復盤和總結,在線考試功能模塊如圖6所示。

圖6 學生端在線考試功能模塊
開發該C 語言在線考試系統遵循了軟件工程整個開發生命周期的過程思想,主要運用了JavaWeb 技術體系中的SSM 軟件設計框架,完成了試題管理、試題發布、線上考試,試卷庫中的試卷內容輸出為Excel格式的文件,系統中用戶個人的信息賬戶的相應管理,試卷或者日常練習資料上傳管理,賬戶的檢驗登錄和自動評分等功能,相比于傳統使用紙張進行考試的方法制度,使用這個擁有在線考試功能的系統就可以減少高校在平時打印大量試卷的費用,相比較之前老師們只能批量地修改試卷和人工計算與統計學生試題成績的結果來說,現在使得學校整個考試環節變得高效且靈活,很好地節約了學校的人力和物力資源,而且有助于考試的正常推進,學生平時也可以在該系統中完成一些C語言的練習題,這不僅有助于加強鞏固學生的編程基礎而且拓寬了學生學習的渠道,彌補了傳統考試方式中的弊端。最后對該C 語言在線考試系統中的測試情況進行了分析,測試結果表明,該系統運行良好,具有一定的安全可靠性,能夠準確地響應用戶的操作,滿足在線考試系統的基本要求。