SSM实现学生在校考勤管理系统的设计与实现-附源码35339

摘 要

随着教育信息化的发展和学校管理的现代化需求不断增加,本研究旨在基于SSM框架设计和实现一个学生在校考勤管理系统。该系统涵盖了管理员、教师用户、学生用户、课程安排、课程签到、出勤信息、学生选课和意见反馈等关键功能模块,旨在提高学校教学管理效率和学生考勤监管水平。管理员担负着系统整体管理和监督的职责,负责教学资源的管理和学生考勤数据的统计分析。教师用户可以进行课程安排、学生考勤签到等操作,确保教学进度和学生出勤情况的记录。学生用户通过系统进行选课、签到、查看个人考勤信息等,实现个性化的学习管理。

系统采用SSM框架,Java技术具有良好的稳定性和可扩展性,能够满足学校教学管理的需求。系统的用户界面友好,操作简单易懂,提高了管理人员和用户的使用体验。本系统有助于提高学校教学管理效率和学生考勤监管水平。该系统整合了各方面的管理功能,为教师、学生和管理员提供了一个便捷、高效的教学管理平台,有望进一步推动学校教学管理的现代化进程。

关键词:Java开发语言;SSM框架技术;学生在校考勤管理系统

Abstract

With the development of educational informatization and the increasing demand for modernization in school management, this study aims to design and implement a student attendance management system based on the SSM framework. The system covers key functional modules such as administrators, teacher users, student users, course scheduling, course attendance, attendance information, student course selection, and feedback, aiming to improve the efficiency of school teaching management and the level of student attendance supervision. The administrator bears the responsibility of overall system management and supervision, responsible for the management of teaching resources and the statistical analysis of student attendance data. Teacher users can arrange courses, check in student attendance, and other operations to ensure the recording of teaching progress and student attendance. Student users can select courses, sign in, and view personal attendance information through the system, achieving personalized learning management.

The system adopts the SSM framework, and Java technology has good stability and scalability, which can meet the needs of school teaching management. The user interface of the system is friendly, the operation is simple and easy to understand, and it improves the user experience for management personnel and users. This system helps to improve the efficiency of school teaching management and the level of student attendance supervision. This system integrates various management functions and provides a convenient and efficient teaching management platform for teachers, students, and administrators, which is expected to further promote the modernization process of school teaching management.

Key words:Java development language; SSM framework technology; Student attendance management system

目  录

第1章 绪论

1.1 研究背景

1.2 研究意义

1.3 本文结构

第2章 相关技术介绍

2.1Java编程语言

2.2 SSM框架

2.3Vue.js 主要功能

第3章 系统分析

3.1 可行性分析

3.1.1 操作可行性

3.1.2 技术可行性

3.2 系统功能需求

3.3 系统性能需求

第4章 系统设计

4.1 总体结构设计

4.2 功能模块设计

4.3 数据库设计

4.3.1 概念设计

4.3.2 逻辑设计

第5章 系统实现

5.1 登录模块的实现

5.2 学生模块的实现

5.2.1 课程安排模块的实现

5.2.2 学生选课模块的实现

5.2.3 课程签到模块的实现

5.3 后台模块的实现

5.3.1 用户管理模块的实现

5.3.2 课程安排管理模块的实现

5.3.3 课程签到管理模块的实现

5.3.4 出勤信息管理模块的实现

5.3.5 通知公告管理模块的实现

第6章 系统测试

6.1 测试方法

6.2 测试用例

6.2.1 登录测试

6.2.2 创建数据测试

6.2.3 修改数据测试

6.2.4 查询数据测试

6.3 测试结果

第7章 总结与展望

参考文献

致谢 37

第1章 绪论

1.1研究背景

随着教育信息化的不断推进和学校管理的现代化需求逐渐增加,学生在校考勤管理成为学校教学管理中的重要环节。传统的考勤方式存在着诸多不便之处,如考勤数据统计繁琐、容易出现差错、实时监管困难等问题,影响了教学质量和学校管理效率。

