学术咨询

让论文发表更省时、省事、省心

Python技术基础上的教务管理系统研发思路

时间:2018年10月09日 分类:科学技术论文 次数:

下面文章主要从使用者的角度出发,使用当前流行的Python的Django框架,研究并开发一款高效的教务管理系统,满足师生的日常教学需求。本文中研究的教务管理系统的主要目的就是取代传统的教务管理系统,简化教师和教务管理人员的工作量,将教务管理由线下放到

  下面文章主要从使用者的角度出发,使用当前流行的Python的Django框架,研究并开发一款高效的教务管理系统,满足师生的日常教学需求。本文中研究的教务管理系统的主要目的就是取代传统的教务管理系统,简化教师和教务管理人员的工作量,将教务管理由线下放到线上,实现各大院校网络化的教务管理,使教务部门能更有效、更便捷地管理各院系的重大事件,提高教务管理效率。

  关键词:教务管理系统,Python,MySQL数据库

电脑编程技巧与维护

  在新时代背景下,我国的综合国力日益强大,主要从人民的教育事业开始,让每个人都能接受良好的教育。在教育事业领导全国经济发展的同时,也加重了各大院校对教务管理的负担,不仅增加了教务管理人员的工作量,也增加了工作难度和复杂度。如果继续采用因循守旧,照搬照抄的人工管理教务信息模式,只会加大各大院校对教务管理信息的压力,所以一款高效的教务管理系统已经成为各大院校推进教育现代化的一个重要举措。

  Internet的发展使我们的教育逐步走向现代化,在网络上进行信息管理与查询是当今教育中的一个热点。现在,教师和学生之间的信息传递非常方便,有很多不同的途径可以选择,但都存在安全性与便捷性方面的问题,数据难以整合决定了数据难以共享。在管理者建立的系统中,数据取决于管理者的认知,相反,真正的使用者不容易掌握。由于Internet具有影响力范围广,传递信息效率高,交互性强大优点,所以开发一个适合使用者的教务管理系统可以提高学校对教务信息的有效管理。

  1系统功能需求分析

  结合学院实际教务情况,教务管理系统的主要功能包括学生成绩和课表的查询;教师可以在系统中查看自身的课程分布、不同年级或者不同班级学生的基本信息以及学生相关专业的信息;后台管理员用用所有功能权限,包括教师信息、学生信息的添加、重置用户的注册及登录密码等。结合实际,本系统的实现功能如下:

  ①成绩录入:成绩信息是教务管理系统的核心要素之一,而成绩的特点又是多而杂,既有科目的分类、涉及学生数量大、又分成各个学期。因此,让教师的工作变得简单是本系统实现的首要目标。

  ②课程信息的录入:课程是教务管理系统中的重要部分。课表面向的是教师和学生。管理员通过教务管理系统,可以安排班级及教师的课表,方便师生查询。

  ③学院、专业及班级的添加管理:每个学校涉及多个子学院、子学院中包含多个专业,专业下面对应不同的班级,理清它们之间的关系,方便对他们进行添加、删除等各类操作。

  ④课表与成绩的查询:系统的用户包括教师和学生。教师可以在系统中查询课表;学生可以在系统中查询课表和成绩。

  ⑤权限管理:系统的用户包括管理员、教师和学生。在进入系统后,系统判断当前用户的身份,给别给予不同的权限。

  2开发环境分析

  本系统基于Python3开发,首要任务是配置Python环境。Python的环境配置需要将Python的安装包安装完毕,并且将Python的安装路径添加到系统环境变量(Path)中。Python环境安装好以后,需要安装Django库,这在Python3下需要执行一句“pipinstalldjango”即可完成。在开发IDE的选择上,本系统选择PyCharm,此IDE带有一系列可以帮助用户提高Python开发效率的功能。

  此外,PyCharm的一些高级功能也可以用于支持Django框架下的高效率开发。在部署项目时,选择直接使用服务器进行项目部署,首先要在服务器端配置好数据库软件和Web服务器。数据等信息存放在MySQL数据库中。在配置Nginx时,可以方便的使用uWSGI和Nginx的配合,快速的完成服务器部署。这样,在正式部署项目时,又可以方便的使用uWSGI实现Django的wsgi协议,从而快速完成整个项目的部署。

  3数据库模型设计

  教务管理系统中的角色分为教师和学生两种身份。需要在人员表中添加一个身份字段。在数据库模型中,一个班级对应本班级的学生,一个专业将分布不同的班级,一个学院又有多个专业。成绩表和学生表表示为一对一关系,由于一个学生在各自的专业里可以有很多门课的成绩,一个学生可以对应成绩课表中的多条记录,而成绩表中的额一跳记录智能对应一个学生。由于课程分为考试课、考查课和实训课,它们对应的字段不一样,所以单独建表。数据表之间的联系,使用外键(Foreignkey)实现连接。

  4系统功能模块设计与实现

  4.1登录模块

  该模块功能实现用户在教务管理系统中登录的功能,主要核心任务是将访问者的用户名和密码与数据库中的用户名和密码进行遍历和比对,如果找到相符的就登录成功,反之则登录失败。

  4.2登录状态权限控制

  教务管理系统的用户由学生、教师和管理员,即为多种用户,必须考虑登录状态问题,登录与否分别对应不同的权限。权限控制的第一步是判断是否登录并返回不同的权限页面,这是全局的,所以利用Django的中间件实现。

  4.3成绩管理模块

  在教务管理系统中,成绩是教务管理系统的核心数据之一。在本系统中,成绩类型分为三种,分别是考试课成绩、考查课成绩和实训课成绩,其中考查课成绩和考试课成绩在数据库中的字段一致,但期末总评成绩的测算方法不一致(考试课程的总评成绩=平时成绩*0.3+期末成绩*0.7,考查课程的总评成绩=平时成绩*0.4+期末成绩*0.6),实训课程需要一个等第(rank)字段表示。因此,将三种不同类型的成绩表分别放在三张数据表中。

  每一条成绩的记录都和用户是一对一的关系,当需要查询某学生的考试课成绩信息时,只需要查询到考试课表中用户字段为这个学生的记录即可。成绩的导入是教师需要完成的主要工作之一。本系统中采用一系列的下拉框,可以精确定位到哪个学院哪个专业哪门课程,这些操作通过AJAX异步加载完成,无需刷新整个页面。

  系统自动生成一个表单,将这个班级所有学生的姓名与学号填入表中。教师只需要输入对应分值,总评成绩由系统自动计算得出结果。教师在后台进行对学生成绩的添加,学生则可以登录系统查询自己的考试成绩。

  4.4课表查询模块

  课表查询即为当前用户显示一周课程信息,也可以在课表右上角显示的下拉列表框中选择对应的学期以便查询该用户以往学期的课程信息。课表设计为一张HTML中的table表格。

  4.5学院、专业、班级管理模块

  教务管理系统中,学院、专业和班级的管理模块功能类似,主要实现记录的添加、修改和删除操作。界面分为3列,分别为学院、专业和班级,当选择学院以后,会分别在第二列和第三列自动显示当前学院开设的专业和班级。

  5总结

  高校教务管理系统的根本目的是通过系统服务于广大教师和学生,为用户提供经过整合和加工的信息,并清晰的展现给用户。提高学校对教务管理效率,从而更好地促进开发者和使用者之间的交流。本文从教务管理系统的设计目标出发,详细阐述了使用Phthon和MySQL相结合的开发思路,均使用PyCharm工具进行代码编写,最大限度地提高了开发效率和代码质量,实现高校教务管理系统的主要功能。

  参考文献:

  [1]Swaroop,C.H.简明Python教程[M].2005.

  [2]Djangodocumentationhttps://docs.djangoproject.com/en/1.10/.

  [3]SegmentFault社区https://segmentfault.com/.[4]MagnusLieHetland.Python基础教程[M].人民邮电出版社,2010.

  [5]JeffForcier,PaulBissex.DjangoWeb开发指南[M].机械工业出版社,2009.

  推荐期刊:《电脑编程技巧与维护》本刊自1994年创刊以来,始终以“实用第一,智慧密集”为宗旨,为广大电脑编辑爱好者、专业计算机系统维护人员和软件开发人员提供第一手的技术资料和编程维护技术,在业内获得一致好评,是广大编程和维护人员的首选刊物。

  

NOW!

Take the first step of our cooperation迈出我们合作第一步

符合规范的学术服务 助力您的学术成果走向世界


点击咨询学术顾问