springboot+vue+mybatis高校贫困生系统+PPT+论文+讲解+售后

高校贫困生管理系统是针对目前高校贫困生管理的实际需求,从实际工作出发,对过去的高校贫困生管理系统存在的问题进行分析,结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用目前jsp中最流行SSM框架eclipse编辑器、mysql数据库设计并实现的 。本高校贫困生管理系统主要包括系统用户管理模块、院系管理模块、学生信息管理、教师信息管理、贫困生信息管理、登录模块、和退出模块等多个模块。它帮助高校贫困生管理实现了信息化、网络化,通过测试,实现了系统设计目标,相比传统的管理模式,本系统合理的利用了高校贫困生管理数据资源,有效的减少了高校贫困生管理的经济投入,大大提高了高校贫困生管理的效率。

关键词:高校贫困生管理SSM框架mysql数据库

                                          系统分析

系统业务流程分析

总体系统业务流程:以用户的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,管理系统等功能操作,以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,管理系统等功能操作。

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

图3-1系统业务流程图

3.4数据流程分析

数据流图的简称为DFD,是通过使用图形的方法对系统所具备的逻辑功能进行阐述,描述系统数据的流向和逻辑变换。由于该方法能将难以阐述的问题进行表述,因此被开发者广泛应用,是当前应用范围较为广泛的结构化系统分析方法。

零层数据流程是流程中最抽象的一层,它包括了用户添加与登录管理、用户功能管理和检索维护管理等功能模块,在登录注册模块使用到的数据存储有用户账户信息文档、用户信息文档,用户功能管理模块需要的存储是用户动态信息文档、图片信息文档,检索维护是通过以上这些文档信息通过关键词进行搜索。

系统的0层数据流图如下图所示。

图3-2系统数据流图(0层)

1层数据流图中,数据实体包括普通用户和管理员,普通用户数据流程包括功能选择、学生信息管理、教师信息管理、;管理员用户数据流程包括院系信息管理、学生信息管理、系统管理;普通用户数据流包括操作信息、添加信息、浏览信息;管理员数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息等,数据表包括。

系统的1层数据流图如下图所示。

图3-3系统数据流图(1层)

2层为管理员操作后台数据流图,管理员可以分别通过添加、修改和删除来对系统进行管理,如下图所示。

系统的2层数据流图如下图所示。

图3-4系统数据流图(2层)

第4章 系统设计

4.1系统结构设计

系统主要是分为管理员端设计与用户端设计。用户端模块主要是系统中普通用户在注册、登录系统可以看到自己的基本信息,维护自己的信息;管理员端模块主要是管理员登录后对整个系统相关操作进行处理,可进行管理员的添加和删除,可对系统中的用户进行管理。

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

图4-1系统功能结构图

4.2功能模块设计

  1. 注册模块:游客用户可以系统进行账号注册,账号注册需要输入的数据,有用户名、密码、确认密码、邮箱、qq等,提交注册信息后,系统通过js代码判断用户输入的注册数据是否符合规格,如果符合规格后,在系统数据库中新增一个用户记录,为了安全性,使用md5加密算法完成密码的加密,然后存储数据库。
  2. 登录模块:在用户登录过程中,包含用户名、密码和验证码,系统需要先对验证码进行正错判断,若用户登录使用了验证码,则用户登录时除了需要输入用户名和密码外,还要输入验证码。在判断验证码为正确后,判断用户名及密码,由于用户密码是用MD5加密过的,所以在对用户密码判断时应先对密码进行MD5转换后再进行判断,当用户名或密码不正确时,返回登录页面显示错误信息。
  3. 公寓公告管理模块:设计系统的公寓公告表,管理员对公寓公告数据的管理,如增加、删除、修改、查询等,管理员添加公寓公告时,输入公寓公告后,使用js函数判断输入格式是否正确,判断正确后,则往公寓公告表中插入公寓公告数据。
  4. 院系信息管理模块:设计系统的院系信息表,管理员对院系信息数据的管理,如增加、删除、修改、查询等,管理员添加院系信息时,输入院系信息后,使用js函数判断输入格式是否正确,判断正确后,则往院系信息表中插入院系信息数据。
  5. 学生信息管理模块:设计系统的学生信息表,管理员对学生信息数据的管理,如增加、删除、修改、查询等,管理员添加学生信息时,输入学生信息后,使用js函数判断输入格式是否正确,判断正确后,则往学生信息表中插入学生信息数据。
  6. 学生信息管理模块:设计系统的学生信息表,管理员对学生信息数据的管理,如增加、删除、修改、查询等,管理员添加学生信息时,输入学生信息后,使用js函数判断输入格式是否正确,判断正确后,则往学生信息表中插入学生信息数据。
  7. 贫困生申请管理模块:设计系统的贫困生申请表,管理员对贫困生申请数据的管理,如增加、删除、修改、查询等,管理员添加贫困生申请时,输入贫困生申请后,使用js函数判断输入格式是否正确,判断正确后,则往贫困生申请表中插入贫困生申请数据。
  8. 考勤管理模块:考勤管理模块包括考勤录入、考勤列表、考勤搜索、考勤修改、考勤删除,都是通过mysql语句来实现数据库操作,并将数据放置到html界面中。
  9. 系统管理模块:数据备份功能。