因此,设计和实现一个学生在校考勤管理系统具有重要的研究背景。该系统旨在通过信息化技术手段优化学生考勤管理流程,提高考勤数据的准确性和及时性,实现对学生考勤情况的全面监控和管理。系统通过引入现代信息技术,可以实现教师对学生考勤的快速记录和查询,提高教师对学生出勤情况的管理效率。同时,学生也可以通过系统实时查看个人考勤情况,增强自我管理意识和责任感。

在教育信息化的大背景下,学校管理部门需要借助科技手段提升管理水平和服务质量。学生在校考勤管理系统的建设有助于规范学生出勤制度,加强学校对学生考勤数据的统计和分析,为教学质量评估和学生管理决策提供可靠数据支持。

学生在校考勤管理系统的研究背景在于提高学校教学管理的效率和质量,推动学校管理向现代化、智能化方向迈进。通过引入信息化技术优化考勤管理流程,提高数据准确性和实时监管能力,有助于促进教育教学工作的科学管理和持续改进。这样的系统建设旨在提升学校管理水平,提高教学效果,满足学校教学管理的现代化需求。

1.2研究意义

随着教育信息化的不断深入和学校管理的现代化需求不断增加,学生在校考勤管理系统具有重要的研究意义和实践价值。首先,学生在校考勤管理系统的建设可以提高教学管理效率。传统的考勤方式容易出现数据录入错误、信息传递不及时等问题,影响了教学管理的效率和准确性。引入信息化技术,建立起学生在校考勤管理系统,可以实现考勤数据的自动化记录、实时监控和统计分析,提高教学管理的效率和便捷性。其次,学生在校考勤管理系统有助于加强学校对学生出勤情况的监管和控制。通过系统记录学生的考勤信息,可以及时发现并处理学生的旷课、迟到等问题,提高学生的出勤率和学习质量。同时,教师和学校管理者可以通过系统实时监控学生的考勤情况,及时采取措施,促进学生自律和学习态度的提升。

此外,学生在校考勤管理系统有助于提升学校教学管理水平和服务质量。系统化的考勤管理可以为学校提供准确的数据支持,帮助学校进行教学质量评估和管理决策。通过系统分析学生的出勤数据,学校可以针对性地进行教学改进和学生辅导,提高教学效果和学生成绩。

学生在校考勤管理系统随着教育信息化的不断发展具有重要的研究意义和实践价值。通过建立信息化的考勤管理系统,可以提高教学管理效率、加强学生出勤监管、提升学校教学管理水平,推动学校教学管理向着更加科学化、智能化的方向发展。这样的系统建设将有助于提高学校管理水平,提升教学质量,实现学校教学管理的现代化和智能化转型。

1.3本文结构

(1)绪论

从开发系统的背景以及研究意义,详细描述了系统的在哪些方面能得到应用、然后对本文分结构。

(2)系统开发环境介绍

使用技术简介、数据库概念和特点、编码工具、建模工具等。

(3)系统分析

可行性分析概述、用户需求调研、系统性能需求、系统数据组成。

(4)系统设计

系统网络结构设计、系统总体设计、系统功能模块的划分、系统功能模块的需求,数据库设计概述、数据库概述结构设计、数据库逻辑结构设计。

(5)系统的实现

注册模块的实现、交流模块设计、竞赛报名模块的实现。

(6)系统测试

系统编码实现后,需要进行测试,测试包括黑盒测试和白盒测试,本系统采用黑盒测试,通过输入不同组的测试数据进行测试的功能模块测试。

第2章 相关技术介绍

2.1 Java编程语言

Java语言是一种广泛应用于软件开发的高级编程语言。它以简单易学、面向对象、平台无关、安全可靠和强大的标准库等特点著称。Java摒弃了复杂的指针概念,提供了自动内存管理机制,使得程序员可以更专注于业务逻辑的实现。其面向对象的设计使得代码更易重用和维护。Java可以在不同操作系统和硬件平台上运行,实现了跨平台的特性。同时,Java具备丰富的安全性机制,防止恶意代码对系统造成危害。另外,Java拥有强大的标准库和API,提供了广泛的功能支持,让开发人员能够更高效地开发各种应用。总之,Java编程语言的优势使其成为一种被广泛应用于各个领域的优秀编程语言。

