基于B/S架构的高校毕业设计管理系统设计与实现

作者: 徐栋

基于B/S架构的高校毕业设计管理系统设计与实现0

摘要:传统的高校毕业设计管理模式难以满足当前需求,需要一种更有效的管理系统来优化设计流程、加强全程管理,从而提升毕业设计质量。该系统设计并实现了一个基于B/S架构的毕业设计管理平台,该平台包含用户管理、学生—教师双向选择、课题管理、文档管理等模块,实现了对毕业设计全流程的管理。。系统的实现有助于加强毕业设计流程管理,推动高校毕业设计管理的信息化和数字化建设,减轻管理人员的工作负担,提高学生和教师完成毕业设计阶段相关工作的效率。

关键词:毕业设计;管理平台;数字化;B/S架构

中图分类号:TP315 文献标识码:A

文章编号:1009-3044(2025)09-0079-03 开放科学(资源服务) 标识码(OSID) :

0 引言

毕业设计是大学学习生涯中重要的教学环节,它能够检验学生的知识水平、提高学生的能力。对毕业设计的管理是一项重要的任务。然而,传统的高校毕业设计管理模式已难以满足当前需求。为了合理安排毕业设计流程、加强全程管理并提升毕业设计质量,对毕业设计流程进行数字化改造势在必行。本文从需求出发,设计了平台的软件架构、功能模块和数据库表结构,并阐述了关键技术的实现方法,最后使用容器技术进行了部署。测试验证结果表明,该毕设平台功能完整、吞吐量高、响应迅速、部署简单,达到了预期设计目的。

1 B/S 架构分析

在B/S架构中,用户通过浏览器访问应用程序,应用程序的后端逻辑和数据存储由服务器端处理和管理。相比传统的C/S(客户端/服务器) 架构,B/S架构具有一些显著优势[1-5]。

1) 跨平台。在B/S架构中,用户基于浏览器使用应用,因此可以在几乎所有的操作系统上运行,而无需针对不同平台进行定制开发。而在C/S架构中,需要对不同平台进行定制开发,成本巨大,开发周期长。

2) 易维护。在B/S架构中,应用程序的逻辑处理和数据存储集中在服务器端,因此可以更容易地进行维护和更新。而在C/S架构中,需要用户对应用进行升级,随着版本的增多,对不同版本的维护将是一个巨大的挑战。

3) 安全性高。在B/S架构中,数据通过服务器端集中管理,用户无法直接操作数据,降低了数据泄露的风险。而在C/S架构中,总有部分数据需要存储在用户侧,数据泄露风险较大。

2 需求分析

2.1 功能需求

本系统涉及的主要用户类型包括学生、教师和管理员。每个用户角色都具有相应的系统功能和权限。本系统实现的主要功能包括用户管理、毕业课题的增删改查、学生选题、文档资料上传下载、答辩分组、成绩评定等。系统功能和用户权限分配如下,分别针对学生、教师和管理员三个角色。

1) 课题功能。所有教师发布毕业课题后,学生可以通过系统查看所有已发布的课题,包括课题所需能力、指导教师等信息,并选择感兴趣的课题。学生选择完毕业课题后,指导教师可以通过系统选择学生。如果多个学生选择了同一个课题,指导教师可以通过沟通选择其中一位学生。该功能实现了学生和课题的双向选择,体现了课题选题的公平性与公正性。学生可以选择任意一个教师所出的课题,而教师也可以选择自己中意的学生。功能的实现体现了选题的灵活性。

2) 分组功能。在开题报告和论文答辩环节,需要对全体学生和教师进行分组管理。管理员根据一定的要求,通过系统进行分组,选择每组的学生和教师,并指定每个小组的教师组长。

管理员完成分组后,学生和教师可以通过系统查看自己的小组信息。学生查看自己的答辩小组和答辩老师,教师查看自己的答辩小组和答辩学生。

学生和教师完成开题答辩后,教师对所在小组的学生进行评议。答辩小组里的老师成员通过讨论,最终决定学生的开题评议的成绩,通过系统对学生的开题答辩表现进行打分和写评语。教师成员完成开题评议并保存后,由教师组长进行最终提交,完成提交后,自动生成学生的开题答辩评议表。

3) 文档管理功能。在需要提交相关文件的各个阶段,学生可以提交开题报告、文献综述、外文翻译、论文等文件,并下载已提交的文件。教师提交指导学生工作的指导记录表和中期教学检查表,方便学院掌握学生毕业设计进度,抽查学生中期材料,了解学生毕业设计质量,并在发现问题后及时进行修改提交。学生和教师提交的文件通过系统上传至统一文件夹,由管理员统一管理。系统自动为每个学生生成一个文件夹,提高管理效率。

4) 成绩评定功能。学生完成毕业设计相关工作后,由管理员进行答辩分组。教师对学生在答辩和毕业设计完成程度等方面的表现进行综合评定。指导教师首先对学生在整个毕业设计环节的表现进行评分和撰写评语。其次,答辩分组的教师成员评阅指导教师的评语,并对学生提交的资料文件进行查阅,进行评分和撰写评语。再次,答辩小组组长对学生在答辩过程中的回答问题和毕业设计成果展现进行评分和撰写评语。最后,答辩委员会进行总结并撰写评语。学生的毕业设计成绩由指导教师、评阅教师和答辩小组成绩组成。所有评议和打分完成后,系统自动生成毕业设计成绩评定表。