4.3数据库设计

4.3.1数据库设计概述

数据库的设计在这一套开发系统中扮演者非常重要的角色,完善的数据库建立可以让其更快的完成项目。整个数据库的创建是库存管理系统开发和创立的核心技术,概括的说,就是根据用户的需求创立起满足用户的需要的数据库。数据库的整体设计是在软件开发是其最主要的问题。

再考虑到数据库设计的时候,我们首先应该想到把这个系统的数据设计和处理设计密切结合起来,从而使得把整个库存信息管理系统相结合起来。

以前采用手工整理的方法来对信息结构复杂,应用环境多样的数据进行整理。使用这种过时方法与整个数据整理人员的水平是紧密相关的,经验多的人则失误少,反之,则出现的错误会多。数据库设计是被认为是一项技巧而不是他人眼中工程项目,缺少正确的理论知识和合适的解决方法的支持。因为在交付运行了一段时间之后总有些莫名其妙的问题发生,使这个软件系统的质量很难得到保障从而导致出现了很多的损失。以是只有采取新的数据库管理方式才能更好的解决这些根本性的问题。近些年来,人们不断的探索和挖掘数据库其中的奥妙,以便更快更好地运行整个系统。

4.3.1概念设计

一个完整的数据分析过程与这个数据库的逻辑结构和物理结构有十分密切的联系,我们需要一系列操作来完成对应用数据库所使用的信息进行确认、编纂、组织、挑选。我们可以采用特定的方法来获取有关用户的所有的有效信息,从而使这些有用信息可以直接成为数据库的重要数据。

我们在数据库分析中采用E-R图来建立相对应的关系,它有实体、关系、属性三种概念。实体可以说是一个用来维持和不断利用数据的大集合;属性可以说是这个物体的所具有的特点;关系很明显指的就是每个数据实体之间的种种联系,关系给各个实体之间建立起了相对应的模型。

根据系统各个实体的关系,得出系统的总体ER图。

系统总体ER图如下图所示。

图4-2系统总体ER图

系统实现

5.1基本任务

系统实现阶段的根本目标在这个阶段的设计工作中精确地描述出目标系统,从而在编码阶段可以直接根据这个描述翻译成用程序语言编写的系统。

系统实现的基本任务有以下几个:

 (1) 为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。

 (2) 为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。

 (3) 对数据结构进行物理设计,即确定数据库的物理结构。

 (4) 其他设计:根据软件系统的类型,可能还需要进行代码设计、输入/输出格式设计、人机对话设计。

 (5) 编写系统实现说明书。

 (6) 评审。对处理过程的算法和数据库的物理结构都要评审。

系统结构可分为src的jsp源代码,database文件夹为系统的数据库文件,webroot为系统的界面代码文件。Src文件夹里面包含control包、dao包、util包,dao包为逻辑层,是系统方法的底层包,包括各种数据增删改查的方法,control包是控制层,用来连接逻辑层和视图层,在逻辑层调用逻辑层,完成视图层需要的功能,视图层为系统的界面代码,完成界面的设计和数据的显示。

5.2登录模块的实现

5.2.1首页实现 

经过用户登录后,页面跳转至后台首页,main.jsp,首页是由2个页面组成的,包括top、left和center等页面,通过@ Register引入,这里也是浏览者操作系统功能的入口,系统首页主要介绍系统的基本信息,包括当前用户、当前日期、当前访问浏览器的版本、服务器的端口数、当前用户的权限、当前电脑的ip、当前电脑的操作系统名称、本系统的开发日期、系统作者、指导教师、开发日期等,主页面如下图所示