2.2 SSM框架

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

2.3 Vue.js 主要功能

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。

第3章 系统分析

3.1可行性分析

为了迎合当今社会的现况,便于在市场中打开局面、占有一席之地;在大数据时代下,所有的信息化资源全部都是共享资源、为了长远性考虑,对此需要考虑如何推动整体的系统开发实现标准化。保证系统成功,所以就必须从效益、技术等上面做可行性报告研究。

3.1.1操作可行性

学生在校考勤管理系统的注册与登录页面设计简洁易用,可以通过常见的窗口形式实现登录功能,使用者只需熟悉计算机操作即可轻松登录。该平台基于Java技术开发,并采用B/S结构,使得系统功能更加完整,设计更具个性化,使用者体验更为简便。学生在校考勤管理系统具备易于运行、简单管理和良好的交互性等优点,在实际操作中也非常简单。因此,该平台也具备商业应用的潜力。

综上所述,该学生在校考勤管理系统的研发符合技术、工艺和技术要求,具有较高的可操作性。

3.1.2技术可行性

技术可行性是指在确定的科学技术或决策方法中,所涉及的技术资源已经掌握或相关人员熟悉。在技术研究过程中,需要全面调查系统研发过程中的关键技术问题,并尽可能选择成熟的技术,引用先进的技术,评估关键技术的有效性。对于学生在校考勤管理系统的设计和实施,Java技术起着关键作用。基于B/S架构和MySQL数据库管理,Java技术对于前端应用和后端数据库管理都非常重要。为了确保该程序的有效应用,需要保持功能全面、易懂易用的特性。在构建数据库管理时,需要确保数据分析信息的完整性和稳定性。早期就对Java的基本重要知识点有一定的理解和熟悉,并对MySQL数据库进行了简要的掌握和熟悉。早期对软件工程测试、UML语言等基础课程进行了练习和掌握,这些练习使得我们能够进行信息系统开发、测试和评估。

因此,将Java与MySQL结合起来研发一个学生在校考勤管理系统是合理且有效的。这样的平台将提供全面的功能,并且能够满足用户的需求。

3.2系统功能需求

学生用户用例图如下所示。

图3-1 学生用户用例图

管理员用例图如下所示。

图3-2 管理员用例图

教师用户用例图如下所示。

图3-3 教师用户用例图

表3-1 用户管理用例描述

描述项

说明

用例名称

用户操作

用例描述

管理员正确登录后台管理的条件下,对用户进行管理

参与者

管理员

前置条件

管理员登录成功并跳转到后台主界面

后置条件

操作成功

主事件流

管理员跳转用户管理页面,查询用户详情的信息

管理员可以删除用户信息

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1课程安排管理用例描述

描述项

说明

用例名称

课程安排操作

用例描述

管理员在正确登录后台管理系统后,对课程安排模块进行管理操作

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入课程安排管理页面,查询课程安排的信息

(2)管理员可以对课程安排进行增加、删除和编辑课程安排操作

(3)管理员新增课程安排材,添加成功跳转到查询页面

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1学生选课管理用例描述

描述项

说明

用例名称

学生选课操作

用例描述

管理员在正确登录后台管理系统后,对学生选课模块进行管理操作

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入学生选课管理页面,查询学生选课的信息

(2)管理员可以对学生选课进行增加、删除和编辑学生选课操作

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1课程签到管理用例描述

描述项

说明

用例名称

课程签到操作

用例描述

管理员在正确登录后台管理系统后,对课程签到模块进行管理操作

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入课程签到管理页面,查询课程签到的信息

(2)管理员可以对课程签到进行增加、删除和编辑课程签到操作

异常事件流

e1.报500错误

e2.数据库连接异常

表3-1 通知公告管理用例描述

用例名称

通知公告管理

