springboot+vue+mybatis学生成绩管理 +PPT+论文+讲解+售后

现如今大学校园内的学生数量不断多,各个学科种类也越来越多,查询和管理学生成绩变得比较繁琐,浪费了许多人力物力资源,且容易出现差错,因此开发一款软件对学生成绩数据进行管理,便于对各种信息的提取和操作,所以构建一个学生管理系统势在必行。开发本系统可以减轻教职员工的工作压力,比较系统地对教务、教学上的各项服务和信息进行管理从而提高了保密性,加快查询速度、提高了管理效率。

该学生成绩管理系统主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。相关操作人员需要将数据通过界面操作输入到系统的数据库里面。经过分析,本系统运用了MySQL为后台数据库,easyui作为前台技术,以eclipse为开发工具,系统实现了老师管理、学生管理、班级管理、课程管理、学生成绩报表等必需的功能,其操作简单,界面友好,运行比较稳定,适用于大学院校大学生成绩管理。

关键词:  学生成绩管理  java  MySQL数据库  eclipse  easyui spring mvc hibernate spring

                                       开发环境介绍

2.1  开发工具 Eclipse

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一系列标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

Eclipse是著名的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个开发平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

基于Eclipse的应用程序的突出例子是IBM的WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。

Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse 、Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。

2.2   数据库 MySQL

2.2.1  MySQL概述

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,现以被oracle公司收购。目前MySQL被广泛地应用在Internet上的各类应用中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,成为很多开发者较为喜爱的数据库之一。

2.2.2  MySQL的特性

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 。

2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。

3.为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。

4.支持多线程,充分利用CPU资源 。

5.优化的SQL查询算法,有效地提高查询速度 。

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 。

8.提供用于管理、检查、优化数据库操作的管理工具 。

9.可以处理拥有上千万条记录的大型数据库。

2.2.3   MySQL的应用

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL不支持视图(已经被列入5.1版的开发计划)、事件等)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

                               系统需求分析

学生成绩管理是当代学校中不可或缺的组成部分,在信息化飞速发展的今天,它的出现已经成了一种必然,本文将从成绩管理系统的历史和现状进行分析,以求证本系统的设计具有实际的意义,并得到它在未来的发展,从而跟上时代的脚步,做出一个高质量的、安全性好的成绩管理系统,使其不仅能满足学校现在的需要,也能满足将来一段时间的需要。

学生成绩管理系统的开发主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。本系统采用java作为开发语言,使用了著名的开源框架spring MVC、hibernate、spring、easyui进行开发,而后台的数据库采用MySql。

功能需求

3.1.1 基本功能需求

主要实现的是学生成绩管理系统,在设计该系统时,应尽可能的贴近用户,便于用户操作。系统在实现上应该具有如下功能:

  1. 系统要求用户输入正确的账号和密码才能进入系统。
  2. 系统提供普通用户管理权限,可根据角色进行权限分配,能根据实施情况,增加或者删除成绩,同时根据现有情况对学生成绩进行分析。
  3. 系统应该提供学生基本信息的录入。
  4. 系统应该提供老师基本信息的录入。
  5. 系统应该提供课程的基本信息的录入。
  6. 系统应该提供班级基本信息的录入。
  7. 系统应提供普通用户的信息查询功能(按多种方式查询)及统计功能。
  8. 系统应提供超级管理员增加、删除用户账户的功能。
  9. 系统应提供学生成绩基本信息的录入功能。
  10. 系统应提供学生成绩统计功能。

3.1.2 功能模块

成绩管理系统主要实现的功能有:学生管理、教师管理、课程管理、成绩管理、班级管理、系统管理等。

功能模块图如图3.1所示:

图3.1  成绩管理系统模块图

3.2  性能需求

3.2.1系统安全性

对于系统为方便学校管理学生成绩而开发,便于统一管理,设一个超级用户,及几个普通用户(便于输入相关信息)。在登录时,添加验证码,增强系统信息安全性。

3.2.2 数据库选择

由于用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有员工信息的多少的变化,选用MySql 作为数据库开发。

4  系统设计

4.1  数据库设计

