1. 研究目的与意义
随着科学技术的不断发展,信息化时代已经到来,计算机技术已经运用各个领域中,包括现在的教育事业,将计算机技术与教育事业相结合,一种新的教育方式应运而生。现在,越来越多的网络教学平台油然而生,学生可以轻易地从网络上获取自己想要的知识,这种新兴的网络教育彻底改变了传统的教育方式,随之产生的便是网络考试,与传统的纸质考试不同,网络考试是无纸化的,并且阅卷也摆脱了传统的人工阅卷的桎梏,采用在线的程序设计与评价系统实现自动化阅卷,网络教育将会成为主流的新式教育方式。
正是在信息化的大背景下,程序设计能力尤为重要,各大高校为了更好地培养学生的编程能力,都使用了在线练习和评测系统,学生可使用系统进行编程练习以及参加考试,在练习时,学生可以选择整套题目或者针对性地选择基础薄弱的题型进行练习,也可选择考试模式,参加考试。在传统考试方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析,而网络考试系统则是通过某种规则或算法从题库中抽取相应的题目,并且还可以对考生提交的试卷进行自动阅卷,反馈编译运行中的错误信息。显然,这种无纸化考试能够随机出题和评测,从而大大降低了教师的工作量,而且效率很高,传统的考试方式已经不能适应现代考试的需要。
基于web的综合练习及评测系统作为网络考试的核心组成部分,其重要性不言而喻,一个好的练习及评测系统将直接关系到网络考试的能否正常进行,因此,本课题依据现有技术和相关试题库管理系统知识,对练习及评测系统进行实现,主要实现题库资源的类别管理、用户管理、题目录入、组卷、统计分数等管理功能。2. 研究内容和预期目标
1.利用powerdesigner这一工具,对该练习及评测系统进行需求分析、概要设计等。
2.完成数据库的设计,主要包括对题目、教师信息、学生成绩、学生信息、试卷分析等的数据库表设计,以便利用数据库存储相关信息。
3. 设计并实现按学生、教师、管理员分角色分权限管理的方式
3. 研究的方法与步骤
3.1研究方法
3.1研究方法
系统功能模块图如下:
3.1.1系统功能模块主要划分为用户管理模块、课程管理模块、题型管理模块、题库管理模块、组卷模块以及试卷分析模块
3.1.1.1用户管理模块
用户管理模块要求完成对用户的分角色管理,不同角色可拥有不同的权限
3.1.1.2题库管理模块
题库管理模块可以实现对对题目类型的管理,根据题目类型可以实现对试题的添加、删除、修改模块
3.1.1.3组卷模块
组卷模块按照一定的组卷规则或算法抽取试题库中的试题进行组卷,各类型试题抽取一定数量的题目进行组卷并提供给学生进行答题。
3.1.1.4试卷分析模块
当学生用户对组完卷的试题答完题并提交后,系统可以自动对试卷进行批阅分析,给出答卷分数,并可以统计所有考生得分给出排名。
3.1.1.5课程管理模块
可以对系统进行添加和删除课程。
3.1.1.6题型管理模块
可以对系统进行添加和删除题型。
3.1.2采用的语言以及开发工具
本人打算以java为基础,使用mysql数据库并且基于Idea开发平台对软件进行开发,开发软件完成后,准备使用黑盒和白盒测试对软件进行测试,主要测试软件是否符合需求以及有无bug,最后形成毕业论文,做好PPT和准备论文答辩。
经查阅java语言主要有以下特点:
1)跨平台性
2)面向对象
3)安全性
4)多线程
5)简单易用
与其他语言对比:
Java是为了web而生的。隐藏了底层的实现细节,以及令人困惑的指针这些容易导致内存泄露等不安全结果的概念,让开发者更多地关注业务逻辑。对比起C语言,JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c语言中指针操作失误,如野指针所造成的系统崩溃,而对于垃圾管理,java将自动对内存进行回收,此外,java的跨平台型获得众多编程者的喜爱。
3.1.3数据库设计
本系统拟采用Mysql数据库,目前设计的表主要有(1)用户表:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(16) | Y |
| Sex | vchar(64) | Y |
| Role | vchar(2) | Y |
Id用于标识唯一用户,name为用户名,sex为用户性别,role为用户角色,用于对用户进行权限分类
(2)Score表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| sumscore | vchar(64) | Y |
| count | vchar(16) | Y |
Id为学生用户id,Sumscore为学生测试成绩总和,count为学生测试次数
(3)试卷信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Subject | vchar(64) | Y |
| Type | vchar(16) | Y |
| lessonid | int | Y |
| Professionid | int | Y |
| Questionid | Int | Y |
| OptionA | vchar(50) | Y |
| OptionB | vchar(50) | Y |
| OptionC | vchar(50) | Y |
| OptionD | vchar(50) | Y |
| Answer | Char(10) | Y |
| Note | vchar(50) | Y |
(4)考生信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| Sex | vchar(16) | Y |
| Pwd | vchar(20) | Y |
| Profession | vchar(20) | Y |
作用:用于保存考生的信息
(5)科目信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| LessonID | vchar(16) | Y |
(6)考生专业信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Pname | vchar(100) | Y |
(7)教师信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| Pwd | vchar(16) | Y |
(8)登录日志管理表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| Success | vchar(16) | Y |
| Role | vchar(64) | Y |
| Ip | vchar(10) | Y |
| Logtime | vchar(30) | Y |
作用:用来保存用户登录的状态信息
MySQL数据库具有以下主要特点:1. 同时访问数据库的用户数量不受限制;2. 可以保存超过50,000,000条记录;3. 是目前市场上现有产品中运行速度最快的数据库系统;4. 用户权限设置简单、有效。这也是我采用mysql数据库的最直接原因。
3.2研究步骤:
1.查阅文献资料,了解系统大体功能
2.对系统进行需求分析,了解系统的功能需求。然后进行资源搜索,参照一些现有的课程管理系统的功能、界面等,与自己的需求分析进行比较,查漏补缺,并对功能进行优化。然后进行功能定义,角色功能描述。
3.进行概要设计和详细设计
4.代码编写及测试
优化功能并完善系统系统功能模块图如下:
3.1.1系统功能模块主要划分为用户管理模块、课程管理模块、题型管理模块、题库管理模块、组卷模块以及试卷分析模块
3.1.1.1用户管理模块
用户管理模块要求完成对用户的分角色管理,不同角色可拥有不同的权限
3.1.1.2题库管理模块
题库管理模块可以实现对对题目类型的管理,根据题目类型可以实现对试题的添加、删除、修改模块
3.1.1.3组卷模块
组卷模块按照一定的组卷规则或算法抽取试题库中的试题进行组卷,各类型试题抽取一定数量的题目进行组卷并提供给学生进行答题。
3.1.1.4试卷分析模块
当学生用户对组完卷的试题答完题并提交后,系统可以自动对试卷进行批阅分析,给出答卷分数,并可以统计所有考生得分给出排名。
3.1.1.5课程管理模块
可以对系统进行添加和删除课程。
3.1.1.6题型管理模块
可以对系统进行添加和删除题型。
3.1.2采用的语言以及开发工具
本人打算以java为基础,使用mysql数据库并且基于Idea开发平台对软件进行开发,开发软件完成后,准备使用黑盒和白盒测试对软件进行测试,主要测试软件是否符合需求以及有无bug,最后形成毕业论文,做好PPT和准备论文答辩。
经查阅java语言主要有以下特点:
1)跨平台性
2)面向对象
3)安全性
4)多线程
5)简单易用
与其他语言对比:
Java是为了web而生的。隐藏了底层的实现细节,以及令人困惑的指针这些容易导致内存泄露等不安全结果的概念,让开发者更多地关注业务逻辑。对比起C语言,JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c语言中指针操作失误,如野指针所造成的系统崩溃,而对于垃圾管理,java将自动对内存进行回收,此外,java的跨平台型获得众多编程者的喜爱。
3.1.3数据库设计
本系统拟采用Mysql数据库,目前设计的表主要有(1)用户表:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(16) | Y |
| Sex | vchar(64) | Y |
| Role | vchar(2) | Y |
Id用于标识唯一用户,name为用户名,sex为用户性别,role为用户角色,用于对用户进行权限分类
(2)Score表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| sumscore | vchar(64) | Y |
| count | vchar(16) | Y |
Id为学生用户id,Sumscore为学生测试成绩总和,count为学生测试次数
(3)试卷信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Subject | vchar(64) | Y |
| Type | vchar(16) | Y |
| lessonid | int | Y |
| Professionid | int | Y |
| Questionid | Int | Y |
| OptionA | vchar(50) | Y |
| OptionB | vchar(50) | Y |
| OptionC | vchar(50) | Y |
| OptionD | vchar(50) | Y |
| Answer | Char(10) | Y |
| Note | vchar(50) | Y |
(4)考生信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| Sex | vchar(16) | Y |
| Pwd | vchar(20) | Y |
| Profession | vchar(20) | Y |
作用:用于保存考生的信息
(5)科目信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| LessonID | vchar(16) | Y |
(6)考生专业信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Pname | vchar(100) | Y |
(7)教师信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| Pwd | vchar(16) | Y |
(8)登录日志管理表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| Success | vchar(16) | Y |
| Role | vchar(64) | Y |
| Ip | vchar(10) | Y |
| Logtime | vchar(30) | Y |
作用:用来保存用户登录的状态信息
MySQL数据库具有以下主要特点:1. 同时访问数据库的用户数量不受限制;2. 可以保存超过50,000,000条记录;3. 是目前市场上现有产品中运行速度最快的数据库系统;4. 用户权限设置简单、有效。这也是我采用mysql数据库的最直接原因。
3.2研究步骤:
1.查阅文献资料,了解系统大体功能
2.对系统进行需求分析,了解系统的功能需求。然后进行资源搜索,参照一些现有的课程管理系统的功能、界面等,与自己的需求分析进行比较,查漏补缺,并对功能进行优化。然后进行功能定义,角色功能描述。
3.进行概要设计和详细设计
4.代码编写及测试
优化功能并完善系统3.1研究方法
系统功能模块图如下:
3.1.1系统功能模块主要划分为用户管理模块、课程管理模块、题型管理模块、题库管理模块、组卷模块以及试卷分析模块
3.1.1.1用户管理模块
用户管理模块要求完成对用户的分角色管理,不同角色可拥有不同的权限
3.1.1.2题库管理模块
题库管理模块可以实现对对题目类型的管理,根据题目类型可以实现对试题的添加、删除、修改模块
3.1.1.3组卷模块
组卷模块按照一定的组卷规则或算法抽取试题库中的试题进行组卷,各类型试题抽取一定数量的题目进行组卷并提供给学生进行答题。
3.1.1.4试卷分析模块
当学生用户对组完卷的试题答完题并提交后,系统可以自动对试卷进行批阅分析,给出答卷分数,并可以统计所有考生得分给出排名。
3.1.1.5课程管理模块
可以对系统进行添加和删除课程。
3.1.1.6题型管理模块
可以对系统进行添加和删除题型。
3.1.2采用的语言以及开发工具
本人打算以java为基础,使用mysql数据库并且基于Idea开发平台对软件进行开发,开发软件完成后,准备使用黑盒和白盒测试对软件进行测试,主要测试软件是否符合需求以及有无bug,最后形成毕业论文,做好PPT和准备论文答辩。
经查阅java语言主要有以下特点:
1)跨平台性
2)面向对象
3)安全性
4)多线程
5)简单易用
与其他语言对比:
Java是为了web而生的。隐藏了底层的实现细节,以及令人困惑的指针这些容易导致内存泄露等不安全结果的概念,让开发者更多地关注业务逻辑。对比起C语言,JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c语言中指针操作失误,如野指针所造成的系统崩溃,而对于垃圾管理,java将自动对内存进行回收,此外,java的跨平台型获得众多编程者的喜爱。
3.1.3数据库设计
本系统拟采用Mysql数据库,目前设计的表主要有(1)用户表:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(16) | Y |
| Sex | vchar(64) | Y |
| Role | vchar(2) | Y |
Id用于标识唯一用户,name为用户名,sex为用户性别,role为用户角色,用于对用户进行权限分类
(2)Score表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| sumscore | vchar(64) | Y |
| count | vchar(16) | Y |
Id为学生用户id,Sumscore为学生测试成绩总和,count为学生测试次数
(3)试卷信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Subject | vchar(64) | Y |
| Type | vchar(16) | Y |
| lessonid | int | Y |
| Professionid | int | Y |
| Questionid | Int | Y |
| OptionA | vchar(50) | Y |
| OptionB | vchar(50) | Y |
| OptionC | vchar(50) | Y |
| OptionD | vchar(50) | Y |
| Answer | Char(10) | Y |
| Note | vchar(50) | Y |
(4)考生信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| Sex | vchar(16) | Y |
| Pwd | vchar(20) | Y |
| Profession | vchar(20) | Y |
作用:用于保存考生的信息
(5)科目信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| LessonID | vchar(16) | Y |
(6)考生专业信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Pname | vchar(100) | Y |
(7)教师信息表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| Pwd | vchar(16) | Y |
(8)登录日志管理表设计如下:
| 字段 | 类型 | 可否为空 |
| id | vchar(8) | N |
| Name | vchar(64) | Y |
| Success | vchar(16) | Y |
| Role | vchar(64) | Y |
| Ip | vchar(10) | Y |
| Logtime | vchar(30) | Y |
作用:用来保存用户登录的状态信息
MySQL数据库具有以下主要特点:1. 同时访问数据库的用户数量不受限制;2. 可以保存超过50,000,000条记录;3. 是目前市场上现有产品中运行速度最快的数据库系统;4. 用户权限设置简单、有效。这也是我采用mysql数据库的最直接原因。
3.2研究步骤:
1.查阅文献资料,了解系统大体功能
2.对系统进行需求分析,了解系统的功能需求。然后进行资源搜索,参照一些现有的课程管理系统的功能、界面等,与自己的需求分析进行比较,查漏补缺,并对功能进行优化。然后进行功能定义,角色功能描述。
3.进行概要设计和详细设计
4.代码编写及测试
优化功能并完善系统4. 参考文献
[1]张利强,李尧.基于b/s的高校程序在线评测系统设计与实现[j].通信与信息技术.2018年第4期(第234期),p33-36
[2]马金强,苗志宏.程序设计类课程案例演示系统的设计与开发[j],武警学院学报,2013年8月.第34卷第4期,p19-20
[3]翟瞳飞,王少魁等.便携式程序设计测评系统设计与开发[j].三明学院学报,2017年24期,p41-45
5. 计划与进度安排
2022.12.25----2022.01.01查阅相关文献资料
2022.01.02----2022.01.07撰写开题报告
2022.01.08----2022.03.10 需求分析,熟悉开发工具