参与者

管理者

描述

管理者提供新增、修改、删除、查阅等功能

前置条件

  1. 管理者成功登录系统
  2. 管理者只能对已存在的通知公告进行修改和删除

后置条件

事件流

(1)管理者查看修改通知公告

(2)管理者添加通知公告

(3)管理者删除通知公告

补充说明

(a)新添加的通知公告不符合要求时会添加失败

(b)修改的通知公告不符合要求时会修改失败

表3-1意见反馈管理用例描述

用例名称

意见反馈管理

参与者

管理者

描述

管理者提供新增、修改、删除、查阅等功能

前置条件

  1. 管理者成功登录系统
  2. 管理者只能对已存在的意见反馈进行修改和删除

后置条件

事件流

(1)管理者查看修改意见反馈

(2)管理者添加意见反馈

(3)管理者删除意见反馈

补充说明

(a)新添加的意见反馈不符合要求时会添加失败

(b)修改的意见反馈不符合要求时会修改失败

3.3系统性能需求

(1)友好界面:系统需要具有用户友好的界面设计,使用户能够轻松地浏览和操作系统。清晰、直观的布局、易于理解的导航和操作流程,以及合适的字体、颜色和图标等元素都是创建友好界面的重要因素。

(2)稳定性要求:系统需要保持稳定运行,避免出现崩溃或数据丢失等问题。稳定性要求包括系统的可靠性、容错性和高可用性。系统应该能够处理并恢复各种异常情况,确保在任何时间点都能够正常运行。

(3)可扩展性:学生在校考勤管理系统需要具备良好的可扩展性,能够满足未来的发展需求。随着用户数量和数据量的增加,系统应该能够扩展以支持更多的用户和处理更大规模的数据。这可以通过合理的架构设计、模块化的组织和灵活的配置实现。

(4)满足需求:系统需要满足用户的需求,并提供所需的功能和服务。这包括对课程安排管理、学生选课管理、课程签到管理、出勤信息管理等功能。系统应该能够高效地处理用户的请求,并提供准确、实时的信息反馈。

第4章 系统设计

4.1总体结构设计

层次框图是由多个层级的矩形框架组成的树形结构,其中顶部表示整个数据结构,下方的长方形表示独立的数据单元。这种精简的架构可以清晰地描述数据结构,并满足需求分析的要求。首先对顶层信息进行分类,然后在每个路径上不断优化,直至确定完整的数据结构。

该系统由三个模块组成:管理员、学生用户和教师用户。尽管这些模块看起来是独立的,但实际上它们通过数据库连接在一起。每个模块都具有特定的权限,唯一的区别在于访问方式的不同。通过对调研资料进行分析,完成了各个模块的功能定义。基于对这些功能的分析,本系统提出了三个主要模块,每个模块可以进一步划分为若干个子模块。

系统的功能结构图如下图所示。

图4-2 系统功能结构图

4.2功能模块设计

学生在校考勤管理系统在前端设计采用多种技术交互使用达到界面简洁大方,使用Java作为系统的编译语言,对于之前的分析所产生的问题进行解决,功能模块设计后进行编码实现具体功能:

登录模块: 用户必须输入正确的账号和密码才能成功登录系统,确保安全访问。

出勤信息管理模块: 授权用户具有相关权限,可执行出勤信息的查询、修改、删除操作,同时对课程名称、课程编号等数据项进行独立操作,设置数据类型及其他参数。

课程安排管理模块: 授权用户具备相关权限,可进行课程安排的添加、查询、修改、删除操作,同时对课程编号、课程名称等数据项进行单独操作,设置数据类型等参数。

4.3数据库设计

4.3.1概念设计

在需求分析中,我们用来分析的对象往往是抽象的概念,所以在这个环节应当避免过于细致的细节分析,而是通过这些抽象的概念来分析实体所具备的属性和实体之间的联系。学生在校考勤管理系统利用E-R图对上述实体和联系进行描述。

图4-3 学生用户信息E-R关系图

图4-4 学生选课信息E-R关系图