数据库设计(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。

数据库设计是建立数据库及应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。

4.1.1 物理设计

从需求分析可以看出,本系统存在以下几个实体:

学生实体:用于显示学生的属性,包括学生姓名、学生性别、学号、联系方式、所在等

班级实体:用于显示班级的属性,包括班级编号、班级名称等

教师实体:用于显示教师的信息,包括工号,姓名,联系方式,入职时间,职称等。

成绩实体:显示课程,成绩,学生等。

课程实体:显示课程名称等。

用户实体:登录用户的信息,包括用户名、密码和用户权限

4.1.2  E-R模型设计

根据实体设计,可以得到各个实体E-R图和部分子系统E-R图。

(1)学生实体E-R图如图4.1所示。

图4.1  课程实体E-R图

(2)课程实体E-R图如图4.2所示。

图4.2  课程实体E-R图

(3)教师实体E-R图如图4.3所示。

图4.3  教师实体E-R图

(4)用户实体E-R图如图4.4所示。

图4.4  用户实体E-R图

(5)班级实体E-R图如图4.5所示。

图4.5  班级实体E-R图

(6)成绩实体E-R图如图4.6所示。

图4.6  成绩实体E-R图

  系统的编码与实现

5.1  系统的实现平台

5.1.1 系统环境

1、系统软件环境

(1)服务端

操作系统:Microsoft Windows 8

数据库系统:MySQL5.5

(2)客户端

操作系统:适用于各种平台

开发工具:Eclipse

开发语言:Java

2、系统硬件环境

(1)服务端:CPU:酷睿四核,内存4G,硬盘500G;

(2)客户端:Pentium 1.6GHz以上CPU,512MB以上内存;

(3)网络配置:百兆模式或以上。

5.1.2  后台数据库选择及配置

本系统决定用MySQL数据库,原因有几下几点:

(1)MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

(2)从自身特性来说:

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。

2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。

3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

4.支持多线程,充分利用CPU资源。

5.优化的SQL查询算法,有效地提高查询速度。

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。

8.提供用于管理、检查、优化数据库操作的管理工具。

9.可以处理拥有上千万条记录的大型数据库。

5.2  子系统功能模块的实现

成绩管理系统登陆界面

用户名:admin

密码:admin

图5.1 成绩管理系统主界面

部分代码:

h1>学生成绩管理系统</h1>

<div class="login-form">

<div class="close"> </div>

<div class="head-info">

<label class="lbl-1"> </label>

<label class="lbl-2"> </label>

<label class="lbl-3"> </label>

</div>

<div class="clear"> </div>

<div class="avtar">

<img src="image/login/avtar.png" />

</div>

<div style="color: white"></div>

<form action="loginController.do?doLogin" method="post" check="loginController.do?doCheck" >

<input type="text"  id="username" name="username"  placeholder="用户名" >

<input type="password"  id="password" name="password" placeholder="密码">

<input type="text"  id="captcha" name="captcha" placeholder="验证码">

<div>

           <img style=" float:right;" title="点击更换" id="img_captcha" οnclick="javascript:refreshCaptcha();" src="captchaCode">

           </div>

           <br/>

           <div id="errormsg" style="color: red"></div>

          

</form>

<div class="signin">

<input id="login" type="button" value="登陆">

</div>

5.2.1  成绩管理模块

一、成绩录入

图5.2 成绩录入界面

代码部分

房间录入界面:ScoreController.java

用到的接口

  1. ScoreService

方法

void save(T entity)

部分代码:

 private static final Logger logger = Logger.getLogger(ScoreController.class);

   String[] excelHeader = new String[]{"学生学号", "课程名称", "分数", "学期", "班级", "教师工号", "教师姓名", "学生姓名"};

   @Autowired

   private ScoreService scoreService;

   @RequestMapping(

      params = {"goScore"}

   )

   public ModelAndView goScore(HttpServletRequest request) {

      return new ModelAndView("buss/score");

   }

   @RequestMapping(

      params = {"save"}

   )

   @ResponseBody

   public AjaxJson save(HttpServletRequest request, HttpServletResponse response, ScoreEntity scoreEntity, String studentid, String teacherid) throws Exception {

      AjaxJson j = new AjaxJson();

      j.setMsg("保存成功!");

      j.setSuccess(true);

      try {

         TeacherEntity e = (TeacherEntity)this.scoreService.get(TeacherEntity.class, teacherid);

         StudentEntity student = (StudentEntity)this.scoreService.get(StudentEntity.class, studentid);

         scoreEntity.setTeacherEntity(e);

         scoreEntity.setStudentEntity(student);

         this.scoreService.save(scoreEntity);

      } catch (Exception var9) {

         j.setMsg("保存失败!");

         j.setSuccess(false);

      }

      return j;

   }

  1. BaseDao

方法

void save(T entity);

二、成绩更改

图5.3  成绩更改界面

代码部分

房间更改:ScoreController.java

用到的接口

  1. ScoreService

方法

void update(T entity)

部分代码:  @RequestMapping(

      params = {"update"}

   )

   @ResponseBody

   public AjaxJson update(HttpServletRequest request, HttpServletResponse response, ScoreEntity scoreEntity, String studentid, String teacherid) throws Exception {

      AjaxJson j = new AjaxJson();

      j.setMsg("更新成功!");

      j.setSuccess(true);

      try {

         TeacherEntity e = (TeacherEntity)this.scoreService.get(TeacherEntity.class, teacherid);

         StudentEntity student = (StudentEntity)this.scoreService.get(StudentEntity.class, studentid);

         scoreEntity.setTeacherEntity(e);

         scoreEntity.setStudentEntity(student);

         this.scoreService.update(scoreEntity);

      } catch (Exception var9) {

         j.setMsg("更新失败!");

         j.setSuccess(false);

      }

      return j;

   }

  1. BaseDao

方法

void update(T entity)

三、成绩删除

图5.4  成绩删除界面

代码部分

成绩界面:ScoreController.java

用到的借口

  1. ScoreService .java

方法   void delete(T entity);

  1. BaseDao.java

方法   void delete(T entity);

部分代码:

 @RequestMapping(

      params = {"delete"},

      method = {RequestMethod.POST}

   )

   @ResponseBody

   public AjaxJson delete(HttpServletRequest request, HttpServletResponse response, String ids) throws Exception {

      AjaxJson j = new AjaxJson();

      j.setMsg("删除成功!");

      j.setSuccess(true);

      try {

         String[] var8;

         int var7 = (var8 = ids.split(",")).length;

         for(int var6 = 0; var6 < var7; ++var6) {

            String e = var8[var6];

            ScoreEntity scoreEntity = new ScoreEntity();

            scoreEntity.setId(e);

            this.scoreService.delete(scoreEntity);

         }

      } catch (Exception var10) {

         j.setMsg("删除失败!");

         j.setSuccess(false);

      }

      return j;

   }

5.2.2  学生管理模块

一、学生录入

图5.6  学生录入界面

代码部分

学生录入界面: StudentController.java

用到的接口

  1. StudentService

方法

void save(T entity);

  1. BaseDao

void save(T entity);

部分代码:

 @RequestMapping(

      params = {"save"}

                                       系统测试

5.4.1  系统测试的目的

系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。它的任务是尽可能彻底地检查出程序中的错误,提高软件的可靠性,其目的是检验系统“做得怎样?”。这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。

一个程序并不可能达到十分完美,难免存在一些错误。如果不能及时将其找出并修改,会造成系统崩溃并造成不必要的损失。通软件测试,尽可能多的找出系统中的错误,以便与及时修改。成绩管理系统是对学生成绩进行管理的系统,一旦系统无法运行,对学校的成绩管理带来很多的影响。所以通过软件测试的手段,尽可能排除程序中的错误,已达到程序运行稳定的目的,使学校的工作不会因此受到影响。

5.4.2  系统的测试环境

  1. 系统测试的性能要求

系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。

本系统运行环境为网络版,在运行时对系统整体性能要有一定的要求,要求:软硬件要求:系统环境win8+MySQL+eclipse

硬件系统环境i5、4G内存、500G硬盘

系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。

  1. 测试数据

(1)信息输入

选择几组数据进行添加 修改 删除 等操作 实现其基本功能

(2) 信息查询

信息输入后,通过信息查询,查看结果是否和设计时数据一致,以确认数据的正确性。,

(3) 信息的删除,通过对信息的删除,然后进行信息查询,验证信息是否已经成功删除。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值