学生成长档案管理系统的设计与实现

2022-07-06 14:23李焕彭科姜琳琳朱进
现代信息科技 2022年3期

李焕 彭科 姜琳琳 朱进

摘  要:随着社会信息化的完善和高等教育事业的快速发展,传统管理模式已无法适应高校的管理需要,因此建立一个现代化的学生档案管理系统十分必要。文章以高校学生档案管理工作流程现状和需求为依据,基于Java Web开发技术和MVC模式,完成学生成长档案管理系统的开发,实现了学生信息收集、信息管理、信息查询和评价分析等功能。系统不仅为学生提供了更为便捷的服务,加强教师与同学们之间的密切联系,同时进一步提升了学工管理的效率。

关键词:学生档案管理系统;学生信息系统;Java Web开发;MVC模式

中图分类号:TP311         文献标识码:A文章编号:2096-4706(2022)03-0005-04

Design and Implementation of Student Growth Archives Management System

LI Huan, PENG Ke, JIANG Linlin, ZHU Jin

(School of Geography Science and Geomatics Engineering, Suzhou University of Science and Technology, Suzhou  215009, China)

Abstract: With the improvement of social informatization and the rapid development of higher education undertaking, the traditional management mode can not be adopt to the management needs of colleges and universities. Therefore, it is very necessary to establish a modern student archives management system. Based on the current situation and needs of college student archives management workflow, and based on Java Web development technology and MVC model, this paper completes the development of student growth archives management system, and realizes the functions of student information collection, information management, information inquiry, evaluation analysis and so on. The system not only provides more convenient service for students, but also strengthens the close relationship between teachers and students, and further improves the efficiency of student work management.

Keywords: student archives management system; student information system; Java Web development; MVC model

0  引  言

随着社会信息化的完善和高等教育事业的快速发展,高等教育的规模日益庞大,学生人数也有了大幅度的增加,而因此所带来的是学生管理工作量的加大,管理和统计工作越加困难,这些都是所有高校学生个人信息管理所需要迫切解决的问题。高校的学生个人信息管理是学生管理工作的一个重要组成部分,同时体现了学校的管理水平,一个完善的学生信息管理系统对于所有在校学生的信息录入和管理具有关键作用。在校学生的信息管理工作十分复杂,包含了学生在校期间的整个学习过程和各个方面,从学生入学开始,到学生毕业离校,学生的各类档案信息十分庞大,使得学生的信息管理工作日益繁重,工作内容繁复且需要耗费大量人力、物力及时间。而越来越多的数据记录资料管理起来也十分不易,且储存不方便,传统的手工作业和老旧的管理模式已无法适应信息化时代高等院校的管理需要[1]。

因此,建立一個基于网络的现代化的学生信息管理系统是十分有必要的,建立完整准确的数据库,对信息进行科学化和网络化管理,实现学院内部的信息互联互通,达到各类信息资源沟通顺畅,是学生信息管理工作发展的必然趋势,也是学院管理工作的重中之重。

信息技术在我国逐渐被重视,并且将其作为教育发展的动力[2],着重发展相关信息技术,并对其进行创新,最终利用该技术提升我国的教育事业。因而对高校学生信息管理系统进行革新研发具有十分重要的意义[3],主要体现在以下等几个方面[4]:

(1)保证信息的完整性和准确性;

(2)教学管理制度化和规范化;

(3)降低管理成本,提高教学办公效率;

(4)改善系统在运行高峰时期的稳定性。

结合高校实际需求,本文设计实现了学生成长档案管理系统。

1  系统开发平台

学生成长档案管理系统是基于Java语言进行开发,Java具有大量的封装好的包可以进行调用,便于进行JavaWeb开发[5]。使用JSP和Servlet进行后台的系统开发,前端使用html+css+js语言进行开发,将前端和后端语言进行结合。由于考虑到数据库数据较大,本平台使用MySQL数据库进行开发,便于存储大量数据。开发工具使用Eclipse,操作系统为 Windows10。85B84264-B065-4501-B6D1-16683D056D0B

2  系统功能设计

本系统分为三级用户,包括学生、班主任和学工办。根据用户对于系统的需求、建议,以及未来的功能拓展需求,依据模块化的划分思想,采取按照用户类型以及要完成的相关功能的方式进行划分,在不同类型的模块之下,将实际的模块细分为多个不同功能的子模块,如图1所示。

2.1  用户登录模块

用户登录模块的具体内容有:

(1)登录:用户在输入正确的用户名、密码及验证码后,选择对应的角色进行登录;

