基于MVC架构的学生综合素质调研系统设计研究
2022-11-22吕学明
吕学明
(山西旅游职业学院 山西 太原 030031)
0 引言
坚持学生的全面发展和综合素质教育是高等职业教育的发展根本,随着信息时代的飞速发展,高等职业院校学生能够通过网络获取到更加及时、更加丰富的信息,使其在学习、生活的各个方面都具有了明显的独立性、多元化和个性化等特征[1]。在此基础上,高职院校学生综合素质的培养也必然要动态结合学生的个性特征进行持续的调整和改进[2],以符合学生的成长规律,并最终达到培养学生成才的教育目的。因此,本研究尝试构建了一个学生综合素质调研系统,以全面了解学生的综合素质水平,准确把握学生的心理特征和专业特长,为高职院校学生综合素质培养提供客观的理论依据,以促进学生的全面健康发展。
1 学生综合素质调研系统的总体设计
学生综合素质调研系统采用了基于B/S的分层式架构设计[3],将系统功能分别部署在三个相互独立的逻辑层中,其中系统前端的交互功能主要通过WEB浏览器来实现,并通过表示层实现前端界面的动态显示和交互控制;后端服务器用于完成具体的业务逻辑处理,以及与数据库的通信,中间的逻辑层用于部署系统的业务处理规则及相关协议,底层数据交互层用于实现对数据库的访问及数据的存储管理。总体的架构设计如图1所示。
图1 学生综合素质调研系统总体架构设计
表示层采用模型-视图-规则(Model-View-Controller, MVC)模式[4]实现了前端业务处理规则与界面显示的分离,并构建了通用的界面模型,以便快速套用在系统的所有前端页面上。在此基础上,表示层还结合JavaScript脚本实现页面动态效果的显示,丰富了前端页面的设计元素,美化了系统界面。
逻辑层针对具体的业务对象构建相应的业务处理规则,并采用PHP语言按照业务规则进行业务对象的逻辑处理,业务对象包括行为对象和数据对象两类。行为对象用于实现与访问数据相关的一些验证行为的处理,例如对用户交互的数据格式、数据内容、业务请求类型进行合法性验证等;数据对象用于实现具体的数据访问操作,包括数据格式的封装与解析、数据传输协议的部署等。
数据层用于实现与底层数据库的交互操作,包括数据的增、删、改、查和数据的存储、备份,以及更新操作。底层数据库采用了MySQL数据库管理工具,通过结构化SQL语句建立关系型数据库模型,并实现数据的定义与操纵。
学生综合素质调研系统的三层架构设计中,表示层、逻辑层与数据层之间松耦合关联,并向下依赖[5]。低层的结构变化、功能迭代更新不影响上层模型设计,大大降低了系统维护、功能扩展的代价成本。
2 学生综合素质调研系统构建的关键性技术
2.1 MVC架构
MVC架构采用分层式理念将前端页面的业务处理模型、界面显示与用户交互控制进行了功能分离[6],其中M模型专用于接受用户的请求事件输入,并遵循相应的业务规则对其进行数据流的预处理,在这个处理过程中,C控制器用于接收和发送相应的控制信号,以实现模型的交互输入和数据流的交互输出;V视图则专用于处理前端页面的布局控制和内容显示。在此模式下,用户交互事件的接收、处理与页面布局控制相分离,即时交互事件的处理规则产生了变化,也不会影响页面的统一布局[7]。
2.2 JavaScript脚本
JavaScript脚本以HTML标签形式嵌入在WEB页面中,可由浏览器直接调用和执行,是轻量级的、即时编译型的脚本语言,支持面向对象、声明式、函数式等多种编程范式[8],语言设计灵活。JavaScript脚本将WEB页面
图2 学生综合素质调研系统的主要功能
视为一个HTML DOM对象,基于HTML DOM对象通过内置的document.getElementById接口就可以很方便地访问到所有的HTML元素,并对元素的属性进行动态设置和修改,以实现页面的动态效果呈现。
2.3 PHP语言
PHP语言既是面向过程的语言,也是面向对象的语言,具有非常高的执行效率[9]。同时PHP语言库内置了丰富的功能函数和标准的数据通信接口,能够灵活实现前端浏览器与后端服务器、数据库之间的信息通信,也可以在前端页面之间进行信息的传递,是目前WEB应用开发使用最为广泛的一种数据交互语言。
2.4 MySQL数据库
MySQL是一个轻量级的开源数据库管理工具,底层开发采用C++语言,具有极高的可移植性和平台兼容性[10],并支持JDBC、ODBC、TCP/IP等主流的数据访问接口标准,能够灵活应用于各类WEB服务场景。在数据容错方面,MySQL的数据类型定义新增了varchar类型,该类型能够匹配所有的基本数据类型,大大提高了数据类型的兼容性与容错性;在数据安全方面提供了基于PHP、JavaScript等多种语言的数据库访问身份验证接口,以验证数据库访问用户的身份合法性;在数据访问方面,提供了基于SQL结构化语言的通用接口,以实现对MySQL数据库的快速访问。
3 学生综合素质调研系统功能模块的设计与实现
3.1 平台功能模块的设计
学生综合素质调研系统面向系统管理员、教师和学生三类用户,提供了用户基本信息管理、题库管理、问卷管理、数据管理四个主要功能模块,如图2所示:
(1)管理员用户权限
管理员用户的系统权限是最高的,可以对数据库的所有数据进行管理、审核和记录。
基本信息管理模块,管理员可以分别对学生用户、教师用户的基本信息进行管理,学生基本信息主要包括班级、学号、姓名、年龄、性别、所属专业、联系方式等;教师基本信息主要包括教工号、所属系部、姓名、学历、职称、主要工作职能等,在此基础上管理员可以根据用户需求添加、修改、删除需要采集的字段信息。另外,管理员还需要依据用户身份不同进行用户权限的分组管理,包括添加组、修改组、编辑组成员、删除组用户等操作。
题库管理模块,面向管理员提供了题库备份、题库审核、题库日志记录查询等功能,题库备份是指管理员可以进行题库备份的相关参数设置,例如定时备份、备份数据的导出路径设置、备份文件的格式设置等;题库审核是指管理员需要对教师用户上传的题库内容进行审核,例如题目内容的合法性审核等,通过审核后,教师端用户才能在问卷创建中添加自己上传的题库内容;题库管理日志记录了系统用户对题库模块的所有日常操作,便于管理员通过日志排查系统的故障原因。
问卷管理模块,用于实现问卷的数据备份、问卷参数设置、问卷管理记录功能。管理员可以设置问卷的备份周期、导出路径和导出格式;也可进行问卷参数项的设置管理。
数据管理模块,用于实现调研数据的定期备份和日志管理。
(2)教师用户权限
基本信息管理模块,教师用户可以对课程所属的学生用户信息进行查询和分组管理,也可以自己的个人信息进行查看以及密码的重置。
题库管理模块,教师用户可以创建题库,并进行问题的上传和导出操作。教师通过该模块还可以对自己创建的题库进行分享设置,并采用文件夹的方式进行题库的分类管理。
问卷管理模块,主要提供了问卷创建、参数设置和发布功能。教师用户还可以依据问卷调查需求不同,设置用户参与调研的两种方式:匿名、实名。
数据管理模块,通过该模块教师用户可以进行问卷数据的统计、分析和导出,且该模块提供有多个维度的可视化图形分析界面,便于用户直观地进行数据分析。
(3)学生用户权限
学生用户的系统权限是最低的,只具备两个功能模块的访问权限。一是基本信息模块,用于实现学生用户个人信息查看、密码重置等功能;二是问卷管理模块,通过该模块学生可以进行问卷活动的参与和个人所参与的历史活动信息查询。
3.2 平台核心机制的实现
动态验证码的生成机制,平台提供了匿名登录和用户登录两种访问方式,在用户登录模式下,需要通过用户名、密码、动态验证码三步校验,才能以合法的用户身份登录系统。其中动态验证码的生成需要通过两个步骤来实现:
步骤一:生成随机字符串,用户通过对随机字符串的识别完成平台登录的合法验证。首先将易混淆的英文字母和数字进行屏蔽,然后通过调用PHP内置函数array_rand生成指定长度的随机字符串,核心代码示例如下:
代码中的$charintz表示一个字符串数组,里面包含按顺序排序的26个大写英文字母与10个阿拉伯数字;for循环用于指定随机字符串的长度,而长度由变量$count来指定;$text变量用于存储最终生成的随机字符串。
步骤二:生成动态验证码的背景图片,用于干扰通过代码自动识别字符串的非法操作。首先调用PHP内置的绘图函数imagecolorallocate,绘制一张背景图片,然后调用imageline函数,在图片背景上绘制一些直线以增加字符串的识别难度,最后通过imagestring函数,将预先生成的随机字符串绘制在背景图片上,核心代码示例如下:
imagestring函数用于将随机生成的字符串绘制在背景图片上,其中$image为绘制有直线的背景图片;$font指定随机字符串的字体,$x表示随机字符串的水平坐标;$y表示随机字符串的垂直坐标;$text为随机字符串的内容;$fg_color表示背景图片的颜色。
数据的安全加密机制,主要是为了预防非法访问、SQL注入、缓存溢出等安全问题。平台中需要加密的数据大致分为两类:用户密码和其他数据。针对前者,用户密码主要采用的是不可逆加密技术——信息摘要算法(Message-Digest Algorithm 5. Md5)进行加密,经过该算法加密后的信息无法通过逆运算进行推导和破解,具有极高的安全性,是密码类信息加密最常用的一种算法。其他数据,例如字符串类型的数据应用过程中会涉及明文与密文来回转换,因此常采用可逆加密技术。可逆加密技术又可以分为对称式加密与非对称加密,对称式加密应用最为广泛的算法——数据加密标准(Data Encryption Standard, Des),通过64位的密钥对信息进行加解密,Des是基于块加密的算法,64位的块密钥是由56位密钥和8位校验码构成,然后对相同长度的数据块明文进行加密,解密仍然采用相同的密钥,因此称为对称式加密;非对称加密的典型算法RSA算法,该算法采用公钥与私钥配对的方式实现数据的加解密运算,其中公钥是公共的密钥,用于对信息进行加密,加密后的信息需要使用唯一配对的私钥才能进行解密,由于数据加解密使用的是不一样的密钥,因此称为非对称式加密。
4 结论
为了全面、客观地了解当前高职院校学生的综合素质水平,为高职院校学生综合素质培养提供基础的数据参考依据,本研究设计与实现了一个学生综合素质调研系统,以线上问卷调研的形式对学生的日常生活和学习情况进行数据采集和统计分析。本系统采用的核心技术包括MVC框架、JavaScript脚本、PHP语言等,重点解决了系统界面的静态布局与动态内容的分离显示问题;通过MySQL技术实现了结构化数据的存储和管理,同时还建立了动态验证、数据加解密等运行机制,确保了系统的可靠与安全,为相关领域的实践研究提供了技术参考依据。