江志剛
(深圳職業技術學院,廣東 深圳 518055)
基于SSM框架的網上題目錄入答題系統設計
江志剛
(深圳職業技術學院,廣東 深圳 518055)
文章的主要內容是闡述搭建一個名為“DTest”的網上題目錄入答題網站。它是一個通過目前比較流行的開源技術框架Spring,SpringMVC,Mybatis等搭建開發的一個網上答題網站平臺。本系統開發技術主要分為3部分:后端由Java語言使用Spring,SpringMVC,MyBatis等框架進行開發;前端頁面以HTML5作為信息結構,CSS3作為表示樣式,JS及JQ完成業務進行開發;最后,數據持久層方面使用MySQL作為數據庫開發。
答題網站;框架;數據庫開發
在這次網站開發的過程中,我們主要使用的是SSM框架進行網站的開發,而SSM框架就是Spring,SpringMVC和Mybatis開源技術框架的簡稱,主要用來替代傳統的SSH框架。目前很多企業都在使用這些框架進行開發,一是從效率方面比傳統的SSH框架高,二是SSM框架在開發的過程中各層之間的耦合度小,便于開發與維護。目前搭建的網站處于設計學習階段,所以只需使用本地的tomcat作為服務器運行,使用mysql作為數據持久層,暫時不需要購買相應的服務器部署。下面介紹本系統的相關結構和實現方法。
業務流程是圍繞系統設計展開,包括用戶體驗業務、后臺管理業務和抽題業務,設計方案如圖1—3所示。

圖1 用戶體驗業務
管理員及用戶的登錄注冊功能基本類似,包括登錄及注冊,其中還有驗證碼表單校驗等信息校驗,防止惡意訪問及限制非法輸入,用戶體驗額外還有第三方帳號登錄的功能。在用戶訪問一些需要權限的功能時需要進行登錄操作,如查看個人信息、練習考試、評論、上傳等操作時需要登錄獲得權限。用戶可以使用手機號或郵箱進行注冊,或者使用第三方帳號如QQ、微信等方式進行注冊。