图5.1 首页页面图

首页主要代码如下:

<%@ page language="jsp" import="jsp.util.*" pageEncoding="gb2312"%>

<%@page import="util.Info"%>

<%@page import="dao.CommDAO"%>

<%@page import="util.PageManager"%>

5.2.2管理员后台登录 

为了确保系统安全性,系统操作员只有在后台登录界面输入正确的用户名、密码、权限以及验证码,单击“登录”按钮后才能够进入本系统的后台管理界面。

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

图5-2用户登录流程图

登录界面如下图所示。

图5-3登录界面

用户登录的逻辑代码如下:

if(ac.equals("adminlogin"))

{

String username = request.getParameter("username");

String password = request.getParameter("pwd");

String utype = request.getParameter("cx");

String pagerandom = request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");

String random = (String)request.getSession().getAttribute("random");

if(!pagerandom.equals(random)&&request.getParameter("a")!=null)

{

request.setAttribute("random", "");

go("/login.jsp", request, response);

}

else{

String mysql1 = "select * from allusers where username='"+username+"' and pwd='"+password+"'  ";

List<HashMap> userlist1 = dao.select(mysql1);

if(userlist1.size()==1)

{

request.getSession(). setAttribute("username", userlist1.get(0).get("username"));  

request.getSession(). setAttribute("cx",  userlist1.get(0).get("cx"));  

gor("main.jsp", request, response);

}else{

request.setAttribute("error", "");

go("/login.jsp", request, response);

}

}

}

5.3管理员模块的实现

5.31系统用户管理模块的实现

系统用户管理主要是对新用户的添加和旧用户的删除。新用户的添加主要是指添加用户名称并确定其密码;旧用户的删除也是从下拉菜单中找到对应的用户名称将其删除。不论是新用户添加还是旧用户的删除,这个权限只有管理员具有。

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

图5-10系统用户管理流程图

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

图5-11系统用户管理

系统用户管理关键代码为:

if(request.getSession().getAttribute("username")==null )

{

out.print("<script>javascript:alert('对不起,您已超时或未登陆,请在IE中重新打开登陆!');window.close();</script>");

out.close();

}

else

{

if(request.getSession().getAttribute("cx").equals("超级管理员"))

{}

else

{

out.print("<script>javascript:alert('对不起,您无权操作此模块!');history.back();</script>");

out.close();

}

}

%> 

5.3.2院系信息管理模块的实现

院系信息添加功能主要指对其院系等一些基本信息的添加、删除和修改。院系信息查询能根据院系等多种条件对院系信息进行查询。

院系信息管理流程图如下所示。

图5-14院系信息管理流程图

院系信息添加如下图所示:

图5-15院系信息添加

院系信息查询如下图所示:

图5-16院系信息查询

院系信息添加关键代码为:

function gows()

{

document.location.href="shangpinfenleii_add.jsp?id=<%=id%>";

}

function hsgxia2shxurxu(nstr,nwbk)

{

if (eval("form1."+nwbk).value.indexOf(nstr)>=0)

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");

}

else

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";

}

}

5.3.3学生信息管理模块的实现

管理员发布新的学生信息,系统显示学生信息,学生信息添加功能主要指对其学号、姓名等一些基本信息的添加、删除和修改。

学生信息管理流程图如下所示。

图5-17学生信息管理流程图

学生信息添加如下图所示:

图5-18学生信息添加

学生信息查询如下图所示:

图5-19学生信息查询

学生信息关键代码为:

function gows()

{

document.location.href="bumenxinxi_add.jsp?id=<%=id%>";

}

function hsgxia2shxurxu(nstr,nwbk)

{

if (eval("form1."+nwbk).value.indexOf(nstr)>=0)

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");

}

else

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";

}

}

5.3.4教师信息管理模块的实现

管理员发布新的教师信息,系统显示教师信息,教师信息添加功能主要指对其工号、姓名等一些基本信息的添加、删除和修改。

教师信息管理流程图如下所示。

图5-20教师信息管理流程图

教师信息添加如下图所示:

图5-21教师信息添加

教师信息查询如下图所示:

图5-22教师信息查询

