摘 要
随着实习在高等教育中的重要性日益增加,实习管理系统成为了大学和企业之间有效沟通和协调的关键工具。本论文旨在研究实习管理系统的设计与实现,以提高实习过程的效率和质量。
本文介绍了实习管理系统的背景和意义。实习是学生将理论知识应用于实践的重要环节,对于培养学生的实际能力和职业素养至关重要。然而,传统的实习管理方式存在许多问题,如信息不透明、流程繁琐等。因此,开发一个高效的实习管理系统对于提高实习质量和效果具有重要意义。
系统采用了B/S结构,在此基础上,对各业务模块进行了界面交互,以MySQL为数据库,并选用IDEA进行系统设计。在实现功能的同时,为实现系统的升级和扩展,采用了springboot框架,用户通过PC机访问Web版本,实现对系统功能的访问和交互。系统管理模块主要负责对已有数据库进行维护、管理、添加、维护、删除、修改等。管理员负责维护系统的各项功能、数据的备份、恢复,保证数据的完整性和一致性;负责用户的管理与配置。最后对系统进行测试后,改善了程序逻辑和代码。同时确保该系统有很好的操作体验,实现了对于学校、学生的共同双赢。
关键词:实习管理;IDEA开发工具;Java编程语言;MySQL数据库
Design and Implementation of a Spring Boot Internship Management System
Abstract
With the increasing importance of internships in higher education, the internship management system has become a key tool for effective communication and coordination between universities and enterprises. This paper aims to study the design and implementation of an internship management system to improve the efficiency and quality of the internship process.
This article introduces the background and significance of the internship management system. Internship is an important process for students to apply theoretical knowledge to practice, which is crucial for cultivating their practical abilities and professional qualities. However, traditional internship management methods have many problems, such as information opacity and cumbersome processes. Therefore, developing an efficient internship management system is of great significance for improving the quality and effectiveness of internships.
The system adopts a B/S structure, and on this basis, interface interaction is carried out for each business module. MySQL is used as the database and IDEA is selected for system design. At the same time as implementing the functions, in order to upgrade and expand the system, the springboot framework is adopted. Users access the web version through a PC to access and interact with the system functions. The system management module is mainly responsible for maintaining, managing, adding, maintaining, deleting, and modifying existing databases. The administrator is responsible for maintaining the various functions of the system, backing up and restoring data, and ensuring the integrity and consistency of data; Responsible for user management and configuration. After testing the system, the program logic and code were improved. At the same time, it ensures that the system has a good operating experience, achieving a win-win situation for both the school and students.
Keywords: internship management; IDEA development tool; Java programming language; MySQL database
目 录
实习是高等教育中的重要环节,为学生提供了将理论知识应用于实践的机会,有助于培养学生的实际能力和职业素养。然而,传统的实习管理方式存在一些问题,如信息不透明、流程繁琐、沟通困难等。这些问题影响了实习的效率和质量,同时也给学校带来了管理上的挑战。
在过去的几年里,随着信息技术的快速发展,实习管理系统逐渐成为大学和企业之间有效沟通和协调的关键工具。实习管理系统可以集中管理学生的实习信息,包括学生个人资料、告信息、学生信息、考勤打卡、实习资料、上传资料、学生成绩、实习计划、班级信息等。通过实习管理系统,学校可以更加方便地进行信息交流和合作,提高实习过程的效率和质量。
然而,目前对于实习管理系统的研究还相对较少,尤其是在国内的高校和企业中。因此,有必要对实习管理系统的设计与实现进行深入研究,以满足实习管理的需求,提高实习的效果和质量。
本论文旨在研究实习管理系统的设计与实现,通过分析实习管理系统的需求和功能,探讨系统的设计与实现方法,并总结关键问题和挑战。通过这项研究,可以为高校提供一个有效沟通和协调的工具,提升实习质量和效果。同时,对于实习管理系统的研究还可以为其他教育信息系统的开发和应用提供借鉴和参考。
由于近年来计算机技术的不断发展,在现代生活中,我们所需要的各种信息处理操作都是通过使用计算机来完成的。有了计算机,我们可以很容易地查询和维护各种信息。因此,有必要对实习管理系统进行数字化,提高其效率和利用率。
如果采用传统的高校实习管理,数据量巨大,人力、精力和工作精度有限,传统的实习管理系统不可避免地存在效率低、准确性低等缺点,同时也伴随着大量人力资源的浪费。在管理工作中,涉及的计算机比人类更熟练,能够满足速度、精度和低资源消耗的要求。基于这些显著的优势,如果能够设计出一套完整的、量身定制的实习管理系统,将大大提高实习管理系统的工作效率。
在高校实习管理制度下,高校管理人员只需配备少量专业人员,对数据库进行日常数据审核、管理和定期维护。在整个过程中,管理人员只需要提供少量的必要信息,大部分数据处理工作由数据库和相关程序完成,节省了大量时间。如果数据库中的某部分信息出现错误,管理人员可以通过批量修改等方法减少故障排除过程中所需的时间和精力。因此,有必要为高校开发一个称职的实习管理系统。
(1)绪论
从开发系统的背景、意义、以及系统的发展状况,详细描述了系统的在哪些方面能得到应用、然后对本文分结构。
(2)系统开发环境介绍
使用技术简介、数据库概念和特点、编码工具、建模工具等。
(3)系统分析
可行性分析概述、用户需求调研、系统业务流程分析、系统数据组成。
(4)系统设计
系统网络结构设计、系统总体设计、系统功能模块的划分、系统功能模块的需求,数据库设计概述、数据库概述结构设计、数据库逻辑结构设计。
(5)系统的实现
学生信息模块的实现、考勤打卡模块设计、学生成绩模块的实现。
(6)系统测试
系统编码实现后,需要进行测试,测试包括黑盒测试和白盒测试,本系统采用黑盒测试,通过输入不同组的测试数据进行测试的功能模块测试。
实习管理系统通过B/S架构进行实现,基于浏览器和服务器方式进行开发的系统架构,只有把应用程序部署到服务器端,客户端才可以借助导航网址进行系统访问[1]。
基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出相应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户[3]。
在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互[4]。
HTML语言
在校期间所接触最多的页面布局技术就是关于HTML,利用相关的软件进行HTML语言的编码,能够直接进行效果呈现,而这种快捷的对照操作不论是对于资深的还是入门的编程者而言都是十分的方便。而且该语言所涉及的原则问题较为简单,能够轻易的上手操作,尤其是在小型项目的使用更是深受大家的喜欢。
从开发环境的角度上看,HTML技术所能够使用的环境是开源环境,在这种环境下能够在不同的软件中进行HTML的编写开发,而且又能够保证编码的正确性。
从使用软件的角度上看,HTML技术所运用到的软件是完全免费的,而且相应的安装过程完全不收费。
从功能性的角度上看,运用HTML技术进行编码,不仅在系统内存使用方面只占一小部分,其在使用过程的运行速度也是十分的迅速,而且在编写的过程中能够进行效果的呈现是十分的方便,而开发者在软件功能设计的过程中能够在任意时刻进行效果对比,同时发现问题并解决问题。
从市场角度上看,HTML技术无论是其学习成本还是使用软件来说都是免费的,而这对于开发人员而言是十分的便利,不用仅限于有限的收费软件进行HTML页面的设计。
无论是在个人学习中还是在企业办公中,MySQL数据库一直都是一种具有强大扩展性,强大功能的数据信息管理工具和处理工具。由于MySQL数据库的存在,将Windows系统所拥有的优点展现的淋漓尽致,而且能够对Win进行图形化的管理,使得使用者在操作系统的过程中对项目能够做到一目了然;而其强大的储存功能更是为系统工程运作提供了保障。MySQL不仅仅是一种优秀的数据信息处理工具,更是一个拥有独立的,完整的数据库语言的管理平台。
-
- Maven项目管理工具
Maven的一次生命周期,是在它执行mvn install的时间才被调用。这个命令需要Maven按照某个特定的时间顺序进行每一次动作,直至达到它所规定的生命周期目标。在整个生命周期的过程中,Maven还会进行很多默认的插件任务,比如编译和建立一个 JAR 文件[7]。
另外,Maven可以很容易的帮助你管理项目报表,建立网站,控制JAR文件等[8]。
技术上使用springboot+Java+MySQL+Apache的架构实现,从技术本身的角度上讲已经相当成熟,不需要考虑其本身的问题,从服务器流量以及并发的角度上讲,由于系统面向的群体为社会居民,用户群体适中,根据服务器和计算能力的发展现状来看不会成为系统不利因素。再者就是开发人员本身的水平问题,笔者在实习期间已经经历过3~5个项目,也独立完成过项目,因此在技术上还是比较有信心,加上有指导老师的协助指导,相信技术上不存在问题。
本系统功能模块相对来说不是很复杂,整个设计和开发过程投入成本较低,在实际使用中,只需要一台能上网的计算机登录浏览器即可访问,后期可能开发出手机APP端的客户端或者微信小程序。操作简单,业务流程很清晰,且运维也比较轻松,面对这么大的一个市场,如果投入使用能得到大面积覆盖的话,不仅是用户的使用能给系统端带来收益,使用者想要入驻当然也是需要缴纳一定的费用的。总的来说,与前期少量的开销相比,最终产出的收益是相当可观的,也就是说该系统在经济上是完全可行的。
系统开发采用的B/S架构是最常见的Web项目架构,常用于简单Web系统项目的开发。基于B/S架构实现的系统,免去了客户端频繁更新换代的成本和麻烦,只需要一台能上网的计算机登录浏览器即可享受足不出户的快捷。系统操作便捷,可兼容到不同操作系统和不同浏览器,只需要简单熟悉系统的核心业务逻辑和步骤,任何人都能快速上手。前台与后台的分离使得业务逻辑十分清晰,超强的界面友善性同样给用户体验加分。所以,该系统具备超强的功能逻辑和快速上手的优势,我们可以说该系统在操作上是可行的。
学生登录:管理员添加的学生管理所生成的信息是提供给学生来用以完成登录的必备信息,可通过录入到所需的登录信息并与登录类型相匹配的情况下,可登录成功。
个人中心:此页面提供查看学生个人信息同时也可以对个人信息进行修改。
公告信息:公告信息是查看管理员发布的公告信息,包含有公告标题、公告类型、公告图片、发布日期。也可通过关键词语进行搜索查看。
学生信息:学生信息是可以查看学生信息详情,包含教师用户、学生学号、打卡时间、学生用户、班级名称、打卡类型、学生姓名、实习类别,也可通过关键词语进行搜索查看。
考勤打卡:学生点击进入“考勤打卡”页面,其中教师用户、学生学号、学生用户、学生姓名、实习类别、班级名称是自动生成的,学生只需要选择打卡时间、打卡类型进行考勤提交。也可通过关键词语进行搜索查看。
实习资料:学生点击进入“实习资料”页面,包含教师用户、资料标题、教师姓名、
实习资料、教师工号,学生可以对实习资料进行下载。也可通过关键词语进行搜索查看。
上传资料:学生点击进入“上传资料”页面,包含学生用户、班级名称、学生姓名
上传资料、学生学号。学生可以对上传资料进行下载。也可通过关键词语进行搜索查看。
学生成绩:学生点击进入“学生成绩”页面可以查看学生成绩详情,包含教师用户、学生用户、班级名称、结束实习、教师姓名、学生姓名、实习类别、实习成绩、教师工号、学生学号、开始实习、综合评价,也可通过关键词语进行搜索查看。
学生用例图如下所示。
图3-1 学生用例图
个人中心:此页面提供查看管理员个人信息同时也可以对个人信息进行修改。
公告管理:管理者将一些需要通知用户的公告通过实习管理系统的后台执行公告发布操作,填写公告的标题、输入公告的内容、上传需要显示在公告详细页里的图片,通过实习管理系统的前台向用户展示。
班级管理:此页面提供管理员对班级的增删改查操作。
用户管理:管理员添加学生、教师的个人信息和登录信息。
系统管理:此页面提供管理员对前台展示的轮播图进行增删改查操作。
考勤打卡:此页面提供管理员对考勤打卡的增删改查操作。
实习资料:此页面提供管理员对实习资料的管控。
上传资料:此页面提供管理员对学生上传的资料进行管控。
学生成绩:此页面提供管理员对实习资料的管控。
实习计划:此页面提供管理员对实习计划的管控。
管理员用例图如下所示。
图3-2 管理员用例图
-
-
- 教师端功能分析
-
个人中心:此页面提供查看教师个人信息同时也可以对个人信息进行修改。
公告信息:公告信息是查看管理员发布的公告信息,包含有公告标题、公告内容、公告图片、发布日期。也可通过关键词语进行搜索查看。
学生信息:教师对学生信息进行增删改查,包含教师用户、学生学号、打卡时间、学生用户、班级名称、打卡类型、学生姓名、实习类别,也可通过关键词语进行搜索查看。
考勤打卡:教师点击进入“考勤打卡”页面,可以查看教师用户、学生学号、学生用户、学生姓名、实习类别、班级名称,也可通过关键词语进行搜索查看。
实习资料:教师点击进入“实习资料”页面,包含教师用户、资料标题、教师姓名、
实习资料、教师工号,教师可以对实习资料进行上传。也可通过关键词语进行搜索查看。
上传资料:教师点击进入“上传资料”页面,包含学生用户、班级名称、学生姓名
上传资料、学生学号。教师可以对上传资料进行下载。也可通过关键词语进行搜索查看。
学生成绩:教师点击进入“学生成绩”页面可以对学生成绩进行管控,包含教师用户、学生用户、班级名称、结束实习、教师姓名、学生姓名、实习类别、实习成绩、教师工号、学生学号、开始实习、综合评价,也可通过关键词语进行搜索查看。
实习计划:教师点击进入“实习计划”页面可以对实习计划进行详情查看,也可通过关键词语进行搜索查看。
教师用例图如下所示。
图3-3 教师用例图
基于上面功能性需求,非功能需求也是项目设计中一项必定考虑进去的工作。首先是安全性的需求,其次是界面必须整洁干净等的需求,再次就是可扩展的需求。除此之外,还有性能、可靠性的需求,具体可以表示在如下表所示。
表3-1 系统非功能需求表
安全性 | 只有在登录的情况下才能进行相应功能的操作,尤其是管理员功能,防止后台管理端被侵入。 |
可靠性 | 系统的功能明确,操作一个功能,不会产生额外的功能影响,操作功能的时候,页面也不会造成额外的跳动。 |
性能 | 响应时间尽量控制在1s之内 |
可扩展性 | 后台采用自顶向下的开发,利于开发与维护。 |
易用性 | 在用户使用上,尽可能使用更多的图标进行功能暗示,提供系统的可阅读性和友好性。 |
可维护性 | 前台和后台注意按照模块化开发的原则,对于组件和方法的保存和包的建立需要遵照一般开发原则,以利于维护。 |
管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。
用户权限下的工作流程主要为:用户通过管理员添加的登录信息功能,在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。
实习管理系统的业务流程如下图所示。
图3-3 系统业务流程图
实习管理系统主要是为用户所服务的,该系统是因他们而存在,要为他们服务,因此,在系统设计时要将他们的需求放在第一位,并且要充分考虑他们的意见。
实习管理系统的用户角色有两种,包括管理员,用户。管理员在实习管理系统中管理首页、个人中心、公告信息、学生信息、考勤打卡、实习资料、上传资料、学生成绩、实习计划、班级信息。用户所能实现的功能有:修改自己的密码等个人信息,实习资料管理、考勤打卡管理、查看成绩管理。
系统功能结构图如下所示。
图4-1 系统功能结构图
实习管理系统采用的是MYSQL的数据库进行存储的,数据库里面储存了很多的表信息,在此罗列出来一些主要的数据库E-R模型图。
图4-2 学生信息E-R关系图
图4-3学生信息E-R关系图
图4-4学生成绩信息E-R关系图
系统的主要实体间关系E-R图如下图所示。
图4-5系统E-R图
数据库是实习管理系统的数据处理的基础,也是为界面数据的展示与存储的关键。实习管理系统的数据库表如下。
表announcement_information (公告信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | announcement_information_id | int | 10 | 0 | N | Y | 公告信息ID | |
2 | announcement_number | varchar | 64 | 0 | Y | N | 公告编号 | |
3 | release_time | datetime | 19 | 0 | Y | N | 发布时间 | |
4 | announcement_title | varchar | 64 | 0 | Y | N | 公告标题 | |
5 | announcement_content | longtext | 2147483647 | 0 | Y | N | 公告内容 | |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | attendance_clock_in_id | int | 10 | 0 | N | Y | 考勤打卡ID | |
2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
3 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | internship_category | varchar | 64 | 0 | Y | N | 实习类别 | |
8 | clock_in_time | datetime | 19 | 0 | Y | N | 打卡时间 | |
9 | clock_in_type | varchar | 64 | 0 | Y | N | 打卡类型 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | class_information_id | int | 10 | 0 | N | Y | 班级信息ID | |
2 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
3 | class_size | int | 10 | 0 | Y | N | 0 | 班级人数 |
4 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
5 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
6 | 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 | internship_materials_id | int | 10 | 0 | N | Y | 实习资料ID | |
2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
5 | data_title | varchar | 64 | 0 | Y | N | 资料标题 | |
6 | internship_materials | varchar | 255 | 0 | Y | N | 实习资料 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | internship_plan_id | int | 10 | 0 | N | Y | 实习计划ID | |
2 | plan_name | varchar | 64 | 0 | Y | N | 计划名称 | |
3 | content_description | longtext | 2147483647 | 0 | Y | N | 内容说明 | |
4 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
5 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | logistics_delivery_id | int | 10 | 0 | N | Y | 物流配送ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单号 | |
3 | product_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | purchase_quantity | varchar | 64 | 0 | Y | N | 购买数量 | |
5 | total_transaction_amount | double | 11 | 2 | Y | N | 0.00 | 交易总额 |
6 | the_date_of_issuance | date | 10 | 0 | Y | N | 发货日期 | |
7 | seller | int | 10 | 0 | Y | N | 0 | 卖家 |
8 | store_name | varchar | 64 | 0 | Y | N | 店铺名称 | |
9 | delivery_number | varchar | 30 | 0 | Y | N | 配送订单 | |
10 | store_address | varchar | 64 | 0 | Y | N | 店铺地址 | |
11 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
12 | shipping_address | varchar | 64 | 0 | Y | N | 收货地址 | |
13 | delivery_status | varchar | 64 | 0 | Y | N | 配送状态 | |
14 | signing_status | varchar | 64 | 0 | Y | N | 签收状态 | |
15 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
16 | contact_name | varchar | 255 | 0 | Y | N | 联系人名字 | |
17 | merchant_id | int | 10 | 0 | Y | N | 商家id | |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_grades_id | int | 10 | 0 | N | Y | 学生成绩ID | |
2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
5 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
6 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
7 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
8 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
9 | internship_category | varchar | 64 | 0 | Y | N | 实习类别 | |
10 | start_internship | date | 10 | 0 | Y | N | 开始实习 | |
11 | end_internship | date | 10 | 0 | Y | N | 结束实习 | |
12 | internship_results | int | 10 | 0 | Y | N | 0 | 实习成绩 |
13 | comprehensive_evaluation | text | 65535 | 0 | Y | N | 综合评价 | |
14 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_information_id | int | 10 | 0 | N | Y | 学生信息ID | |
2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
5 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
6 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
7 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
8 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
9 | internship_category | varchar | 64 | 0 | Y | N | 实习类别 | |
10 | start_internship | date | 10 | 0 | Y | N | 开始实习 | |
11 | end_internship | date | 10 | 0 | Y | N | 结束实习 | |
12 | internship_instructions | text | 65535 | 0 | Y | N | 实习说明 | |
13 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | 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 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
4 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
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_id | varchar | 64 | 0 | N | N | 教师工号 | |
4 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
5 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
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 | upload_materials_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 | Y | N | 学生学号 | |
5 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
6 | upload_materials | varchar | 255 | 0 | Y | N | 上传资料 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
将首页的左边的功能设计为用户登录的位置,所以在进行登录的地方就会显示首页。在登录后就是大众较为熟悉的位置,也就是让用户进行账号以及密码输入的样式。
当用户输入完信息并点击登录按钮时,Struts就会将用户输入的信息传递进表单并装入相应的对象之中,然后再转到相应位置进行校验。若用户名和密码框都是空的,那么系统就会不可将账号密码均设置为空值。
系统的底层设置要求账号密码不可以都是空值,将这些信息传递给相关的类中的对象方法并调用相关的信息,对于用户输入的数据进行检验。若检验结果正确会自动转到系统首页欢迎页面,如果不正确系统就会返回用户登录界面。
用户登录流程图如下所示。
图5-1 用户登录流程
系统登录界面如下图所示。
图5-2 系统登录界面
首页主要分别展示各个模块的最新动态,浏览者可以很清楚地看到不同模块的最新更新内容。并且系统首页每个部分可以跳转到相对应的模块,方便浏览者选择感兴趣的地方。
首页载入流程图如下所示。
图5-3 首页载入流程
首页如下图所示。
图5-4 首页界面
-
-
- 学生信息模块
-
用户执行学生信息,并可以操作相关内容,例如查看,编辑。学生信息的添加操作是建立在学生信息的列表基础上,单击查看学生信息下的链接;然后单击“学生信息”进行添加,添加成功后的信息会载入到学生信息查询列表中。
学生信息流程如下图所示。
图5-5学生信息流程
学生信息添加界面如下图所示。
图5-6 学生信息添加界面
学生信息查询界面如下图所示。
图5-7 学生信息查询界面
-
-
- 考勤打卡模块
-
用户通过登录系统后点击“考勤打卡”,便可以添加考勤打卡。
考勤打卡流程如下图所示。
图5-7 考勤打卡流程
考勤打卡界面如下图所示。
图5-8 考勤打卡界面
用户信息管理与账号管理相比更侧重对个人信息的管理,如班级,电话,姓名等,管理员可以对此部分信息进行增删改查,相应的会改变数据库存储的数据。
用户管理界面如下图所示。
图5-9用户管理界面
登录密码修改界面如下图所示。
图5-10 登录密码修改界面
-
-
- 班级管理模块
-
管理员执行班级管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“班级”,可以通过班级界面查看详细信息并统计班级数据信息。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。统计成功后的信息会载入到班级统计列表中,管理员可进行编辑以及修改。
班级管理流程如下图所示。
图5-11 班级管理流程
班级管理界面如下图所示。
图5-12 班级管理界面
对每个用源码进行的单元检测,以验证每个单元能否正常地执行预先设定的函数。在进行单元代码编写的过程中,采用了详细的编程指导,并通过关键的数据界面和路线的检测来检测模块中的缺陷。该试验使用了每个由源码所完成的程序,并按照程序的内部构造来进行测试,以检验各个程序的功能。
集成测试是对单位试验的延伸。装配好的试验组件,并对相关的设计进行软件体系结构的检测。其具体实施方法为:将两个以上的单元模块合并为一个部件进行试验,并进行界面的调试。针对具体的试验,采用了不同的模块整合方法。而将模组转换为体系的方式有两种:一次整合与一次繁殖整合。
登录测试用例如下表所示。
表6-1 登录测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
选择管理员登录,输入用户姓名,按“登陆”按钮。 | 用户姓名:admin, 密码为空 | 显示警告信息“请填写密码!” | 显示警告信息“请填写密码!” | 与期望结果相同 |
选择管理员登录,输入密码,按“登陆”按钮。 | 用户姓名为空,密码:123456 | 显示警告信息“请填写用户名” | 显示警告信息“请填写用户名” | 与期望结果相同 |
选择管理员登录,输入用户姓名和密码,按“登陆”按钮。 | 用户姓名:1234, 密 码:1234 | 显示警告信息“该用户名不存在!” | 显示警告信息“该用户名不存在” | 与期望结果相同 |
选择管理员登录,输入用户姓名和密码,按“登陆”按钮。 | 用户名:admin,密 码:admin | 正确登入到后台页面 | 正确登入到后台页面 | 与期望结果相同 |
个人信息管理测试用例如下表所示。
表6-1 个人信息管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
选择个人信息,清空用户名,按“保存”按钮。 | 用户姓名为空 | 显示警告信息“用户名不能为空!” | 显示警告信息“用户名不能为空! | 与期望结果相同 |
选择个人信息,清空邮箱,按“保存”按钮。 | 用户邮箱为空 | 显示警告信息“邮箱不能为空!” | 显示警告信息“邮箱不能为空!” | 与期望结果相同 |
选择个人信息,清空联系方式,按“保存”按钮。 | 用户联系方式为空 | 显示警告信息“联系方式不能为空!” | 显示警告信息“联系方式是不能为空!” | 与期望结果相同 |
选择个人信息,按“上传头像”按钮,上传头像文件大小超过1Mb。 | 头像文件大小超过1Mb | 显示警告信息“图片大小不能超过1Mb!” | 显示警告信息“图片大小不能超过1Mb!” | 与期望结果相同 |
公告管理测试用例如下表所示。
表6-1 公告管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
用户点击“公告发布”,填写相关数据后点击“确定”。 | 在必填项输入测试数据 | 提示“发布成功” | 提示“发布成功” | 与期望结果相同 |
用户选择公告点击“修改”后点击“确定”。 | 在必填项修改测试数据 | 提示“修改成功” | 提示“修改成功” | 与期望结果相同 |
学生信息管理测试用例如下表所示。
表6-1 学生信息管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
用户点击“学生信息添加”,填写相关数据后点击“确定”。 | 在必填项输入测试数据 | 提示“添加成功” | 提示“添加成功” | 与期望结果相同 |
用户选择学生信息点击“修改”后点击“确定”。 | 在必填项修改测试数据 | 提示“修改成功” | 提示“修改成功” | 与期望结果相同 |
学生成绩管理测试用例如下表所示。
表6-1 学生成绩管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
用户点击“学生成绩发布”,填写相关数据后点击“确定”。 | 在必填项输入测试数据 | 提示“发布成功” | 提示“发布成功” | 与期望结果相同 |
用户选择学生成绩点击“修改”后点击“确定”。 | 在必填项修改测试数据 | 提示“修改成功” | 提示“修改成功” | 与期望结果相同 |
基于Java的实习管理系统的测试已经完成,没有出现错误,能够成功运行。因为系统比较简单,一些功能还急需完善,但已经能够满足用户和管理者的需求,给予用户足够的帮助。
经过测试,得到测试结果如下表所示。
表5-1 测试结果
测试项目 | 测试结果 |
登录 | 成功 |
个人信息 | 成功 |
公告管理 | 成功 |
学生信息管理 | 成功 |
学生成绩管理 | 成功 |
在本次系统设计的过程中,我们将深入探讨实习管理系统,从研究背景、目标到实施方案,并详细阐述每一章的内容,以及该系统的硬件和软件环境。其中包含了:需求分析+功能需求+用例图,以此表示系统的功能的流程、模块的处理过程。绘制总体各个结构+流程图,并根据功能细致设计的需要,再来设计数据库的表结构,并绘制E-R图,实现程序接口,然后完成调试。最后,本文进行了总结,并提出了下一步的发展方向。
这个系统使用MySQL数据,Java语言,采用springboot框架。系统基本实现:首页、个人中心、公告信息、学生信息、考勤打卡、实习资料、上传资料、学生成绩、实习计划、班级信息等功能模块。系统功能流畅、模块清晰,易于更改后期版本的程序细节,实现了效率高与界面友好还有操作方便。
在这次设计中,我通过不断地探索和学习,掌握了Java技术和springboot框架,并创建了一个实习管理系统,这让我对编写系统的必要性和运行环境有了更深入的了解。为了更好地完成这个项目,我花费了大量的时间,不仅丰富了自己的知识面,并且学习并积累了许多宝贵经验。系统刚开始时,我对springboot框架这个技术只是稍微有些了解,但是通过这次基于springboot框架的实习管理系统设计,让我更加深入地去探讨了,springboot框架运转的原理,从中学到了如何去配置服务器环境和连接数据库。在基于springboot框架的实习管理系统设计的过程中,我还学会了使用dreamweaver来建设一个简单的页面,这样可以极大程度提高我的实际操作能力,也因此激发了我对这个领域的浓烈兴趣。
系统的这一次发展提升了我自己的能力,也学到了框架如何实现基本功能。同时在编程代码各方面也做了的很多尝试,从关注代码错误到做一些小的修改,都有了很大的提高。同时,在撰写论文时,还查阅了大量的参考资料,对论文的结构和文献资料进行了总结和分析。已作出努力,尽量减少错误和走弯路,从一开始的系统功能概念化到逐一实施,并进行了广泛的研究报告。也许后续操作过程中还有很多实现不完美的功能,但我依然会继续学习,努力在以后的软件开发、编号代码中吸取教训,总结不完美之处,努力的在软件开发越来越强。以上是我在本次设计中的总结,希望在未来取得更好的成绩。
参考文献
[1]王昳佳,张歆佳,吴山君,金越凤,金文忠.医院高校实习看板软件设计与应用[J].中国数字医学,2023,18(03):54-59.
[2]Paul Krill. JavaScript, Java, and Python skills top demand[J]. InfoWorld.com,2023.
[3]索红升.基于Java的电子商务平台的设计与开发[J].软件,2022,43(11):138-140.
[4]郑歆.Java程序设计课程的教学实践[J].集成电路应用,2022,39(11):94-95.DOI:10.19339/j.issn.1674-2583.2022.11.036.
[5]任浩然,刘丹,景永强.JAVA在计算机软件开发中的应用研究[J].信息记录材料,2022,23(11):83-85.DOI:10.16009/j.cnki.cn13-1295/tq.2022.11.072.
[6]李圣伟. 智能高校实习信息管理平台的设计与实现[D].山东大学,2022.DOI:10.27272/d.cnki.gshdu.2022.000828.
[7]王子心,王海宁,杨宁,陈伟华.全员高校实习信息系统的设计与实现[J].网络安全和信息化,2022(03):74-76.
[8]单树倩,任佳勋.基于springboot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术,2021,17(30):40-41+50.DOI:10.14004/j.cnki.ckt.2021.2868.
[9]喻佳,吴丹新.基于springboot的Web快速开发框架[J].电脑编程技巧与维护,2021(09):31-33.DOI:10.16184/j.cnki.comprg.2021.09.013.
[10]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).
[11]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on springboot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).
[12]辛培. 医疗检测仪器的网络化数据平台研究与实现[D].北京化工大学,2020.DOI:10.26939/d.cnki.gbhgu.2020.001641.
[13]熊永平.基于springboot框架应用开发技术的分析与研究[J].电脑知识与技术,2019,15(36):76-77.DOI:10.14004/j.cnki.ckt.2019.4290.
[14]朱运乔.基于springboot+springboot框架的Web应用系统搭建与实现[J].电脑编程技巧与维护,2019(10):23-25.DOI:10.16184/j.cnki.comprg.2019.10.008.
[15]吕宇琛.springboot框架在web应用开发中的探讨[J].科技创新导报,2018,15(08):168+173.DOI:10.16660/j.cnki.1674-098X.2018.08.168.
致谢
这篇文章的完成经历了多个日日夜夜的努力,终于在今天得以完成。这篇文章的创作过程实为不易,但在老师和同学的辛勤帮助下顺利渡过。让我在设计过程中举步维艰时,非常感谢我的导师不耐其烦的帮助我解决问题,给予了我许多指导意见。也感谢所有为我授业解惑的老师!
另外,本文的完成也参考借鉴了许多国内外在Java技术上的著作,如果没有著作原作的辛勤付出和科研成果,我也很难完成本论文。感谢在本论文中关联到的学者们!也感谢Google等公司,感谢他们强大的搜索引擎,让我的资料查阅省事简单。
感谢之余也还有几句话要说,虽大学学习四年,怎奈何本人才疏学浅,本文的完成已为尽力,但文中不免有些不当和错误之处,诚挚真切的请求各位老师对本文的批评改正,感谢百忙之中费心审阅我论文的老师。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~