圖2 后臺管理業務
后臺管理部分功能都比較類似,即管理員管理、用戶管理、題庫管理、評論管理、試卷管理、成績管理、題型管理、標簽管理都具有基本的增加、刪除、修改、查詢等基本功能,還具有批量刪除、導入及導出等特別功能。在管理界面中,超級管理員能對包括自身在內的所有管理員進行增刪改查等操作,而普通的管理員只能對自身的信息修改,無法操作其他管理員的信息。在后臺管理業務中有增、刪、改、查功能,但對不同的管理員設置了不同權限。
用戶個人信息管理包括基本信息的查看與修改、密碼修改及頭像修改與上傳等。在后臺管理業務中,當用戶登錄后,增加了能對帳號的基本資料進行編輯修改的功能,如填寫姓名、郵箱、手機號碼,或選擇愛好、個人標簽等信息,方便系統根據用戶個人信息展示相應的資料資訊。
1.3.1 查看記錄
用戶可以查看曾經瀏覽或收藏過的題目或試卷,也可以查看曾經練習考試過的試卷成績,做錯的題也被標注出來。
1.3.2 題目瀏覽
將各類題型分類,用戶可按照題型及知識點瀏覽相關題目,以便學習者有針對性地練習。
1.3.3 評論留言
評論交流功能,用戶既能對題目試卷進行評論,也能對其他用戶的評論進行評論。此功能可以增加學習者之間的交流,對同一試題內容進行各種探討溝通。
1.3.4 搜索題目
按搜索條件搜索題目或試卷。本功能設置多種搜索條件,具有模糊搜索功能,只要用戶輸入有效關鍵字,便能找到相關的題目。
1.3.5 練習考試
練習及考試功能將會按照學習者的要求展開一張試卷或模擬試卷,既能模擬考試也能試試全真考試。
1.3.6 按條件抽提
能根據用戶所選的條件進行搜索用戶需要的題目或試卷。可以按試卷抽提,把不同單元、不同等級、不同難度級別的試題分類,進行個性化定制,讓學習者能全面地答題、滿足學習者的需要。以上綜合介紹了系統主要的功能模塊,不同的模塊適用不同的用戶,不同用戶之間功能不重疊、不互通,做到滿足系統的基本安全性和嚴密性。
本系統使用VisualSVN Server做版本控制服務器及使用TortoiseSVN作為版本控制客戶端,使用Navicat Premium作為數據庫管理工具。使用PowerDesigner作為數據庫表的設計開發,并自動生成需要的數據庫表語句,及一些用例圖的編寫。使用MyEclipse 10做完代碼的開發工具,使用Sublime Text 3作為HTML的文本編譯器,同時使用Google Chrome做完網頁的測試與調試工具??蚣苁褂冒姹維pring 4.0.2 RELEASE,Spring MVC 4.0.2 RELEASE,MyBatis 3.2.6,然后根據系統設計方案的數據庫表設計,使用PowerDesigner進行數據庫開發設計,并生成mysql的生成語句,完成數據庫的表的生成。
管理員表:獨立于其他表。
用戶表:一個用戶能有多條評論、出題、試卷、成績;也有多個標簽愛好,由用戶標簽關系表關聯。
題目表:一個題目能有一個題型;多個答案、評論;也有多個標簽和固定標簽,由題目標簽關系表關聯。
試卷表:一個試卷有多個題目,由試卷明細關系表管理。成績表:每個成績對應一個用戶,同時有多個成績明細,由成績明細關系表關聯。
2.2.1 登錄注冊頁面
登錄頁面需要有帳號輸入框、密碼輸入框、驗證碼、登錄按鈕、記住密碼及忘記密碼等;用戶登錄界面還應該具有第三方登錄選項等。
2.2.2 管理后臺頁面
頭部為固定的狀態欄,左側為導航條,右側為管理的內容;頭部狀態欄包括logo、用戶名、時間及注銷按鈕等;左側導航條包括管理分類、管理選項及顯示隱藏按鈕等;管理內容包括:管理信息顯示、搜索條件下拉框及輸入框還有查詢、新增、刪除、導入導出按鈕、底部有分頁按鈕等。
版本控制器使用VisualSVN Server做完版本控制服務器及使用TortoiseSVN作為版本控制客戶端。使用Navicat Premium作為數據庫管理工具,使用PowerDesigner作為數據庫表的設計開發,并自動生成需要的數據庫表語句及一些用例圖的編寫。使用MyEclipse 10做代碼的開發工具。
使用Sublime Text 3作為HTML的文本編譯器,同時使用Google Chrome做網頁的測試與調試工具。
首先下載需要的Java語言的軟件開發工具包(Java Development Kit,JDK)版本,這里使用的是jdk1.764位版本,安裝完成后需要配置電腦的環境變量。開發過程中,使用的是MyEclipse10 64位,Tomcat6.0版本,然后搭建SVN服務器,在MyEclipse中配置Tomcat及MAVEN,SSM框架整合需要這幾個軟件:Spring 4.0.2 RELEASE,Spring MVC 4.0.2 RELEASE,MyBatis 3.2.6。
我們對軟件系統最小的可檢測單元進行了測試,例如某個業務類中的一個業務方法進行測試,在本次開發中,以JUnit 4作為單元測試的工具。單元測試主要是在開發過程中,對每個業務類的方法進行測試的,同時使用log4j作為日志記錄每次測試的結果,降低對異常情況的尋找難度與修復成本,盡量保證每一個業務方法行為都是正常的。
本系統的開發已經完成,主要應用于學生的單元測試和期中測試中,經過一學期的使用效果相當好,學生普遍反映本系統提供的功能全面、使用方便,更主要的是基于SSM框架的開發在后期變得效率更高,我們的下一步思路是做成一個完善的網上智能學習系統,以達到更好的使用效果。
Design of online input answer system based on SSM framework
Jiang Zhigang
(Shenzhen Polytechnic, Shenzhen 518055, China)
The main content of this paper is to expound the setting up of an online answer input Web site called “DTest”. It is an online answer website platform set up and developed by popular open source technology frameworks of Spring, SpringMVC and Mybatis.The development technology of this system is mainly divided into 3 parts: the back-end is developed by Java language using Spring,SpringMVC and MyBatis framework; the front page takes HTML5 as the information structure, CSS3 as the presentation style, JS and JQ are used to complete business for development; finally, MySQL is used as database development for data persistence layer.
answer Web site; framework; database development
江志剛(1969— ),男,廣東梅州人,工程師,碩士;研究方向:計算機應用。