(2)修改密码:用户输入旧密码,在密码正确的条件下设置新密码,并返回登录页面用新密码进行重新登录;

(3)退出登录:当用户点击退出登录按钮时,用户退出登录状态。

2.2  学生模块

学生模块的具体内容有:

(1)个人信息:学生需填写个人信息,如民族、籍贯、出生年月、政治面貌、照片等;

(2)学习情况:学生上传大学四年规划书及每学期的学习计划与总结;

(3)获奖情况:学生上传获得奖项及照片;

(4)志愿活动:学生上传志愿活动内容及照片;

(5)老师评价:学生查看班主任每月对于自己的评价;

(6)任务空间:学生按照学工办发布的任务上传对应文件;

(7)励志留言:学生可以上传留言,学工办审核通过后,在首页展示。

2.3  班主任模块

班主任模块的具体内容有:

(1)班级整体信息:班主任查看班级所有同学的学习情况、获奖情况、志愿活动,并可进行信息导出;

(2)学生个人信息:班主任查看每位同学的个人信息及其学习情况、获奖情况、志愿活动,并对其进行评价;

(3)评价信息分析:记录班主任对学生的所有评价;

(4)班主任工作手册:班主任可以填写班主任工作计划、班主任周报告、学习情况分析、学业预警谈话、集体获奖情况、学生违纪情况、“班团一体化”建设总结、班级工作总结及导出工作手册内容。

2.4  学工办模块

学工办模块的具体内容有:

(1)学生信息管理:学工办可以按班级筛选出学生个人信息、学习情况、获奖情况、志愿活动,并将信息导出。学工办同时可以导入新的学生名单;

(2)教师信息管理:学工办可以查看、导入班主任名单,查看老师对学生的评价信息;

(3)班主任工作手册:在线查看各个班级的班主任工作手册同时可以导出内容;

(4)任务空间:学工办发布任务,向学生收集资料;

(5)学工办信息管理:查看、导入学工办信息;

(6)专业管理:添加、查看本学院所设专业;

(7)首页信息管理:学工办审核学生发送的留言信息;

(8)账号管理:查询、查看所有人的账号及密码。

3  数据库设计

本系统使用MySQL数据库,MySQL是在一些中小型网站中应用最为广泛的关系型数据库。按照前文系统功能模块规划,设计数据库数据表,主要包括学生信息表、学生学习情况表、学生志愿情况表、学生获奖情况表、老师信息表、老师评价表、用户信息表等表格。以数据库中用户信息表为例,具体如表1所示,其余表不在这里一一赘述。

4  系统部分功能的实现

4.1  用户登录

用户打开登录页面,在登录页面可以看到3个角色,即学生、班主任、学工办,不同角色权限不同。在没有登录成功的条件下,登录页面以外的页面是不允许访问的,如果直接输入登录页面之外的页面网址,会被拦截器强制跳转到登录页面[6],如图2所示。具体代码如下:

HttpServletRequest request = (HttpServletRequest) req;

HttpServletResponse response = (HttpServletResponse) rep;

User user = (User) request.getSession().getAttribute(“user”);

String contextPath = request.getContextPath();

String uri = request.getRequestURI();

uri = uri.substring(uri.lastIndexOf(“/”)+1, uri.length());

if(user != null||uri.equalsIgnoreCase(“index.jsp”)||

uri.equalsIgnoreCase(“login.jsp”)||

uri.equalsIgnoreCase(“LoginServlet”)){

chain.doFilter(request, response);//已登陸,放行

} else

{

response.sendRedirect(contextPath+“/index.jsp”);//没有登录,跳转登录页面

}

4.2  分页显示

学工办和班主任在查看学生数据时,由于数据量大,所以采用分页显示数据的方法,使查看数据时更方便。分页显示的本质是在刷新页面的同时传递pageNo和pageCount参数,控制刷新后显示第pageNo页,再通过公式(pageNo - 1) * pageCount计算出第pageNo页对应的第一行是多少行,从第(pageNo - 1) * pageCount行开始,打印pageCount条记录,以达成只显示pageCount行的分页效果。85B84264-B065-4501-B6D1-16683D056D0B

4.3  二级联动搜索

为了方便学工办的管理,学工办可以通过专业班级的筛选查看学生数据及班主任工作手册内容。专业班级的筛选采用二级联动技术,后端获取专业和班级数据,将多个字符串转成jsonArray格式,并传递给前端,前端使用二级联动,学工办选择专业后,出现该专业所有的班级供学工办选择,选择好班级后,将获取的参数传递给后端进行搜索,如图3所示。具体代码如下:

var major= ${majorString};//获取专业数据

var clazz= ${clazzString};//获取班级数据

var iNum1;

var iNum2;

$(function () {

//二级联动

for (var i = 0; i < major.length; i++) {

$(‘#major).append(‘);

};

$(‘#major).change(function () {

$(‘#clazz).children().not(‘:eq(0)).remove();

iNum1 = $(this).children(‘option:selected).index();

var aaClazz = clazz [iNum1 - 1];

for (var j = 0; j < aaClazz.length; j++) {

$(‘#clazz).append(‘);

}

});

var xndata3 =‘${ major };

$(“#major option”).each(function () {

if ($(this).val() == xndata3) {

$(this).attr(“selected”, true);

$(‘#clazz).children().not(‘:eq(0)).remove();

iNum2 = $(this).index();

var aaClazz2 = clazz [iNum2 - 1];

for (var j = 0; j < aaCity2.length; j++) {

$(‘#clazz).append(‘);

}

}

})

var xndata4 =‘${clazz };

$(“#clazz option”).each(function () {

if ($(this).val() == xndata4) {

$(this).attr(“selected”, true);

}

})

})

4.4  學生个人信息展示

学工办查看学生个人信息,如图4所示。点击“详情”按钮,可以查看更多学生个人信息内容。点击“导入数据”,导入学生名单,学生以学号及身份证后六位登录系统,完善信息。点击“导出数据”,将学生个人信息以Excel表格的形式导出。

5  安全设计

5.1  密码存储

用户密码如果直接存储到数据库中,可能会导致“撞库”[7],即黑客攻陷了网站的数据库后,尝试将这些用户的邮箱和密码用于其他网站,如QQ、支付宝、淘宝等账户,如果用户恰好使用了相同的密码,则会造成重大的财产或其他损失。所以本系统就使用了MD5加密的办法,用户的密码会转换成其他乱码存储在数据库中[8],从根本上避免了密码泄露的可能性,包括系统管理员在内的任何人均无法反推密码原文。

5.2  防止SQL注入

为了防止SQL注入,即攻击者通过控制发送给SQL查询的输入参数,操纵这些参数在SQL服务器端解析成代码(而不是数据)并执行,那么后台数据库就遭到注入攻击,达到恶意操作数据库、拿到管理员权限等用途[9]。本系统在开发时使用Prepared Statement接口,在创建SQL执行对象时就已经将SQL语句逻辑锁死,不会被用户输入内容影响,可以避免SQL注入问题。

6  结  论

本系统主要借助MVC模式、MySQL数据库以及各式调研形式等方法,建设基于学生成长信息档案的多端管理平台。目前,对系统进行软件测试后发现,系统运行稳定,即将进行试运行,这不仅为学生提供了更为便捷的服务,加强教师与同学们之间的密切联系,同时进一步提升了学工管理的效率。

参考文献:

[1] 田佳.学生个人信息管理系统开发的意义 [J].新作文:教研,2017(12):1.

[2] 曹美甜.基于混合架构的高校学生信息管理系统的设计与实现 [D].长春:吉林大学,2015.

[3] 张保越.学生信息管理系统的设计与实现 [D].长春:吉林大学,2015.

[4] 赵友贵.重庆正大软件职业技术学院学生信息管理系统的设计与实现 [D].成都:电子科技大学,2014.

[5] 韩洪勇,朱珍珍,姚连达.基于JSP和Servlet的学生信息管理系统 [J].科技风,2020(19):74.

[6] 黄建茂.基于Web的高校学生信息管理系统中权限管理的设计与实现 [J].三明学院学报,2011,28(6):18-23.

[7] 潘旭.高校学生信息管理系统的设计与实现 [J].产业与科技论坛,2020,19(13):56-57.

[8] 任杰麟.MD5加密算法的安全性分析与改进 [J].农业图书情报学刊,2017,29(7):39-42.

[9] 李明.Web应用SQL注入漏洞分析及防御研究 [J].福建电脑,2020,36(5):25-27.

作者简介:李焕(2000—),女,汉族,河北邯郸人,本科在读,研究方向:地理信息科学;彭科(1980—),男,汉族,江苏溧阳人,讲师,硕士,研究方向:思想政治教育;姜琳琳(2001—),女,汉族,江苏无锡人,本科在读,研究方向:地理信息科学;朱进(1983—),男,汉族,江苏南京人,讲师,博士,研究方向:地理信息科学。85B84264-B065-4501-B6D1-16683D056D0B