APP下载

基于MVC模式的获奖管理系统设计

2020-02-05罗全珍李迎国赵琦

电子技术与软件工程 2020年7期
关键词:职业院校学院数据库

罗全珍 李迎国 赵琦

(甘肃交通职业技术学院 甘肃省兰州市 730070)

近年来,职业院校学生技能比赛、教师技能比赛、教学能力比赛、世界技能大赛、大学生创新创业大赛等各类比赛层出不群,通过“以赛促教”、“以赛促学”、“以赛促改”,为推动学院内涵建设、提升教师综合能力、促进学生全面发展发挥了很大作用。

职业院校为加强各类比赛的管理,需要组织赛项申报,参赛师生强化训练、参赛经费管控,对获奖师生进行奖励等。传统意义上,利用EXCEL 等手段进行统计汇总,给职能部门管理人员带来了较大的工作量,且不利于数据的共享和统计。利用信息管理系统可实现快速准确的查找和导出,会给工作带来很大便利,强大的数据分析和统计功能,可为领导管控和决策提供必要的参考。此外,学院在各类质量工程申报、重大项目建设、学院评估时,也需要各类师生的竞赛获奖作为一项很重要的支撑材料。因此,在“大数据”背景和职业院校教育信息化的趋势下,通过系统设计和开发,实现参赛过程和竞赛获奖的信息化管理,提高信息处理的速度与质量,提升职业院校信息化建设水平和管理能力,具有重要的意义。

1 系统总体框架设计

根据学院技能大赛参赛管理流程和获奖登记情况,对获奖管理系统进行总体框架设计。具体如图1 所示。

本系统软件设定为3 部分,分别是参赛管理模块、获奖管理模块、管理模块。

参赛管理模块包括5 部分,参赛教师提交参赛申请(包括竞赛级别、赛项名称、竞赛文件、参赛师生信息、经费预算等),可以浏览、查询、统计自己的参赛信息;系部(二级学院)对本系部的参赛申请进行审核检查,可以查看、查询、统计、分析本系部的参赛信息;学院职能部门对所有参赛申请进行复核,可以查看、查询、统计、分析学院所有的参赛信息。

获奖管理模块同样包括5 部分,竞赛结束后,由参赛教师提交竞赛结果,对于获奖的选手,需上传获奖证书和获奖文件。其它功能和权限与参赛管理模块相同。

管理模块包括4 部分,且只有职能部门管理人员拥有操作权限。其中通知公告可以发布竞赛有关的政策文件、通知信息、学院参赛和获奖动态等;用户管理用以设置学院哪些教师和管理人员可以使用此系统,一般是学院全体员工;权限管理是登录用户的权限设置,包括添加、审核、复核、查看、统计和管理员等权限;其它管理指数据库的备份恢复管理、日志管理等。

2 MVC模式设计

本系统采用B/S 架构,用PHP 进行程序开发,系统数据库选用MySQL,采用MVC 模式进行三层架构设计。

2.1 MVC设计模式简介

MVC 是模型(model)、视图(view)、控制器(controller)的缩写,是一种经典的软件开发设计模式。模型(model)接受视图请求的数据,并返回最终的处理结果,是MVC 的核心,所有有关数据库的操作只限制在该模型中。视图(view)代表用户交互界面,通常是我们所熟知的前台页面,是程序的外壳。控制器(controller)主要负责路由选择和转发,根据用户从视图层输入的指令,选取模型层中的数据,然后对其进行相应的操作,产生最终结果。

这种设计模式将业务逻辑、数据、界面显示分离开来,将业务逻辑聚集到一个部件里面,不需要重写业务逻辑,就可以轻松改进和个性化定制界面及用户交互,提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度,有利于软件工程化管理,从而使各类专业人员各司其职,大大提升开发效率。

2.2 用户界面设计

采用MVC 模式进行用户界面设计时,要重视用户界面的易操作性、美观性和通用性,要保证界面风格与配色的一致性。用户界面的设计应当便于教师更好地工作、更符合用户的使用习惯,而不是由开发者按自己的意愿把操作流程强加给用户。

在各类数据的输入上,应尽量减少用户输入动作的数量,消除冗余输入;保证信息显示和数据输入的一致性,利用JavaScript 技术为所有的输入提供帮助并进行有效性检查。在数据的显示上,做到只显示与当前用户环境有关的信息,使用一致的标记、缩写和可预测的颜色,显示信息的含义应该明确。