教师信息关键代码为:

function gows()

{

document.location.href="cangku_add.jsp?id=<%=id%>";

}

function hsgxia2shxurxu(nstr,nwbk)

{

if (eval("form1."+nwbk).value.indexOf(nstr)>=0)

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");

}

else

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";

}

5.5学生管理模块的实现

5.5.1贫困生申请管理模块的实现

学生发布新的贫困生申请,系统显示贫困生申请,贫困生申请添加功能主要指对其学号、姓名、贫困申请表等一些基本信息的添加、删除和修改。

贫困生申请添加页面,如下图所示。

图5.22 贫困生申请添加页面图

贫困生申请管理页面,如下图所示。

图5.23贫困生申请管理页面图

贫困生申请管理主要代码如下:

function gows()

{

document.location.href="cangwei_add.jsp?id=<%=id%>";

}

function hsgxia2shxurxu(nstr,nwbk)

{

if (eval("form1."+nwbk).value.indexOf(nstr)>=0)

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");

}

else

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";

}

5.5.2勤工助学申请管理模块的实现

学生发布新的勤工助学申请,系统显示勤工助学申请,勤工助学申请添加功能主要指对其学号、姓名、工作表等一些基本信息的添加、删除和修改。

勤工助学申请添加页面,如下图所示。

图5.22 勤工助学申请添加页面图

勤工助学申请管理页面,如下图所示。

图5.23勤工助学申请管理页面图

勤工助学申请管理主要代码如下:

function gows()

{

document.location.href="cangwei_add.jsp?id=<%=id%>";

}

function hsgxia2shxurxu(nstr,nwbk)

{

if (eval("form1."+nwbk).value.indexOf(nstr)>=0)

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");

}

else

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";

}

5.5.3助学贷款申请管理模块的实现

学生发布新的助学贷款申请,系统显示助学贷款申请,助学贷款申请添加功能主要指对其学号、姓名、助学贷款详情表等一些基本信息的添加、删除和修改。

助学贷款申请添加页面,如下图所示。

图5.22 助学贷款申请添加页面图

助学贷款申请管理页面,如下图所示。

图5.23助学贷款申请管理页面图

助学贷款申请管理主要代码如下:

function gows()

{

document.location.href="cangwei_add.jsp?id=<%=id%>";

}

function hsgxia2shxurxu(nstr,nwbk)

{

if (eval("form1."+nwbk).value.indexOf(nstr)>=0)

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");

}

else

{

eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";

}

                                    系统测试

添加测试

游客用户得先添加账号才能登录系统,用户输入符合规则的用户名后,填写2次一样的密码,点击添加按钮,系统提示“添加成功“。当用户2次密码不一致时,系统提示两次密码不一致。

添加测试用例如下表所示。

表6-1添加测试用例

测试模块

用户添加模块测试

测试目的

测试当添加信息输入不符合要求时,系统是否能进行相应处理并给出提示。

测试方法

黑盒测试

测试数据

1不输入用户名和密码,直接点击添加。

2输入未添加过的用户名。例如:abcd

3输入正确用户名,两次密码不一样。例如:用户名abcdefg、密码 000,确认密码111

预期结果

1 界面不跳转,弹出对话框,提示用户输入必填项。

2界面跳转,弹出对话框,提示用户添加成功。

3界面不跳转,弹出对话框,提示两次密码不一致。

实际结果

与预想一致。

结论

添加模块实现了基本的异常输入应对。

6.3.2登录测试

登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮是否正常进入系统首页。

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

表6-2登录测试用例

测试模块

用户登录模块测试

测试目的

测试当登陆信息输入不符合要求时,系统是否能进行相应处理并给出提示。

测试方法

黑盒测试

测试数据

1不输入用户名和密码,直接点击登陆。

2输入未注册过的用户名。例如:abcdefg

3输入正确用户名,错误密码。例如:用户名abcdefg、密码 000

4输入正确用户名,正确匹配密码。例如:用户名abcdefg、密码 111

预期结果

1 界面不跳转,弹出对话框,提示用户输入必填项。

2界面不跳转,弹出对话框,提示用户当前用户名尚未注册。

3界面不跳转,弹出对话框,提示用户密码错误。

4界面实现跳转,登陆功能正常进行。

实际结果

与预想一致。

结论

登陆模块实现了基本的异常输入应对。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值