基于springboot在线学籍管理系统

基于springboot在线学籍管理系统

摘 要

对在线学籍管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的在线学籍管理系统。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员、教师和学生三种角色,主要包含系统首页、个人中心、学生管理、教师管理、院校管理、专业管理、班级信息管理、课程信息管理、学生成绩管理、学生学籍管理等功能。

系统开发主要在 Windows 系统下进行,采用支持跨平台的java语言开发完成,因此可以运行在任意开发环境下。系统采用mysql数据库和B/S结构的方式,按照springboot框架进行开发。

**关键词:**在线学籍; B/S结构; MySQL

目 录

第一章 绪 论 1

1.1研究背景 1

1.2系统研究现状 1

1.3 研究意义 2

第二章 开发工具和开发技术 3

2.1开发工具 3

2.2 开发技术 3

2.2.1 Java语言 3

2.2.2 Spring Boot框架 3

2.2.3 MySQL数据库技术 4

2.2.4 B/S架构 5

第三章 需求分析 6

3.1 需求描述 6

3.2 系统角色需求分析 6

3.3 系统功能需求分析 6

3.4 非功能性需求分析 9

3.4.1 先进性 9

3.4.2 安全性 9

3.4.3 易用性 9

3.4.4 可扩展性 10

3.4.5 可修改性 10

3.5 系统流程分析 10

3.5.1 登录流程 10

3.5.2 添加信息流程 10

3.5.3 删除流程 11

3.6本章小结 12

第四章 系统设计 13

4.1系统总体设计 13

4.2数据库设计 13

4.2.1 数据库逻辑设计 13

4.2.2数据库表设计 15

4.3本章小结 19

第五章 详细设计与实现 20

5.1管理员模块实现 20

5.2教师模块实现 24

5.3学生模块实现 26

5.4本章小结 27

第六章 系统测试 28

6.1 测试目的 28

6.2 测试用例 28

6.3 本章小结 29

结 论 30

参考文献 31

.致 谢 32

第一章 绪 论

1.1研究背景

近年来互联网技术飞速发展,给人们的生活带来了极大便利,也改变人们的生活方式,互联网拥有存储量大、可靠性高、使用方便等不可替代的优点,也正在逐步取代传统的信息管理模式[1]。由代码编程实现的各种管理工具和系统替代传统的人工操作,不但提升了可靠性还降低了人力成本,节省了时间,提升了工作效率。全球视域下信息技术逐步渗透到各个领域,多样化的数据信息为在线学籍管理带来了深刻变革,打破了传统的方式与载体,在线学籍管理的事务性工作面临新形势和新挑战[2]。

计算机技术快速发展的同时也促进信息化发展。当下在线学籍管理规模不断扩大,新型管理模式也正逐步推进,推动其信息化发展可以为其改革、进步提供保障。信息技术的改革已成为必然方向,管理人员应该抓住时代的机遇,与时俱进[3]。通过这种方式可以提升在线学籍管理工作的效率,促进新举措的实施,加速改革进程,改善管理服务能力。

在线学籍管理系统作为信息化建设的重要一环,在线学籍管理系统的开发与实现,能够使管理者的工作开展得更加有序。

1.2系统研究现状

我国信息技术虽然起步较晚,但发展速度迅猛,如今已经跻身世界信息大国的行列。现在我们的生活离不开信息技术,人们可以利用计算机、互联网进行网上购物、视频学习、互动交流,信息技术已经渗透到我们的生活中,随着计算机技术、网络技术的迅速发展,研究并实现在线学籍管理系统是现代理论和科学技术相结合的产物[4]。国内信息化发展趋势越来越快,我国信息化建设也随之迅速发展,通过信息系统对大量复杂数据进行管理代替传统人工管理,很大程度的提升管理效率。目前在线学籍管理系统基本实现了应用网络进行管理,使用各种技术、实现各种不同附加功能的管理系统数量众多。但随着近年来互联网技术的不断完善和更新,一些不适应当代信息化发展的技术正在被淘汰,而采用老旧技术实现的系统将出现维护困难的境况。因此符合现在社会发展的系统开发十分必要,在线学籍管理系统的设计和开发仍然有很大的进步空间。

