摘 要
随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设学生管理系统。
本设计主要实现集人性化、高效率、便捷等优点于一身的学生管理系统,完成首页、用户管理(管理员、学生)更多管理(学院管理、专业管理、班级管理、课程安排、学生选课、课程成绩、学生请假、健康申报、通知公告)系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。
学生管理系统使用Java语言,采用基于 MVVM模式的Java技术进行开发,使用 MyEclipse 2017 CI 10 编译器编写,数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介,配合前台HTML+CSS 技术完成系统的开发。
关键词:数据通信;Java语言;关系型数据库;数据存储
Student management system based on SSM
Abstract
With the advent of the Internet trend, all walks of life are considering using the Internet to promote themselves. The best way is to establish their own Internet system and maintain and manage it. In practical application, according to the working rules and development steps of the application software, Java technology is used to build the student management system.
This design mainly realizes the student management system with the advantages of humanization, high efficiency and convenience, and completes the home page, user management (administrator, student) and more management (college management, professional management, class management, course arrangement, student course selection, course results, student leave, health declaration, notice and announcement). The system communicates with the server through the browser to realize the interaction and change of data. You can operate the system and realize data communication management by moving your fingers through a computer. The safety, stability and reliability of data are fully considered in the design process of the whole system, and the operation process is simple. Through scientific management and convenient service, the system improves work efficiency and reduces errors and omissions in data storage.
The student management system uses Java language, adopts Java technology based on MVVM mode for development, and is written with MyEclipse 2017 CI 10 compiler. In terms of data, it mainly uses Microsoft's MySQL relational database as the data storage medium, and cooperates with the foreground HTML + CSS technology to complete the development of the system.
Keywords: data communication; Java language; Relational database; data storage
目 录
第1章绪论
1.1 研究背景及意义
本系统是一款资源型管理软件,适用于普通高等教育学生的管理工作,具有丰富,完整,规范的内容和比较完善的功能.是一个适用于高等院校或各类专科学校学生工作管理部门的计算机辅助管理系统,它具备高校学生工作部门的学生管理的日常事务性工作及各类数据的自动化处理功能.从首页、用户管理(管理员、学生)更多管理(学院管理、专业管理、班级管理、课程安排、学生选课、课程成绩、学生请假、健康申报、通知公告)全部业务功能.该系统能够自动地收集,存储,加工处理,查询检索和统计制表,方便有效地提高学生工作办公自动化管理的水平,解决了日常繁杂的数据,文件及历史资料的统计处理的重复性劳动.使过去许多只能定性管理的项目变为定量管理,使传统的由人工事务性管理模式转化为借助现代化技术和手段实现的科学化管理模式,不仅节省人力和物力,提高办公效率,而且使管理的方式从过程管理转变为目标管理,从数量管理转变为质量管理,有助于提高学生工作管理的水平和质量.
21世纪全球信息电子化的潮流势不可挡,计算机渗入了社会生活中的各个领域,它的广泛应用给经济和社会生活带来深刻的变革.信息技术不仅改变了人们的工作和生活方式,也在改变教育和学习的方式.我国的教育事业蓬勃发展,升学率普遍提高,各类大专院校规模不断扩大,对于学生管理工作的高效性和规范化提出了更高的要求.作为学校管理工作的一个重要组成部分,学生信息管理,所涉及到的信息量之大,数据之繁琐,可以想像用手工对这些数据进行操作有多么的复杂与繁琐,因此自动化的学生管理系统应运而生。
而学生信息管理的工作量非常大,为保证学生管理工作的顺利进行,改善管理手段,有必要开发一套适合高等院校实际情况,能解决实际问题的学生管理信息系统.及时,准确的为管理人员提供学生,班级等各类信息,并提供标准化,查询,修改等管理功能。
为了能够为高校学生信息管理提供一种更加高效,实用的管理手段,为学生信息的存储,统计,分析,交流提供一种更加快捷,安全的信息平台.并且能够减少大量的人工操作,以及在人工操作中由于人为因素而引起的数据错误,保证学生信息数据的安全性和完整性,使学生管理人员能够轻松,正确无误地完成各项工作,结合自身的技术水平,
1.2 国内外研究现状
随着国外经济的持续发展,高校办学规模的扩大,学生的数量也成倍增长,学生信息管理的模式也发生了变革,并随着计算机科学技术的不断发展,使得信息管理系统在各个领域发挥着越来越重要的作用。
国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上学生在线选课系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。
国内的研究动态:
随着我国高等教育的发展,在信息化和数字化的背景下,国内高校迫切需要提高教育工作的质量与效率,数字化校园将成为一种必然的趋势,并逐步走向成熟。
而学生信息管理工作是高校信息管理工作的重要组成部分,许多高校都针对自己学校的规模和特点开发出了学生管理系统,将管理人员从繁杂的日常事务性工作中解脱出来,提高了工作效率,实现了信息共享。国内一些高校及软件公司也纷纷看好这一有着广阔市场前景的软件开发,但是从现有高校的学生管理系统来看还存在很多的问题,主要是:
1.功能单一。一个系统只为了解决一个具体的问题而开发的。各个相关系统间没有紧密、有效的联系,影响了信息的重用和共享。
2.系统孤立。许多系统还处于单机应用状态,即仅限于负责此项业务的管理人员用,没有很好实现纵向及横向的管理工作的紧密联系,而且交互性差,造成信息重复采集、重复统计。同时,系统之间的孤立也会在查询信息时查找不完全,不能提供充分的信息。
3.在软件的使用上,大多数只是停留在日常办公的角度,缺乏综合分析能力。另外,学生管理系统还存在可扩充性和灵活性差,缺乏强有力后续技术支持,无法不断完善系统,适应学校的发展需要,致使这些软件运行了一段时间后中途废弃或搁置,造成很大的浪费。
因此,研发的学生管理系统运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。
2.2 研究内容
1.解决学生信息重复收集,简化负责基层学生工作教师的工作量,一次导入稳定存储
2.页面简约大方。
3.主要实现查询学生信息如下:课程安排、学生选课、课程成绩、学生请假、健康申报、通知公告等功能;
4.可以通过excel批量导入导出学生信息,导出时可以选择单独导出某些信息如:
只选择学号、姓名、性别、所属学院进行导出 或 只选择学号、姓名、宿舍号进行导出;
5.登录用户名采用纯数字:工号来登录如 20190310003 ,密码不做限制
6.账户权限:
①系统管理员:系统的最高权限(可以负责管理各账号权限)
②学生处:可以查询学生信息、课程安排、学生选课、课程成绩、学生请假、健康申报、通知公告
2.3 研究方法
本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于Java的ssm框架进行开发。
前端部分:前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型,项目前端通过栅格布局实现响应式,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示。
后端部分:采用ssm作为开发框架,同时集成MyBatis、Redis等相关技术。
软件开发环境及开发工具:
操作系统:Windows 10、Windows 7、Windows 8
开发语言:Java
使用框架:ssm
前端技术:JavaScript、VUE.js(2.X)、css3
开发工具:IDEA(2020版)/MyEclipse(10)/Eclipse、Visual Studio Code
数据库:MySQL 5.7.26(版本号)
数据库管理工具:phpstudy/Navicat
JDK版本:Java sdk8
Maven:apache-maven 3.8.3-bin
Tomcat:apache-tomcat-7.0.88
第2章 系统相关技术综述
2.1 SSM框架
当今流行的“SSM组合框架”是Spring + SpringMVC + MyBatis的缩写,受到很多的追捧,“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架,通常更简单的数据源。Spring属于一个轻量级的反转控制框架(IoC),但它也是一个面向表面的容器(AOP)。SpringMVC常常用于控制器的分类工作模式,与模型对象分开,程序对象的作用与自动取款机进行处理。这种解耦治疗使整个系统的个性化变得更加容易。MyBatis是一个良好的可持续性框架,支持普通SQL查询,同时允许对存储过程的高级映射进行数据的优化处理。大型Java Web应用程序的由于开发成本太高,开发后难以维护和开发过程中一些难以解决的问题,而采用“SSM组合框架”,它允许建立业务层次结构,并为这个问题提供良好的解决方案。
2.2 JAVA技术
JAVA语言是目前软件市场上应用最广泛的语言开发程序。可以在多种平台上运用的,兼容性比较强,适应市面上大多数操作系统,不会出现乱码的现像,其扩展性和维护性都更好,具有分析问题和解决问题的能力,是面向过程的程序设计方便我们编写的代码更强壮。
JAVA相对其它语言来说,比较简单,编译起来更方便一些,安全可靠性高。不完全统计,现在全世界大约有2000多万人在使用它,JAVA既可以镶嵌使用又可以独力的使用。JAVA大致可以分成两个部分,一种部分是JAVA负责的编译,另一种是JAVA负责的运行。JAVA和C++语言很相像,但JAVA在编程时是一种以对象为导向的方式来进行编译的,使得编出来的软件可以单机使用,也可以在互联网上使用,检查出错更为方便。JAVA分布式、体系结构中立的特点也使得其存储更快,编议更简单。面向对象包括四个特点,一是封装,就是说在定义类的时候可以实现一定的功能和属性。二是抽象,属于类的一种,可以把一个具有共同属性的类封装在一个抽象里,便于简单编议。三是继承,顾名思义就是带有前者的特性。还有一个就是多态的特点,可以多种一起运用,表现了它可扩展性好。
2.3 Mysql数据库
Mysql Database,通常简称为Mysql,是一款关系型数据库的管理系统。Mysql数据库系统是目前最流行的关系型数据库管理系统之一,其系统具有良好的可移植性,功能强大且使用十分方便。Mysql支持很多系统和硬件,包括HP-UX,Linux,MicrosoftWindows,SunSolaris,AppleMac等。
Mysql系统的特点:
(1)Mysql的多线索服务器的体系结构使其只利用很少的资源就能够支持多用户的、大数据的高性能事务处理;
(2)Mysql支持大量的多媒体数据,例如声音、动画、二进制图形和多维数据结构等;
(3)Mysql提供了安全保密管理系统,具有良好的安全性、一致性和完整性;
(4)具有新的分布式数据库能力和分布处理的能力;
(5)提供了一些高级语言的接口软件,可以帮助快速开发基于客户端的应用程序,具有良好的移植性、可连结性和可兼容性。
Mysql数据库逻辑结构包含表空间(tablespace)、段(segment)、范围(extend)、数据块(datablock)、和模式对象(schemaobject) 。每一个数据库都可以逻辑划分为一个或多个表空间,每一个表空间都是由一个或多个数据文件来组成。Mysql数据库分为系统表空间和非系统表空间,每一个Mysql数据库都包含一个称作SYSTEM的系统表空间。
2.4 B/S结构
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在用户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的用户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。
2.5 MVVM模式优点
MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点
1.2.1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
1.2.2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
1.2.3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
1.2.4. 可测试。界面素来是比较难于测试的,测试可以针对ViewModel来写。
2.6 Vue.js 主要功能:
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
第3章 系统需求分析
3.1 可行性分析
本次设计基于B/S 模式下,运用Java、JSP技术采用的是MySQL数据库和Myeclipse实现,总体的可行性共分为以下三个方面。
3.1.1 技术可行性分析
所谓的技术可行性就是在限定时间,前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用,如果存在缺点在后期的维护上是否存在很大的难度。在对这个系统评估后,认定已存在的技术能达成目标。用JSP技术来实现动态的页面,嵌入低依赖性的设计模式,灵活的数据库,配合稳定的服务器,整个系统的运行效率大大提升。由此可见,在技术层面达成目标不是非非之想。
3.1.2 经济可行性分析
在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。
3.1.3 操作可行性分析
本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以学生管理系统具备操作可行性。
3.1.4 法律条规可行性分析
开发软件有没有触犯法律,这涉及到软件或者系统能不能发布的问题。如果触犯了法律,就必将会受到法律的制裁。常见法律问题就是软件抄袭问题,若是抄袭别人软件,将会受到严厉惩罚。
3.2 需求分析
在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。
学生用例图如下所示。
图3-1 学生用例图
管理员用例图如下所示。
图3-2 管理员用例图
3.3 非功能需求分析
系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。
经过对系统功能的分析,调查,研究,总结出学生管理系统主要实现的是对学生信息的管理、课程、请假、成绩、健康申报等信息的管理功能。
3.4 业务流程分析
3.4.1登录流程
登录模块主要满足管理员以及用户的权限登录,用户登录流程图如图2-1所示。
图3-1 登录流程图
3.4.2 注册流程
未有账号的用户可进入注册界面进行注册操作,用户注册流程图如图2-2所示。
图3-2 注册流程图
3.4.3添加信息流程
用户在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图2-3所示。
图3-3 添加信息流程图
3.4.4 删除信息流程
用户可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图2-4所示。
图3-4删除信息流程图
第4章系统设计
4.1系统结构设计
目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。学生管理系统主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。
系统架构图如下图所示。
图4-1系统架构图
4.2功能模块设计
系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是:首页、用户管理(管理员、学生)更多管理(学院管理、专业管理、班级管理、课程安排、学生选课、课程成绩、学生请假、健康申报、通知公告)。系统整体角色分为两个部分,一是学生、二是管理员。权限分布也是很明显,学生除去浏览信息之外还具有查询和管理自己账户信息权限;管理员是最高权限拥有者。
系统功能结构图如下图所示。
图4-2系统功能结构图
4.3数据库设计
4.3.1概念模型设计
对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在学生管理系统中存在着多个实体分别是用班主任、管理员、学生、二级学院管理者、辅导员、学生信息、学院信息、年级信息、专业信息、班级信息。
1、学生注册实体图如图4-5所示:
2、管理员信息实体图如图4-6所示:
4.3.2 数据表设计
数据库逻辑结构就是将E-R图在数据库中用具体的字段进行描述。用字段和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结构。学生管理系统所需要的部分数据结构表如下表所示。
class_management | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
class_management_id | int | 11 | 否 | 主键 | 班级管理ID |
college | varchar | 64 | 是 | 学院 | |
major | varchar | 64 | 是 | 专业 | |
class_name | varchar | 64 | 是 | 班级名称 | |
headmaster | varchar | 64 | 是 | 班主任 | |
head_teacher_telephone | varchar | 64 | 是 | 班主任电话 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
college_management | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
college_management_id | int | 11 | 否 | 主键 | 学院管理ID |
college | varchar | 64 | 是 | 学院 | |
college_principal | varchar | 64 | 是 | 学院负责人 | |
contact_number | varchar | 64 | 是 | 联系电话 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
course_achievement | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
course_achievement_id | int | 11 | 否 | 主键 | 课程成绩ID |
course_number | varchar | 64 | 是 | 课程编号 | |
course_name | varchar | 64 | 是 | 课程名称 | |
teacher | varchar | 64 | 是 | 任课教师 | |
student_number | int | 11 | 是 | 学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
test_name | varchar | 64 | 是 | 考试名称 | |
achievement | varchar | 64 | 是 | 成绩 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
course_arrangement | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
course_arrangement_id | int | 11 | 否 | 主键 | 课程安排ID |
course_number | varchar | 64 | 是 | 课程编号 | |
course_name | varchar | 64 | 是 | 课程名称 | |
teacher | varchar | 64 | 是 | 任课教师 | |
class_time | varchar | 64 | 是 | 上课时间 | |
class_place | varchar | 64 | 是 | 上课地点 | |
course_quota | int | 11 | 是 | 课程名额 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
health_declaration | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
health_declaration_id | int | 11 | 否 | 主键 | 健康申报ID |
student_number | int | 11 | 是 | 学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
college | varchar | 64 | 是 | 学院 | |
major | varchar | 64 | 是 | 专业 | |
class_name | varchar | 64 | 是 | 班级名称 | |
punch_in_date | date | 0 | 是 | 打卡日期 | |
today_temperature | varchar | 64 | 是 | 今日体温 | |
health_code | varchar | 255 | 是 | 健康码 | |
travel_code | varchar | 255 | 是 | 行程码 | |
is_it_uncomfortable | varchar | 64 | 是 | 是否不适 | |
discomfort_symptoms | text | 0 | 是 | 不适症状 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
notice_announcement | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
notice_announcement_id | int | 11 | 否 | 主键 | 通知公告ID |
title | varchar | 64 | 是 | 标题 | |
relevant_attachments | varchar | 255 | 是 | 相关附件 | |
publisher | varchar | 64 | 是 | 发布人 | |
release_time | date | 0 | 是 | 发布时间 | |
content | longtext | 0 | 是 | 内容 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
professional_management | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
professional_management_id | int | 11 | 否 | 主键 | 专业管理ID |
college | varchar | 64 | 是 | 学院 | |
major | varchar | 64 | 是 | 专业 | |
discipline_leader | varchar | 64 | 是 | 专业负责人 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
student | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
student_id | int | 11 | 否 | 主键 | 学生ID |
student_number | varchar | 64 | 否 | 学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
college | varchar | 64 | 是 | 学院 | |
major | varchar | 64 | 是 | 专业 | |
class_name | varchar | 64 | 是 | 班级名称 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
recommend | int | 11 | 否 | 智能推荐 | |
user_id | int | 11 | 否 | 用户ID | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
students_ask_for_leave | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
students_ask_for_leave_id | int | 11 | 否 | 主键 | 学生请假ID |
student_number | int | 11 | 是 | 学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
college | varchar | 64 | 是 | 学院 | |
major | varchar | 64 | 是 | 专业 | |
class_name | varchar | 64 | 是 | 班级名称 | |
leave_type | varchar | 64 | 是 | 请假类型 | |
start_time | datetime | 0 | 是 | 开始时间 | |
end_time | datetime | 0 | 是 | 结束时间 | |
reason_for_leave | text | 0 | 是 | 请假原因 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
examine_reply | varchar | 16 | 是 | 审核回复 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 |
第5章系统实现
5.1用户功能模块
学生管理系统,在系统首页可以查看:课程安排、学生选课、课程成绩、学生请假、健康申报、通知公告,如图5-1所示。
![](https://i-blog.csdnimg.cn/direct/638f6b64720f48c8883c1bce0267660f.png)
图5-1系统功能界面图
课程安排管理,在课程安排管理页面查看课程编号、课程名称、任课教师、上课时间、上课地点、课程名额等内容,如图5-2所示。
![](https://i-blog.csdnimg.cn/direct/c63751585c3b481b840ecac6a94f02fc.png)
图5-2课程安排管理界面图
学生选课,在学生选课信息页面可查看课程编号、课程内容、任课教师、上课时间、上课地点、学号、学生姓名、学院等详细内容,如图5-3所示。
![](https://i-blog.csdnimg.cn/direct/20a606529c424d13b887a8a106cfa73b.png)
图5-3学生选课界面图
个人信息,在个人信息页面可以查看用户名、用户组、状态、昵称、邮箱、手机号码等详情并可根据需要进行个人信息修改,如图5-4所示。
![](https://i-blog.csdnimg.cn/direct/01b773e53462407e904800a8ae79adf1.png)
图5-4个人信息界面图
管理员登录,通过填写注册时输入的账号、密码、权限和验证码进行登录,如图5-5所示。
![](https://i-blog.csdnimg.cn/direct/e8c5419a14fc462cb82b6f486f804be4.png)
图5-5管理员登录界面图
管理员登录进入学生管理系统可以查看系统首页、用户管理(管理员、学生)更多管理(学院管理、专业管理、班级管理、课程安排、学生选课、课程成绩、学生请假、健康申报、通知公告)等信息,如图5-6所示。
![](https://i-blog.csdnimg.cn/direct/ac918775a8cb4a9abffc45e434e41131.png)
图5-6管理员功能界面图
用户管理,在用户列表中可以查看昵称、用户名、备注等信息,并可根据需要进行修改或删除或审核等操作,如图5-7所示。
![](https://i-blog.csdnimg.cn/direct/2aa047da09f142d5b072fa642a8e19b1.png)
图5-7用户管理界面图
班级管理,在班级管理管理页面可添加:学院、专业、班级名称、班主任、班主任电话等信息,并可根据需要在班级管理页面进行修改或删除等操作,如图5-8所示。
![](https://i-blog.csdnimg.cn/direct/3c98e7dff0d14234aa07199eda12b665.png)
图5-8班级管理界面图
健康申报管理,在健康申报管理页面中可以添加:学号、学生姓名、学院、专业、班级名称、打卡日期、今日体温、健康码等信息,并可根据需要在健康申报管理查询页面进行修改或删除等操作,如图5-9所示。
![](https://i-blog.csdnimg.cn/direct/41ab70335ca34f309bec1a6f4bbdae1b.png)
图5-9健康申报管理界面图
第6章 软件测试
测试存在于软件开发进程中的最后一个阶段,它可以保证一个软件的开发质量是否符合设计者的初衷,也为程序的正式上线做了最后一道质量检测的工序。软件测试主要是控制各种条件、包括软件输出方式,使用模式和运行环境等,来评估一个系统或应用是否符合设计标准。在软件测试过程中,我们一般刻意的去制造错误和极端条件,不能仅依照正常模式允许,而是多去尝试那些意外的情况。
6.1软件测试的重要性
只有在运行和维护阶段之前经历大量的测试的软件,才能说明它的质量是经得起检验的。最近计算机业界也都一致认为,测试应该存在于软件设计的每个阶段,因为越早发现错误,修复起来就越容易。
实际上,对于一个软件应用,错误是必然存在的,无论使用何种技术或手段,都不可能绝对的排除软件漏洞。测试是随着软件开发一同诞生的,两者是共同发展进步的。实际上,测试可以大幅度的降低维护的成本,如果一个漏洞在开发的早期就被发现,那么修复它的成本远比上线后再修复的成本要低得多。
6.2测试实例的研究与选择
测试有白盒测试和黑盒测试两种方式。
其中,白盒测试是将软件看成一个透明的白盒子,按照程序的内部控制结构和处理技术逻辑来选定测试用例、软件系统测试的逻辑路径及过程需要进行管理测试,又称玻璃盒测试。因此白盒测试需要选择足够多的测试用例,覆盖尽可能多的代码来发现程序中的错误。
黑盒测试,也称为功能测试。它将需软件看作一个黑盒,像一个普通用户一样来模拟软件的使用流程。黑盒测试通过大量的输入边界值或错误数据,来检查是否可产生正确的输出。
本系统测试 主要选择黑盒测试,少量采用白盒测试。通过测试达到以下测试目的:
1.检查各大功能模块的运行,确保其能够正确运行,并检查各页面的完整性,保证页面完整。
2.检查各个接口是否可以正确地输入和输出,保证数据流通稳定可行。
3.检查数据结构,保证其和外部接口没有访问错误,访问顺利。
4.检查原计划的性能需求有没有完成,运行流畅。
本系统的测试用例(部分):
登录部分测试用例 | |||||
编号 | 对象 | 项目 | 操作 | 预期结果 | 结果 |
1 | 登录 | 登录提示 | 使用正确的账号密码登录 | 成功登录 | 预期结果 |
2 | 登录提示 | 使用正确的账号但错误的密码登录 | 提示密码错误 | 预期结果 | |
3 | 登录提示 | 使用错误的账号登录 | 提示不存在账户 | 预期结果 | |
4 | 登录提示 | 不输入账号,点击登录 | 提示输入账号 | 预期结果 | |
5 | 登录提示 | 输入账号但不输入密码点击登录 | 提示输入密码 | 预期结果 | |
6 | 登录入口 | 已登录账号,查看登录入口 | 不显示登录入口 | 预期结果 |
6.3测试环境与测试条件
处理器:Inter Core I7-4710MQ四核处理器
内存:4GB
硬盘:1T
操作系统:Windows 10
数据库:MySQL
6.4系统运行情况
全部测试用例都已通过(包括但不限于以上测试用例),且不存在漏洞,实现了论文开始时所作要求。本系统运行稳定,使用流畅,可以满足客户需求。
6.5系统评价
6.5.1系统功能评价
试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。
6.5.2系统技术评价
系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。
6.5.3系统经济评价
在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。
第7章 结论与展望
通过学生管理系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。
目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。
本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。
系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。
致谢
大学生活在这个时候即将划上一个句号,但是对于我的人生道路来说,这仅仅是一个逗号,我将面对的是又一次征程的开始。
回忆过去,许许多多的事情浮现在脑海:刚上大学时欢乐心情和兴奋的场景还历历在目。一切都是那么新鲜,那么富有吸引力。有快乐也有艰辛,有收获也有失落。衷心感谢信息学院所有支持帮助过我的老师,谢谢你们多年来的关心和爱护。同窗的友情同样难忘,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆。
最后,我要特别感谢指导学生管理系统论文设计的老师。本论文是在他的悉心指导和热情帮助下完成的,老师认真负责的工作态度,严谨的治学精神和精深的理论水平都使我受益匪浅。老师无论在理论上还是在实践中,都给予我很大的帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处。值此论文完成之际,特别向老师表示衷心的感谢和崇高的敬意,谢谢他细心而又耐心地辅导,使得我得以顺利的完成毕业设计开发工作,同时也要感谢其他帮助过我的老师和同学,他们在我成长过程中给予了我很大的帮助,在此一并表示感谢。
由于本人水平有限,加上时间紧促,本文一定有不少缺点和不足,恳请各位老师给予帮助和指正。
参考文献
[1]狄喜凤.基于学生管理系统的软件测试策略研究[J].电子技术与软件工程,2021(02):82-83.
[2]张嘉豪,赵亮,翁铭隆,张华俊,李文欣.基于SSM+SpringBoot技术实现服务器监控的研究[J].科学技术创新,2020(33):101-102.
[3]郭俊杰. 基于SSM的线下商圈服务管理系统设计与实现[D].桂林理工大学,2020.
[4]康军林.辽宁省河长制信息管理系统建设的实践与思考[J].水资源开发与管理,2020(06):80-84.
[5]沈世平,林平,赵亚南,谢振平,刘渊.无锡河长制综合信息平台建设与思考[J].江苏水利,2020(06):25-31.
[6]唐湘茜,张俊,王源楠,邓晶.河长制信息管理系统[J].水利水电快报,2020,41(04):6-7.
[7]周彪. 基于SSM框架的Java后端代码生成器的设计与实现[D].大连理工大学,2020.
[8]贾少燕, 基于互联网+的智慧河长制信息管理系统研发. 河南省,河南省水利勘测设计研究有限公司,2020-04-02.
[9]邹秀清,罗得寸,林平,沈世平,谢振平,王玉珏,丁勇.基于区块链的河长制水质信息存证系统[J].应用科学学报,2020,38(01):65-80.
[10]Yuxiang Hou. The design and implementation of the framework for Spring+SpringMVC+MyBatis in the development of Web application[A]. Institute of Management Science and Industrial Engineering.Proceedings of 2019 4th International Industrial Informatics and Computer Engineering Conference(IIICEC 2019)[C].Institute of Management Science and Industrial Engineering:计算机科学与电子技术国际学会(Computer Science and Electronic Technology International Society),2019:6.
[11]马强.河长制背景下的智慧信息管理平台建设探究[J].地下水,2019,41(05):155-156.
[12]张爽.铁岭市河长制信息管理平台的研发与应用[J].吉林水利,2019(07):60-62.
[13]夏添,刘发永,姜跃昆,马色伍,陈雨.成都市河长制管理信息系统的设计与实践[J].四川水利,2019,40(03):113-118.
[14]江金娜. 高校成人教育学生管理系统的分析与设计[D].广东工业大学,2019.
[15]王禹杰. “互联网 智慧河长”信息管理系统设计与实现[D].合肥工业大学,2019.
[16]阚琳.整体性治理视角下河长制创新研究——以江苏省为例[J].中国农村水利水电,2019(02):39-43.
[17]陈志忠.数据挖掘聚类算法在学生管理系统中的应用[J].电脑知识与技术,2017,13(24):21-22.
[18]王微漪. 基于Web的高职院校学生管理系统的设计与实现[D].北京工业大学,2017.
[19]徐波. 数字化校园建设中学生管理系统的设计与实现[D].湖北工业大学,2016.
[20]赵嫚.学生宿舍信息管理系统的设计与应用[J].科技展望,2016,26(27):5+66.
[21]诸晓毅. 九江职业大学学生管理系统的设计与实现[D].电子科技大学,2016.
[22]韩小利,武跃春.校园学生管理系统的设计与应用分析[J].同行,2016(12):93.
[23]高恬宇. 学生管理系统与应用[A]. 旭日华夏(北京)国际科学技术研究院.首届国际信息化建设学术研讨会论文集(一)[C].旭日华夏(北京)国际科学技术研究院:旭日华夏(北京)国际科学技术研究院,2016:1.
[24]闫洁. 贵州商学院学生管理系统[D].大连理工大学,2016.