图4-5课程安排信息E-R关系图

图4-6 教师用户信息E-R关系图

总体ER图如下图所示。

图4-8 总体ER图

4.3.2逻辑设计

所有系统的应用数据相互区分。一旦在相应的系统中实现,它们将与自己相应的网络和服务器通信。所以这个系统可以连接这些数据。当我们选择桥梁截面时,以下将简要介绍如何建立系统。在单击上一个按键的时候,就会自动在对话框中弹出数据源的名字,之后再单击下一个按键时,就在填写相对应的身份验证和登录信息。按照系统功能设计的特点与职能模块的分类,学生在校考勤管理系统的总体设计和实施过程一共涉及到了几个资料表格。

以下就介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:

表attendance_information (出勤信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

attendance_information_id

int

10

0

N

Y

出勤信息ID

2

course_id

varchar

64

0

Y

N

课程编号

3

course_name

varchar

64

0

Y

N

课程名称

4

teacher

int

10

0

Y

N

0

任课教师

5

student

int

10

0

Y

N

0

学生

6

name

varchar

64

0

Y

N

姓名

7

normal_check_in

int

10

0

Y

N

0

签到正常

8

late_arrivals

int

10

0

Y

N

0

迟到数

9

absenteeism_count

int

10

0

Y

N

0

缺勤数

10

please_take_a_leave_of_absence

int

10

0

Y

N

0

请假数

11

attendance_notes

text

65535

0

Y

N

考勤备注

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表course_arrangement (课程安排)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

course_arrangement_id

int

10

0

N

Y

课程安排ID

2

course_id

varchar

64

0

Y

N

课程编号

3

course_name

varchar

64

0

Y

N

课程名称

4

teacher

int

10

0

Y

N

0

任课教师

5

course_quota

int

10

0

Y

N

0

课程名额

6

remaining_quota

int

10

0

Y

N

0

剩余名额

7

school_year

varchar

64

0

Y

N

学年

8

class_time

varchar

64

0

Y

N

上课时间

9

class_location

varchar

64

0

Y

N

上课地点

10

course_introduction

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

更新时间

表course_check_in (课程签到)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

course_check_in_id

int

10

0

N

Y

课程签到ID

2

course_id

varchar

64

0

Y

N

课程编号

3

course_name

varchar

64

0

Y

N

课程名称

4

teacher

int

10

0

Y

N

0

任课教师

5

student

int

10

0

Y

N

0

学生

6

sign_in_name

varchar

64

0

Y

N

签到名称

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表feedback (意见反馈)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

feedback_id

int

10

0

N

Y

意见反馈ID

2

feedback_to_users

int

10

0

Y

N

0

反馈用户

3

theme

varchar

64

0

Y

N

主题

4

related_pictures

varchar

255

0

Y

N

相关图片

5

feedback_content

text

65535

0

Y

N

反馈内容

6

examine_state

varchar

16

0

N

N

未审核

审核状态

7

examine_reply

varchar

16

0

Y

N

审核回复

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表notification_announcement (通知公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notification_announcement_id

int

10

0

N

Y

通知公告ID

2

announcement_title

varchar

64

0

Y

N

公告标题

3

publisher

varchar

64

0

Y

N

发布人

4

release_time

datetime

19

0

Y

N

发布时间

5

announcement_type

varchar

64

0

Y

N

公告类型

6

announcement_content

text

65535

0

Y

N

公告内容

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表student_course_selection (学生选课)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_course_selection_id

int

10

0

N

Y

学生选课ID

2

course_id

varchar

64

0

Y

N

课程编号

3

course_name

varchar

64

0

Y

N

课程名称

4

teacher

int

10

0

Y

N

0

任课教师

5

school_year

varchar

64

0

Y

N

学年

6

student

int

10

0

Y

N

0

学生

7

name

varchar

64

0

Y

N

姓名

8

class_name

varchar

64

0

Y

N

班级名称

9

number_of_course_selections

varchar

64

0

N

N

选课人数

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表student_users (学生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_users_id

int

10

0

N

Y

学生用户ID

2

student_id

varchar

64

0

Y

N

学号

3

name

varchar

64

0

Y

N

姓名

4

gender

varchar

64

0

Y

N

性别

5

contact_information

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

更新时间

表teacher_users (教师用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_users_id

int

10

0

N

Y

教师用户ID

2

teacher_id

varchar

64

0

Y

N

教师工号

3

teachers_name

varchar

64

0

Y

N

教师姓名

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

第5章 系统实现

5.1登录模块的实现

用户登录验证不再仅限于匹配登录信息和权限,而是引入验证码作为额外验证要素,只有在界面上所有编辑框的数据准确无误的情况下才能成功登录。管理员和前台用户的登录流程是相同的,主要依靠权限字段来识别用户或管理员的角色。

用户登录流程图如下所示。

图5-1 用户登录流程图

登录界面如下图所示。

图5-1 登录界面

登录关键代码如下所示。

5.2学生模块的实现

5.2.1课程安排模块的实现

学生点击“课程安排”按钮,可以对课程编号、课程名称、任课教师、课程名额、学年、上课时间等信息进行选课、查询、修改操作。

课程安排界面如图所示。

图5-1 课程安排界面

5.2.2学生选课模块的实现

学生点击“学生选课”按钮,可以对课程编号、课程名称、任课教师、学年、学生、姓名、班级名称等信息进行签到、查询、修改等操作。

学生选课界面如下图所示。

图5-1 学生选课界面

5.2.3课程签到模块的实现

学生在“课程签到”界面能够对课程签到信息进行管理,可以进行查询、修改等操作。

课程签到界面如图所示。

图5-1 课程签到界面

5.3后台模块的实现

5.3.1用户管理模块的实现

用户需要先注册才能获得登录权限。当选择“学生用户”选项时,系统会自动跳转至用户注册界面,并触发“add”函数。用户需在指定的文本框中填写相关基础信息,确认后即可完成注册。注册完成后,用户可以使用检索工具栏填写相应的用户信息,系统将显示该用户的所有相关信息。

用户管理流程图如下所示。

图5-1 用户管理流程图

用户管理界面如下图所示。

图5-1 用户管理界面

用户管理关键代码如下所示。

 @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

    }

5.3.2课程签到模块的实现

管理员具有课程安排管理权限,可以执行添加、查看、编辑和删除等操作。单击“添加课程安排”按钮可进入课程安排添加界面,填写详细信息和注释。管理员还可以通过单击字段级别链接查看所选字段的信息。确认后,单击“提交”按钮将返回添加页面。添加成功后的信息将显示在课程安排查询列表中,管理员可以对其进行编辑和修改。

课程安排管理流程如下图所示。

图5-1 课程安排管理流程

课程安排管理界面如下图所示。

图5-1 课程安排管理界面

课程安排管理关键代码如下:

 @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);

        }

}