国外部分发达国家的信息技术起步较早,以技术为基础引领的各行各业的变革产生时间也较早。信息化的理念由世界知名的美国麻省理工学院提出,接下来的三四十年随着网络技术的飞速发展,终于在全美形成了一系列非常完善成熟的信息化平台,自此美国国内大部分都实现了管理信息化[5]。虽然存在教育制度存在不同,但由于美国信息化管理的起步时间早,积累经验多,有关在线学籍管理系统的研究技术经验仍然值得世界学习。

1.3 研究意义

各行各业对互联网的运用正经历着质变,从技术支撑者的技术建构与技术运用转向产业需要为起点,通过重新构建在线学籍管理系统,实现制度上的发展变革[7][7]。本文将设计一个根据整理、归纳后进行精简的在线学籍管理系统。使用采取稳定、可靠且易于维护的开发技术进行系统的实现。系统可以直观、高效、便捷地实现对各个在线学籍进行管理,使工作人员有针对地安排和管理在线学籍,建立统一的在线学籍管理系统。

第二章 开发工具和开发技术

2.1开发工具

本系统开发使用到的工具包括Tomcat,MySQL和Vision,下边对它们进行简单的介绍。

(1)Tomcat;Java Web应用程序开发中常用的应用服务器,我们可以将自己开发好的项目部署到Tomcat中进行运行测试,重点是Tomcat体积很小,不需要复杂的安装和配置,下载之后可以直接使用,非常方便。

(2)MySQL数据库;一种项目开发中常用的关系型数据库,因为体积小、开源、免费、简单易学、安装简单等特点[8],深受开发人员的喜爱,是大多数互联网公司的首选。将系统中的数据统一存储到这个数据库中,然后借助程序将这些数据读取出来,显示在页面上。

(3)Vision;Office办公组件之一,安装之后,可以用来绘制相应的图形,帮助我们更好的理解系统的情况,建立对系统清晰的认识,是开发中最常使用的建模工具。

2.2 开发技术

本系统在后台使用Java语言实现跨平台的处理,以B/S的结构方式以及springboot框架进行开发,数据库使用MySQL。

2.2.1 Java语言

Java 语言是一门受众很广的语言,来自SunMicrosystems公司,Java可运行在很多平台,相较于C++语言,不仅吸收了C++很多优点,还摈弃了里面许多晦涩难懂的概念,Java的优点很多,可面向对象开发,平台多样性以及可移植性很高,目前市面上很多大型网站项目都使用Java编写,由此可知Java的受欢迎程度很高。

2.2.2 Spring Boot框架

