基于BS架构考试系统的设计与分析
摘? 要
計算機網絡如果結合使用信息管理系統,能夠提高管理員管理的效率,改善服務質量。優秀的考試系統能夠更有效管理用戶考試和評分業務規范,幫助管理者更加有效管理用戶考試和評分,可以幫助提高克服人工管理帶來的錯誤等不利因素。所以一個優秀的考試系統能夠帶來很大的作用。
本考試系統使用了計算機語言Python和存放數據的倉庫MySQL,采用了MVC設計模式來實現。本系統使用了框架Django和Vue實現了考試系統應有的功能,系統主要角色包括管理員、教師和學生。
關鍵詞:Python;MySQL;MVC
?Abstract
If the computer network is combined with the information management system, it can improve the efficiency of administrator management and improve the quality of service. An excellent examination system can more effectively manage the business norms of user examination and scoring, help managers more effectively manage user examination and scoring, and help improve and overcome the adverse factors such as errors caused by manual management. Therefore, an excellent examination system can play a great role.
The examination system uses the computer language Python and the data warehouse mysql, and adopts the MVC design mode to realize it. The system uses the framework Django and Vue to realize the functions of the examination system. The main roles of the system include administrator, teacher and student.
Keywords:Python;MySQL;MVC
?目??? 錄
摘? 要............................................................................................................ I
Abstract........................................................................................................ II
1 緒論........................................................................................................... 1
1.1 研究背景......................................................................................... 1
1.2 研究意義......................................................................................... 1
1.3 主要內容......................................................................................... 1
2 系統技術................................................................................................... 3
2.1 MVC模式簡介................................................................................ 3
2.2 MySQL數據庫簡介........................................................................ 3
2.3 Django技術的優點......................................................................... 3
2.4 Vue框架.......................................................................................... 3
3 需求分析................................................................................................... 5
3.1 可行性分析..................................................................................... 5
3.2 功能性需求..................................................................................... 5
3.3 非功能需求................................................................................... 15
4 概要設計................................................................................................. 16
4.1 功能設計....................................................................................... 16
4.2 功能模塊....................................................................................... 19
4.3 數據庫設計................................................................................... 19
5 系統實現................................................................................................. 24
5.1 學生管理....................................................................................... 24
5.2 考場管理....................................................................................... 24
5.3 主觀題管理................................................................................... 25
5.4 主觀題回答管理........................................................................... 25
5.5 主觀題評分................................................................................... 26
5.6 試卷評分....................................................................................... 26
6 系統測試................................................................................................. 28
6.1 測試的目的................................................................................... 28
6.2 測試方法與內容........................................................................... 28
6.3 測試用例設計............................................................................... 28
7 總結與展望............................................................................................. 30
7.1 總結.............................................................................................. 30
7.2 展望.............................................................................................. 30
參考文獻..................................................................................................... 31
致謝............................................................................................................ 32
1 緒論
1.1 研究背景
互聯網發展到現在已經有七十多年的時間了,隨著信息技術的不斷發展,互聯網會涉及到人們生活的各個方面當中,互聯網時代來臨的時候可以推動各個行業的發展,給社會的經濟領域添加了不少活力。
在當今的時候,很多行業都離不開互聯網,尤其是在互聯網時代下產生的考試系統更是受到人們的歡迎。考試系統的發展已有不少的時間,具有不同的種類??荚囅到y跟網上學生考試業務息息相關,不少用戶想要定制特定的系統功能,因此市場具有廣闊的前景??荚囅到y如此火爆有以下原因[1]。
(1)相比于較傳統的工作模式,考試系統能夠提高管理員管理的效率和降低出錯的效率。考試系統功能經過編譯運行能夠大大降低管理員管理出錯的概率,管理員管理系統的時候如果發生了錯誤的情況系統會給出相應的提示。
(2)通過考試系統管理能夠降低成本,可以節省大量的時間成本和人力資源,管理員能夠提高管控能力。
1.2 研究意義
隨著現代科學技術的發展,互聯網產品已經涉及到生活的很多方面,很多公司也在加快投入力度。然而在和學校工作人員溝通過程當中發現學生考試和試卷評分的工作模式還處于人工管理的模式,這不能夠充分地利用互聯網技術提高工作效率。
建立規范化的流程能夠管理用戶考試和評分,而目前管理用戶考試和評分只能依賴于管理員手工進行管理,教育行業趨于智能化,科技發展能夠為我們的生活提供服務,現在較多的場景都需要使用信息化管理。在我們的平時工作的時候,可以切實感受到科學技術帶來的解決方式。在我們平時生活的時候也有較多的場景需要技術的輔助[2]。
1.3 主要內容
(1)本次針對考試系統提出實現方案,按照軟件開發的一般流程進行前期的調研和分析確定軟件是否能夠正常實現、技術是否可行和系統功能模塊的設計開發,最后確定了使用的技術和實現系統的方案。
(2)框架屬于一種程序開發者實現的功能集合,可以幫助軟件開發者快速構建軟件層次架構和復用功能的一款工具,本平臺框架使用了開源框架,具有比較好的開發優勢,可以幫助軟件開發者快速構建基本的程序開發框架出來,通過調用開源框架開源幫助程序開發者減少開發難度,提升了考試系統的安全和穩定性,能夠幫助程序開發者完成系統功能模塊的開發和數據的處理。
(3)管理員操作和管理考試系統的數據不僅需要框架規范約束還需要滿足一定基礎的標準,使用MySQL數據庫中的約束關系能夠根據系統中實體的關系從而生成數據庫表,這樣在實現系統的時候可以設置系統實體之間的關系[3]。
2 系統技術
2.1 MVC模式簡介
在程序設計的時候經常使用MVC模式,MVC模式可以動態地優化代碼,這可以降低代碼的重復率。MVC模式能夠簡化程序開發的復雜度,使得程序的結構更加具體和簡單。
MVC的三大模型是模型、視圖和控制器。模型能夠和系統中的實體實現信息交換,控制器能夠處理用戶在前端界面中發起的請求,視圖層是用戶與計算機交互的媒介。在MVC模式中視圖層和模型層能夠交流數據,模型數據的變化可以通過視圖層反應,視圖層與模型層并不能夠直接聯系,需要通過控制層連接起來。
2.2 MySQL數據庫簡介
MySQL作為一種主流的關系型數據庫,屬于Oracle數據庫中的一種產品。MySQL意為存儲和管理的數據倉庫,可以看成是現實中的文件資料柜。用戶使用此數據庫可以把數據存儲到數據庫中。MySQL使用的語言版本通過被用做建表語言。
由于MySQL安裝成本低和運行速度快等原因,很多中小型企業在使用數據庫的時候通過使用的是MySQL數據庫。MySQL數據庫性能優秀,并且由于其源碼開源免費的特點使得企業的開發成本降低不少。
2.3 Django技術的優點
如果信息系統開發方法采用的是模型-視圖-控制器,那么如果開發方法能夠從多個方法證實多個層次獲得模型是十分重要的,設計者必須區分出系統抽象和具體的差別。模型-視圖-控制器設計的目的不是指導設計者怎么設計模型,目的是通過模型-視圖-控制器能夠引領軟件開發者對模型的合理配置。模型-視圖-控制器的目的是幫助軟件開發者盡可能降低軟件編寫的復雜度,設計理念為通過使用已存在的組件來簡化軟件開發者開發軟件。在業務模型中,數據模型同樣也非常的重要,數據模型能夠保存系統實體的相關信息。在控制層當中能夠處理用戶在前端頁面中傳遞過來的用戶請求。
2.4 Vue框架
Vue框架屬于漸進式框架中的一種,能夠用于構建用戶界面,不用編寫后端邏輯業務的代碼,只需要關注前端界面代碼的編寫,通過和第三方View庫進行整合,通過腳手架進行開發出對應的前端界面,這有助于提供強大的伸縮能力,通過采用向上增量的開發設計能夠有助于減少系統代碼的冗余度。Vue屬于動態頁面的一種技術,與靜態頁面具有不少的差別。
程序開發者使用Vue和后端框架進行結合的話能夠實現數據在前后端進行交互,這樣可以使得數據交互的時候相對簡單。前端開發者需要負責編寫前端頁面,而不用編寫邏輯業務處理代碼,這部分需要由后端開發者進行完成。Vue框架不僅能夠編寫動態頁面還能夠與前端頁面進行結合,這樣有助于后續對程序的擴展。Vue框架能夠將視圖層與業務層的代碼分離,如果使用了Vue框架,前端開發者可以減少編寫過多的重復html代碼。
3 需求分析
3.1 可行性分析
3.1.1 經濟可行性研究
考試系統能夠給管理員帶來不少的收益,如果管理員能夠擁有考試系統,則可以對系統進行簡單管理,管理員可以節省不少資金??荚囅到y的實現能夠解決傳統管理模式不必要的經濟支出,尤其是其中的人力資源成本,傳統的考試系統需要大量的人力資源支持,并且往往需要管理員手動記載數據[5]。
3.1.2 技術可行性研究
根據前期分析了系統的需求和背景,最終確定了可使用的軟件體系和技術完成考試系統的開發。系統架構和使用的開發技術都是較為好用的開發模型,綜合現有的考試系統,本次開發選用的技術是可行的。
3.2 功能性需求
3.2.1 用例概述
圖3-1 教師用例圖
圖3-2 學生用例圖
圖3-3 管理員用例圖
用例的簡要描述如表3.1所示。
表3.1 用例描述
| 用例標識(UC) | 用例名稱 | 摘要描述 |
| 1 | 注冊登錄 | 學生、教師和管理員通過登錄功能才得以使用系統的功能 |
| 2 | 主觀題信息管理 | 學生、教師和管理員在主觀題信息管理功能中管理主觀題的信息 |
| 3 | 主觀題評分信息管理 | 學生、教師和管理員在主觀題評分信息管理功能中管理主觀題評分的信息 |
| 4 | 考試信息管理 | 學生、教師和管理員在考試信息管理功能中管理考試的信息 |
| 5 | 試卷信息管理 | 管理員和教師在試卷信息管理功能中管理試卷的信息 |
| 6 | 主觀題目信息管理 | 管理員和教師在主觀題目信息管理功能中管理主觀題目的信息 |
| 7 | 個人中心 | 學生、教師和管理員登錄系統之后可以修改個人信息 |
| 8 | 試題信息管理 | 教師在試題信息管理功能中管理試題的信息 |
| 9 | 考場信息管理 | 管理員和學生在考場信息管理功能中管理考場的信息 |
| 10 | 主觀題回答信息管理 | 學生在主觀題回答信息管理功能中管理主觀題回答的信息 |
| 11 | 學生信息管理 | 管理員在學生信息管理功能中管理學生的信息 |
| 12 | 教師信息管理 | 管理員在教師信息管理功能中管理教師的信息 |
3.2.2 用例描述
1.考場信息管理
考場信息管理用例描述能夠描述系統中的考場信息管理功能,考場信息管理用例描述如表3.2所示。
表3.2 考場信息管理用例描述
| 用例標識 | 3.1 |
| 用例名稱 | 編輯考場的相關信息 |
| 參與者 | 學生和管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 修改考場信息 |
| 用例概述 | 管理員修改考場信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在考場信息管理界面點擊添加按鈕提交新添加的考場信息 3.考場信息添加成功 |
| 備選事件流 | 4a 輸入的信息需要合法才能夠成功添加 |
| 備注 |
2.主觀題信息管理
主觀題信息管理用例描述能夠描述系統中的主觀題信息管理功能,主觀題信息管理用例描述如表3.3所示。
表3.3 主觀題信息管理用例描述
| 用例標識 | 3.2 |
| 用例名稱 | 編輯主觀題的相關信息 |
| 參與者 | 管理員、教師和學生 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 修改主觀題信息 |
| 用例概述 | 管理員修改主觀題信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在主觀題信息管理界面點擊修改按鈕提交修改的主觀題信息 3.主觀題信息修改成功 |
| 備選事件流 | 4a 輸入的信息需要合法才能夠成功修改 |
| 備注 |
3.主觀題目信息管理
主觀題目信息管理用例描述能夠描述系統中的主觀題目信息管理功能,主觀題目信息管理用例描述如表3.4所示。
表3.4 主觀題目信息管理用例描述
| 用例標識 | 3.3 |
| 用例名稱 | 刪除主觀題目的相關信息 |
| 參與者 | 教師和管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 刪除主觀題目信息 |
| 用例概述 | 管理員刪除主觀題目信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在主觀題目信息管理界面點擊刪除按鈕提交刪除的主觀題目信息 3.主觀題目信息刪除成功 |
| 備選事件流 | 4a 刪除的主觀題目信息需要跟其它表沒有關聯才能夠刪除 |
| 備注 |
4.主觀題評分信息管理
主觀題評分信息管理用例描述能夠描述系統中的主觀題評分信息管理功能,主觀題評分信息管理用例描述如表3.5所示。
表3.5 主觀題評分信息管理用例描述
| 用例標識 | 3.4 |
| 用例名稱 | 搜索主觀題評分的相關信息 |
| 參與者 | 管理員、學生和教師 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 搜索主觀題評分信息 |
| 用例概述 | 管理員搜索主觀題評分信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在主觀題評分信息管理界面點擊搜索按鈕提交搜索的主觀題評分信息 3.主觀題評分信息搜索成功 |
| 備選事件流 | 4a 輸入的主觀題評分名稱需要跟數據庫的信息相匹配才能夠搜索成功 |
| 備注 |
5.登錄
登錄用例描述能夠描述系統中的登錄功能,登錄用例描述如表3.6所示。
表3.6 登錄用例描述
| 用例標識 | 3.5 |
| 用例名稱 | 登錄 |
| 參與者 | 學生、教師和管理員 |
| 前置條件 | 用戶和管理員需要輸入正確的用戶名和密碼 |
| 后置條件 | 登錄 |
| 用例概述 | 用戶和管理員登錄 |
| 基本事件流 | 1.用戶和管理員進入到登錄頁面當中 2.管理員和用戶輸入用戶名和密碼登錄到系統當中 |
| 備選事件流 | 4a 輸入的信息需要和數據庫信息相匹配才能夠登錄 |
| 備注 |
6.試卷信息管理
試卷信息管理用例描述能夠描述試卷中的試卷信息管理功能,試卷信息管理用例描述如表3.7所示。
表3.7 試卷用例描述
| 用例標識 | 3.6 |
| 用例名稱 | 編輯試卷的相關信息 |
| 參與者 | 教師和管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄試卷 |
| 后置條件 | 修改試卷信息 |
| 用例概述 | 管理員修改試卷信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到試卷當中 2.管理員在試卷信息管理界面點擊添加按鈕提交新添加的試卷信息 3.試卷信息添加成功 |
| 備選事件流 | 4a 輸入的信息需要合法才能夠成功添加 |
7.個人中心
個人中心用例描述能夠描述系統中的個人中心功能,個人中心用例描述如表3.8所示。
表3.8 個人中心用例描述
| 用例標識 | 3.7 |
| 用例名稱 | 個人中心 |
| 參與者 | 學生、教師和管理員 |
| 前置條件 | 用戶和管理員需要進入到個人中心頁面中 |
| 后置條件 | 修改個人信息 |
| 用例概述 | 用戶和管理員管理個人信息 |
| 基本事件流 | 1.用戶和管理員進入到登錄頁面當中 2.用戶和管理員輸入用戶名和密碼登錄到系統當中 3.在個人中心頁面中修改自己個人信息 |
| 備選事件流 | 4a 只有輸入的信息合法才能夠成功修改 |
| 備注 |
8.考試信息管理
考試信息管理用例描述能夠描述系統中的考試信息管理功能,考試信息管理用例描述如表3.9所示。
表3.9 考試信息管理用例描述
| 用例標識 | 3.8 |
| 用例名稱 | 編輯考試的相關信息 |
| 參與者 | 管理員、教師和學生 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 修改考試信息 |
| 用例概述 | 管理員修改考試信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在考試信息管理界面點擊修改按鈕提交修改的考試信息 3.考試信息修改成功 |
| 備選事件流 | 4a 輸入的信息需要合法才能夠成功修改 |
| 備注 |
9.試卷信息管理
試卷信息管理用例描述能夠描述系統中的試卷信息管理功能,試卷信息管理用例描述如表3.10所示。
表3.10 試卷信息管理用例描述
| 用例標識 | 3.9 |
| 用例名稱 | 刪除試卷的相關信息 |
| 參與者 | 教師和管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 刪除試卷信息 |
| 用例概述 | 管理員刪除試卷信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在試卷信息管理界面點擊刪除按鈕提交刪除的試卷信息 3.試卷信息刪除成功 |
| 備選事件流 | 4a 刪除的試卷信息需要跟其它表沒有關聯才能夠刪除 |
| 備注 |
10.試題信息管理
試題信息管理用例描述能夠描述系統中的試題信息管理功能,試題信息管理用例描述如表3.11所示。
表3.11 試題信息管理用例描述
| 用例標識 | 3.10 |
| 用例名稱 | 編輯試題的相關信息 |
| 參與者 | 教師 |
| 前置條件 | 教師需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 修改試題信息 |
| 用例概述 | 教師修改試題信息 |
| 基本事件流 | 1.教師輸入正確的用戶名和密碼登錄到系統當中 2.教師在試題信息管理界面點擊添加按鈕提交新添加的試題信息 3.試題信息添加成功 |
| 備選事件流 | 4a 輸入的信息需要合法才能夠成功添加 |
| 備注 |
11.考場信息管理
考場信息管理用例描述能夠描述系統中的考場信息管理功能,考場信息管理用例描述如表3.12所示。
表3.12 考場信息管理用例描述
| 用例標識 | 3.11 |
| 用例名稱 | 編輯考場的相關信息 |
| 參與者 | 學生和管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 修改考場信息 |
| 用例概述 | 管理員修改考場信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在考場信息管理界面點擊修改按鈕提交修改的考場信息 3.考場信息修改成功 |
| 備選事件流 | 4a 輸入的信息需要合法才能夠成功修改 |
| 備注 |
12.主觀題回答信息管理
主觀題回答信息管理用例描述能夠描述系統中的主觀題回答信息管理功能,主觀題回答信息管理用例描述如表3.13所示。
表3.13 主觀題回答信息管理用例描述
| 用例標識 | 3.12 |
| 用例名稱 | 刪除主觀題回答的相關信息 |
| 參與者 | 學生 |
| 前置條件 | 用戶需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 刪除主觀題回答信息 |
| 用例概述 | 用戶刪除主觀題回答信息 |
| 基本事件流 | 1.用戶輸入正確的用戶名和密碼登錄到系統當中 2.用戶在主觀題回答信息管理界面點擊刪除按鈕提交刪除的主觀題回答信息 3.主觀題回答信息刪除成功 |
| 備選事件流 | 4a 刪除的主觀題回答信息需要跟其它表沒有關聯才能夠刪除 |
| 備注 |
13.學生信息管理
學生信息管理用例描述能夠描述系統中的學生信息管理功能,學生信息管理用例描述如表3.14所示。
表3.14 學生信息管理用例描述
| 用例標識 | 3.13 |
| 用例名稱 | 刪除學生的相關信息 |
| 參與者 | 管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 刪除學生信息 |
| 用例概述 | 管理員刪除學生信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在學生信息管理界面點擊刪除按鈕提交刪除的學生信息 3.學生信息刪除成功 |
| 備選事件流 | 4a 刪除的學生信息需要跟其它表沒有關聯才能夠刪除 |
| 備注 |
14.教師信息管理
教師信息管理用例描述能夠描述系統中的教師信息管理功能,教師信息管理用例描述如表3.15所示。
表3.15 教師信息管理用例描述
| 用例標識 | 3.14 |
| 用例名稱 | 刪除教師的相關信息 |
| 參與者 | 管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 刪除教師信息 |
| 用例概述 | 管理員刪除教師信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在教師信息管理界面點擊刪除按鈕提交刪除的教師信息 3.教師信息刪除成功 |
| 備選事件流 | 4a 刪除的教師信息需要跟其它表沒有關聯才能夠刪除 |
| 備注 |
3.3 非功能需求
(1)可用性。該考試系統需要簡單易操作,管理員能夠快速方便地上手管理。
(2)可擴展性。該系統設計的時候采用的是模塊化的方式,當能夠充分了解系統的業務需求的時候,可以通過分解業務流程,分為不同的模塊進行開發,
(3)可維護性。如果代碼的可理解性越強的話,這能夠確保系統設計風格更加統一,使用有意義和結構化的程序設計方法,這樣可以保證后續修改考試系統的時候要較為方便,使得維護系統要變得更加簡單[6]。
(4)流暢性。系統運行速度需要不慢,并且多個用戶使用系統的時候,用戶在操作的時候能夠順暢。
4 概要設計
4.1 功能設計
(1)注冊登錄
| 登錄校驗是否通過 |
| 是否已注冊 |
| 結束 |
| 進入系統 |
| 用戶登錄 |
| 開始 |
| 新用戶注冊 |
| 是否注冊成功 |
| 否 |
| 否 |
| 是 |
| 是是 |
| 是 |
| 否 |
圖4.1 注冊登錄流程圖
(2)用戶管理
| 結束 |
| 管理員管理用戶信息 |
| 后臺頁面 |
| 登錄校驗是否通過 |
| 開始 |
| 否 |
| 是 |
圖4.2 用戶管理流程圖
(3)考試
| 開始 |
| 輸入用戶信息 |
| 顯示登錄界面 |
| 進入系統 |
| 輸入是否正確 |
| 結束 |
| 考試 |
| 是 |
| 否 |
圖4.3 考試流程圖
4.2 功能模塊
| 基于B/S架構考試系統的設計與分析 |
| 考場信息管理 |
| 教師 |
| 管理員 |
| 學生 |
| 主觀題管理 |
| 考試管理 |
| 個人中心 |
| 主觀題管理 |
| 考場信息管理 |
| 教師管理 |
| 學生管理 |
| 試題管理 |
| 試卷管理 |
| 主觀題目管理 |
| 主觀題管理 |
圖4.4 功能模塊圖
4.3 數據庫設計
4.3.1 概念性數據模型
數據模型可以表示考試系統中的信息,在概念模型中沒有一定要哪種模型,程序開發者可以依賴于自己的想法建立相對應的概念模型[7]。在設計概念結構設計的時候首先需要分析收集到的數據,并且進行分類和組織,確認了不同實體之間的聯系,最終形成E-R圖,概念模型之間的聯系可以通過E-R圖進行表示。考試系統有著不少的數據,因此可以根據系統中實體的關系建立起相對應的數據模型[8]。
| 用戶 |
| 試卷 |
| 主觀題 |
| 試題 |
| N |
| N |
| N |
| N |
| N |
| N |
| 考試記錄 |
| 回答 |
| 評分 |
| 包含 |
| N |
| 1 |
| 教師 |
| N |
圖4.5 數據庫E-R
4.3.2 邏輯結構分析設計
(1)試卷信息表
表4.1 試卷信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| name | varchar | 200 | |
| time | int | 11 | |
| status | int | 11 |
(2)試題信息表
表4.2 試題信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| paperid | bigint | 20 | 是 |
| papername | varchar | 200 | |
| questionname | varchar | 200 | |
| options | longtext | 0 | |
| score | bigint | 20 | |
| answer | varchar | 200 | |
| analysis | longtext | 0 | |
| type | bigint | 20 | |
| sequence | bigint | 20 |
(3)考試錄信息表
表4.3 考試記錄信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| userid | bigint | 20 | 是 |
| username | varchar | 200 | |
| paperid | bigint | 20 | 是 |
| papername | varchar | 200 | |
| questionid | bigint | 20 | |
| questionname | varchar | 200 | |
| options | longtext | 0 | |
| score | bigint | 20 | |
| answer | varchar | 200 | |
| analysis | longtext | 0 | |
| myscore | bigint | 20 | |
| myanswer | varchar | 200 |
(4)主觀題信息表
表4.4 主觀題信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| jiaoshigonghao | varchar | 200 | |
| jiaoshixingming | varchar | 200 | |
| timu | varchar | 200 | |
| fenzhi | int | 11 |
(5)主觀題回答信息表
表4.5 主觀題回答信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| timu | varchar | 200 | |
| fenzhi | int | 11 | |
| jiaoshigonghao | varchar | 200 | |
| xuehao | varchar | 200 | 是 |
| xueshengxingming | varchar | 200 | |
| huida | longtext | 0 | |
| huidashijian | datetime | 0 | |
| crossuserid | bigint | 20 | 是 |
| crossrefid | bigint | 20 |
(6)主觀題評分信息表
表4.6 主觀題評分信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| timu | varchar | 200 | |
| fenzhi | int | 11 | |
| xuehao | varchar | 200 | 是 |
| xueshengxingming | varchar | 200 | |
| pingfen | int | 11 | |
| jieshi | longtext | 0 | |
| jiaoshigonghao | varchar | 200 | |
| jiaoshixingming | varchar | 200 | |
| crossuserid | bigint | 20 | 是 |
| crossrefid | bigint | 20 |
5 系統實現
5.1 學生管理
管理員輸入正確用戶名和密碼登錄到考試系統,在添加學生信息界面中可以輸入需要添加的信息,如果輸入的信息在數據庫記錄中檢測到有相同的則不能夠正常添加到數據庫記錄中,需要在前端界面中提示管理員。
圖5.1 學生管理界面
5.2 考場管理
當管理員想要管理考場信息的時候需要進入到考場管理的界面當中,如果想刪除考場的信息,則需要進入到考場管理功能模塊的界面當中,點擊刪除按鈕,在刪除考場信息的時候需要注意刪除的考場記錄是否跟其它表的記錄是否有關聯,如果有關聯的話則不能夠正常刪除需要先刪除其它表的記錄。如果管理員想要搜索考場的信息則需要進入到考場管理功能模塊界面當中,在搜索輸入框輸入考場名稱查找考場信息,如果輸入的考場名稱跟數據庫考場表的記錄相符的話則能夠查找得到考場的信息。
圖5.2 考場管理界面
5.3 主觀題管理
管理員輸入正確主觀題名和密碼登錄到考試系統,進入到主觀題管理界面可以管理主觀題的信息,可以對主觀題的信息進行增刪改查。當管理員想要添加主觀題信息的時候需要點擊添加按鈕,當管理員點擊添加按鈕的時候可以跳轉到添加主觀題的界面當中,管理員在添加主觀題的界面中輸入主觀題的信息,如果輸入的信息和數據庫記錄不同的話,則能夠添加主觀題的記錄到數據庫記錄當中。當管理員想要修改主觀題信息的時候則需要跳轉到修改主觀題的界面當中,在修改主觀題界面輸入主觀題的信息,管理員輸入修改的主觀題信息之后可以點擊提交按鈕進行提交,如果輸入的信息在數據庫記錄中檢測到有相同的則不能夠正常添加到數據庫記錄中,需要在前端界面中提示管理員。
圖5.3 主觀題管理界面
5.4 主觀題回答管理
當管理員想要管理主觀題回答信息的時候需要進入到主觀題回答管理的界面當中,如果想刪除主觀題回答的信息,則需要進入到主觀題回答管理功能模塊的界面當中,點擊刪除按鈕,在刪除主觀題回答信息的時候需要注意刪除的主觀題回答記錄是否跟其它表的記錄是否有關聯,如果有關聯的話則不能夠正常刪除需要先刪除其它表的記錄。如果管理員想要搜索主觀題回答的信息則需要進入到主觀題回答管理功能模塊界面當中,在搜索輸入框輸入主觀題回答名稱查找主觀題回答信息,如果輸入的主觀題回答名稱跟數據庫主觀題回答表的記錄相符的話則能夠查找得到主觀題回答的信息。
圖5.4 主觀題回答管理界面
5.5 主觀題評分
在主觀題評分界面中可以展示商品的信息,主觀題評分展現的信息需要以表單的形式進行展示,對主觀題評分需要依賴于客戶端傳遞主觀題評分信息到前端界面中,前端界面可以利用其正則表達式對其信息進行解析。服務端處理客戶端傳送過來的請求,利用數據庫SQL語句對數據庫服務器進行操作獲得主觀題評分的信息,并將其信息傳遞到客戶端中展示主觀題評分的信息。
圖5.5 主觀題評分界面
5.6 試卷評分
教師登錄系統之后可以對試卷進行評分,用戶考完試之后需要把信息存儲進數據庫表中,試卷評分界面需要展示學生的考試信息,對學生考試信息進行評分。
圖5.6 試卷評分界面
6 系統測試
6.1 測試的目的
軟件測試的目的為找出系統中存在的潛在錯誤,所以測試的時候需要注意多次測試,需要注意測試不只是有時系統的功能,而是要以找出系統中存在的錯誤為中心。但是發現系統中的錯誤不是測試的唯一目的,如果沒有發現系統中存在的錯誤也不代表這次測試毫無價值。首先,除了找出系統的bug之外還需要分析bug產生的原因,這有助于程序開發者快速定義bug并將其解決。這種分析能夠改善軟件測試者測試的效率,設計出效率更加高的測試用例。其次,全面測試能夠進一步保證程序的質量[9]。
6.2 測試方法與內容
(1)功能測試又被人們稱為黑盒測試,功能測試能夠測試本考試系統的功能是否能夠正常使用。測試者可以把系統看成是一個黑盒,可以不用去考慮考試系統內部業務邏輯情況,按照系統功能說明書運行程序,觀察系統運行結果是否有異常的情況,所以通常人們把黑盒測試的說明書當作為一本交復雜的功能使用說明書。
(2)邏輯驅動測試又被人們稱為白盒測試,程序測試員需要清楚了解程序的內部邏輯,并在此基礎上設計測試用例[10]。
6.3 測試用例設計
(1)登錄用例
在登錄測試用例中能夠測試用戶是否正常登錄系統,如果用戶輸入錯誤的用戶名和密碼則不能夠正常登錄系統。
表6.1 登錄測試用例表
| 用例編號 | 001 |
| 測試內容 | 測試用戶能否正常登錄系統 |
| 測試步驟 | (1)用戶從考試系統中進入到登錄頁面 (2)在登錄頁面中輸入用戶名和密碼 (3)在登錄頁面中點擊登錄按鈕 |
| 實際結果 | 如果用戶輸入的用戶名和密碼能夠和數據庫記錄相同的話則能夠正常登錄 |
(2)用戶管理用例
在用戶管理用例中能夠對用戶管理的功能進行測試,管理員需要登錄才能夠進入到用戶管理界面中。
表6.2 用戶管理測試用例表
| 用例編號 | 002 |
| 測試內容 | 測試在后臺管理的時候用戶管理功能是否能夠正常操作 |
| 測試步驟 | (1)管理員只有登錄系統之后才可以使用系統的功能,點擊管理頁面左側的用戶管理功能 (2)查看在表單是否能夠正常顯示用戶的信息 (3)點擊修改按鈕可以修改用戶的信息,需要注意在修改的時候需要注意輸入數據字符的合法性,如果必要輸入的用戶信息沒有輸入的話也不能夠正常修改 (4)點擊添加按鈕可以添加用戶的信息,需要注意的是添加的數據要注意其合法性,如果添加的用戶記錄與原有的數據庫記錄相沖突的話則不能夠正常添加。 (5)點擊刪除按鈕可以刪除用戶的信息,如果刪除的用戶信息還與別的表有關聯,則不能夠正常刪除。 (6)在搜索輸入框中輸入用戶名稱可以查找用戶的信息。 |
| 實際結果 | 測試通過 |
(3)試卷管理用例
在試卷管理用例中能夠對試卷管理的功能進行測試,管理員需要登錄才能夠進入到試卷管理界面中。
表6.3 試卷管理測試用例表
| 用例編號 | 003 |
| 測試內容 | 測試在后臺管理的時候試卷管理功能是否能夠正常操作 |
| 測試步驟 | (1)管理員只有登錄系統之后才可以使用系統的功能,點擊管理頁面左側的試卷管理功能 (2)查看在表單是否能夠正常顯示試卷的信息 (3)點擊修改按鈕可以修改試卷的信息,需要注意在修改的時候需要注意輸入數據字符的合法性,如果必要輸入的試卷信息沒有輸入的話也不能夠正常修改 (4)點擊添加按鈕可以添加試卷的信息,需要注意的是添加的數據要注意其合法性,如果添加的試卷記錄與原有的數據庫記錄相沖突的話則不能夠正常添加。 (5)點擊刪除按鈕可以刪除試卷的信息,如果刪除的試卷信息還與別的表有關聯,則不能夠正常刪除。 (6)在搜索輸入框中輸入試卷名稱可以查找試卷的信息。 |
| 實際結果 | 測試通過 |
7 總結與展望
7.1 總結
本文不僅對考試系統的需求分析和系統設計進行了分析,還深入考試系統所涉及到的技術,本文研究的主要內容包括:
(1)研究并介紹了考試系統的背景、國內外現狀和發展的一個趨勢。
(2)對考試系統的子系統進行了分析。
(3)合理分析并實現考試系統需要涉及到的數據庫表。
(4)分析并實現了考試系統的業務邏輯。
(5)研究并分析使用開源框架實現考試系統。
(5)編寫測試用例測試系統是否能夠正常運行。
完整地介紹了考試系統的開發流程。本文先安裝了必備軟件,之后對開源項目進行搭建,編寫服務端和客戶端的代碼,代碼方面基本實現了考試系統的基本功能,最后是編寫測試用例對系統進行測試,完整重現了考試系統從無到有的一個過程。對于用戶來說,在一定程度上節約了不少的時間。對于管理員來說提高了工作效率。
7.2 展望
本文涉及的考試系統不僅成本低下,而且有著非常不錯的實用性,通過運用開源框架等技術,可以使得本系統的實用性進一步加強,不過系統還有不少不足,主要體現在以下幾個方面:
(1)本考試系統采用的是虛擬支付的方式進行支付,后續可以使用支付寶支付方式支付。
(2)考試系統可以利用redis數據庫存儲系統中的信息,從而進一步加強頁面的訪問速度。對考試系統高并發的問題進一步處理。
參考文獻
致謝
時間過得很快,大學階段已經結束了,我也即將離開學校?;仡櫷?#xff0c;大學的很多記憶從腦海中閃過,奮斗和喜悅在我的腦海中閃過,內心失落之后又充滿希望,自己也在校園里學到了很多的東西充實了自己。
在幾年前之前,我收到了人生很重要的一張通知書,它使我明白了一個道理,失敗不可怕,可怕的是重頭再來。在考取大學的過程當中我收獲了很多,真心感謝這段時光和經歷。
首先,我非常感謝我的父母,我在求學的路上他們給了我很多的支持,在我生活的各方面給予了我指導。在大學的這段時光里,我非常感謝我的指導老師對我的關心和安慰,指導老師在系統編寫設計方面給了我許多的指導。在此期間,我遇到了不少的問題,指導老師會耐心地給我講解知識,耐心地給予我解決的方案,從論文的排版,再到經過自己努力和指導老師對我的幫助,最終才能夠將系統和論文完成。同時還要感謝學院老師的幸苦工作。
大學期間最讓我懷念的便是班級的小伙伴們,在這里由衷地感謝著大家,有了你們的幫助使得我在學習上走了很少的彎路。學習的過程當中雖然艱辛但是收獲了很多。感謝各位,你們是我一路走來的朋友。我要感謝我的大學,是您為我提供了良好的學習環境,讓我能夠更好地學習,
總結
以上是生活随笔為你收集整理的基于BS架构考试系统的设计与分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4款好用的密码管理器,你值得拥有
- 下一篇: 软件实习项目2——贪吃喵(猫吃鱼版贪吃蛇