springcloud高校选课管理系统-计算机毕业设计源码27115

摘 要

随着信息技术的快速发展和高校信息化建设的深入推进,选课管理系统作为高校教育信息化建设的重要组成部分,其重要性和紧迫性日益凸显。传统的选课管理系统往往采用单体架构,存在系统耦合度高、可维护性差、扩展性不强等问题,难以满足高校日益增长的业务需求。因此,基于微服务架构的高校选课管理系统的实现成为当前高校信息化建设的热点和难点问题。

微服务架构是一种将应用程序拆分成一系列小型服务的架构风格,每个服务都运行在独立的进程中,并使用轻量级通信机制进行通信。这种架构风格具有高度的可扩展性、灵活性和可维护性,能够有效地解决传统单体架构存在的问题。Spring Cloud 是一套基于 Spring Boot 的微服务解决方案,提供了丰富的服务治理组件和工具,为构建高可靠性、高性能的微服务应用提供了强有力的支持。

本文旨在探讨基于 Spring Cloud 的高校选课管理系统的实现。通过对选课管理系统的需求分析,设计合理的微服务划分方案,并利用 Spring Cloud 提供的服务治理组件和工具实现服务的注册与发现、负载均衡、熔断降级等功能,提高系统的可用性和稳定性。同时,结合高校选课管理的实际业务需求,设计并实现了一套高效、便捷的选课流程,提升了选课管理的效率和用户体验。

通过本文的研究和实现,旨在为高校选课管理系统的设计和实现提供一种新思路和方法,推动高校信息化建设的进一步发展。同时,也为其他领域的微服务应用开发提供了一定的参考和借鉴价值。

关键词:高校选课管理系统,Spring Cloud,微服务

Implementation of University Course Selection Management System Based on Microservices Architecture

Abstract

With the rapid development of information technology and the deepening of informationization construction in universities, the importance and urgency of course selection management system as an important component of informationization construction in university education are increasingly prominent. Traditional course selection management systems often adopt a single architecture, which has problems such as high system coupling, poor maintainability, and weak scalability, making it difficult to meet the growing business needs of universities. Therefore, the implementation of a university course selection management system based on microservice architecture has become a hot and difficult issue in the current informationization construction of universities.

Microservices architecture is an architectural style that breaks down applications into a series of small services, each running in an independent process and using lightweight communication mechanisms for communication. This architectural style has high scalability, flexibility, and maintainability, which can effectively solve the problems existing in traditional monolithic architectures. Spring Cloud is a microservice solution based on Spring Boot, providing rich service governance components and tools, providing strong support for building highly reliable and high-performance microservice applications.

This article aims to explore the implementation of a college course selection management system based on Spring Cloud. By analyzing the requirements of the course selection management system, designing a reasonable microservice partitioning scheme, and utilizing the service governance components and tools provided by Spring Cloud to implement functions such as service registration and discovery, load balancing, and fuse degradation, the system's availability and stability are improved. At the same time, based on the actual business needs of course selection management in universities, an efficient and convenient course selection process has been designed and implemented, improving the efficiency and user experience of course selection management.

Through the research and implementation of this article, the aim is to provide a new approach and method for the design and implementation of course selection management systems in universities, and to promote the further development of information technology construction in universities. At the same time, it also provides certain reference and reference value for the development of microservice applications in other fields.

Keywords: College course selection management system, Spring Cloud, microservices

目 录

第1章 绪论

1.1 研究背景和意义

1.2 开发现状

第2章 相关技术介绍

2.1 MVVM模式介绍

2.2 MySQL数据库

2.3 B/S体系工作原理

2.4 spring cloud框架特点及优点

第3章 系统分析

3.1 可行性分析

3.1.1 经济可行性

3.1.2 技术可行性

3.1.3 操作可行性

3.2 非功能需求分析

3.3 用例分析

3.4 业务流程分析

3.5 数据流程分析

第4章 系统设计

4.1 系统架构设计

4.2 系统功能结构

4.3 功能模块设计

4.4 数据库设计

4.4.1 E-R图

4.4.2 表结构设计

第5章 系统实现

5.1 学生用户模块

5.2 管理员模块

第6章 系统测试

6.1 测试概述

6.2 测试过程

6.2.1 登录测试

6.2.2 信息录入测试

6.2.3 信息更新测试

6.2.4 信息删除测试

6.3 测试结果