5.3.3课程签到管理模块的实现

在主页左侧菜单栏点击“课程签到管理”按钮,再从二级目录中选择“查询课程签到”,进入查询课程签到界面。在该界面,可以查询当前所有课程签到记录。

课程签到管理流程如下图所示。

图5-1 课程签到管理流程

课程签到管理界面如所示。

图5-1 课程签到管理界面

课程签到管理关键代码如下所示。

 @RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

    }

5.3.4出勤信息管理模块的实现

出勤信息管理功能包括删除、修改和查询出勤信息等操作。以查询出勤信息为例,当在视图层请求出勤信息查询后,系统会返回反馈,随后调用业务逻辑层。通过业务逻辑层的接口调用底层数据逻辑层完成数据库联动操作。

出勤信息管理的流程如所示。

图5-1出勤信息管理流程

出勤信息管理界面如所示。

图5-1 出勤信息管理界面

出勤信息管理关键代码如下:

@RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

5.3.5通知公告管理模块的实现

点击“通知公告”这个菜单,可以查看到系统中所有添加的通知公告信息,支持通过标题对通知公告信息进行查询,只有管理员用户可以添加新的通知公告,点击“添加”按钮,根据提示输入通知公告信息,点击“提交”按钮,新的通知公告信息就在系统中显示出来了,也可以对添加的通知公告信息进行删除。

