基于开源框架 Flask 的教务系统的设计与实现
雷亮辉 鄂 旭 杨 芳 周 津 刘春晓
(渤海大学 信息学院,辽宁 锦州 121000;渤海大学实验管理中心,辽宁 锦州 121000)
摘 要:根据高校教务管理需求,笔者开发一个基于开源框架的教务系统。该系统的 Web 服务器采用轻量级 Web 服
务器 Nginx,后端采用基于 Python 语言的 Flask 开源网站框架,拥有丰富的第三方插件。数据库采用非关系型数据库
MongoDB,前端页面使用 Bootstrap 框架。面向学生、教师和管理人员提供服务。向学生身份用户提供课程提醒、课程表、
选课、成绩查询等功能;向教师额外提供成绩录入、考核管理、课外通知等功能;对管理员提供课程统筹管理功能,方
便其管理。
关键词:教务系统;Python;Flask 框架;MongoDB
中图分类号:TP311.52 文献标识码:A 文章编号:1003-9767(2016)20-107-03
1 概述
课程管理、选课系统、考试管理、排课等多个模块。这些模
教务管理是高校管理的重要组成部分,教务系统信息化
块彼此相互独立相互联系,模块间耦合性低,易于对系统整
能够提高教务工作效率,同时让教务信息变得直观透明,它
体进行扩展与定制。完成了教务顶层管理、标准化管理、辅
对加快高校信息化进程和深化教育改革具有重大意义。教务
助决策、资源分享等功能,加速了高校资源信息化发展速度。
管理工作是高等学校教育工作的一项重要内容,是整个学校
管理的核心和基础。教务管理工作是指学校管理人员按照一
定的教育方针,运用先进的管理手段,组织、协调、指挥与
指导各方面人员活动,以便高效率、高质量地完成各项教学
任务,完成国家所制定的教育目标。教务管理工作是学校教
学工作中的枢纽,是保证高校教学机制正常运转的枢纽,它
是一项目的性、计划性、适应性、创造性和科学性很强的工作。
随着信息技术的飞速发展和高等教育体制改革的不断深
入,国内高校都已开始使用综合教务管理系统(UEAS)来
管理教务,大部分院校仍然在使用 JavaEE 和 Oracle 数据库
开发的传统教务系统,该系统代码量大,维护困难,不能流畅、
高效地完成教学管理任务。提高教务管理水平的主要途径是
更新管理者的思想,增强对管理活动的科学认识,运用先进
的信息技术,开发高校综合教务管理信息系统,是深化教务
体制改革的有利措施。
2 系统设计
2.1 设计思路
该综合教务管理信息系统,采用 C/S 和 B/S 模式,为高
校各部门机构的用户提供模块化教学资源管理系统。教务平
台管理流程(如图 1 所示)主要包括缴费管理、学籍管理、
图 1 综合教务系统管理流程
2.2 开发平台
根据功能需求,系统采用 Flask 框架和 MongoDB 数据
库相结合进行开发。Flask 是一个使用 Python 语言编写的轻
量级 Web 应用框架,WSGI 组件采用 Werkzeug,模板渲染
引擎采用 Jinja2。传统教务系统采用 Java 平台实现,导致代
码量庞大、维护困难,与其结合的 Oracle 数据库价格昂贵、
技术门槛高、数据表之间的联系交错且复杂,不易于管理。
作者简介:雷亮辉(1994-),男,甘肃定西人,本科。研究方向:计算机软件开发。
— 107 —
2016年信息与电脑10下-正文.indd 107
2017/2/4 17:00:22
2016年第20期信息与电脑China Computer&Communication软件开发与应用
MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语
言编写,旨在为 Web 应用提供可扩展的高性能数据存储解决
方案。MongoDB 是一个介于关系数据库和非关系数据库之
间的产品,是非关系数据库当中功能最丰富、最像关系数据
库的数据库。因此,本文利用 MongoDB 数据库提供数据存
储服务,旨在减小额外开销,提高运行效率。
2.3 数据表的设计
_id = ‘14041530’,
Role = ‘student’,
Profile = {
学籍内容
根据功能需求,设计以下两个主要表 (Collection 集合 )。
Users = {
},
Rewards_and_punishments: [],
Courses = [
cid = ‘90001061’,
cname = ‘计算机组成原理’,
teacher_id = ‘012013’,
teacher_name = ‘王大锤’,
timetable = ‘1-18:4,5:7: 滨 海 校 区 - 工 科
{
楼 -AJ02’
},
{
……
}
]
}
上表以学生身份为例,其中 _id 为学号、role 为身份、
profile 为学籍信息、rewards_and_punishments 为奖惩记录、
courses 为拥有的所有课程信息,courses 中的 cid 为课程号、
cname 为课程名、teacher_id 为教师工号、teacher_name 为教
师姓名、timetable 为上课时间表。其中要说明的是将课程部
分信息存储到用户集合中,以达到规范化的效果,减少查询
次数与查询难度,降低数据库服务器资源消耗。Timetable 格
式为“周次 : 星期 : 节次 : 地点”,用来满足课程表展示时的
数据需要。
Course = {
_id: ‘90001061’,
Name: ‘计算机组成原理’,
Sn: ‘01’,
Credit: 2.0,
Fee: 200,
Rest: 120,
Capacity: 120,
Prop: ‘compulsory’
Exam_method: ‘examination’,
Teacher_id: ‘012013’,
Teacher_name: ‘王大锤’,
Timetable: ‘1-18:4,5:7: 滨海校区 - 工科楼 -AJ02’,
}
上表为课程集合 courses 中的一个条目。其中 _id 为课程
编号,name 为课程名称,sn 为课程序号,credit 为学分,fee
为课程费用,rest 为课余量,capacity 为课容量,prop 为课程
修读类型,exam_method 为考核方法,teacher_id 和 teacher_
name 分别为教师工号和教师姓名,timetable 为上课时间表。
2.4 功能设计
2.4.1 基本信息查询
包含学籍查询、奖惩管理、消息通知等,学籍管理的界
面如图 2 所示。
图 2 学籍管理
消息盒子包含上课提醒、课程变动通知、作业提醒、站
内信等消息,如图 3 所示。
图 3 消息通知
2.4.2 课程信息查询
包 含 课 程 表、 课 程 详 情 等 功 能。 课 程 表 由“Full
Calendar”脚本组件实现,通过配置 header、weekNumbers、
weekNumbersWithinDays 参数使课程表视图多样化,便于教
— 108 —
2016年信息与电脑10下-正文.indd 108
2017/2/4 17:00:22
2016年第20期信息与电脑China Computer&Communication软件开发与应用
师和学生浏览,如图 4 所示。
成绩查询包含多种查询语句,以实现按方案查询、按学
期查询、按分数查询、按绩点查询等个性化功能,如图 5 所示。
此外,针对教师及管理员用户组,对学院数据、系所数
据、师生数据、选课数据、成绩数据等基础数据进行统筹分析,
向管理机构提供辅助方案,帮助教学研究和促进教学改革。
同时,教务系统会保留历年的教学计划、排课结果等重要资
料,对学科建设和完善提供数据支持。对教师及授课情况进
行统计和分析,为师资队伍的建设和发展提供辅助决策支持。
图 4 课程表
图 5 成绩查询
图 6 选择课程
2.4.3 选课系统
按方案、课程类型等多条件进行选课。系统将会对不符
合选课要求的用户进行拦截,保障选课系统整体稳定性。选
课的界面如图 6 所示。
3 结 语
本文运用可行的开发技术,除实现用户功能外,系统自
身也具有完善的安全保护功能。
(1)与校园网络安全响应机制相结合,建立防火墙。
分别在网络级、操作系统级、数据库级采用安全过滤措施,
保障整体安全。
(2)对数据库进行权限分配,阻止不符合条件的用户
对数据进行违规操作,对历史性数据仅授予只读权限。
(3)数据库服务器采取冷备份和热备份两种备份策略。
以防止当数据服务器遭到不可控的灾难性破坏,或历史档案
查询时,能够及时再现数据的状态并保证数据的真实性。
(4)操作日志管理任务。针对关键用户、关键操作、
关键记录进行完整的操作行为信息记录,包括操作模块、操
作地点、时间、IP 等信息。
伴随高校信息化的进程,各高校应构建符合自身校园情
况的个性化教务管理系统,不仅能提升师生的事务处理效率,
还可以防止通用漏洞的产生和爆发。
参考文献
[1] 孟 彬 . 高 校 教 务 管 理 信 息 化 研 究 [J]. 衡 水 学 院 学
报 ,2010,12(3):88-89.
[2] 李玉臣 . 利用网络优势 , 提高教务管理水平 [J]. 科教
文汇 ,2008(16):56.
[3] 宣华 , 王映雪 . 清华大学综合教务系统在教务管理中
的应用 [J]. 计算机工程与应用 ,2002,38(12):237-239.
[4] 闫春梅 . 现代教育管理与现代信息技术视角下的“教
务管理系统”[D]. 呼和浩特 : 内蒙古师范大学 ,2009.
[5] 孙明 . 基于 asp.net 的高校教务管理系统应用与分析
[J]. 科技信息 ,2010(26):225.
[6] 鄂旭 . 软件项目开发与管理 [M]. 北京 : 清华大学出版
社 ,2013.
[7] 李亚 , 叶敏 . 基于大数据的室内网络综合分析系统的
研究和应用 [J]. 电信工程技术与标准化 ,2015,28(3).
— 109 —
2016年信息与电脑10下-正文.indd 109
2017/2/4 17:00:23
2016年第20期信息与电脑China Computer&Communication软件开发与应用