第7章 总结与展望

7.1 总结

7.2 展望

参考文献

致谢

  1. 绪论
    1. 研究背景和意义

随着信息技术的飞速发展和高校信息化建设的深入推进,选课管理系统作为高校教育信息化建设的重要组成部分,正面临着前所未有的挑战和机遇。传统的选课管理系统通常采用单体架构,这种架构模式在早期的业务场景下能够较好地满足需求,但随着业务规模的扩大和复杂度的增加,其固有的问题逐渐暴露出来,如系统耦合度高、可维护性差、扩展性不强等。这些问题不仅影响了选课管理系统的性能和稳定性,也制约了高校信息化建设的进一步发展。

微服务架构作为一种新兴的架构风格,通过将应用程序拆分成一系列小型服务,每个服务都运行在独立的进程中,并使用轻量级通信机制进行通信,从而实现了系统的高内聚、低耦合。这种架构风格具有高度的可扩展性、灵活性和可维护性,能够有效地解决传统单体架构存在的问题。同时,微服务架构还提供了丰富的服务治理组件和工具,如服务的注册与发现、负载均衡、熔断降级等,这些组件和工具能够进一步提高系统的可用性和稳定性,确保系统在面临各种异常情况时依然能够正常运行。

因此,基于微服务架构的高校选课管理系统的实现具有重要的研究背景和意义。首先,它能够满足高校日益增长的业务需求,提高选课管理系统的性能和稳定性,为师生提供更加高效、便捷的选课服务。其次,它有助于推动高校信息化建设的进一步发展,提升高校的教育教学质量和管理水平。最后,它也为其他领域的微服务应用开发提供了一定的参考和借鉴价值,促进了信息技术的创新和发展。

综上所述,基于微服务架构的高校选课管理系统的实现不仅具有重要的现实意义和应用价值,也是高校信息化建设的重要方向之一。通过深入研究和实践,我们可以为高校选课管理系统的设计和实现提供一种新思路和方法,推动高校信息化建设的进一步发展。

    1. 开发现状

随着高校信息化建设的推进,越来越多的高校开始认识到传统选课管理系统的局限性,并寻求基于微服务架构的解决方案。目前,基于微服务架构的高校选课管理系统的开发已经取得了一定的进展,但仍处于不断发展和完善的过程中。

在开发现状方面,一些高校已经成功地将选课管理系统拆分成多个微服务,每个服务负责处理特定的业务功能,如用户管理、课程管理、选课处理等。这些微服务之间通过轻量级通信机制进行交互,实现了系统的解耦和高内聚。同时,为了保障系统的可用性和稳定性,开发者还引入了服务治理组件和工具,如服务的注册与发现、负载均衡、熔断降级等。

在技术选型方面,Spring Cloud 作为一套成熟的微服务解决方案,被广泛应用于高校选课管理系统的开发中。Spring Cloud 提供了丰富的服务治理组件和工具,如Eureka、Ribbon、Hystrix等,这些组件和工具能够有效地解决微服务架构下的问题,如服务注册与发现、负载均衡、容错处理等。此外,一些高校还结合了容器化技术(如Docker)和容器编排工具(如Kubernetes),实现了选课管理系统的容器化部署和自动化管理,进一步提高了系统的可扩展性和可维护性。

然而,需要注意的是,基于微服务架构的高校选课管理系统的开发仍面临一些挑战和问题。首先,微服务架构的复杂性较高,需要开发者具备较高的技术水平和经验。其次,微服务之间的通信和协调需要消耗一定的资源和性能,可能会对系统的整体性能产生一定的影响。此外,随着业务规模的扩大和复杂度的增加,如何保证系统的可扩展性和可维护性也是一个需要关注的问题。

综上所述,基于微服务架构的高校选课管理系统的开发已经取得了一定的进展,但仍需要不断地完善和优化。未来,随着技术的不断发展和高校信息化建设的深入推进,相信基于微服务架构的高校选课管理系统将会更加成熟和稳定,为高校师生提供更加高效、便捷的选课服务。

  1. 相关技术介绍
    1. MVVM模式介绍

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频视频3D动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

    1. MySQL数据库

MySQL是一个开放源代码关系数据库管理系统(RDBMS)。关系数据库将数据存储在各种表中,以提高灵活性。使用最常用的结构化查询语言(SQL)进行数据库管理。 MySQL因其快速,小巧,总拥有成本低和开源而受到了广泛的关注。特征:

(1)支持多种操作系统。

(2)提供了用于多种编程语言的API。

(3)支持多线程并最大化CPU资源。

(4)MySQL具有出色的性能和稳定的服务,很少发生异常停机。

(5)本机JSON支持。

(6)优化SQL查询算法,有效提高查询速度。

    1. B/S体系工作原理

B/S架构采取浏览器请求,服务器响应的工作模式。

用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;

而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;

Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。

在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。

    1. spring cloud框架特点及优点

2.4.1 每个微服务可独立运行在自己的进程里;

2.4.2 一系列独立运行的微服务共同构建起了整个系统;

2.4.3 每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理、用户管理等;

2.4.4 微服务之间通过一些轻量的通信机制进行通信,例如通过REST API或者RPC的方式进行调用。

微服务的优缺点

a、易于开发和维护

b、启动较快

c、局部修改容易部署

d、技术栈不受限

e、按需伸缩

f、DevOps

  1. 系统分析
    1. 可行性分析
      1. 经济可行性

基于微服务架构的高校选课管理系统的实现,在经济方面同样具有可行性。首先,微服务架构允许系统按需扩展,只针对需要增强的部分进行投资,从而降低了初期的建设成本。其次,由于系统的高内聚、低耦合特性,使得维护和升级变得更为简单高效,减少了长期运营中的维护成本。此外,通过引入容器化技术和自动化管理工具,可以提高资源利用率,进一步降低运营成本。综合考虑,微服务架构的高校选课管理系统在经济效益上具有明显优势,是符合高校信息化建设预算和长期发展规划的可行方案。

      1. 技术可行性

高校选课管理系统的实现上技术上是完全可行的。系统采用Web技术进行前端开发,结合MySQL数据库进行后端数据管理,确保了数据的高效存储和访问。UI设计注重可视化与人机交互,为用户提供了直观、便捷的操作体验。前后台分级处理的设计模式,不仅降低了数据处理难度,还提高了系统的稳定性和可扩展性。综上所述,从技术角度来看,该方案完全能够支持高校选课管理系统的开发需求,实现高效、稳定、可扩展的系统功能。

      1. 操作可行性

基于微服务架构的高校选课管理系统的操作可行性非常高。考虑到高校用户群体普遍具备良好的教育背景和计算机操作能力,他们通常能够轻松使用电脑进行各种操作。因此,采用Java技术设计的基于微服务架构的高校选课管理系统,其界面设计直观、操作简单,用户只需按照系统提示即可完成选课、退课、查看课程信息等操作,无需复杂的培训和学习。同时,系统还提供了详细的使用说明和帮助文档,方便用户随时查阅和解决问题。综上所述,基于微服务架构的高校选课管理系统在操作上是完全可行的,能够满足高校师生的实际需求,提升选课管理的效率和便捷性。

通过上述分析,可以确定该系统具有实际开发的价值。

    1. 非功能需求分析

系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。

    1. 用例分析

1.学生用户主要使用首页、课程安排、校园资讯、我的(基本信息、学生选课、退选课程、课程成绩、收藏),下图所示为学生用户的用例图。

图3-1 学生用户用例图

2.管理员主要负责后台首页、系统用户、课程分类管理、课程安排管理、学生选课管理、退选课程管理、课程成绩管理、系统管理(轮播图)、网站公告管理、资源管理(课程资讯、资讯分类),下图所示描述管理员的用例图。

图3-2 管理员用例图

    1. 业务流程分析

系统业务流程图如下所示。

图3-3 系统业务流程图

    1. 数据流程分析

如下为系统的顶层数据流图,外部实体有用户和管理员,分别对系统输入数据,从而得到要输出的数据。

    

图3-4系统顶层数据流图

如下图所示为系统底层数据流图。

图3-5系统底层数据流图

高校选课管理系统底层数据流图主要描述系统底层模块的数据流、数据载体、数据处理、外部实体的具体交互。本系统就是管理员和系统用户课程安排、课程安排、课程成绩、学生选课、系统公告等模块上的数据交互。

  1. 系统设计
    1. 系统架构设计

本系统采用MVC结构,结构包括了View、Controller、Service、ServiceImpl、Dao等模块。系统架构图如下图所示。

图4-1系统架构图

根据本系统需求分析,应为系统搭建多个包,分别为Controller、Service、ServiceImpl、Dao、Entity、Util。

