目錄
1 緒論
1.1 選題背景與意義
1.2國內外研究現狀
1.3論文結構與章節安排
2系統分析
2.1 可行性分析
2.2 系統流程分析
2.2.1系統開發流程
2.2.2 用戶登錄流程
2.2.3 系統操作流程
2.2.4 添加信息流程
2.2.5 修改信息流程
2.2.6 刪除信息流程
2.3?系統功能分析
2.3.1 功能性分析
2.3.2 非功能性分析
2.4?系統用例分析
2.5本章小結
3?系統總體設計
3.1 系統架構設計
3.2?系統功能模塊設計
3.3 數據庫設計
3.3.1 數據庫概念結構設計
3.3.2 數據庫邏輯結構設計
4系統關鍵模塊設計與實現
4.1登錄模塊
4.2用戶管理模塊
4.3實驗內容管理模塊
4.4實驗報告管理模塊
4.5報告批閱管理模塊
5系統測試
5.1系統測試的目的
5.2?系統測試用例
5.3?系統測試結果
結論
參考文獻
致 ?謝
摘要
本論文基于Spring Boot的實驗報告管理系統的設計與實現,旨在解決傳統實驗報告管理方式存在的問題,并提供便捷、高效的實驗報告管理服務。通過使用Spring Boot框架,結合前端技術和數據庫管理,設計并實現了一個功能完善的實驗報告管理系統。
該系統包括管理員、學生用戶和教師用戶三個角色。學生用戶可以登錄系統,提交實驗報告并查看自己的報告狀態。教師用戶可以審核和評分學生提交的實驗報告,并進行反饋和批注。管理員具有全部權限。系統還提供了實驗報告的管理功能,包括報告的上傳、下載和查詢等。
在系統的設計與實現過程中,采用了分層架構的設計模式,使得系統具有良好的可擴展性和可維護性。通過使用Spring Security框架,實現了用戶身份驗證和權限管理,保障了系統的安全性。同時,利用Spring Data JPA實現了對數據庫的訪問和操作,提高了系統的數據處理效率。
經過實驗和測試,該實驗報告管理系統運行穩定,能夠滿足學生和教師的需求。學生可以方便地提交實驗報告,教師可以快速審核和評分報告。通過該系統的應用,實驗報告管理的效率得到了顯著提升,大大減少了紙質報告的使用量。
關鍵詞:Spring Boot;實驗報告管理系統;分層架構;用戶權限管理;數據庫訪問?
Abstract
The system includes three roles: administrator, student user, and teacher user. Student users can log in to the system, submit experimental reports, and view their report status. Teacher users can review and rate experimental reports submitted by students, and provide feedback and annotations. Administrators have full permissions. The system also provides management functions for experimental reports, including uploading, downloading, and querying reports.
In the design and implementation process of the system, a layered architecture design pattern was adopted, making the system have good scalability and maintainability. By using the Spring Security framework, user authentication and permission management have been implemented, ensuring the security of the system. At the same time, Spring Data JPA was used to access and operate the database, improving the data processing efficiency of the system.
After experimentation and testing, the experimental report management system runs stably and can meet the needs of students and teachers. Students can easily submit experimental reports, and teachers can quickly review and grade reports. Through the application of this system, the efficiency of experimental report management has been significantly improved, greatly reducing the use of paper reports.
Keywords: Spring Boot; Experimental report management system; Layered architecture; User permission management; Database access
1 緒論
實驗報告是大學教學中重要的教學評估手段,對學生的實驗能力和科學素養的培養具有重要意義。然而,傳統的實驗報告管理方式存在一些問題,如紙質報告容易丟失、審核和評分過程繁瑣等。因此,設計和實現基于Spring Boot的實驗報告管理系統具有重要的研究背景和意義。
首先,傳統的實驗報告管理方式需要學生提交紙質報告,并通過人工審核和評分。這種方式效率低下且易出錯。基于Spring Boot的實驗報告管理系統可以實現在線提交、自動審核和評分,大大提高了管理效率和準確性。并且,傳統的紙質報告需要大量的紙張和打印耗材,不僅浪費資源還給環境帶來壓力。基于Spring Boot的實驗報告管理系統實現了電子化管理,有效減少了紙張消耗,符合可持續發展的理念。紙質報告還容易遺失或泄露,可能導致學生的個人信息和成績泄露風險。而基于Spring Boot的實驗報告管理系統通過用戶身份驗證和權限管理,保障了學生和教師信息的安全性。
其次,實驗報告是對學生實驗能力和科學素養的評估,而基于Spring Boot的實驗報告管理系統可以提供更及時、準確的審核和評分反饋。教師可以更好地指導學生改進實驗報告的撰寫和實驗設計,從而提高教學質量。
最后,基于Spring Boot的實驗報告管理系統采用現代化的Web開發技術,結合數據庫管理和權限控制等功能,為實驗報告管理提供了一種創新的解決方案。同時,該系統的設計與實現也可以為其他教育管理系統的開發提供參考和借鑒。
綜上所述,基于Spring Boot的實驗報告管理系統的設計與實現具有重要的研究背景和意義。通過應用該系統,可以提高實驗報告管理的效率和質量,節約資源并保障信息安全,推動教育管理向數字化、智能化方向發展。
在國內,一些高校和教育機構進行了關于實驗報告管理系統的研究。這些研究主要集中在系統架構設計、功能模塊設計和技術實現等方面。一些高校還開發了自己的實驗報告管理系統,用于學生實驗報告的在線提交、教師審核和評分等。
在國外,一些在線教育平臺和科研機構也提供類似的實驗報告管理服務。這些平臺包括Coursera、edX和Google Classroom等,它們提供在線實驗環境和實驗報告的提交、批改等功能。
發展趨勢:
電子化管理:未來的研究重點可能會放在實驗報告的電子化管理上,通過使用Web技術和數據庫管理,實現在線提交、自動審核和評分等功能,減少紙質報告的使用。
多媒體支持:隨著多媒體技術的發展,未來的實驗報告管理系統可能會增加對多媒體內容的支持,如實驗過程的視頻錄制、圖片上傳等。
數據分析和挖掘:基于大數據和人工智能技術,未來的實驗報告管理系統可以通過對大量實驗報告數據的分析和挖掘,提供更準確的評估和反饋,為教學改進提供指導。
綜上所述,基于Spring Boot的實驗報告管理系統的設計與實現已經在國內外得到了一些研究和應用。未來的發展趨勢包括電子化管理、多媒體支持和數據分析等方面,這些趨勢將進一步提升實驗報告管理系統的功能和性能,為教育管理領域的創新發展提供參考和借鑒。
論文將分層次經行編排,除去論文摘要致謝文獻參考部分,正文部分還會對系統需求做出分析,以及闡述大體的設計和實現的功能,最后羅列部分調測記錄,論文主要架構如下:
第一章:引言。第一章主要介紹了課題研究的背景和意義,系統開發的國內外研究現狀和本文的研究內容與主要工作。
第二章:系統需求分析。主要從系統的用戶、功能等方面進行需求分析。
第三章:系統設計。主要對系統框架、系統功能模塊、數據庫進行功能設計。
第四章:系統實現。主要介紹了系統框架搭建、系統界面的實現。
第五章:系統測試。主要對系統的部分界面進行測試并對主要功能進行測試
2系統分析
系統分析是開發一個項目的先決條件,通過系統分析可以很好的了解系統的主體用戶的基本需求情況,同時這也是項目的開發的原因。進而對系統開發進行可行性分析,通常包括技術可行性、經濟可行性等,可行性分析同時也是從項目整體角度進行的分析。然后就是對項目的具體需求進行分析,分析的手段一般都是通過用戶的用例圖來實現。接下來會進行詳細的介紹。
經濟可行性在此僅代表平臺的運維成本,開發成本不在此考慮。
目前該模式下的相關系統的數量日益增多,信息管理系統的平民化、普及化使用戶人數呈上升趨勢,當用戶人數龐大了,運維成本可以由廣告費進行填補,包括開發成本。
所以經濟可行性沒有問題。
(2)操作可行性:
此次項目設計參考了幾個該模式下平臺的開發案例,對他們的操作界面分析,將眾多案例結合在一起,突出以人為本簡化操作,所以具有基本計算機知識的人都會操作本項目。
因此操作可行性也沒有問題。
(3)技術可行性:
技術可行性指的是對于搭建框架的可行性,以及有更優秀的技術出現時系統的技術更新換代的納新性如何,開發時間成本費用比如何。
現有的JAVA語言能夠迎合所有系統的搭建。開發這個實驗報告管理系統的時候我采用了JAVA+springboot用以運行整體程序。
綜上所述技術可行性也沒有問題。
基于springboot的實驗報告管理系統開發時,首先進行需求分析,進而對系統進行總體的設計規劃,設計系統功能模塊,數據庫的選擇等,本系統的開發流程如圖2-1所示。
圖2-1系統開發流程圖
2.2.2 用戶登錄流程
為了保證系統的安全性,要使用本系統對系統信息進行管理,必須先登陸到系統中。如圖2-2所示。
圖2-2 登錄流程圖
2.2.3 系統操作流程
用戶打開并進入系統后,會先顯示登錄界面,輸入正確的用戶名和密碼,系統自動檢測信息,若信息無誤,則用戶會進入系統功能界面,進行操作,否則會提示錯誤無法登錄,操作流程如圖2-3所示。
圖2-3 系統操作流程圖
2.2.4 添加信息流程
管理員可以對實驗內容、實驗報告等進行信息的添加,用戶可以對自己權限內的信息進行添加,輸入信息后,系統會自行驗證輸入的信息和數據,若信息正確,會將其添加到數據庫內,若信息有誤,則會提示重新輸入信息,添加信息流程如圖2-4所示。
圖2-4 添加信息流程圖
2.2.5 修改信息流程
管理員可以對實驗內容、實驗報告等進行的修改,用戶可以對自己權限內的信息進行修改,首先進入修改信息界面,輸入修改信息數據,系統進行數據的判斷驗證,修改信息合法則修改成功,信息更新至數據庫,信息不合法則修改失敗,重新輸入。修改信息流程圖如圖2-5所示。
圖2-5 修改信息流程圖
2.2.6 刪除信息流程
管理員可以對實驗內容、實驗報告等進行信息的刪除,對要刪除的信息進行選中后,點擊刪除按鈕,系統會詢問是否確定,若點擊確定,則系統會刪除掉選中的信息,并在數據庫內對信息進行刪除,刪除信息流程圖如圖2-6所示。
圖2-6 刪除信息流程圖
按照基于springboot的實驗報告管理系統的角色,我劃分為了申報人員模塊、評審人員模塊和管理員模塊這三大部分。
后臺首頁:管理員登錄后可以查看系統的后臺首頁,顯示系統概況、重要統計數據和最新消息等。
系統用戶:管理員可以管理系統的用戶賬戶,包括用戶信息的查看、添加、編輯和刪除等操作。
實驗內容管理:管理員可以管理實驗的內容,包括添加、編輯和刪除實驗信息。
實驗報告管理:管理員可以管理學生提交的實驗報告,包括查看、下載和審核實驗報告。
報告批閱管理:管理員可以對教師對學生實驗報告的批閱進行管理,包括查看、評分和反饋。
2.教師用戶功能需求:
后臺首頁:教師用戶登錄后可以查看系統的后臺首頁,顯示系統概況、重要統計數據和最新消息等。
實驗內容管理:教師用戶可以查看學生提交的實驗內容,可以下載實驗內容附件等。
實驗報告管理:教師用戶可以查看學生提交的實驗報告,包括下載和評閱。教師可以對實驗報告進行評分、批注和反饋。
報告批閱管理:教師用戶可以管理自己對學生實驗報告的批閱情況,包括查看已評閱和未評閱的報告,以及統計和分析評閱結果。
3.學生用戶功能需求:
后臺首頁:學生用戶登錄后可以查看系統的后臺首頁,顯示系統概況、重要統計數據和最新消息等。
實驗內容管理:學生用戶可以管理自己的實驗內容,包括添加、上傳、修改、刪除等。
實驗報告管理:學生用戶可以提交實驗報告,包括上傳報告文件和填寫相關信息。學生可以查看自己的報告狀態。
報告批閱管理:學生用戶可以查看教師對自己實驗報告的批閱結果和反饋意見,了解自己的實驗成績和改進方向。
通過以上功能需求分析,基于Spring Boot的實驗報告管理系統可以滿足管理員、教師用戶和學生用戶在實驗內容管理、實驗報告管理和報告批閱管理等方面的需求。系統的設計和實現能夠提供便捷、高效的實驗報告管理服務,提升教學質量和學生學習體驗。
基于springboot的實驗報告管理系統的非功能性需求比如平臺的安全性怎么樣,可靠性怎么樣,性能怎么樣,可拓展性怎么樣等。具體可以表示在如下2-1表格中:
表2-1基于springboot的實驗報告管理系統非功能需求表
安全性 | 主要指基于springboot的實驗報告管理系統數據庫的安裝,數據庫的使用和密碼的設定必須合乎規范。 |
可靠性 | 可靠性是指基于springboot的實驗報告管理系統能夠安裝用戶的指示進行操作,經過測試,可靠性90%以上。 |
性能 | 性能是影響基于springboot的實驗報告管理系統占據市場的必要條件,所以性能最好要佳才好。 |
可擴展性 | 比如數據庫預留多個屬性,比如接口的使用等確保了系統的非功能性需求。 |
易用性 | 用戶只要跟著基于springboot的實驗報告管理系統的頁面展示內容進行操作,就可以了。 |
可維護性 | 基于springboot的實驗報告管理系統開發的可維護性是非常重要的,經過測試,可維護性沒有問題 |
通過2.3功能的分析,得出了系統的用例圖:
教師用戶角色用例如圖2-7所示。
圖2-7教師用戶角色用例圖
學生用戶角色用例如圖2-8所示。
圖2-8學生用戶角色用例圖
管理員是維護整個基于springboot的實驗報告管理系統中所有數據信息的。管理員角色用例如圖2-9所示。
圖2-5?基于springboot的實驗報告管理系統管理員角色用例圖
本章主要通過對基于springboot的實驗報告管理系統的可行性分析、流程分析、功能需求分析、系統用例分析,確定整個系統要實現的功能。同時也為系統的代碼實現和測試提供了標準。
本系統從架構上分為三層:表現層(UI)、業務邏輯層(BLL)以及數據層(DL)。
圖3-1系統架構設計圖
表現層(UI):又稱UI層,主要完成本系統的UI交互功能,一個良好的UI可以打打提高用戶的用戶體驗,增強用戶使用本系統時的舒適度。UI的界面設計也要適應不同版本的實驗報告管理系統以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用戶進行交互操作時必須要得到與之相符的交互結果,這就要求表現層要與業務邏輯層進行良好的對接。
業務邏輯層(BLL):主要完成本系統的數據處理功能。用戶從表現層傳輸過來的數據經過業務邏輯層進行處理交付給數據層,系統從數據層讀取的數據經過業務邏輯層進行處理交付給表現層。
數據層(DL):由于本系統的數據是放在服務端的mysql數據庫中,因此本屬于服務層的部分可以直接整合在業務邏輯層中,所以數據層中只有數據庫,其主要完成本系統的數據存儲和管理功能。
在上一章節中主要對系統的功能性需求和非功能性需求進行分析,并且根據需求分析了本系統中的用例。那么接下來就要開始對本系統的架構、主要功能和數據庫開始進行設計。基于springboot的實驗報告管理系統根據前面章節的需求分析得出,其總體設計模塊圖如圖3-2所示。
圖3-2系統功能模塊圖
數據庫設計一般包括需求分析、概念模型設計、數據庫表建立三大過程,其中需求分析前面章節已經闡述,概念模型設計有概念模型和邏輯結構設計兩部分。
下面是整個基于springboot的實驗報告管理系統中主要的數據庫表總E-R實體關系圖。
圖3-3?基于springboot的實驗報告管理系統總E-R關系圖
通過上一小節中基于springboot的實驗報告管理系統中總E-R關系圖上得出一共需要創建很多個數據表。在此我主要羅列幾個主要的數據庫表結構設計。
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | token_id | int | 10 | 0 | N | Y | 臨時訪問牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 臨時訪問牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大壽命:默認2小時 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用戶編號: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | auth_id | int | 10 | 0 | N | Y | 授權ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用戶組: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模塊名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 頁面標題: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路徑: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳轉方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可刪除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查詢字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表導航名稱: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表導航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | experimental_content_id | int | 10 | 0 | N | Y | 實驗內容ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 學生用戶 |
3 | student_name | varchar | 64 | 0 | Y | N | 學生姓名 | |
4 | experiment_name | varchar | 64 | 0 | Y | N | 實驗名稱 | |
5 | experimental_type | varchar | 64 | 0 | Y | N | 實驗類型 | |
6 | experimental_time | date | 10 | 0 | Y | N | 實驗時間 | |
7 | experimental_purpose | varchar | 64 | 0 | Y | N | 實驗目的 | |
8 | experimental_objectives | varchar | 64 | 0 | Y | N | 實驗目標 | |
9 | experimental_attachments | varchar | 255 | 0 | Y | N | 實驗附件 | |
10 | experimental_content | text | 65535 | 0 | Y | N | 實驗內容 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | experimental_report_id | int | 10 | 0 | N | Y | 實驗報告ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 學生用戶 |
3 | student_id | varchar | 64 | 0 | Y | N | 學生學號 | |
4 | student_name | varchar | 64 | 0 | Y | N | 學生姓名 | |
5 | reviewer | int | 10 | 0 | Y | N | 0 | 批閱教師 |
6 | experiment_name | varchar | 64 | 0 | Y | N | 實驗名稱 | |
7 | experimental_type | varchar | 64 | 0 | Y | N | 實驗類型 | |
8 | experimental_time | date | 10 | 0 | Y | N | 實驗時間 | |
9 | experimental_purpose | varchar | 64 | 0 | Y | N | 實驗目的 | |
10 | experimental_objectives | varchar | 64 | 0 | Y | N | 實驗目標 | |
11 | report_attachment | varchar | 255 | 0 | Y | N | 報告附件 | |
12 | report_content | text | 65535 | 0 | Y | N | 報告內容 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | hits_id | int | 10 | 0 | N | Y | 點贊ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 點贊人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | report_review_id | int | 10 | 0 | N | Y | 報告批閱ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 學生用戶 |
3 | student_id | varchar | 64 | 0 | Y | N | 學生學號 | |
4 | student_name | varchar | 64 | 0 | Y | N | 學生姓名 | |
5 | reviewer | int | 10 | 0 | Y | N | 0 | 批閱教師 |
6 | experiment_name | varchar | 64 | 0 | Y | N | 實驗名稱 | |
7 | experimental_type | varchar | 64 | 0 | Y | N | 實驗類型 | |
8 | experimental_time | date | 10 | 0 | Y | N | 實驗時間 | |
9 | experimental_purpose | varchar | 64 | 0 | Y | N | 實驗目的 | |
10 | experimental_objectives | varchar | 64 | 0 | Y | N | 實驗目標 | |
11 | rating_score | int | 10 | 0 | Y | N | 0 | 批閱分數 |
12 | review_content | text | 65535 | 0 | Y | N | 批閱內容 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感詞匯ID | |
2 | sensitive_vocabulary | varchar | 64 | 0 | Y | N | 敏感詞匯 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | student_users_id | int | 10 | 0 | N | Y | 學生用戶ID | |
2 | student_id | varchar | 64 | 0 | N | N | 學生學號 | |
3 | student_name | varchar | 64 | 0 | Y | N | 學生姓名 | |
4 | student_gender | varchar | 64 | 0 | Y | N | 學生性別 | |
5 | student_age | varchar | 64 | 0 | Y | N | 學生年齡 | |
6 | examine_state | varchar | 16 | 0 | N | N | 已通過 | 審核狀態 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用戶ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | teacher_users_id | int | 10 | 0 | N | Y | 教師用戶ID | |
2 | teachers_name | varchar | 64 | 0 | Y | N | 教師姓名 | |
3 | teacher_age | varchar | 64 | 0 | Y | N | 教師年齡 | |
4 | teacher_gender | varchar | 64 | 0 | Y | N | 教師性別 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通過 | 審核狀態 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用戶ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | upload_id | int | 10 | 0 | N | Y | 上傳ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 訪問路徑 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路徑 | |
5 | display | varchar | 255 | 0 | Y | N | 顯示順序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父級ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夾 | |
8 | type | varchar | 32 | 0 | Y | N | 文件類型 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用戶ID:[0,8388607]用戶獲取其他與用戶相關的數據 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 賬戶狀態:[0,10](1可用|2異常|3已凍結|4已注銷) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用戶組:[0,32767]決定用戶身份和權限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登錄時間: |
5 | phone | varchar | 11 | 0 | Y | N | 手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手機認證:[0,1](0未認證|1審核中|2已認證) |
7 | username | varchar | 16 | 0 | N | N | 用戶名:[0,16]用戶登錄時所用的賬戶名稱 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵稱:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密碼:[0,32]用戶登錄所需的密碼,由6-16位數字或英文組成 | |
10 | | varchar | 64 | 0 | Y | N | 郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 郵箱認證:[0,1](0未認證|1審核中|2已認證) |
12 | avatar | varchar | 255 | 0 | Y | N | 頭像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 針對獲取用戶信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
15 | vip_level | varchar | 255 | 0 | Y | N | 會員等級 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 會員折扣 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用戶組ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 顯示順序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名稱:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述該用戶組的特點或權限范圍 | |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注冊位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
4系統關鍵模塊設計與實現
基于springboot的實驗報告管理系統的詳細設計與實現主要是根據前面的需求分析和總體設計來設計頁面并實現業務邏輯。主要從界面實現、業務邏輯實現這兩部分進行介紹。
4.1登錄模塊
管理員、用戶在登錄界面輸入賬號+密碼,完成驗證,點擊“登錄”按鈕,系統在用戶數據庫表中會對管理員、用戶的賬號進行匹配,賬號+密碼正確的話,就會登錄到系統中各個用戶的主管理界面,否則提示對應的信息,返回到登錄的界面,其主界面展示如下圖4.1所示。
圖4.1 登錄界面圖
4.2用戶管理模塊
管理員可以對系統中所有的用戶角色進行管控,包含了管理員、學生用戶、教師用戶三種角色,如果需要添加新的用戶,點擊頁面中的“添加”按鈕根據提示輸入上用戶信息,點擊“提交”以后在對應的用戶界面就可以查看到了,可以點擊用戶后面的“刪除”按鈕直接刪除某一用戶。界面如下圖所示。
圖4.2 用戶管理界面圖
4.3實驗內容管理模塊
點擊“實驗內容管理”菜單按鈕,管理員可以管理實驗的內容,包括添加、編輯和刪除實驗信息。學生用戶可以添加、上傳實驗內容,教師用戶可以查看和下載學生用戶提交的實驗內容。界面如下圖所示。
圖4.3實驗內容列表界面圖
圖4.4學生用戶添加實驗內容界面圖
4.4實驗報告管理模塊
點擊“實驗報告管理”菜單按鈕,管理員可以管理學生提交的實驗報告,包括查看、下載和審核實驗報告。教師用戶可以查看學生提交的實驗報告,包括下載和評閱。學生用戶可以提交實驗報告,包括上傳報告文件和填寫相關信息。界面如下圖所示。
圖4.5?學生用戶添加實驗報告界面圖
4.5報告批閱管理模塊
點擊“報告批閱管理”菜單按鈕,管理員可以對教師對學生實驗報告的批閱進行管理,包括查看、評分和反饋。教師用戶可以批閱學生提交的實驗報告,包括填寫批閱分數和批閱內容。學生用戶可以查看教師對自己實驗報告的批閱結果和反饋意見,了解自己的實驗成績和改進方向。界面如下圖所示。
圖4.6報告批閱列表界面圖
圖4.7教師用戶批閱報告界面圖
5系統測試
系統開發到了最后一個階段那就是系統測試,系統測試對軟件的開發其實是非常有必要的。因為沒什么系統一經開發出來就可能會盡善盡美,再厲害的系統開發工程師也會在系統開發的時候出現紕漏,系統測試能夠較好的改正一些bug,為后期系統的維護性提供很好的支持。通過系統測試,開發人員也可以建立自己對系統的信心,為后期的系統版本的跟新提供支持。
系統測試包括:用戶登錄功能測試、實驗內容查看功能測試、實驗內容添加、實驗內容搜索、密碼修改功能測試,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1?用戶登錄功能測試表
用例名稱 | 用戶登錄系統 |
目的 | 測試用戶通過正確的用戶名和密碼可否登錄功能 |
前提 | 未登錄的情況下 |
測試流程 | 1) 進入登錄頁面 2) 輸入正確的用戶名和密碼 |
預期結果 | 用戶名和密碼正確的時候,跳轉到登錄成功界面,反之則顯示錯誤信息,提示重新輸入 |
實際結果 | 實際結果與預期結果一致 |
實驗內容查看功能測試:
表5-2實驗內容查看功能測試表
用例名稱 | 實驗內容查看 |
目的 | 測試實驗內容查看功能 |
前提 | 用戶登錄 |
測試流程 | 點擊實驗內容列表 |
預期結果 | 可以查看到所有實驗內容 |
實際結果 | 實際結果與預期結果一致 |
學生用戶添加實驗內容界面測試:
表5-3?學生用戶添加實驗內容界面測試表
用例名稱 | 實驗內容添加測試用例 |
目的 | 測試實驗內容添加功能 |
前提 | 學生用戶正常登錄情況下 |
測試流程 | 1)學生用戶點擊實驗內容,點擊添加后并填寫信息。 2)點擊進行提交。 |
預期結果 | 提交以后,頁面首頁會顯示新的實驗內容? |
實際結果 | 實際結果與預期結果一致 |
實驗內容搜索功能測試:
表5-4實驗內容搜索功能測試表
用例名稱 | 實驗內容搜索測試 |
目的 | 測試實驗內容搜索功能 |
前提 | 無 |
測試流程 | 1)在搜索框填入搜索關鍵字。 2)點擊搜索按鈕。 |
預期結果 | 頁面顯示包含有搜索關鍵字的實驗內容 |
實際結果 | 實際結果與預期結果一致 |
密碼修改功能測試:
表5-5 密碼修改功能測試表
用例名稱 | 密碼修改測試用例 |
目的 | 測試管理員密碼修改功能 |
前提 | 管理員用戶正常登錄情況下 |
測試流程 | 1)管理員密碼修改并完成填寫。 2)點擊進行提交。 |
預期結果 | 使用新的密碼可以登錄 |
實際結果 | 實際結果與預期結果一致 |
通過編寫基于springboot的實驗報告管理系統的測試用例,已經檢測完畢用戶登錄模塊、實驗內容查看模塊、實驗內容添加模塊、實驗內容搜索模塊、密碼修改功能測試,通過這5大模塊為基于springboot的實驗報告管理系統的后期推廣運營提供了強力的技術支撐。
結論
至此,基于springboot的實驗報告管理系統已經結束,在開發前做了許多的準備,在本系統的設計和開發過程中閱覽和學習了許多文獻資料,從中我也收獲了很多寶貴的方法和設計思路,對系統的開發也起到了很重要的作用,系統的開發技術選用的都是自己比較熟悉的,比如Web、JAVA語言、MYSQL,這些技術都是在以前的學習中學到了,其中許多的設計思路和方法都是在以前不斷地學習中摸索出來的經驗,其實對于我們來說工作量還是比較大的,但是正是由于之前的積累與準備,才能順利的完成這個項目,由此看來,積累經驗跟做好準備是十分重要的事情。
當然在該系統的設計與實現的過程中也離不開老師以及同學們的幫助,正是因為他們的指導與幫助,我才能夠成功的在預期內完成了這個系統。同時在這個過程當中我也收獲了很多東西,此系統也有需要改進的地方,但是由于專業知識的淺薄,并不能做到十分完美,希望以后有機會可以讓其真正的投入到使用之中。
[1]袁琳琳.計算機軟件Java編程特點及技術分析[J].數字通信世界,2023,(12):87-89.
[2]馬慶.計算機軟件開發中JAVA編程語言的應用[J].山西電子技術,2023,(06):84-86+98.
[3]蘇婉怡,揣小龍,劉美瑜等.基于Java技術的實驗室管理系統設計與實現[J].無線互聯科技,2023,20(23):58-60.
[4]Liang C .School Vehicle Management System Based on JAVA Language[J].Academic Journal of Computing ?Information Science,2023,6(9):
[5]魯旭立.基于B/S結構的實驗報告管理系統功能分析與設計[J].無線互聯科技,2023,20(14):72-74.
[6]歐陽習彪,徐寶林,蔣謹.在線實驗報告管理系統的設計與實現[J].現代計算機,2023,29(11):104-108.
[7]Jessica E L ,Sanoussi M A Y ,Mehdi E C , et al.A comprehensive review of State-of-The-Art methods for Java code generation from Natural Language Text[J].Natural Language Processing Journal,2023,3
[8]王本陽,王新順,劉一等.大學物理實驗報告成績自動錄入系統的設計與實現[J].中國現代教育裝備,2022,(09):14-17.DOI:10.13492/j.cnki.cmee.2022.09.006.
[9]鐘漢利,曾薈燕,黃少彬等.基于WebSocket的實驗報告批閱管理系統[J].電腦編程技巧與維護,2022,(03):86-89.DOI:10.16184/j.cnki.comprg.2022.03.042.
[10]徐鑫,林宏,李國榮等.高校實驗報告管理系統構建與優化的探究[J].軟件,2021,42(03):61-64.
[11]張弛,沈亦軍,張琛等.基于SSM框架的高校智能化實驗報告管理系統設計與實現[J].赤峰學院學報(自然科學版),2021,37(01):107-110.DOI:10.13398/j.cnki.issn1673-260x.2021.01.025.
[12]梁麗勤,張寶健,郭獻章等.一種智能評改報告與監督的實驗管理系統設計[J].電子技術與軟件工程,2020,(23):143-144.
[13]羅霞,張嘉寧,羅闊.高校實驗室信息與設備管理系統的開發與應用[J].湖南科技學院學報,2020,41(05):67-70.DOI:10.16336/j.cnki.cn43-1459/z.2020.05.021.
[14]林方欽,余利紅,沈思婷等.高校生物技術綜合實驗報告管理系統的構建與應用[J].現代職業教育,2020,(44):89-91.
[15]張廣斌,王長順,許凌云等.實驗報告管理系統的設計與實現[J].信息技術,2019,43(11):157-159+163.DOI:10.13274/j.cnki.hdzj.2019.11.032.
[16]甘才軍.一種新型實驗報告管理系統設計與實現[J].軟件導刊,2019,18(08):101-104.
[17]張蓉.計算機網絡實驗管理系統設計[J].微型電腦應用,2019,35(06):105-106+110.
[18]Zou Y ,Liu L ,Chen X , et al.Design of College Students’ Physique Monitoring and Disease Warning System Based on Hadoop[J].Academic Journal of Computing ?Information Science,2019,2(1):
[19]王艷榮.德州學院實驗室管理系統的設計與實現[D].山東大學,2019.
[20]王新宇.基于Spring Boot的高職院校實驗室管理系統的設計與實現[D].蘭州大學,2019.
轉眼間,大學生用戶活便已經接近尾聲,人面對著離別與結束,總是充滿著不舍與茫然,我亦如此,仍記得那年秋天,我迫不及待的提前一天到了學校,面對學校巍峨的大門,我心里充滿了期待:這里,就是我新生活的起點嗎?那天,陽光明媚,學校的歡迎儀式很熱烈,我面對著一個個對著我微笑的同學,仿佛一縷縷陽光透過胸口照進了我心里,同時,在那天我認識可愛的室友,我們攜手共同度過了這難忘的兩年。如今,我望著這篇論文的致謝,不禁又要問自己:現在,我們就要說再見了嗎?
感慨莫名,不知所言。遙想當初剛來學校的時候,心里總是想著工科學校會過于板正,會缺乏一些柔情,當時心里甚至有一點點排斥,但是隨著我對學校的慢慢認識與了解,我才認識到了她的美麗,她的柔情,并且慢慢的喜歡上了這個校園,但是時間太快了,快到我還沒有好好體會她的美麗便要離開了,但是她帶給我的回憶,永遠不會離開我,也許真正離開那天我的眼里會滿含淚水,我不是因為難過,我只是想將她的樣子映在我的淚水里,刻在我的心里。最后,感謝我的老師們,是你們教授了我們知識與做人的道理;感謝我的室友們,是你們陪伴了我如此之久;感謝每位關心與支持我的人。
少年,追風趕月莫停留,平荒盡處是春山
免費領取項目源碼,請關注?點贊收藏并私信博主,謝謝~