Python基于Django在线考试系统设计

开发环境: Pycharm + Python3.7 + Django3.0 + mysql5.6

系统需求如下:
(1)系统登录:验证登录用户的身份,根据用户身份进入不同的页面。
(2)学生管理:供管理员使用,用于维护学生基本信息。
(3)老师管理:供管理员使用,用于维护教师的基本信息。
(4)试题管理:供教师管理,用于维护题库。
(5)组卷:供教师使用,教师可以根据考试科目,从题库中选择一些符合条件的试题,形成一份试卷。为了方便教师组卷,应提供方便的查询功能,使教师能查询不同要求的试题。
(6)在线考试:供学生使用,根据学生的班级和登录时间显示应考科目的试卷内容。试卷完成提交或考试时间到,不再允许学生修改试卷;实现自动评阅,记录学生的考试成绩,并将评阅结果提供给学生。
(7)成绩统计:供教师使用,按照科目、班级等统计学生的考试成绩。
(8)成绩查询:供教师和学生使用,提供不同查询方式,使教师和学生可以按需查询考试成绩。

2.设计思路
(1)确定角色
由需求分析看出,系统有三个基本角色,学生、教师、管理员。
管理员负责后台信息的维护
系统要能实现自动阅卷功能
(2)数据库表的设计
因此,我们至少需要如下几个表:
学生表 student
教师表 teacher
题库表 question(为了方便,题库中都为单项选择题)
试卷表 paper
学生成绩表 grade
设计完表,我们还需要确定表间的关系,是1对1(1:1),1对多(1:n),还是多对多(n:m),这很重要,因为后面我们在models.py中创建表时,需要指出表间关系。显然学生表和成绩表,1个学生可参加多门考试,会有多个成绩,学生表和成绩表为1:n;教师表和试卷表,1个教师会发布多套试卷,但1套试卷只能由1位教师发布,教师表和试卷表为1:n;试卷表和题库表,1套试卷里包含多道题,题库里的每道题也可出现在多个试卷中,故试卷表和题库表为n:m

Python基于Django在线考试系统设计_第1张图片
Python基于Django在线考试系统设计_第2张图片
Python基于Django在线考试系统设计_第3张图片
Python基于Django在线考试系统设计_第4张图片
Python基于Django在线考试系统设计_第5张图片
Python基于Django在线考试系统设计_第6张图片
Python基于Django在线考试系统设计_第7张图片
Python基于Django在线考试系统设计_第8张图片
Python基于Django在线考试系统设计_第9张图片
Python基于Django在线考试系统设计_第10张图片
Python基于Django在线考试系统设计_第11张图片
Python基于Django在线考试系统设计_第12张图片
Python基于Django在线考试系统设计_第13张图片
Python基于Django在线考试系统设计_第14张图片
Python基于Django在线考试系统设计_第15张图片

你可能感兴趣的:(Python基于Django在线考试系统设计)