2.3 数据库设计

数据库设计是建立数据库及系统功能实现的核心和基础。根据本系统要求,创建了E-R 模型图和数据字典,做到数据采集的完整性,同时减少数据冗余,数据模型规范化设计尽量满足第三范式。此外,需明确每张数据表的主键约束、外键约束和索引约束。

目前常见的数据库有Oracle、Microsoft SQL Server、MySQL、Informix、Microsoft Access 等。由于MySQL 具有体积小、速度快、成本低、开放源码等特点,且与PHP、Linux 和Apache 可组成良好的开发环境,因此本系统采用MySQL 数据库。本系统主要设计两个业务数据表(参赛表和获奖表)和多个管理数据表(参数表、系部表、权限表、教师表等)。

3 系统开发中关键技术的实现

3.1 用户登录功能

为确保系统安全和信息安全,系统需要登录后才能使用,不同用户登录后拥有不同的权限。登录用户名与学院其他系统账号保持一致,密码采用两次MD5加密,PHP代码为:$password=md5(md5($_POST[“password”])。当用户名和密码向服务端请求认证成功后,服务器生成一个Token,并将此Token 返回给客户端,以后客户端只需带上这个Token 前来请求数据即可,从而减轻服务器的压力,避免数据重复提交,使服务器更加健壮,同时可以避免 CSRF 攻击。

图1:获奖管理系统总体框架

图2:获奖管理系统界面

3.2 信息统计功能

在大数据背景和思维下,充分挖掘现有数据进行统计分析工作具有重要的作用。利用mysql 数据库中SQL 语句GROUP BY 子句的分组功能,结合PHP 中字符串函数实现SQL 语句的拼接,可以实现数据的简单统计分析功能。本系统中,可以统计每个系部每年的参赛数量、获奖比例、经费使用情况,以及不同赛项(学生技能比赛、教师技能比赛、教学能力比赛、双创比赛等)、不同级别(国家级、省级、行业类)、不同奖项(一、二、三等奖)的获奖信息,为学院的管理和决策提供依据和参考。

3.3 数据导入与导出

系统中数据的导入导出功能通过PHPExcel 实现。PHPExcel是用来操作Office Excel 文档的一个开源的PHP 类库,它基于微软的OpenXML 标准和PHP 语言,可以使用它方便地读取、写入不同格式的电子表格。关于PHP 的基本使用,请参阅相关资料。PHPExcel 在处理中文时,经常会出现乱码,需要在Header 之前加“ob_end_clean()”命令清除缓冲区;另外,如果系统代码采用UTF8 字符,在导出Excel 时,需要使用PHP 代码“iconv("utf-8", "gb2312", $fileName)”实现字符集转换。

3.4 信息安全加固

为加强系统安全,防止系统被没有授权的人员使用,避免遭受SQL 注入、XSS 攻击、CSRF 攻击等,本系统在开发过程中进行了安全加固。首先,任何人员涉及数据库的操作都在日志文件中记录存档;其次,对前台页面所有输入的数据进行安全检查,过滤关键字符串,对存在安全隐患和入侵企图的行为进行记录;再次,对WEB 服务器进行加固处理,对网站文件夹和数据库的权限进行了明确限制,删除多余的系统用户账户,定期检查系统日志和WEB日志;最后,安装硬件防火墙,设置安全策略,限制IP 地址,全方位确保系统和信息安全。

4 结语

本获奖管理系统基于MVC 的三层设计模式,前端采用HTML+CSS+JavaScript 技术,数据库采用MySQL,后端利用PHP语言开发,实现了最初的设计构想,最终开发的系统界面部分截图如图2 所示。

系统试运行正常,系统的各项功能达到预期效果,可以方便地通过常见的浏览器进行参赛申请、获奖信息添加、修改、审核、查询和统计,极大地提高了工作效率,减少了手工统计汇总引起的失误,有力推动了职业院校信息化建设和应用水平。

猜你喜欢

职业院校学院数据库
初等教育学院
如何加强职业院校学生的德育教育
浅谈职业院校中的美术教育
学院掠影
支持水利职业院校发展
独立学院高等数学教学改革思考
独立学院:“我该如何存在?”
职业院校不能仅培养一线普通工人