摘要
1 绪论
1.1 选题背景与意义
1.2国内外研究现状
1.3论文结构与章节安排
2 高校学生技能成长档案管理系统系统分析
2.1 可行性分析
2.1.1 技术可行性分析
2.1.2 经济可行性分析
2.1.3 操作可行性分析
2.2 系统流程分析
2.2.1数据增加流程
2.2.2 数据修改流程
2.2.3 数据删除流程
2.3 系统功能分析
2.3.1 功能性分析
2.3.2 非功能性分析
2.4 系统用例分析
2.5本章小结
3 高校学生技能成长档案管理系统系统总体设计
3.1 系统功能模块设计
3.2 数据库设计
3.2.1 数据库概念结构设计
3.2.2 数据库逻辑结构设计
3.3本章小结
4 高校学生技能成长档案管理系统系统详细设计与实现
4.1 用户注册模块的实现
4.2 用户登录模块的实现
4.3用户管理模块的实现
4.4 技能目录模块的实现
4.5学生档案模块的实现
4.6认证申请模块的实现
5系统测试
5.1 系统测试目的
5.2 系统测试用例
5.3 系统测试结果
结论
参考文献
致 谢
随着社会对高校毕业生综合素质的要求不断提高,高校学生技能成长档案管理系统的设计与开发成为迫切需要解决的问题。本论文针对这一问题展开研究,旨在设计并开发一套符合高校学生技能成长需求的档案管理系统。
首先,本文对高校学生技能成长档案管理系统的需求进行了深入分析和调研,明确了系统的功能模块和技术要求。其次,基于需求分析结果,设计了系统的整体架构和各个模块的功能实现方案。在系统设计阶段,充分考虑了用户体验和操作便捷性,确保系统能够满足用户的实际需求。
在系统开发过程中,采用了前沿的Web开发技术,Spring Boot框架结合MySQL数据库技术,实现了系统的各项功能。同时,为保障系统的安全性和稳定性,采用了多层次的安全机制和数据加密技术,有效防止了信息泄露和非法访问。最后,通过对系统进行测试和优化,验证了系统的稳定性和性能优势。实际应用表明,该系统能够有效地管理高校学生的技能成长档案,为学生提供了更加便捷和全面的成长记录和管理服务。本论文为高校教育管理工作提供了有效的技术支持和保障。
关键词:Java;Spring Boot;高校学生技能成长档案管理系统;MySQL数据库
Abstract
With the increasing demand of society for the comprehensive quality of college graduates, the design and development of a skills growth record management system for college students has become an urgent problem that needs to be solved. This paper conducts research on this issue, aiming to design and develop a file management system that meets the skill growth needs of college students.
Firstly, this article conducts in-depth analysis and research on the requirements of the skill growth record management system for college students, clarifying the functional modules and technical requirements of the system. Secondly, based on the results of the requirements analysis, the overall architecture of the system and the functional implementation schemes of each module were designed. In the system design phase, full consideration was given to user experience and operational convenience to ensure that the system can meet the actual needs of users.
During the system development process, cutting-edge web development technologies were adopted, and the Spring Boot framework combined with MySQL database technology achieved various functions of the system. At the same time, to ensure the security and stability of the system, multi-level security mechanisms and data encryption technology have been adopted, effectively preventing information leakage and illegal access. Finally, the stability and performance advantages of the system were verified through testing and optimization. Practical applications have shown that the system can effectively manage the skill growth records of college students, providing them with more convenient and comprehensive growth recording and management services. This paper provides effective technical support and guarantee for the management of higher education.
Keywords:Java; Spring Boot; College Student Skills Growth Archive Management System; MySQL database
1 绪论
随着社会经济的发展和科技的进步,高校中越来越重视学生的综合素质和实践能力的培养,而学生的技能成长是其中非常重要的一部分。传统的学生成长评价主要依赖于课程成绩和学术表现,但难以全面、客观地展示学生在各个方面的技能成长情况。因此,需要建立一个综合性的学生技能成长档案管理系统来记录、分析和评估学生的技能发展情况。
信息技术的不断发展,大数据、人工智能等技术已经广泛应用于教育领域,为学生技能成长档案管理系统的建设提供了技术支持。通过对学生的综合素质、技能成长情况进行量化分析,可以更好地了解学生的潜力和优势,为个性化教育提供依据。
建立高校学生技能成长档案管理系统对于促进学生的全面发展具有重要意义。首先,可以帮助学校更好地了解学生的技能发展情况,为学生提供更精准的指导和辅导。其次,可以为学生的职业规划和就业提供重要依据,帮助他们更好地适应社会需要。同时,学生技能成长档案管理系统的建立也可以促进高校内部各部门的信息共享和协作,提高教学管理效率。
总之,高校学生技能成长档案管理系统的建立将有助于提高高校教育质量,促进学生的全面发展,提升学校的教育教学水平和核心竞争力。
随着社会的快速发展和高等教育的普及,高校学生的综合素质和技能成长日益受到重视。传统的学生档案管理方式已经无法满足对学生全面发展的需求,因此,建立一套完善的高校学生技能成长档案管理系统成为迫切需要。该系统不仅可以有效记录学生的学习成绩和学术表现,更应该全面记录学生的实践技能、社会活动、科研成果等方面的信息,为学生的综合素质评价提供有力支持。
在国内,高校学生档案管理系统的研究已经取得了一定的进展。一些高校尝试自主开发管理系统,但多数系统仍然停留在传统的学籍管理和成绩查询功能上,对学生的综合素质评价支持较弱。一些研究者开始关注学生技能成长档案管理系统的建设,但在实践中仍然存在诸多挑战,如如何全面而有效地记录学生的技能成长、如何实现跨学科、跨专业的信息共享等问题。
在国外,一些发达国家的高校已经建立了较为完善的学生档案管理系统,并逐渐将其扩展为学生综合素质评价的工具。这些系统不仅能够记录学生的学习成绩,还可以记录学生的实践经历、社会服务、科研成果等信息,并通过数据分析和可视化技术为学生的综合素质评价提供支持。然而,这些系统在国内的复制和应用仍然面临诸多困难,如数据安全、信息共享等问题。
综上所述,高校学生技能成长档案管理系统的建设已成为国内外高校教育管理的重要课题,尚需进一步加强研究和实践,以推动我国高校教育管理模式的创新和发展。
本文共分为六章,内容如下:
第一章:引言部分将介绍高校学生技能成长档案管理系统系统的研究背景与意义、国内外现状,以及研究的内容与主要工作。
第二章:系统需求分析,将分析高校学生技能成长档案管理系统系统的用户需求和功能需求。
第三章:系统设计,设计高校学生技能成长档案管理系统系统的框架、功能模块、数据库等。
第四章:系统实现,实现高校学生技能成长档案管理系统系统的框架搭建以及界面设计。
第五章:系统测试,对高校学生技能成长档案管理系统系统进行界面测试、主要功能测试。
2 高校学生技能成长档案管理系统系统分析
可行性分析的目的是确定一个系统是否有必要开发、确定系统是否能以最小的代价实现。其工作主要有三个方面,分别是技术、经济和操作三方面的可行性。我会从这三个方面对高校学生技能成长档案管理系统系统进行详细的分析。
高校学生技能成长档案管理系统系统是一个基于Web的高校学生技能成长档案管理系统,我们在实现这个系统所采用的技术方案是基于Java语言,Spring Boot框架,MySQL数据库,在大学的学习中这几门课程都已经学过,而且自己也用这些技术开发过小的项目,在平时的课程设计以及作业也经常用到Java和MySQL,在技术上实现自己的自主开发是可行的。
本系统设计所选择的开发工具和服务器都是免费的开源软件,又或者是适合学生使用的免费版本,并不需要支付费用,而且由作者本人单独完成,也不存在团队费用,几乎没有经济成本,具备经济可行性。
业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
2.2.1数据增加流程
用户成功登入系统后就能够实现增加数据的操作,增加数据的编号是特定的,系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证合法通过就显示增加数据成功了,相反的话,就没有增加成功,图2-1显示的就是在增加数据时的流程。
图2-1 数据增加流程图
2.2.2 数据修改流程
数据修改时的流程和上面介绍的数据增加时的流程差不多,如图2-2所示。
图2-2 数据修改流程图
2.2.3 数据删除流程
如果系统里面存在一些没有用的数据的话,相关的管理人员还可以对这些数据进行删除,图2-3就是数据删除时的流程图。
图2-3 数据删除流程图
高校学生技能成长档案管理系统系统可以划分为学生用户、教师用户和管理员模块三大部分。
在学生用户模块中,用户登陆系统后可以管理个人资料和修改登录密码信息。可以通过技能名称、主办单位查询技能目录信息,可以了解到技能名称、主办单位、技能详情等信息。用户还可以查看自己的学生档案信息,并且申请认证,提交认证信息,等待教师审核。具体的功能模块包括个人信息、修改密码、技能目录、学生档案、认证申请。
在教师用户模块中,教师用户登陆系统后也可以管理个人资料和修改登录密码信息。可以查看技能目录信息,可以查看和修改学生档案信息,同时可以查看学生用户提交的技能认证信息并进行审核。具体的功能模块包括个人信息、修改密码、技能目录、学生档案、认证申请。
管理员模块提供了登录功能,并可对系统用户进行管理,包括管理员、教师和学生用户。管理员可以管理技能目录信息,支持查询、重置、添加和删除技能目录信息数据。管理员还可以管理学生档案信息,同样支持查询和添加数据。对于学生提交的认证申请信息,管理员也有权进行审核。具体功能模块包括个人信息、修改密码、用户管理、技能目录、学生档案、认证申请。
以上论文主题的描述中没有提及具体的技术实现细节,因此在进一步研究中,可以探讨关于信息管理系统、用户交互设计、系统安全性等方面的内容。同时,在实际开发中,需要考虑系统的可扩展性、性能优化和用户隐私保护等问题。
高校学生技能成长档案管理系统的设计与实现需要具备可靠性、可用性、性能、扩展性、安全性、隐私保护、灵活性、适应性、可维护性、可扩展性、兼容性和互操作性等非功能性特征。系统应在长时间运行中保持稳定,用户界面简洁直观;具备高效的数据处理和响应速度;采取安全措施保护用户信息;根据用户反馈调整信息管理;方便用户进行认证申请、搜索和排序;易于维护和管理,支持与其他系统互操作。设计和开发过程中需注重这些要求,以提供高质量、用户友好和可信赖的系统体验。
高校学生技能成长档案管理系统系统的完整UML用例图分别是图2-1、2-2和2-3。
图2-1就是学生用户角色的用例展示。
图2-1 系统学生用户角色用例图
图2-2就是教师用户角色的用例展示。
图2-2 系统教师用户角色用例图
图2-3就是管理员角色的用例展示。
图2-3 系统管理员角色用例图
本章主要通过对高校学生技能成长档案管理系统系统的可行性分析、系统流程分析、功能需求分析和系统用例分析,确定了该系统所需实现的功能。这些分析结果为高校学生技能成长档案管理系统系统的代码实现和测试提供了标准和指导。可行性分析考虑了技术、经济和操作的可行性,确保系统的实施可行;功能需求分析明确了系统需要实现的功能模块和具体要求;系统用例分析细化了系统功能,并定义了参与者、前置条件和基本流程;系统流程分析详细揭示了系统的运行流程和数据流动路径。这些分析结果为开发团队提供了明确的目标和指导,可以根据需求逐步实现各个功能模块,并在测试阶段验证系统是否满足预期要求。同时,分析结果也为未来的系统扩展和升级提供了基础和参考依据。
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本高校学生技能成长档案管理系统系统中的用例。那么接下来就要开始对高校学生技能成长档案管理系统系统的架构、主要功能和数据库开始进行设计。高校学生技能成长档案管理系统系统根据前面章节的需求分析得出,其总体设计模块图如图3-1所示。
图3-1 系统功能模块图
数据库设计一般包括需求分析、概念模型设计和逻辑结构设计三个主要过程。在需求分析阶段,明确系统对数据库的具体需求。概念模型设计将需求转化为概念模型,抽象出现实世界中的概念和关系。逻辑结构设计则是在概念模型的基础上,将概念模型转化为数据库中的具体表和关系的设计。这包括确定表的名称、字段、约束等,并定义主外键关系、索引、触发器等。通过需求分析、概念模型设计和逻辑结构设计,可以建立一个合理的数据库设计,为系统提供稳定、高效和可靠的数据管理和访问功能。这些过程相互衔接,确保数据库能够满足系统需求并有效地存储和操作数据。
下面是整个高校学生技能成长档案管理系统系统中主要的数据库表总E-R实体关系图。
图3-2 系统总E-R关系图
通过上一小节中高校学生技能成长档案管理系统系统中总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 | 更新时间: |
表certification_application (认证申请)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | certification_application_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 | skill_name | varchar | 64 | 0 | Y | N | 技能名称 | |
5 | implementation_unit | varchar | 64 | 0 | Y | N | 主办单位 | |
6 | class_teacher | int | 10 | 0 | Y | N | 0 | 班主任 |
7 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
8 | voucher_upload | varchar | 255 | 0 | Y | N | 凭证上传 | |
9 | application_remarks | longtext | 2147483647 | 0 | Y | N | 申请备注 | |
10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
11 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | 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 | skill_catalog_id | int | 10 | 0 | N | Y | 技能目录ID | |
2 | skill_name | varchar | 64 | 0 | Y | N | 技能名称 | |
3 | implementation_unit | varchar | 64 | 0 | Y | N | 主办单位 | |
4 | skill_details | longtext | 2147483647 | 0 | Y | N | 技能详情 | |
5 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_files_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 | student_id | varchar | 64 | 0 | N | N | 学生学号 | |
5 | student_college | varchar | 64 | 0 | Y | N | 学生学院 | |
6 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
7 | student_class | varchar | 64 | 0 | Y | N | 学生班级 | |
8 | class_teacher | int | 10 | 0 | Y | N | 0 | 班主任 |
9 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
10 | student_skills | longtext | 2147483647 | 0 | Y | N | 学生技能 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
3 | mobile_phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
4 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
5 | student_college | varchar | 64 | 0 | Y | N | 学生学院 | |
6 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
7 | student_class | varchar | 64 | 0 | Y | N | 学生班级 | |
8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | 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_id | varchar | 64 | 0 | Y | N | 教师工号 | |
4 | mobile_phone_number | varchar | 16 | 0 | Y | N | 手机号码 | |
5 | office_location | varchar | 64 | 0 | Y | N | 办公地点 | |
6 | teachers_college | varchar | 64 | 0 | Y | N | 教师学院 | |
7 | department_of_teacher_education | varchar | 64 | 0 | Y | N | 教师学系 | |
8 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | 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 | 更新时间: |
整个高校学生技能成长档案管理系统系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 高校学生技能成长档案管理系统系统详细设计与实现
高校学生技能成长档案管理系统系统的详细设计与实现主要基于前面的需求分析和总体设计。它包括页面设计和业务逻辑的具体实现。在界面实现方面,根据系统功能和用户需求,设计各个页面的布局和界面,包括用户界面和管理员界面,并采用响应式设计确保在不同设备上的正常显示。在业务逻辑实现方面,根据用户和管理员模块的需求,实现注册、登录、用户管理、技能目录、学生档案、认证申请等功能,并设计数据库表结构和操作代码。通过适当的测试和调试,确保系统稳定、安全、高效地运行,满足用户及管理员的需求。通过详细设计和实现,高校学生技能成长档案管理系统系统能够提供良好的用户体验和有效的高校学生技能成长档案管理系统管理功能。
注册模块满足学生用户的注册,教师用户由管理员直接添加。用户想要进行登录系统,就必须进行登录,如果没有系统的账号,可以通过注册,然后再登录,注册流程图如下图4-1所示。
图4-1注册流程图
注册界面如下图4-2所示。
图4-2注册界面图
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。退出功能是清除全局变量username的值,并跳回到首页。
登录流程图如下图所示。
图4-3登录流程图
登录界面如下图所示。
图4-4用户登录界面图
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
用户管理:管理员负责管理系统的用户,包括管理员、教师用户和学生用户的登录、权限分配等操作。他们可以添加、编辑、删除或审核用户账户,并设定相应的权限。用户管理界面如下图所示。
图4-5用户管理界面图
添加用户关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
此页面的关键是编写技能目录,包括技能名称、主办单位、技能详情等。管理员可以单击提交按钮以完成信息的添加。如果未写入完整的技能目录,例如,如果未写入技能名称,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。
点击左侧菜单“技能目录”,页面跳转到技能目录管理外观,调用后台查询所有技能目录。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的Java页面,显示出技能目录,单击删除按钮完成技能目录的删除。
技能目录管理流程图如下图所示。
图4-6技能目录管理流程图
管理员添加技能目录界面如下图所示。
图4-7管理员添加技能目录界面
添加技能目录信息关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
学生用户和教师用户执行对技能目录的查看,可通过技能名称、主办单位进行查询。以学生用户为例,技能目录界面如下图所示。
图4-8 技能目录界面图
查询技能目录的逻辑代码如下所示。
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
学生档案模块:管理员执行学生档案信息添加,输入包括学生姓名、学生学号、学生学院、学生专业、学生班级、班主任、教师姓名、学生技能等信息,点击提交完成。学生用户在学生档案页面可以查看详情,进行认证申请等。管理员添加学生档案界面如下图所示。
图4-9 管理员添加学生档案界面图
学生用户学生档案查询界面如下图所示。
图4-10 学生用户学生档案查询界面图
查询学生档案的逻辑代码如下所示。
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
认证申请模块:学生用户在学生档案页面可以提交认证申请信息,教师查看自己学生的认证申请信息并进行审核。学生添加认证申请界面如下图所示。
图4-11学生添加认证申请界面图
添加认证申请的逻辑代码如下所示。
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
教师审核认证申请状态界面如下图所示。
图4-12 教师审核认证申请状态界面图
审核认证申请关键代码如下:
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
5系统测试
系统测试的目的是确保高校学生技能成长档案管理系统系统在功能、完整性、用户体验、性能、安全性和可靠性等方面都符合预期。测试团队通过验证系统的各项功能是否按照需求规格进行正确实现,检查系统的完整性,评估用户体验,测试系统在不同负载条件下的性能表现,验证系统的安全性和可靠性。通过系统测试,可以及时发现和修复系统中的缺陷和问题,提高系统的质量和稳定性,确保系统能够满足用户的需求,并为系统上线和使用提供充分的保障。
系统测试包括:用户登录功能测试、学生档案查看功能测试、技能目录添加、认证申请搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
用户登录功能测试:
表5-1 用户登录功能测试表
测试用例编号 | 测试描述 | 预期结果 | 实际结果 | 是否通过 |
TC001 | 使用正确的用户名和密码进行登录 | 成功登录系统,跳转到用户首页 | 登录成功,跳转到用户首页 | 通过 |
TC002 | 使用不存在的用户名进行登录 | 显示错误提示信息:用户名不存在 | 显示错误提示信息:用户名不存在 | 通过 |
TC003 | 使用正确的用户名和错误的密码进行登录 | 显示错误提示信息:密码错误 | 显示错误提示信息:密码错误 | 通过 |
TC004 | 不输入用户名和密码直接点击登录按钮 | 显示错误提示信息:用户名和密码不能为空 | 显示错误提示信息:用户名和密码不能为空 | 通过 |
学生档案查看功能测试:
表5-2 学生档案查看功能测试表
测试用例编号 | 测试描述 | 预期结果 | 实际结果 | 是否通过 |
TC001 | 打开学生档案列表页面,检查是否能够正确展示学生档案 | 学生档案列表显示正确 | 学生档案列表显示正确 | 通过 |
TC002 | 点击学生档案详情查看按钮,检查是否能正常打开页面 | 学生档案详情页面显示正确 | 学生档案详情页面显示正确 | 通过 |
TC003 | 检查学生档案搜索功能 | 根据关键字搜索到相关学生档案并正确展示 | 根据关键字搜索到相关学生档案并正确展示 | 通过 |
管理员添加技能目录界面测试:
表5-3 管理员添加技能目录界面测试表
测试用例编号 | 测试描述 | 预期结果 | 实际结果 | 是否通过 |
TC001 | 使用合法的信息添加一个新技能目录 | 技能目录成功添加到系统 | 技能目录成功添加到系统 | 通过 |
TC002 | 使用已存在的技能目录名称添加一个新技能目录 | 显示错误提示信息:技能目录名称已存在 | 显示错误提示信息:技能目录名称已存在 | 通过 |
TC003 | 添加技能目录时不输入必填信息 | 显示错误提示信息:必填字段不能为空 | 显示错误提示信息:必填字段不能为空 | 通过 |
表5-4认证申请搜索功能测试表
测试用例编号 | 测试描述 | 预期结果 | 实际结果 | 是否通过 |
TC001 | 使用认证申请关键字进行搜索 | 搜索结果包含符合关键字的认证申请 | 搜索结果包含符合关键字的认证申请 | 通过 |
TC002 | 使用不存在的关键字进行搜索 | 搜索结果为空 | 搜索结果为空 | 通过 |
表5-5 密码修改功能测试表
测试用例编号 | 测试描述 | 预期结果 | 实际结果 | 是否通过 |
TC001 | 输入正确的原密码和新密码进行修改 | 密码成功修改 | 密码成功修改 | 通过 |
TC002 | 输入错误的原密码和新密码进行修改 | 显示错误提示信息:原密码错误 | 显示错误提示信息:原密码错误 | 通过 |
TC003 | 不输入原密码和新密码直接点击修改按钮 | 显示错误提示信息:密码不能为空 | 显示错误提示信息:密码不能为空 | 通过 |
通过编写高校学生技能成长档案管理系统系统的测试用例,已经检测完毕用户登录功能测试、学生档案查看功能测试、技能目录添加、认证申请搜索、密码修改功能测试,通过这5大模块为高校学生技能成长档案管理系统系统的后期推广运营提供了强力的技术支撑。
经过对高校学生技能成长档案管理系统系统的设计与开发,我们成功地基于Spring Boot构建了一个便捷、高效的高校学生技能成长档案管理系统。该系统为管理员提供了一个简单易用的管理界面,可以方便地管理技能目录和学生档案信息,实现物流配送的高效管理。
在系统的开发过程中,我们充分利用了Spring Boot框架的优势,如自动配置、快速开发等特点,加快了项目的迭代和部署速度。同时,借助Spring Boot提供的丰富的生态系统,我们引入了一些常用的第三方库和组件,增强了系统的功能和性能。
然而,高校学生技能成长档案管理系统系统仍有进一步的改进空间。首先,我们可以继续优化系统的用户界面和交互体验,使其更加直观友好。其次,可以引入更多的智能化技术,如库存预测分析等,提升用户的个性化体验和服务质量。此外,还可以探索更多的创新功能,如物流追踪诊断等,为用户提供更全面的高校学生技能成长档案管理系统管理服务。
未来,我们将继续关注用户的需求变化和行业趋势,持续优化高校学生技能成长档案管理系统系统。通过不断的迭代和创新,我们希望将该系统打造成为行业的领先平台,为用户提供更便捷、高效的高校学生技能成长档案管理系统系统。
总之,高校学生技能成长档案管理系统的设计与实现在设计与实现过程中取得了一定的成果,但仍有进一步的改进和发展空间。未来我们将持续努力,不断提升系统的功能和性能,为用户提供更好的服务体验。
[1]章旭霞.学生成长档案袋材料管理的策略研究——以东洲中学“花絮:1+X”学生成长档案袋材料管理为例[J].基础教育论坛,2024,(03):110-112.
[2]Li Y .A Management System for Remote Utilization of Student Files Based on Trusted Storage[J].The Frontiers of Society, Science and Technology,2024,6(1):
[3]Attwell M ,Phebion K .Portfolio implementation for self-reflection and professional growth of students in the arts[J].Visual Studies,2023,38(3-4):433-441.
[4]王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
[5]何兆炎,周晓霞.多维立体化高校学生党员成长档案建构模式探究[J].教育观察,2022,11(25):46-48.DOI:10.16070/j.cnki.cn45-1388/g4s.2022.25.021.
[6]孙菊芬,范彬.记录成长足迹实施立体评价——基于“学生成长·数字档案袋”的综合素养立体评价方法[J].浙江考试,2022,(06):20-23.
[7]何芳.互联网+班主任管理的学生成长档案管理系统研究与应用[J].长江信息通信,2022,35(05):226-228.
[8]李焕,彭科,姜琳琳,等.学生成长档案管理系统的设计与实现[J].现代信息科技,2022,6(03):5-8.DOI:10.19850/j.cnki.2096-4706.2022.03.002.
[9]邵路燕.学生成长档案在体验式德育中的应用[J].辽宁教育,2022,(04):66-68.
[10]马晓红.新课程背景下中小学学生成长档案袋评价系统的设计研究[J].新课程,2021,(48):1.
[11]高斯娜.关于学校学生成长档案数字化平台的思考[J].办公室业务,2021,(14):146-147.
[12]L. K S ,Shelly M .Integrating essential learning outcomes and electronic portfolios: Recommendations for assessment of student growth, course objectives, program outcomes, and accreditation standards[J].New Directions for Teaching and Learning,2021,2021(166):43-57.
[13]余勇涛.学生成长指导教师专业学习共同体建设[J].中国教师,2021,(06):88-91.
[14]廖秀娟.新形势下大学生成长档案管理探索与实践[J].作家天地,2021,(17):95-96.
[15]吕扬.试论高职学生成长档案管理系统的设计与实现[J].兰台内外,2021,(10):25-27.
[16]李杰伟.利用班级成长档案,促进学生和谐发展[J].文理导航(上旬),2021,(02):79+85.
[17]刘兰芳.班级学生成长档案建设研究[J].新课程,2020,(25):207.
[18]F J L ,Neha V ,G S J , et al.Medical student imaging case files in the cloud.[J].The clinical teacher,2020,17(3):275-279.
[19]翟福贞,钟红丽.高校学生成长发展电子档案管理现状调查研究[J].兰台内外,2020,(15):74.
[20]张兴琳.新形势下大学生成长档案管理探索与实践[J].办公室业务,2020,(09):129+131.
致 谢
在本文的最后,我要对许多人表示诚挚的感谢,他们为高校学生技能成长档案管理系统的设计与实现的研发和完成做出了重要的贡献。首先,我要感谢我的导师,您给予了我悉心的指导和支持,在选题和研究过程中提供了宝贵的意见和建议。您的专业知识和严谨态度使我受益匪浅,让我能够顺利地完成毕业设计。其次,我要感谢我的同学和朋友们,你们在我写作和排版过程中给予了热情的帮助和鼓励。与你们一起度过的大学生活是我宝贵的回忆,你们的友谊让我感到无比温暖和快乐。
此外,我也要感谢那些为我们提供参考和指导的学者和专家们。他们的研究成果为我们的论文提供了宝贵的指导,使我们能够更好地理解问题和展开思考。
最后,我要感谢我的家人和爱人,你们一直以来对我无条件的支持和理解让我能够专注于学业。你们的鼓励和陪伴是我坚持不懈的动力。
在这段时间里,我收获了很多宝贵的经验和知识。尽管我的能力有限,但我会继续努力去完善这篇论文,并且真诚地希望各位老师和同学们能够给予宝贵的指导与意见。
最后,再次向所有支持和帮助过我的人表示深深的感谢!我会将所学所得用于实践,为社会做出自己的贡献。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~