基于Python的在线自主评测系统设计与实现

 博主介绍:擅长Java、微信小程序、Python、Android等,专注于Java技术领域和毕业项目实战

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

Java项目精品实战案例(300套)
Java微信小程序项目实战(200套)

Python项目精品实战案例(100套)

目录

一、效果演示

二、前言介绍

三、主要技术

3.1、python语言

3.2、django框架

3.3、MySQL数据库

四、系统设计

4.1、系统开发总流程设计

4.2、系统登录流程设计

五、功能截图

5.1、学生功能模块的实现

5.1.1、学生注册的实现

5.1.2、学生登录界面首页

5.1.3、在线考试界面

5.1.4、考试成绩查看界面

5.2、教师功能模块的实现

5.2.1、新建试题界面

5.2.2、新建试卷管理界面

六、数据库设计(部分)

七、结论

八、源码获取


一、效果演示

基于python的在线自主评测系统演示视频

二、前言介绍

现在随着网络化的发展,教育行业也在不断的向网络化的方向发展。原本的教育行业主要是推行线下的教学模式,教师通过线下的课程教学、作业安排,组织考试等来从教学到测验一体化的完成对学生的培训工作。这种方式依旧延续至今,证明其能够产生的作用是有效的。但是这种方式对于教师的管理来说,随着现在我国人口的逐渐增长,适龄入学的学生人数增加,通过传统的线下方式来对学生的学习情况进行检测,需要进行考试班级的划分、监考老师的安排等等工作,在学生考试完毕后还要对学生的考试成绩进行逐一阅卷,对于老师来说管理的压力在逐渐的增加。而在这样一种发展状态下,基于网络来实现考试试卷的组装、在线考试以及自动阅卷评判的计算机信息化的发展也就逐渐的壮大起来了。通过在计算机内输入单选题、多选题、判断题以及问答题,然后通过系统自动进行难易度不同的选题进行试卷组装,可以让整个试卷生成过程流畅,能够更好的为教师们提供有力的帮助服务。

三、主要技术

3.1、python语言

Python是由荷兰数学和计算机研究学会的吉多•范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”。

Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如Django、Flask、Pyramid、Tornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。相比于其他框架,Django有着更加丰富的插件,作为企业级框架也很好上手,适合本次开发。此系统是开发一个Web应用,采用Django框架,将在下一节进行具体介绍。本次开发选用的是Python3.6.4版本。

3.2、django框架

Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用[4]。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。下面介绍部分Django的核心与优点:

(1)对象关系映射(ORM,Object-Relation-Mapping):ORM的方法论有着三个核心原则:

① 简单:以最基本的形式构建数据。

② 传达性:数据库结构被任何人都能理解的语言文档化。

③ 精确性:基于数据模型创建正确标准化的结构。

用于Python之中即是以Python类形式定义数据模型,类中的每一个属性对应着数据库中的一列。引入ORM后,无需编写原生SQL语句,使用基于面向对象的思想去编写类、对象、调用方法等,ORM会将其映射成SQL语句通过pymysql执行。

(2)路由配置(URLConf):Django的URL设置更加灵活优雅,看似复杂难懂,但使用的都是简单的正则表达式,你可以随心所欲的创造优美的、简洁的、专业

的地址。

(3)模板(Template):模板可以理解为承载数据的工具,为了将数据从视图中分离出来,通过各种各样的标签来进行数据的传输。Django的模板融入了面向对象中继承的思想,提高了复用减少冗余代码。

(4)视图(View):视图就是views.py中的函数,也就是逻辑代码,为了将URL和视图关联起来,用到了上述的URLConfs,URLConfs将URL模式映射到视图中,每个视图有两件事是必须要做的:返回一个包含被请求页面的HttpResponse对象,或者抛出一个异常。

(5)后台管理系统(Django-Admin):Django提供的一个基于Web的管理工具。