2.2 非功能需求

除了功能性需求外,系统还需满足以下非功能性需求:较高的性能和较快响应速度,以支持多用户同时在线操作;一些必要的安全措施,以保护用户数据不受未授权访问和数据泄露;高可用性和可维护性,以确保系统长时间稳定运行,并便于未来的升级和维护。

3 系统设计

3.1 架构设计

系统采用B/S架构、前后端分离的设计模式。前后端通过HTTP API 进行数据交互,数据格式为JSON。前端基于Vue技术,使用Ant Design组件库实现。后端采用NestJS框架进行开发。NestJS是一款用于构建高效、可靠、可扩展的服务器端应用程序的框架,完全支持TypeScript。前后端统一使用TypeScript 语言开发,这是一种强类型语言,既支持快速开发,又能方便地进行单元测试。

数据库使用了广泛受欢迎的开源数据库MySQL。MySQL以其高性能、高可靠性和易用性而闻名,适用于各种规模的应用,尤其适合Web应用。在毕业设计管理平台中,MySQL 用于存储和管理用户(学生、老师、管理员) 信息、毕业课题、分组、文档等数据。数据库设计采用了E-R模型来表示实体之间的关系,以确保数据的一致性、完整性和高效访问。

3.2 数据库设计

本系统涉及的主要实体包括用户、毕业课题、开题小组、毕业答辩小组、评分和附件。通过对系统数据的分析,得到数据库的主要表结构和关系,如图1 所示。

4 系统实现与测试

4.1 关键功能实现

1) 用户管理。用户管理模块采用了开源单点登录系统Casdoor,通过OAuth协议接入,实现了一种安全且高效的用户身份验证和授权机制。这种配置允许用户使用一个中心化的登录凭证访问多个相关系统,让用户无须为单个系统重复注册,提高了用户体验。具体流程图如图2所示。

2) 文档管理。师生可以通过后台同时对文档进行上传、修改、删除和查看操作。这种协作方式让指导老师可以实时了解所指导学生的课题进度并提供必要的指导,从而更好地推进毕业设计的进展。

在技术实现上,本系统的文档存储后端使用了兼容AWS S3接口的对象存储系统MINIO,通过这种技术,简化存储功能的实现同时并没有降低存储的可靠性,并且该技术本身就实现版本管理功能,极大地提高了数据安全性。

3) 成绩评定。本系统中,成绩评定功能是一个关键部分。评分系统允许答辩组对学生的毕业项目进行评价和打分。毕设系统提供一个界面,答辩组成员可以在其中查看学生提交相关文档后,可以根据预定义的评分标准,如创新性、实用性、研究深度等方面,对项目进行综合评分,并需要添加具体的评语。

此外,评分系统还具备自动化汇总功能,能够根据预先设置好的总评计算方法,得出每个毕设的最终得分。通过这种方式,评分系统增强了评审过程的透明度,提高了评审的效率,最终通过模板输出了符合要求的成绩评阅表。

4.2 平台测试验证

本系统功能复杂,采用敏捷开发方式开发,为了尽可能提高开发质量,设计了丰富的测试用例,采用单元测试、集成测试等测试方法对平台进行了全面的检测。在进行单元测试时,主要采用白盒测试的方式;而在进行集成测试时,主要采用黑盒测试。

在测试过程中,对于一些程序功能,如用户登录、课题编辑,双向选择、篇论文评审等,主要着眼于功能测试;对于一些重视性能的业务场景,做了压力测试,重点关注响应时间、吞吐量等指标;对于用户可能采用不同浏览器访问平台的情况,可能会产生兼容性问题,平台也做了兼容性测试,保证无论使用任何设备,任意主流浏览器,都可以正常使用平台;对于一些常见的网络攻击,例如XSS、SQL注入等攻击手段,平台做了配套安全性测试。

通过测试,各指标如表1所示。结果显示,各类测试验证结果良好。从功能上来说,平台各项功能按照设计要求正常运行,为用户提供了一个功能完善的工作环境;从性能上来说,平台在处理大量用户和数据时仍能保持稳定性和高效性,为用户提供了流畅的体验;从兼容性上来说,平台在不同环境下都能正常运行,提升了用户体验和满意度;从安全性上来说,该系统可以抵御常见的Web渗透攻击。

5 结束语

本文提出的基于B/S架构的高校毕业设计管理系统,对平台的设计与实现进行了详细阐述。该平台设计了选题、答辩、评分和资料等关键模块,以期提供一个全面、高效和用户友好的毕设平台。可以看出,此系统优化了毕业设计的管理过程,提升毕设的流程管理,有利于增强毕业设计质量。在接下来的研究过程中,本平台将继续完善增加资料导出等功能,根据用户体验继续迭代优化。

经典小说推荐

杂志订阅