Spring Boot是由Pivota公司的团队在Spring框架的基础上所开发出的一个轻量级应用框架,其设计目的是为了简化使用传统Spring框架开发时初始搭建、配置、开发、测试和部署等复杂的流程,满足快速、敏捷开发的需要[[49]。传统Spring框架开启某些特性或引入第三方依赖时,需要配置大量的XML文件,比较繁琐且非常容易出错。而SpringBoot的理念则是“约定大于配置”,它集成了大量第三方依赖的配置,再配合内部自动装配的机制,仅需在Maven工程的POM文件中添加相关依赖即可实现开箱即用的效果,这使得开发人员更加专注于实现业务逻辑,而不是繁琐的配置。此外,Spring Boot内置了S ervlet容器如Tomcat和Jetty,项目可以直接通过} ar命令在本地启动,无需打包成wa:文件再部署到服务器上,大大减少了测试和部署的成本。目前,Spring Boot己经成为了后端服务器应用开发的主流技术[[50],其特点和优势总结如下:

(1)简化配置,遵循“约定大于配置”的理念,减少了样板代码、注释和XML配置文件的编写。

(2)内置Servlet容器,可在本地独立运行项目,方便测试和部署。

(3)自动装配,可以非常方便地与Spring生态系统中其他框架或第三方依赖集成。

(4)便于快速构建项目,尤其适合构建基于微服务架构的系统。

2.2.3 MySQL数据库技术

数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。IMS也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。

大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。

MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。

选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。

2.2.4 B/S架构

B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作[10]。

B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:

(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间[12]。

(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少[13]。

第三章 需求分析

在软件的命周期中,需求分析是其中关键的一环。需求分析过程中不仅要对系统应该实现的功能提出准确和完善的请求,还要考虑需求的可行性。需求分析对设计和实现一个系统具有决定性的重大意义[11]。只有充分完整的需求分析才能为后续的系统开发过程和实现成果奠定基础。

3.1 需求描述

根据日常实际需要,一方面需要在系统中实现基础信息的管理,同时还需要结合实际情况的需要,提供在线学籍管理功能,方便在线学籍管理工作的展开,综合考虑,本套系统应该满足如下要求:

首先,在系统中需要实现对基础信息,包括登录注册、个人信息修改等信息的管理,这些是系统的基础信息,和系统中其他内容密切相关。

然后,系统中需要实现对管理员、教师和学生的管理,允许管理员对教师和学生信息进行必要的设置,同时要避免管理员对个人信息进行操作,保障教师和学生的信息安全。

3.2 系统角色需求分析

综合在线学籍管理经历和对网上信息归纳整理的结果,在实际应用中,将用户分为三种:管理员、教师和学生三个角色。其中教师和学生可以操作的内容是有限的,管理员可以进行的操作最多。了解系统管理员、教师和学生的分类以及可以进行的操作,对于接下来实现相关的功能具有重要的意义。

3.3 系统功能需求分析

(1)系统的通用功能包括用户登录和密码修改,是三个角色共同需要使用的功能,用例分析如图3-1所示。
在这里插入图片描述

图3-1系统通用功能用例分析图

(2)管理员可以对系统首页、个人中心、学生管理、教师管理、院校管理、专业管理、班级信息管理、课程信息管理、学生成绩管理、学生学籍管理等进行基本的信息管理。其用例分析如图3-2所示。
在这里插入图片描述

图3-2管理员用例图

(3) 教师可以实现对注册登录、首页、个人中心、班级信息管理、课程信息管理、学生成绩管理、学生学籍管理等信息进行操作,用例分析如图3-3所示。
在这里插入图片描述

图3-3教师用例图

(4) 学生可以实现对注册登录、首页、个人中心、课程信息管理、学生成绩管理等信息进行操作,用例分析如图3-4所示。
在这里插入图片描述

图3-4学生用例图

3.4 非功能性需求分析

在系统的需求分析中除了保证系统功能需求分析准确完整,还应考虑与其相辅相成的各种其他因素,这样才能确保系统后续设计能够更加完善、清晰,确保系统实现后的有较高的使用价值。

3.4.1 先进性

为保证系统的先进性开发过程中应尽量使用先进的软件开发技术、设计方法、体系架构,符合当下的应用需求和保证性能可靠。

3.4.2 安全性

本系统中涉及三种用户角色,根据管理员、教师和学生角色类型合理划分其页面访问权限。系统允许管理员对教师和学生进行必要的设置,同时要避免管理员对个人重要信息进行操作,保障教师和学生的信息安全。

3.4.3 易用性

系统使用方便、界面友好是提高用户使用体验的重要因素。系统实现其主体功能同时,界面设计要简洁大方、使用方便、美观清晰。系统的每一项反馈都要逻辑严密,弹窗信息也是简洁明了[12]。

3.4.4 可扩展性

可扩展性要求软件的设计要留有可升级接口和升级空间,便于今后根据新的模式需求进行功能的拓展。

3.4.5 可修改性

可修改性要求使用科学的方法设计软件,形成良好的结构和完备的文档[13]。它的前提要保证系统设计逻辑清晰,软件结构简单明了,代码编写过程中有良好的注释习惯,便于后续对系统性能进行调整。

3.5 系统流程分析

3.5.1 登录流程

每个用户都有专属的密码和账号,在输入合法的账号和密码之后即可进入系统。登录流程如图3-5所示:

在这里插入图片描述

图3-5登录流程图

3.5.2 添加信息流程

管理层人员有添加信息功能。添加信息流程如图3-6所示:
在这里插入图片描述

图3-6 添加信息流程图

3.5.3 删除流程

用户可以选择把自己发布的信息删掉,选择要删除的信息确认之后,删除信息的操作就完成了。删除信息流程图如图3-7所示。
在这里插入图片描述

图3-7 删除信息流程图

3.6本章小结

本章首先对整个系统进行了详细的需求描述,然后按照这些要求对系统的角色和功能进行了详细的分析,并对这些要求进行了详细的说明。同时为保证需求分析的全面性,还对系统的一些非功能性需求进行描述和对系统流程进行分析,为以后的系统的开发提供了一个比较完善的参考依据。

第四章 系统设计

4.1系统总体设计

在线学籍管理系统的建设可以为在线学籍管理提供帮助,通过对一些基础信息管理实现针对性的安排,可以按照用户的角色权限使不同用户角色看到不一样的信息界面。现根据需求阶段的分析,我们可以大致确定系统需要包含的功能如下图所示:

系统总体结构图如下,见图4-1。
在这里插入图片描述

图4-1系统总体结构图

4.2数据库设计

数据库能直观反映表现系统的需求,数据库的设计能否切实符合系统的需求关系到整个系统最终的呈现结果。通过之前的分析梳理,明确了系统中需要包含的功能和要求。系统中除了涉及对数据库的增加、删除、查寻、修改的基础操作较多,还要理清实体间的对应关系,据此完成表结构的设计与实现。

4.2.1 数据库逻辑设计

为了更直观阐明数据库的设计,使用 Vision 绘制的在线学籍管理系统数据模型E-R实体属性图。根据系统需求设计了以下几个主要实体。

课程信息实体属性图,如图4-2所示。
在这里插入图片描述

图4-2课程信息实体属性图

班级信息实体属性图,如图4-3所示。
在这里插入图片描述

图4-3班级信息实体属性图

学生学籍实体属性图,如图4-4所示。
在这里插入图片描述

图4-4学生学籍实体属性图

学生成绩实体属性图,如图4-5所示。
在这里插入图片描述

图4-5学生成绩实体属性图

4.2.2数据库表设计

在关系数据E-R图中,分析并创建数据表,数据表用来记录信息,数据表关系由多个数据表组成,下面介绍的是数据表各个字段信息如下表所示。

表4-1:token表

字段名称类型长度字段说明主键默认值
idbigint主键主键
useridbigint用户id
usernamevarchar100用户名
tablenamevarchar100表名
rolevarchar100角色
tokenvarchar200密码
addtimetimestamp新增时间CURRENT_TIMESTAMP
expiratedtimetimestamp过期时间CURRENT_TIMESTAMP

表4-2:课程信息

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
kechengmingchengvarchar200课程名称
fengmianlongtext4294967295封面
keshivarchar200课时
banjivarchar200班级
zhuanyevarchar200专业
shangkedidianvarchar200上课地点
shangkeshijianlongtext4294967295上课时间
xueqivarchar200学期
nianxianvarchar200年限
kechengxiangqinglongtext4294967295课程详情
jiaoshigonghaovarchar200教师工号
jiaoshixingmingvarchar200教师姓名

表4-3:教师

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
jiaoshigonghaovarchar200教师工号
mimavarchar200密码
touxianglongtext4294967295头像
jiaoshixingmingvarchar200教师姓名
xingbievarchar200性别
lianxidianhuavarchar200联系电话
youxiangvarchar200邮箱

表4-4:配置文件

字段名称类型长度字段说明主键默认值
idbigint主键主键
namevarchar100配置参数名称
valuevarchar100配置参数值

表4-5:班级信息

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
banjimingchengvarchar200班级名称
banjirenshuvarchar200班级人数
yuanxiaovarchar200院校
zhuanyevarchar200专业
jiaoshigonghaovarchar200教师工号
jiaoshixingmingvarchar200教师姓名

表4-6:专业

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
zhuanyevarchar200专业

表4-7:院校

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
yuanxiaovarchar200院校

表4-8:学生学籍

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
xuehaovarchar200学号
xueshengxingmingvarchar200学生姓名
xingbievarchar200性别
banjivarchar200班级
zhuanyevarchar200专业
shoujihaomavarchar200手机号码
zhuzhivarchar200住址
jiguanvarchar200籍贯
zhengzhimianmaovarchar200政治面貌
ruxueriqidate入学日期
danganwenjianlongtext4294967295档案文件
gerenjianjielongtext4294967295个人简介
jiaoshigonghaovarchar200教师工号

表4-9:学生成绩

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
kechengmingchengvarchar200课程名称
xueqivarchar200学期
nianxianvarchar200年限
chengjifloat成绩
xuehaovarchar200学号
xueshengxingmingvarchar200学生姓名
jiaoshigonghaovarchar200教师工号
jiaoshixingmingvarchar200教师姓名

表4-10:学生

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
xuehaovarchar200学号
mimavarchar200密码
xueshengxingmingvarchar200学生姓名
touxianglongtext4294967295头像
xingbievarchar200性别
shoujihaomavarchar200手机号码
jiguanvarchar200籍贯
zhuzhivarchar200住址
banjivarchar200班级
zhuanyevarchar200专业

表4-11:用户表

字段名称类型长度字段说明主键默认值
idbigint主键主键
usernamevarchar100用户名
passwordvarchar100密码
rolevarchar100角色管理员
addtimetimestamp新增时间CURRENT_TIMESTAMP

4.3本章小结

这一章着重介绍了整个系统的设计流程。确定了系统的功能结构,并在此基础上完成了数据库的设计。

第五章 详细设计与实现

系统用户登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图5-1所示。

在这里插入图片描述

图5-1系统登录界面

5.1管理员模块实现

管理员进入主页面,主要功能包括对首页、个人中心、学生管理、教师管理、院校管理、专业管理、班级信息管理、课程信息管理、学生成绩管理、学生学籍管理等进行相应操作。管理员主页面如图5-2所示:

在这里插入图片描述

图5-2管理员主界面

管理员点击学生管理。在学生页面输入学号和学生姓名进行查询学生列表,并根据需要对学生详情信息进行详情、修改或删除操作;如图5-3所示:

在这里插入图片描述

图5-3学生管理界面

管理员点击教师管理。在教师页面输入教师工号和教师姓名进行查询教师列表,并根据需要对教师详情信息进行详情、修改或删除操作;如图5-4所示:

在这里插入图片描述

图5-4教师管理界面

管理员点击院校管理。在院校页面输入院校进行查询院校列表,并根据需要对院校详情信息进行详情、修改或删除操作;如图5-5所示:

在这里插入图片描述

图5-5院校管理界面

管理员点击专业管理。在专业页面输入专业进行查询专业列表,并根据需要对专业详情信息进行详情、修改或删除操作;如图5-6所示:

在这里插入图片描述

图5-6专业管理界面

管理员点击班级信息管理。在班级信息页面输入班级名称、院校和选择专业进行查询班级信息列表,并根据需要对班级详情信息进行详情、修改或删除操作;如图5-7所示:

在这里插入图片描述

图5-7班级信息管理界面

管理员点击课程信息管理。在课程信息页面输入课程名称、班级和专业进行查询课程信息列表,并根据需要对课程详情信息进行详情、修改或删除操作;如图5-8所示:

在这里插入图片描述

图5-8课程信息管理界面

管理员点击学生成绩管理。在学生成绩页面输入课程名称和学生姓名进行查询学生成绩列表,并根据需要对学生成绩详情信息进行详情、修改或删除操作;如图5-9所示:

在这里插入图片描述

图5-9学生成绩管理界面

管理员点击学生学籍管理。在学生学籍页面输入学号和学生姓名进行查询学生学籍列表,并根据需要对学生学籍详情信息进行详情、修改或删除操作;如图5-10所示:

在这里插入图片描述

图5-10学生学籍管理界面

5.2教师模块实现

教师进入主页面,主要功能包括对首页、个人中心、班级信息管理、课程信息管理、学生成绩管理、学生学籍管理等进行操作。教师主页面如图5-11所示:

在这里插入图片描述

图5-11教师主界面

教师点击班级信息管理。在班级信息页面输入班级名称、院校和选择专业进行查询班级信息列表,并根据需要对班级详情信息进行详情操作;如图5-12所示:

在这里插入图片描述

图5-12班级信息管理界面

教师点击课程信息管理。在课程信息页面输入课程名称、班级和选择专业进行查询或删除课程信息列表,并根据需要对课程详情信息进行详情操作;如图5-13所示:

在这里插入图片描述

图5-13课程信息管理界面

5.3学生模块实现

学生进入主页面,主要功能包括对首页、个人中心、课程信息管理、学生成绩管理等进行操作。学生主页面如图5-14所示:

在这里插入图片描述

图5-14学生主界面

学生点击课程信息管理。在课程信息页面输入课程名称、班级和选择专业进行查询课程信息列表,并根据需要对课程详情信息进行详情操作;如图5-15所示:

在这里插入图片描述

图5-15课程信息管理界面

5.4本章小结

本章主要基于前面系统设计的内容,详细介绍了管理员、教师和学生三个角色对在线学籍管理系统的主要功能界面进行详细介绍和展示。

第六章 系统测试

6.1 测试目的

在在线学籍管理系统正式投入使用前,我们可以通过对在线学籍管理系统的检测,找出其中的问题和不足,并对其进行进一步的修正与完善,从而提高系统的优化水平和整体性能。系统测试是软件开发的必经之路,为系统实现的完整性、系统性能的可靠性提供保障。系统测试主要包括两种方法,一种是检查软件的每一个功能是否能够正常使用的黑盒测试,另一种检测软件编码过程中错误的白盒测试。

首先,本系统采用了白盒测试技术,对代码中出现的问题进行了修正,提高了代码的准确度。由于黑盒测试中使用了大量的测试用例,以下将列举一些主要的黑盒测试用例。

6.2 测试用例

(1)登录测试

登录功能是用户进入系统的校验窗口,其中需要填写的信息包括用户账号和用户密码,下面将根据此功能设计具体测试用例来验证登录功能的实现与否。具体测试用例见表6-1。

表6-1 登录功能测试用例

用例序号用例描述测试步骤期望输出测试结果
Test_01页面展示浏览器输入登录地址进入登录页面成功
Test_02账号非空检验账号为空,点击“登录”按钮提示“用户账号必须输入”成功
Test_03账号存在性检验输入不存在的账号提示“输入的账号不存在”成功
Test_04密码非空检验输入正确的账号,密码为空提示“用户密码必须输入”成功
Test_05密码正确性检验输入正确的账号和不正确的密码提示“输入的密码错误”成功
Test_06登录成功检验输入正确的账号和密码登录成功,进入首页成功

(2)修改密码测试

更改密码功能需要用户输入原始密码、修改后的密码、修改后的确认密码,方可更换密码。具体测试用例见表6-2。

表6-2 修改密码测试用例

用例序号用例描述测试步骤期望输出测试结果
Test_01页面跳转点击“密码修改”按钮进入密码修改页面成功
Test_02原始密码非空检验原始密码为空,点击“提交”按钮提示“原始密码必须输入”成功
Test_03原始密码正确性检验输入错误原始密码提示“原始密码输入错误”成功
Test_04修改密码非空检验输入正确的原始密码,修改密码为空,点击“提交”按钮提示“修改密码必须输入”成功
Test_05确认密码非空检验输入正确的原始密码,修改密码非空,确认密码为空,点击“提交”按钮提示“确认密码必须输入”成功
Test_06两次新密码输入一致性检验输入正确的原始密码,修改密码非空,确认密码与修改密码不一致,点击“提交”按钮提示“两次密码输入不一致”成功
Test_07修改成功检验输入正确的原始密码,修改密码非空,确认密码与修改密码一致,点击“提交”按钮提示“处理成功”成功

6.3 本章小结

本章主要内容为系统测试,列举部分黑盒测试的测试用例。结果发现系统基本实现了设计需求的大部分功能,未发现系统运行过程中出现异常,数据加载符合最初设想,系统测试通过,基本实现初始的设计目的。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147463.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始一个git操作实例,图文并茂

徒弟不懂git怎么用, 于是写了篇文章, 把本地git操作从头写了一遍, 自己去看吧! 0、基本概念 •Git是一个免费、开源的、分布式版本控制系统 •它使用一个特殊的叫做仓库的数据库来记录文件的变化 •仓库中的每个文件都有一个…

【网络】TCP协议的简单使用

目录 echo_service server 单进程单线程 多进程 多线程 线程池 client echo_service_code echo_service 还是跟之前UDP一样,我们先通过实际的代码来实现一些小功能,简单的来使用TCP协议进行简单的通信,话不多说,我们先实现…

Redis面试真题总结(四)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ AOF 持久化? AOF(Append Only File&#x…

Selenium4.0实现自动搜索功能

01.Selenium4.0实现搜索功能 1.安装Selenium及查看Selenium版本 pip install selenium pip show seleniumfrom selenium import webdriver from chromedriver_py import binary_path import time from selenium.webdriver.common.by import By from selenium.webdriver.commo…

智能农业系统——土壤养分运移转化

橙蜂智能公司致力于提供先进的人工智能和物联网解决方案,帮助企业优化运营并实现技术潜能。公司主要服务包括AI数字人、AI翻译、AI知识库、大模型服务等。其核心价值观为创新、客户至上、质量、合作和可持续发展。 橙蜂智农的智慧农业产品涵盖了多方面的功能&#x…

鸿蒙OpenHarmony【轻量系统内核扩展组件(C++支持)】子系统开发

C支持 基本概念 C作为目前使用最广泛的编程语言之一,支持类、封装、重载等特性,是在C语言基础上开发的一种面向对象的编程语言。 运行机制 C代码的识别主要由编译器支持,系统主要对全局对象进行构造函数调用,进行初始化操作。…

H264-NAL

目录 错误日志NAL简介参考资料 错误日志 拉流时存在如下日志,会因为拉流失败导致之后的任务也停止 missing picture in access unit with size 16384 Invalid NAL unit size Error splitting the input into NAL units. 之后只要设置抓取异常后,重新拉流&#xff…

zabbix email 告警

配置媒介、触发器动作(动作、操作) 为用户 定义媒体,比如电子邮件地址 动作 - 条件

手机在网状态查询接口如何用PHP进行调用?

一、什么是手机在网状态查询接口? 手机在网状态查询接口,即输入手机号码查询手机号在网状态,返回有正常使用、停机、在网但不可用、不在网(销号/未启用/异常)、预销户等多种状态。 二、手机在网状态查询适用哪些场景…

数据结构(7.3_4)——红黑树的定义和性质

红黑树和平衡排序二叉树的查插删时间 平衡二叉树的适用场景&#xff1a;适用以查为主、很少插入/删除vd场景 红黑树&#xff1a;适用于频繁插入、删除的场景&#xff0c;实用性更强 红黑树的考点 红黑树的定义&#xff1a; 红黑树的二叉排序树&#xff1a;左子树结点值<…

EvilScience靶机详解

主机发现 arp-scan -l 得到靶机ip 192.168.229.152 端口扫描 nmap -sV -A -T4 192.168.1.20 这段代码使用 nmap 命令来扫描目标主机 192.168.1.20&#xff0c;并执行以下操作&#xff1a;-sV&#xff1a;探测开放的端口&#xff0c;以确定服务/版本信息。-A&#xff1a;启…

【软件工程】可行性研究

一、目的 二、任务 三、步骤 四、结果&#xff1a;可行性研究报告 例题 选择题

Java基础-零拷贝

文章目录 什么是零拷贝&#xff1f;传统IO执行过程零拷贝的意义零拷贝的主要实现方式实际应用场景零拷贝的优势零拷贝的局限性 Java 中的零拷贝实现FileChannel.transferTo()FileChannel.transferFrom() 相关知识点解释什么是DMA内核空间和用户空间什么是用户态、内核态什么是上…

前端——实现时钟 附带小例子

创建日期对象 toLocaleDateString() 获取日期 console.log(date.toLocaleDateString()) toLocaleTimeString() 获取时间 console.log(date.toLocaleTimeString()) toLocaleString() 获取日期和时间 console.log(date.toLocaleString()) date.getDay() 获取星期几 周日为…

计算机毕业设计选题推荐-基于python+Django的全屋家具定制服务平台

精彩专栏推荐订阅&#xff1a;在下方主页&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、全屋家具定制…

H264参考帧列表管理

P/SP/B帧的参考帧列表的初始化 参考H.264标准文档的8.2.4.2章节&#xff0c;暂不研究场编码。在初始化P/SP帧或B帧的参考帧列表过程中&#xff0c;DPB中至少要存在一个有效的、即被标记为“用于短期或长期参考”的参考帧。 P/SP Slice 参考帧列表初始化 P/SP Slice参考帧列表…

《算法岗面试宝典》正式发布

大家好&#xff0c;历时半年完善&#xff0c;《算法岗面试宝典》 终于可以跟大家见面了。 最近 ChatGPT 爆火&#xff0c;推动了技术圈对大模型算法场景落地的热情&#xff0c;就业市场招聘人数越来越多&#xff0c;算法岗一跃成为竞争难度第一的岗位。 岗位方向 从细分方向…

汽车总线之----CAN总线

Introduction 早期的车辆网络是点对点的模式&#xff0c;臃肿繁杂且效率低下 现在是以总线的模式&#xff0c;很明显线路简洁清爽了很多。 高速CAN可以支持1M/s的速率&#xff0c;低速CAN可以支持125k/s的速率 CAN节点的内部结构图(Structure of CAN-Bus and electronic C…

*C++:list

一.list简介 1. list 是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list 的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素…

redisson 延迟队列实现任务过期监听

一、需求&#xff1a; 任务超过一个小时以后&#xff0c;如果还为待执行状态&#xff0c;则自动转为结束状态。 二、实现: 创建延迟队列的监听任务RedisDelayedQueueListener&#xff0c;消费延迟队列&#xff1b;创建新增延迟队列的类&#xff0c;用于创建延迟队列&#xf…