现对上述的包进行简要的功能阐述,Controller层负责接收前台传来的请求并对取到的数据进行封装。Service层主要负责处理业务逻辑。Dao层负责数据库方面的交互。Entity包放置实体类,对应数据库里面一张张的表。Util包放置工具类,比如以json数据的格式返回前台的JSONUtil类,自动生成id的GenerateID类等。通过applicationContext.xml,applicationContext-dataSource.xml,web.xml这三个配置文件来搭建本系统。

首先配置applicationContext.xml,主要是自动扫描控制器,视图模式,注解的启动。

applicationContext.xml是springMVC的一些相关。

    1. 系统功能结构

为了将系统从“做什么”落实到“怎么做”,基于系统设计原则,对系统功能进行更适合编码实现的功能划分。根据上图的系统架构设计,整理出规范的系统功能结构图,为系统的实现编码做好准备。

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

图4-2系统功能结构图

    1. 功能模块设计

用户可进行登录使用更多功能,首先进入用户登录界面,输入用户账号和密码,后台对账号和密码信息进行核对验证,验证成功则页面直接显示登录用户昵称代表登录成功,否则返回用户登录界面。用户登录活动图如下图。

图4-4用户登录活动图

用户登录后,进入功能页面,可对自己的信息进行管理,包括首页、课程安排、校园资讯、我的(基本信息、学生选课、退选课程、课程成绩、收藏)。用户使用功能活动图如下图所示。

图4-5用户使用功能活动图

用户功能界面可对自己的密码进行修改。进入修改密码界面后核对当前密码,核对成功后填写新密码。如下图所示。

图4-6修改密码活动图

    1. 数据库设计

高校选课管理系统采用的数据库是MySQL,该部分将根据系统需求和设计,设计合理的数据库。本系统考虑到之后系统的扩展集群,数据库将不使用外键。此外,不用外键时数据管理也较为简单,操作更加方便,性能更高。

      1. E-R图

E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。

本系统图设计,如下图所示。

图4-7系统E-R图

      1. 表结构设计

本系统根据第三范式的思想设计数据库,减少最大程度的冗余,总共建立有多个表,

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表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

varchar

64

0

Y

N

任课教师

5

cover

varchar

255

0

Y

N

封面

6

course_type

varchar

64

0

Y

N

课程类型

7

course_quota

int

10

0

Y

N

0

课程名额

8

remaining_quota

int

10

0

Y

N

0

剩余名额

9

school_year

varchar

64

0

Y

N

学年

10

class_time

varchar

64

0

Y

N

上课时间

11

class_location

varchar

64

0

Y

N

上课地点

12

course_introduction

text

65535

0

Y

N

课程介绍

13

hits

int

10

0

N

N

0

点击数

14

praise_len

int

10

0

N

N

0

点赞数

15

recommend

int

10

0

N

N

0

智能推荐

16

timer_title

varchar

64

0

Y

N

计时器标题

17

timing_start_time

datetime

19

0

Y

N

计时开始时间

18

timing_end_time

datetime

19

0

Y

N

计时结束时间

19

limit_times

int

10

0

N

N

0

限制次数

20

limit_type

tinyint

4

0

N

N

2

限制次数类型1-每天次,2-总计次