Django-Admin来自django.contrib也就是Django的标准库,默认被配置好,只需要激活启用即可,它的优势在于可以快速对数据库的各个表进行增删改查,一行代码即可管理一张数据库表,相比于手动后台1个模型一般需要4个urls,4个视图函数和4个模板,可以说Django完成了一个程序编写的大部分重复工作,并且对于图书管理这种以管理工作为重系统来说,极度契合。

(6)应用(Application):当项目规模过大时,难免会产生目录过长,文件过多的问题,Django理念中的App可以将项目相对独立的进行开发,插拔的工作方式和独立性让开发者废弃的App即使删除也不会影响整体,是一种不可多得的理念。
 

3.3、MySQL数据库

MySql数据库具有轻便、稳定等特点,在系统的工程中对相关的数据操作,很好的保障数据的稳定,极大程度上减低了系统开发的时间。

MySql数据库支持多线程工作,能充分利用系统的资源,更具有效率且数据库连接也有对于的不同模式接口;MySql存储小、运行稳定并且对使用的要求不高。

利用MySql建立系统数据库,利于对系统的数据处理早期的整合,可以更好的发展后数据的扩展实际操作[3]。

Mysql数据库的特点如下:

(1)Mysql是相比于Oracle更轻量、更简洁便于使用,在服务部署方面相对复杂度低,更利于毕设系统的开发。

(2)支持多种操作系统包括AIX、FreeBSD、HP-UX、Linux和Mac OS、Novell‘s Netware、OpenBSD系统、OS/2卷、Solaris、Windows等。

(3)查询速度快。算法优化了查询语句,可靠地提高了搜索速度。

(4)Mysql可以使用Sql语言进行调用,学习成本较低。

(5)Mysql可支持互联网站数据共享也支持数据安全设置,防止数据泄露。

(6)高度非过程化。在访问数据库时,没有必要一步一步向计算机发送指令去完成任务,只需要用MySQL语句描述并且命令就可以了,数据库会自动完成全部工作。

四、系统设计

4.1、系统开发总流程设计

4.2、系统登录流程设计

五、功能截图

5.1、学生功能模块的实现

5.1.1、学生注册的实现

图5.1 学生注册

5.1.2、学生登录界面首页

图5.2学生登录主界面

5.1.3、在线考试界面

图5.3在线考试管理

5.1.4、考试成绩查看界面

图5.4考试成绩查看界面

5.2、教师功能模块的实现

5.2.1、新建试题界面

图5.5新建试题界面

5.2.2、新建试卷管理界面

 图5.6新建试卷管理界面图

这里功能太多,就不一一展示了

六、数据库设计(部分)

E-R模型主要是用于数据库的实体概念设计之中,在数据库的实体概念设计上,主要是对实体属性关系进行细分,通过细分来实现很好的实体剖析展示工作。此次设计的实体内容具体有以下一些。

1、教师实体E-R图如图6.1所示:

图6.1教师实体图

2、判断题的实体E-R图如图6.2所示:

图6.2公告管理实体图

七、结论

通过利用python技术来开发的在线自主评测系统已经实现了全部的功能需求,本次的开发能够很好的将需求中的内容进行实体化的开发,并且取得了很好的开发效果。在此次的开发过程中,本人对于python语言的开发过程充分的进行了掌握,能够很好的通过该语言实现此次的系统开发,在这之中本人也发现了自己对于该技术的了解还略显肤浅,该技术还有很多功能强大的内容等待我去学习和使用。此次的开发最终为教师、学生提供了便捷的无纸化考试应用,能够为教师提供在线录入考试题、在线生成考卷等功能,学生也能够在线进行考试。实际上,在疫情不断的反复的当下,在线考试也能够起到一定的防疫作用。

八、源码获取

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

精彩专栏推荐订阅:下方专栏👇🏻👇🏻👇🏻👇🏻

Java项目精品实战案例(300套)

Java微信小程序项目实战(200套)

Python项目精品实战案例(100套)

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值