







摘" " 要:針對高校學生緩考與課程重修統計審核效率低和數據錯誤率高等問題,研究分析了學生緩考與課程重修管理系統架構,利用B/S架構和SSM框架,應用Spring Security權限控制技術,結合MySQL數據庫及Java開發語言,設計了具有高效、準確管理功能的學生緩考與課程重修Web管理系統,實現了學生緩考與課程重修申請、審核、下載以及審批統計與數據分析等功能。實踐測試結果表明,系統運行穩定,管理功能全面,操作簡單便捷,學生緩考與課程重修的申請與審核、審批統計與數據分析等信息準確,其功能達到了預期需求,為高校學生緩考與課程重修的信息化管理提供了借鑒。
關鍵詞:地方高校;學生緩考與課程重修管理系統;SSM框架;B/S架構
中圖分類號:TP391.1" " " " 文獻標志碼:A" " " " "文章編號:1009-5128(2025)02-0077-10
0" "引言
計算機技術的飛速發展使得信息化與數字化成為主導趨勢。傳統手工管理學生緩考與課程重修的方式已無法滿足新時代管理的需求[1–2],為了更好地管理學生緩考與課程重修,國內外許多高校都開發了與其相適應的審核管理系統[3],用于取代傳統的人工操作。但現有的高校學生緩考與課程重修管理系統仍存在審核實時性不足、安全性較低、用戶體驗度差、功能單一及數據統計方式與分析能力有限等缺點[4–5]。為了解決這些問題,需要設計和開發一套更加全面和完善的管理系統,以滿足高校教學管理工作的需求。本文基于瀏覽器/服務器架構(B/S架構),運用J2EE軟件開發技術[6],并整合MySQL后臺數據庫[7],同時與Spring Security安全控制權限和Redis緩存技術相結合[8],開發了適用于高校學生緩考與課程重修的管理系統[9]。該系統能夠實現學生緩考與課程重修的申報、查詢、統計、計算分析和報表生成等功能。[10]同時,通過整合優化課程緩考與重修的申請、查詢、審核管理流程以及實時報表分析,方便課程緩考與重修管理,增強高校教學管理部門的工作效能。[11–12]通過分析報表,可以快速了解和掌握各學院、各專業、各年級學生緩考與課程重修的對比分析概況等信息,為學校的教育教學工作提供數據參考,實現課程緩考與重修的信息化和數字化管理[13]。
1" "學生緩考與課程重修管理系統架構與開發平臺
1.1" "B/S架構
B/S架構(Browser/Server Architecture)是一種軟件應用架構,其中瀏覽器(或客戶端)作為前端,服務器作為后端。[14]在B/S架構中,當用戶使用瀏覽器發送請求時,服務器會接收并對請求進行處理。其中前端執行一部分事務邏輯,而主要的事務邏輯在服務器端實施,最后將處理結果返回給瀏覽器展示,從而形成“三層”架構,B/S系統架構如圖1所示。這種架構可以實現跨平臺和跨設備的應用程序訪問,并且可以通過在服務器端進行集中管理和維護,提高應用程序的安全性和穩定性。
1.2" "MVC模式
MVC模式將交互系統的組成分解為三個部件:模型(Model)、視圖(View)和控制器(Controller),[15]模式如圖2所示,其目的是將業務邏輯、數據和界面顯示的代碼獨立出來,提高代碼的復用性。因此,MVC模式具有明確的分層和清晰的結構特點,便于開發人員關注系統中特定模塊,有助于系統的并行開發,提高開發效率。同時,在系統的后期維護和擴展方面,MVC模式也提供了極大的便利。
1.3" "Spring Security安全框架
Spring Security是一種框架,能夠提供安全認證服務。[16]它基于Spring框架,核心模塊主要包括認證、授權、攻擊防護和權限管理等。Spring Security的認證流程是用戶提交登錄表單后,通過信息提供者進行驗證并生成有效的身份驗證令牌,然后將令牌存儲在安全上下文中,以便后續訪問授權。Spring Security安全框架功能強大、靈活可定制且易于使用,可幫助開發人員為應用程序系統提供較高級別的安全防護。
1.4" "系統開發平臺
學生緩考與課程重修管理系統的前端使用Vue框架進行用戶界面搭建,然后再使用HTML5整體布局,結合CSS3、JavaScript以及Ajax異步操作對頁面進行設計和美化。系統權限動態管理通過Spring Security安全框架對系統的權限進行動態管理,方便系統后續對不同角色用戶進行功能擴展。系統后期會有大量的數據統計和分析操作,需要高頻訪問數據庫,此時系統的頁面就會加載緩慢,最終會導致數據庫系統崩潰。為解決上述問題,本系統利用Redis數據庫進行數據緩存,有效提升系統網頁的加載速度。此外,為增強系統安全性,采用MD5加密技術對密碼進行校驗,并使用Token機制進行身份驗證。
2" "學生緩考與課程重修管理系統分析與設計
根據現有的高校學生緩考與課程重修管理的相關制度和操作流程,學生緩考與課程重修管理系統用戶角色分為管理員、教師和學生三大類,管理員又分為教務處管理員、學院負責人和專業負責人三大角色。管理員具有職工管理、權限管理、角色管理以及數據統計分析和報表打印等核心功能。教師具有學生緩考與課程重修審核、學生成績管理、審核數據分析報表打印等核心功能。學生具有申請管理、查看成績、課程重修和科目緩考申請等功能。具體的角色管理功能劃分和系統功能如圖3所示。
2.1" "管理員角色
管理員角色包括教務處負責人、各學院負責人和各專業負責人,主要負責對學生提交的科目緩考與課程重修申請進行審核,并對所有用戶進行賬號管理和權限分配。數據分析利用ECharts功能框架查看統計圖表,以掌握各二級學院課程重修和科目緩考的直觀數據。學生管理是對學生基本信息如姓名、學號等進行維護,包括添加、刪除、修改等操作。成績管理是對學生成績信息進行導入、導出和修改、查詢等操作。首次審核是對學生提交的科目緩考和課程重修申請進行初審,查看申請詳情后點擊同意或拒絕。角色管理是為不同職位分配對應的操作權限,用戶管理是對教學管理人員分配不同角色,菜單管理是對系統功能菜單進行隱藏、顯示控制。教務處管理員通過以上功能對學生緩考與課程重修申請進行第一道審核和篩選,并管理整個教學信息系統的運行。
2.2" "教師角色
教師角色功能模塊包括成績管理、數據分析、審批管理、學生管理。其中成績管理允許教師按模板批量錄入、導出、增加、刪除、修改、查詢學生成績等操作。數據分析功能可以查看審核任務數、重修人數、緩考人數以及本月申請總數等信息;系統的報表導出功能會根據數據庫數據進行分析統計,生成Word格式的分析報告供教師下載使用。審批管理功能可查看未審批的申請信息,并對申請進行查看詳情、同意、駁回等操作,還支持關鍵字搜索和分類搜索。學生管理功能主要用于教師對學生個人信息進行增、刪、改、查等操作。
2.3" "學生角色
學生角色的功能設計主要包括申請管理、查看成績、課程重修和科目緩考申請等模塊。通過申請管理功能,學生可在線提交課程重修和科目緩考申請,系統會自動處理申請并將結果通知學生。查看成績功能允許學生查詢個人所有課程的成績記錄。如果學生需要重修某門課程,可通過課程重修模塊填寫個人信息和重修課程信息,選擇重修原因后提交生成重修申請。對于需要緩考某個科目的學生,系統可提供科目緩考申請模塊,學生需要填寫基本信息、緩考科目、緩考原因并上傳相關證明材料,填寫完成后提交申請并等待審核結果。
2.4" "數據庫設計
根據科目緩考與重修管理系統的整體框架設計要求,學生緩考與課程重修管理系統選擇MySQL數據庫作為后臺數據庫。為了滿足系統的功能需求,設計科目緩考與課程重修申請表、成績表、角色權限表、學生用戶表、菜單表等9個數據庫表,以便實現申請查詢、統計審核和管理分析等功能。
系統數據庫的核心表為科目緩考與課程重修申請表,申請表主要用于存儲學生提交緩考和重修申請數據的詳細信息,其字段主要包含:審批編號id(apply_id)、申請人學號id(applicant_id)、申請人姓名(applicant_name)、申請類別(apply_item)、科目名稱(course_name)、學院(college)、審批人(apply_user)、審批狀態(apply_status)、駁回理由(result)、創建時間(create_time)、審批時間(apply_time)、更新時間(update_time)。申請表的具體結構如表1所示。
3" "學生緩考與課程重修管理系統功能實現
根據需求分析和功能設計,遵循高校學生科目緩考與課程重修管理制度,按照科目緩考和課程重修申請和審批流程開發系統。系統的整體架構采用B/S模式,系統的前端采用Vue框架和JavaScript對系統界面進行美化設計。系統的后端邏輯功能則在IDEA2020平臺上利用Spring Boot框架進行開發。該系統可實現學生角色的科目緩考與課程重修填報申請、成績查詢功能;教師角色的科目緩考與課程重修審批、數據檢索與圖表分析、學生成績管理功能;教務處管理員角色的科目緩考與課程重修申請模板設置、審批流程、權限管理以及角色管理和報表導出等管理功能模塊。系統后臺管理界面如圖4所示。
3.1" "學生緩考與課程重修申請功能實現
學生緩考與課程重修申請模塊為學生用戶提供科目緩考和課程重修兩種不同的申請方式,學生可根據自己的實際情況選擇對應的申請功能,填報相關信息并提交申請。學生課程重修申請填報界面和科目緩考申請填報界面分別如圖5和圖6所示,緩考與課程重修申請模塊的核心代碼如下:
算法1" "緩考與課程重修申請填報
輸入:學生緩考與課程重修申請信息
輸出:運行結果
Function save(Exam exam)
// 通過用戶名獲取學生信息
SysStudent sysStudent = sysStudentService.getUserByUserName(exam.getUsername());
// 設置考試的班級為學生的班級
exam.setStuClass(sysStudent.getStuClass())
// 保存考試信息到數據庫
examService.save(exam);
// 創建一個申請對象
Application apply = new Application();
// 設置申請的相關信息
apply.setApplicantId(exam.getUsername());
apply.setApplicantName(exam.getName());
if exam.id==0
apply.setApplyItem(\"緩考申請\");
end if
if exam.id==1
apply.setApplyItem(\"重修申請\");
end if
apply.setCourseName(exam.getCourseName());
apply.setCollege(exam.getCollege());
apply.setCreateTime(exam.getCreateTime());
// 保存申請信息到數據庫
applyService.save(apply);
// 返回表示成功的結果
return Result.ok();
end function
3.2" "科目緩考與課程重修審批功能實現
管理員和教師負責審批學生提交的科目緩考和課程重修申請,在審核過程中,根據學生的個人情況進行評估,并給出批準或駁回等相應的審核結果。如果申請審核通過,系統會在學生個人頁面顯示相應的審核狀態。此外,系統還能對全校學生提交的申請信息進行匯總統計和報表導出。
科目緩考與課程重修審批模塊的的主要代碼如下,其運行結果界面如圖7所示。
算法2" "緩考與課程重修審批
輸入:申請id
輸出:運行結果
Function Check(Longapply_id)
//獲取提交申請id的信息
Application apply = baseMapper.selectById(apply_id);
//申請未通過
if apply.Status==2
apply.setResult(\"提交審批有誤,請仔細檢查后提交\");
end if
//申請通過
if" apply.Status==1
apply.setResult(\"同意申請\");
end if
//更新修改信息
apply.setApplyTime(LocalDateTime.now());
apply.setUpdateTime(LocalDateTime.now());
return apply;
end function
3.3" "分析報告生成功能實現
分析報告生成模塊是通過POI-TL提供的簡單易用的API,按照創建模板文件、加載模板文件、創建數據對象、填充數據、生成輸出文件和輸出結果的實現流程,將從數據庫中查詢到全校學生緩考與課程重修信息使用JAVA代碼填充注入WORD模板相應的占位符,最后對數據進行封裝處理后,將生成新的WORD文件輸出。學生緩考與課程重修申請數據分析頁面的主要代碼如下,其運行結果界面如圖8所示。
算法3" "分析報告生成
輸入:響應
輸出:word文件
functionexportDataWordD4(response)
Listlt;Maplt;String, Objectgt;gt; typeList = new ArrayList();
//組裝表格列表數據
for ApplicationapplicationList:applicationsum do
Maplt;String, Objectgt; detailMap = new HashMap();
detailMap.put(\"index\", applicationList);
detailMap.put(\"apply\", applicationList.getCollege());
typeList.add(detailMap);
end for
//獲取模板路徑
ClassPathResource classPathResource = new ClassPathResource(\"static/moban.docx\");
String resource = classPathResource.getURL().getPath();
//渲染表格
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.newBuilder().bind(\"typeList\", policy).build();
Listlt;Stringgt; pictureTag = new ArrayListlt;gt;();
//填充數據和圖片
XWPFTemplate template = XWPFTemplate.compile(resource, config).render(new HashMaplt;String,
Objectgt;() {{put(“typeList”, typeList);put(“photo”,newPictureRenderData(500,300,“photoPath”));
pictureTag.add(“photo”);}});
//生成文件保存在本地D盤某目錄下
String temDir = \"D:/eduFile/report/\";
Long time = new Date().getTime();
// 生成的word格式
String formatSuffix = \".docx\";
// 拼接后的文件名
String fileName = time + formatSuffix;
//文件名+帶后綴
FileOutputStream fos = new FileOutputStream(temDir + fileName);
template.write(fos);
ServletOutputStream outputStream = response.getOutputStream();
template.write(outputStream);
end function
3.4" "角色權限管理模塊實現
角色權限管理主要涵蓋角色管理和用戶權限分配。采用Spring Security安全管理框架和MySQL數據庫中的角色表、學生用戶表、職工用戶表以及用戶角色權限表來實現權限管理功能。教務處管理員具備對角色、用戶和權限進行增加、刪除、修改和查詢的能力。當成功分配角色權限時,系統將顯示權限分配操作成功的提示信息;當未成功分配角色權限時,系統將提示權限分配操作失敗。角色權限管理模塊的主要代碼如下,其運行結果界面如圖9所示。
算法4" "角色權限管理
輸入:權限id
輸出:權限分配結果
function RoleInsetPower(id)
//創建wrapper用于構建查詢條件
LambdaQueryWrapperlt;SysRoleMenugt; wrapper = new
LambdaQueryWrapperlt;gt;();
wrapper.eq(SysRoleMenu::getRoleId,assginMenuVo.
getRoleId());
//刪除滿足條件的角色菜單
sysRoleMenuService.remove(wrapper);
//存儲菜單id的列表
Listlt;Longgt; menuIdList = assginMenuVo.getMenuIdList();
//進行遍歷,把每個id數據添加菜單角色表
for Long menuId:menuIdListdo
if menuId==NULL
continue;
end if
SysRoleMenu sysRoleMenu = new SysRoleMenu();
sysRoleMenu.setMenuId(menuId);
sysRoleMenu.setRoleId(assginMenuVo.getRoleId());
//保存角色菜單信息
sysRoleMenuService.save(sysRoleMenu);
end for
end function
4" "結語
系統基于B/S架構,使用Java語言和MySQL數據庫,前端和后端分別采用Vue框架和Spring Boot框架進行開發。利用Spring Security權限控制和Redis數據緩存等相關技術,設計并開發基于Web的學生緩考與課程重修管理系統,可實現學生緩考與課程重修申請、學生成績分析、科目緩考與課程重修的審批統計以及數據報表匯總分析等功能。系統測試運行穩定、功能齊全、安全可靠,申請審批操作便捷,計算分析準確,統計匯總直觀翔實,可提高學生科目緩考與課程重修管理的工作效率,為高校學生緩考與課程重修的信息化與數字化管理提供借鑒和指導。然而,對于大量學生用戶同時訪問系統的高并發等問題,尚需要進一步研究。
參考文獻:
[1]" 莫遜.高校學生重修現狀及對策[J].佳木斯職業學院學報,2019(4):50.
[2]" 張力.現代化手段對傳統管理方式的沖擊[J].蘭臺世界,1998(2):27.
[3]" 韓柯,車紅梅,梁晶晶.基于B/S的考試成績管理系統設計與實現及數據分析[J].河北工業科技,2012(6):366-369.
[4]" 劉玉,王冬,王振宇,等.結合正方教學管理系統應用方法淺談重修工作的流程[J].電腦知識與技術,2021(15):120-121.
[5]" 楊波.高校重修課程管理存在問題與建議[J].中國科教創新導刊,2012(34):220.
[6]" 徐景秀. J2EE軟件開發框架技術探討[J].黑龍江科技信息,2011(35):119.
[7]" 薛航,林關成,李濠江,等.基于B/S的高校教師工作量管理系統[J].信息技術,2023(5):25-31.
[8]" 韓坤,林關成,安嘉豪,等.基于B/S的高校學生學業預警系統設計與實現[J].信息技術,2021(8):53-58.
[9]" 何國亮.高職院校重修信息化管理探析:以廣西建設職業技術學院為例[J].科技信息,2012(32):242.
[10]" 馬珊丹,周春兒.學分制下成人高教課程重修信息管理子系統的設計[J].湖北大學成人教育學院學報,2010(6):32-34.
[11]" 孫希瑾,王瑋.高校課程重修計算機管理系統的研制與應用[J].建材高教理論與實踐,2000(5):86-87.
[12]" 胡安軍,辛悅照.高校課程重修教學管理存在的問題及其對策研究[J].青島遠洋船員職業學院學報,2023(1):69-71.
[13]" 沈鐿武,徐弼昉,仇琦.高校教務管理系統信息化研究[J].科技風,2023(25):90-92.
[14]" 莊嚴.基于B/S結構的軟件開發技術分析[J].電子制作,2016(24):44.
[15]" 黃偉.基于MVC架構的Web應用系統設計[J].微型機與應用,2004(11):13-15.
[16]" 周文紅,晏素芬,蔣玉芳,等.Spring Security安全框架應用[J].計算機與現代化,2013(11):88-90.
【責任編輯" " 牛懷崗】
On the Design and Implementation of a Management System for Deferred Exams and Course Retakes for University Students Based on B/S
LIN Guancheng, ZENG Chenxi, SONG Qi, KONG Lingyang
(School of Computer Science and Technology, Weinan Normal University, Weinan 714099,China)
Abstract:In response to the problems of low efficiency in the statistical review and high data error rate in traditional university students’ deferred exams and course retake, this study analyzes the architecture of the student deferred exams and course retake management system. This study, combined with MySQL database and Java development language, through use of the B/S system and SSM framework, together with Spring Security permission control technology, designs a student deferred examination and course retaking web management system with efficient and accurate management functions, realizing the function of application for deferred exams and course retakes such as review, download, and approval statistics and data analysis. The test results shows that the system is stable in operation, with comprehensive management functions, simple and convenient operation, that the application and review, approval statistics, and data analysis information for deferred exams and course retakes are accurate, and that its functions have met the expected requirements, and it can provide reference for the information-based management of deferred exams and course retakes for university students.
Key words:local universities; management system for deferred exams and course retakes; SSM framework; B/S architecture
基金項目:陜西省教育科學“十四五”規劃課題:基于OBE理念的SPOC混合式教學改革與實踐(SGH23Y2625);陜西省教育科學“十四五”規劃課題:數智時代地方高校教師教育服務基礎教育的現狀調查與對策研究(SGH24Y2346);陜西省哲學社會科學研究專項課題:數智時代教師教學能力提升策略研究(2025YB0155)
作者簡介:林關成,男,陜西勉縣人,渭南師范學院計算機學院教授,理學博士,主要從事信號與信息處理研究。