通知公告管理界面如下图所示。

图5-1 通知公告管理界面

第6章 系统测试

6.1测试方法

系统的测试方面有两种,一种是黑盒测试,另一种则为白盒测试,黑盒测试通俗来说就是功能方面的测试,我们也称之为需求测试,在黑盒测试的过程中,我们是不知道其开发原理的,只是作为一名使用者对系统进行测试,我们主要是凭借之前的测试经验,取一些临界值,然后通过测试用例来对其进行测试,这种测试方法是最快的查找问题方法,其次我们可以找一些具有代表性的数据,对系统进行用例测试,在黑盒测试的过程中常用的测试工具是winrunner和AutoRunner;白盒测试我们称之为结果测试,也就是逻辑驱动测试,在白盒测试的过程中,我们主要是根据系统开发的原理进行测试的,主要是以开发者的身份去测试这个代码是不是完成了其具体的功能,实现的具体路径对不对,当然这种测试方法是费时费力的,因为每个功能,他的运行路径不止一条,通过对程序当中运行的路径进行测试,检测开发的代码是不是存在bug,有没有实现预期,在白盒测试的过程中常用的测试工具为Jcontract、C++ Test以及CodeWizard等。

6.2测试用例

登录模块的功能测试:

6.1 登录模块功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

登录模块测试

登录成功的情况

使用者可以通过浏览器进入到学生在校考勤管理系统登录界面,输入用户名:admin和密码admin,完成滑动拼图验证后,点击“登录”按钮。

成功登录到管理员管理的界面

正确

登录模块测试

登录失败的情况

使用者可以通过浏览器进入到学生在校考勤管理系统登录界面,输入用户名:admin和密码111,完成滑动拼图验证后,点击“登录”按钮。

系统提示“用户名和密码不匹配”

正确

学生信息添加功能测试:

6.2 学生信息添加功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

 学生添加模块测试

学生添加成功的情况

管理员在“系统用户”菜单中点击“学生用户”会显示出所有的学生信息,点击“添加”按钮,输入账号、密码、昵称、手机号码、邮箱等,输入正确的信息后,点击“提交”按钮。

提示添加成功

正确

学生添加模块测试

学生添加失败的情况

管理员在“系统用户”菜单中点击“学生用户”会显示出所有的学生信息,点击“添加”按钮,不输入账号,其他信息正常填写后,点击“提交”按钮。

提示“添加失败,账号不能为空”

正确

查询出勤信息功能模块测试:

6.3 查询出勤信息功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

查询出勤信息功能测试

查询成功的情况

学生在菜单栏中点击“出勤信息”,然后互出现自己的出勤信息

查询成功

正确

课程安排添加功能模块测试:

6.4 添加课程安排功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

 课程安排添加模块测试

课程安排添加成功的情况

管理员点击“课程安排”会显示出所有的教师用户的课程安排,点击“添加”按钮,选择课程安排,输入课程编号,输入正确的信息后,点击“提交”按钮。

提示添加成功

正确

课程安排添加模块测试

课程安排添加失败的情况

管理员点击“课程安排”会显示出所有用户的课程安排,点击“添加”按钮,不选择课程编号,其他信息正常填写后,点击“提交”按钮。

提示“添加失败,教师用户不能为空”

正确

6.3测试结果

在本章节对学生在校考勤管理系统进行了黑白盒测试,并对系统中的部分功能进行了用例分析,能够发现系统还是比较稳定的,系统的所有功能基本可以实现,能够满足管理员和用户对出勤信息的查询、管理的需求。通过测试可以看出在系统的运行过程中,其功能完整,对于输入的错误信息,能够把错误信息提示出来,方便用户操作的时候发现自己输入的信息哪里有错误,进而进行改正,而且系统界面都设有导航栏,操作非常便捷,不需要对使用者进行任何培训,对于企业来说是一个很有价值的系统。