21

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表course_classification (课程分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

course_classification_id

int

10

0

N

Y

课程分类ID

2

course_type

varchar

64

0

Y

N

课程类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表course_grades (课程成绩)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

course_grades_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

varchar

64

0

Y

N

任课教师

5

student

int

10

0

Y

N

0

学生

6

achievement

int

10

0

Y

N

0

成绩

7

grade_level

varchar

64

0

Y

N

成绩等级

8

comment

text

65535

0

Y

N

评语

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

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:

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_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:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

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_selection_number

varchar

64

0

Y

N

选课号

3

course_id

varchar

64

0

Y

N

课程编号

4

course_name

varchar

64

0

Y

N

课程名称

5

course_type

varchar

64

0

Y

N

课程类型

6

teacher

varchar

64

0

Y

N

任课教师

7

school_year

varchar

64

0

Y

N

学年

8

student

int

10

0

Y

N

0

学生

9

name

varchar

64

0

Y

N

姓名

10

number_of_course_selections

varchar

64

0

N

N

选课人数

11

user_id

int

10

0

N

N

0

用户ID

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

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

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

email

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

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表withdrawal_of_courses (退选课程)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

withdrawal_of_courses_id

int

10

0

N

Y

退选课程ID

2

course_selection_number

varchar

64

0

N

N

选课号

3

course_id

varchar

64

0

Y

N

课程编号

4

course_name

varchar

64

0

Y

N

课程名称

5

teacher

varchar

64

0

Y

N

任课教师

6

student

int

10

0

Y

N

0

学生

7

name

varchar

64

0

Y

N

姓名

8

number_of_course_selections

varchar

64

0

N

N

选课人数

9

reason_for_withdrawal

text

65535

0

Y

N

退选原因

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

  1. 系统实现
    1. 学生用户模块

登录模块,用户、管理员可以通过登录进入该系统,如果输入正确,则可以进入该系统,界面如下图所示。

图5-1登录模块界面

注册用户,如果某个人员进入该系统,则注册该用户的信息,如果注册成功,就可以进入该系统,界面如下图所示。

图5-2注册用户界面

首页界面,用户登录进入高校选课管理系统可以查看首页、课程安排、校园资讯、我的(基本信息、学生选课、退选课程、课程成绩、收藏)等信息。界面如下图所示。

图5-3用户首页界面图

密码修改,用户使用该系统注册完成后,用户对登录密码有修改需求时,系统也可以提供用户修改密码权限。系统中所有的操作者能够变更自己的密码信息,执行该功能首先必须要登入系统,然后选择密码变更选项以后在给定的文本框中填写初始密码和新密码来完成修改密码的操作。在填写的时候,假如两次密码填写存在差异,那么此次密码变更操作失败,界面如下图所示。

图5-4密码修改界面图

基本信息,在基本信息页面用户可以修改头像、昵称、密码等操作,如下图所示。

图5-5基本信息界面图

课程安排,当用户点击“课程安排”这一菜单按钮,会显示管理员在后台发布的所有的课程安排信息,支持通过关键词对课程安排进行搜索,选择需要的课程安排息点击可以进入到课程安排详细的介绍界面,同时可以进行选课、点赞、收藏和评论等操作,界面如下图所示。

图5-6课程安排界面图

图5-7学生选课界面图

    1. 管理员模块

登录界面,在管理员登录页面添加用户名、密码、验证码等信息进入系统,界面如下图所示。

5-8管理员登录界面图

功能界面,管理员登录系统后台可以查询功能:后台首页、系统用户、课程分类管理、课程安排管理、学生选课管理、退选课程管理、课程成绩管理、系统管理(轮播图)、网站公告管理、资源管理(课程资讯、资讯分类)等功能,在功能界面还可以查看学生选课统计和课程成绩统计分析表。如下图所示。

图5-9 管理员功能界面图

系统用户,管理员在用户管理查询页面对已有的用户进行修改删除详细等内容,用户管理界面如下所示。

图5-10用户管理界面图

课程分类管理,管理员可以管理课程的分类信息,包括添加新分类、编辑分类信息、删除分类等操作。界面如下所示。

图5-11课程分类列表界面图

图5-12课程分类添加界面图

退选课程管理,管理员可以管理学生的退选操作,包括取消选课、处理退课申请等。如下图所示。

图5-13退选课程管理界面图

课程成绩管理,管理员可以管理学生的课程成绩,包括录入成绩、修改成绩、统计分析等操作。如下图所示。

图5-14 课程成绩管理界面图

系统管理,在系统管理页面管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。如下图所示。

图5-15系统管理界面图

  1. 系统测试
    1. 测试概述

软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。

    1. 测试过程
      1. 登录测试

登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。

登录测试用例表如下所示。

表6-1登录测试

用例编号

YL001

程序版本

1.00

功能名称

使用者登录测试

编制人

李铁蛋

功能描述

根据用户的登录情况测试

用例目的

测试用户登录情况是否正确

测试项

测试数据

测试结果

预期结果

用户名

为空

请输入用户名

请输入用户名

密码

为空

请输入密码

请输入密码

用户密码组合

用户名:klouse 密码 klouses

用户与密码不匹配

用户与密码不匹配

用户密码组合

用户名 : klouse 密码

klouse

进入系统

正确的用户名和密码

登录系统

      1. 信息录入测试

管理员在发布信息页面,通过按照预先格式发布信息,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示

信息录入发布测试用例表如下所示。

表6-1信息录入发布测试

用例编号

YL002

程序版本

1.00

功能名称

信息发布测试

编制人

李铁蛋

功能描述

对使用者发布或者录入信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者录入发布信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

为空

请输入属性1对应的数据

请输入属性1对应的数据

属性2

为空

请输入属性2对应的数据

请输入属性2对应的数据

属性3

为空

请输入属性3对应的数据

请输入属性3对应的数据

全部输入

数据均填入

录入发布成功

录入发布成功

      1. 信息更新测试

管理员在更新信息页面,通过按照预先格式更新信息,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示

信息更新测试用例表如下所示。

表6-1信息更新测试

用例编号

YL003

程序版本

1.00

功能名称

信息更新测试

编制人

李铁蛋

功能描述

对使用者更新信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者更新信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

编号:321

编号更新成功

编号更新成功

属性2

名称:名称1

名称更新成功

名称更新成功

属性3

内容:内容1234内容

内容更新成功

内容更新成功

全部输入

数据均未更改

更新成功

更新成功

      1. 信息删除测试

管理员在信息页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。

信息删除测试用例表如下所示。

表6-1信息删除测试

用例编号

YL004

程序版本

1.00

功能名称

信息删除测试

编制人

李铁蛋

功能描述

对使用者删除信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者删除信息进行原型测试。

测试项

测试数据

测试结果

预期结果

数据1

无任何关联的数据1

数据删除成功

数据删除成功

数据2

和其他数据有关联的数据2

请确认是否删除

请确认是否删除

    1. 测试结果

通过对高校选课管理系统的测试结果进行分析,系统的运行性能还是比较稳定的。但是出现了一些异常,这些是异常可以控制的,但也满足了需求分析的结果。本次的页面设计通过的脚部的公共页面在响应式时出现了一点问题,通过后期的修改、调试后来提升系统的页面美化,让用户拥有更好的体验感。

  1. 总结与展望
    1. 总结

本文研究内容主要来源于高校选课中的信息化需求,研究成果对高校选课有很大的帮助,不但很大程度的提高了使用者的工作效率,而且对今后的发展、使用者的积极性有非常重要的作用。在开发本系统的过程中,根据当前高校选课的实际发展情况,采用MyEclipse开发环境,使用Java语言进行编码,数据库方面使用的是MySQL。

本文对高校选课管理系统开发的可行性进行研究,无论从技术、管理还是运行角度,都论证了系统具有开发的可行性;在需求开发阶段,明确总体目标。围绕系统的功能需求,分析了系统应用具有的功能和性能;在总体设计阶段,明确了系统的体体系结构,采用模块化的方法,设计了系统的多个主要的功能模块,最后对系统的主要功能实现和测试情况作了详细的介绍。通过多种测试,能够证明高校选课管理系统是一个能够成功运行并应用的系统,但是本系统仍然存在不足之处,在系统的开发过程中,无论是开发建设还是后期的运行状况都存在许多需要改进的部分,这说明本系统距离成为综合性的高校选课管理系统还有一定的距离。

    1. 展望

本系统开发过程中对需求分析的不够全面,数据表的设计不够规范。书写的代码安全性低,论文书写的文字内容有点词不达意。毕业设计大致完成后给指导老师检查是否合格,存在很多的细节性功能未完善。经过大量的查阅资料和同学讨论,毕业设计的功能模块已经大致为完成。论文根据系统的功能已经大致有了初稿。指导老师的多方批阅和指导,对论文的注意点已经了解。修改过程中会对我们的论文进行指导。在未来的工作中,我会在毕业后寻找一份适合的工作继续锻炼自己。无论工作的任务是何其困难,我都会以一颗实事求是,坚持不懈的精神去对待。只需拥有一颗坚持不懈和永恒坚定的心,任何的工作都会迎刃而解。在难的事情都会有解决的措施,没有解决的问题只是还没又被发现解决方法而已。因此,要有一个积极上进的心,改变我们的生活状态。首先,要能更快的融入一个新的大集体,拥有一个全新的开始。其次,在工作中要不断询问他人和锻炼处事能力。最后,增加工作经验和专业技能,努力向往更加美好的生活。

参考文献

[1]Wardhani K M ,Sulistiyorini A D .Assessment of the Quality of Raw Water for Salt Production in Pangarengan, Sampang, East Java[J].IOP Conference Series: Earth and Environmental Science,2024,1298(1):

[2]Sagala M P ,Bhomia K R ,Murdiyarso D .Assessment of coastal vulnerability to support mangrove restoration in the northern coast of Java, Indonesia[J].Regional Studies in Marine Science,2024,70103383-.

[3]Kartini A G ,Gumilar I ,Abidin Z H , et al.3D model of Pawon Cave: The first prehistoric dwelling discovery in West Java, Indonesia[J].Digital Applications in Archaeology and Cultural Heritage,2024,32e00311-.

[4]Asmuni ,Sularso A R ,Supranoto , et al.Social Culture Formation and Development of Village-Owned Enterprises as a Hybrid Organization in Indonesia: A Case Study in East Java[J].Journal of Humanities and Social Sciences Studies,2024,6(1):52-61.

[5]肖慧,王磊,林晨.医学院校选课管理系统的建设与应用[J].中国多媒体与网络教学学报(上旬刊),2023,(10):21-24.

[6]郭倩倩,霍星,罗思维.基于C#的高校体育选课系统设计与实现[J].电脑编程技巧与维护,2023,(08):23-25.DOI:10.16184/j.cnki.comprg.2023.08.002.

[7]李寅杰.基于J2EE的网上选课系统设计[J].电子技术,2023,52(04):342-343.

[8]胡伟东.基于B/S结构的学生选课系统设计与实现[J].信息与电脑(理论版),2023,35(01):23-25.

[9]黄举,何茂忠,张晓蒙等.基于SDN负载均衡的高校选课系统[J].现代信息科技,2022,6(12):71-73.DOI:10.19850/j.cnki.2096-4706.2022.012.018.

[10]杨晟,罗奇.基于Spring Boot的在线选课系统的设计[J].网络安全技术与应用,2022,(06):53-54.

[11]杨中英.中间件技术在高校选课系统中的研究与应用[D].中北大学,2022.DOI:10.27470/d.cnki.ghbgc.2022.001088.

[12]罗慧敏.基于BS的高校学生选课系统设计与实现[D].中南大学,2022.DOI:10.27661/d.cnki.gzhnu.2022.003694.

[13]王开柱,宁洪伟,李锐.B/S模式的网上选课系统的设计与开发[J].电脑知识与技术,2021,17(23):75-77.DOI:10.14004/j.cnki.ckt.2021.2392.

[14]丁美珍,格莱特智慧校园教学管理系统.安徽省,安徽格莱特光电科技股份有限公司,2020-10-30.

[15]郑少雄.基于JSP和SQL Server的学生选课管理系统[J].信息与电脑(理论版),2020,32(15):114-116.

[16]王振亚.基于物联网的体育课程管理系统设计[J].现代电子技术,2020,43(07):86-89+93.DOI:10.16652/j.issn.1004-373x.2020.07.021.

[17]连瑞梅.基于Java的选课管理系统的设计与实现[J].电脑知识与技术,2020,16(05):67-71+77.DOI:10.14004/j.cnki.ckt.2020.0523.

[18]肖建芳.多校区高校公共选修课选课管理系统的研究与设计[J].南方职业教育学刊,2020,10(01):98-103.

[19]杨云海,章芬芬.基于.NET架构和C#语言实现的学生选课管理系统[J].现代信息科技,2019,3(20):8-11.DOI:10.19850/j.cnki.2096-4706.2019.20.002.

[20]王小春.选课系统管理平台的设计与实现[J].太原师范学院学报(自然科学版),2019,18(02):81-83.

致谢

在老师的教导和帮助下,本人完成了本篇论文,老师对论文的内容、格式都有非常严格的要求,在我写毕业论文的过程中,他多次给出了建议,并定期检查,对我们严格要求,帮助我们在文档的编写上写到极致和正确,他这种教学和工作态度,让我对他产生无限的敬佩感和尊敬感。写毕业论文的同时,作为应届生,我也忙着找工作中,遇到了很多选择,感到困惑迷茫的时候,老师给了我很多意见,感谢老师的耐心开导,跟她的聊天我明白了许多。

我还要感谢我的父母,一直以来都非常支持和相信我,在精神和经济上给了我很多力量,如今我将毕业走上工作之路,终于能报答父母的养育教导之恩。还有我大学期间所有老师和全体同学,遇到问题时,这些老师同学总是无私地帮助我,真的非常感谢,我也会加油努力成长为一个有用的人。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值