总结与展望

学生在校考勤管理系统采用SSM框架开发,系统集成了成熟、强大且易于理解和使用的优点,降低了开发难度。该系统实现了基于SSM的学生在校考勤管理系统,将数据操作维护过程转化为电脑操作流程,包括系统用户、通知公告数据、出勤信息数据、课程安排数据和意见反馈数据的维护。这帮助用户简化数据操作流程,提高工作效率和盈利能力。

目前完成的学生在校考勤管理系统还有许多改进空间。首先是功能方面,用户应具备修改个人信息的功能,因此应增加个人中心功能。另外,增加更多功能将使系统更加丰富多样,如数据分析和未来预测等功能。其次是技术方面的改进,由于对开发框架不够熟悉,系统采用Java页面来管理权限部分,这种方式相对不够灵活。将URL路径记录到数据库并实现增删查改会更好。另外,需要提高对EasyUI的熟练程度,改善视觉效果和用户界面体验。希望未来能对系统进行改进并提升用户体验。

参考文献

[1]庄广壬,陈建生,冼永乐等. 基于SSM框架的Restful服务开发方法与装置[P]. 广东省: CN112748908B, 2024-02-27.

[2]袁爱平,陈畅,孙士兵等. 基于SSM框架的高校学生信息管理系统设计与实现 [J]. 工业控制计算机, 2023, 36 (12): 127-129.

[3]刘方磊. 基于SSM框架的旅游大数据分析系统设计与实现 [J]. 中国新技术新产品, 2023, (21): 22-25.

[4]唐琳. 基于人脸识别技术的学生课堂考勤管理系统的设计与实现 [J]. 数字技术与应用, 2023, 41 (09): 208-210.

[5]李亚君. 基于SSM框架的B2C电子商城系统的设计与实现[D]. 合肥工业大学, 2022.

[6]郝佳晶. 基于WebGIS的学生考勤管理系统设计与实现 [J]. 山西电子技术, 2022, (05): 59-61.

[7]齐宁. 高等职业院校学生课堂考勤管理系统的设计与功能分析 [J]. 电子技术与软件工程, 2022, (12): 255-258.

[8]黄思棉. 基于ACCESS和VBA学生考勤管理系统的开发与实践 [J]. 河北软件职业技术学院学报, 2021, 23 (03): 5-9.

[9]周欢,焦涛. 基于主动式二维码+LBS技术的学生考勤管理系统应用研究 [J]. 无线互联科技, 2021, 18 (10): 101-104.

[10]Kline K . The Java Language Extension for SQL Server Is Now Open Source [J]. Database Trends and Applications, 2020, 34 (4): 31-31.

[11]Spegni F ,Spalazzi L ,Liva G , et al. Verifying temporal specifications of Java programs [J]. Software Quality Journal, 2020, 28 (2): 1-50.

[12]Xin H ,Chaobing Y . Development and application of JAVA language development test evaluation system software [J]. Journal of Computational Methods in Sciences and Engineering, 2020, 20 (4): 1-12.

[13]杨哲慜. Java语言的程序漏洞检测与诊断技术[D]. 复旦大学, 2019.

致  谢

在完成本论文之际,我要衷心感谢我的指导老师。在指导老师的网页设计课上,我学到了许多知识,这不仅对我的实习经历打下了良好基础,也在我的设计过程中提供了宝贵的帮助。指导老师给予我许多设计建议,并耐心指导我改进设计细节,分享了写论文的心得,时刻鼓励我前行。同时,我要感谢教导我完善项目前端的同学。在学习过程中,我边学边做,在开始阶段遇到许多困惑,但前端开发同学给予了我耐心的指导,帮助我顺利完成项目。在后端开发过程中,我也得到了同学们的帮助和技术讲解,使我能更好地完成论文。衷心感谢那些帮助过我的同学和一直指导教导我的老师们,祝愿大家事业蒸蒸日上。

点赞+收藏+关注  →私信领取本源代码、数据库

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值