宋鎏鑫:知识竞赛答题系统
第2章系统分析与设计
通过对用户需求的分析,该系统需要使用数据库对数据进行增删查改等操作,为了使用户有更好的使用体验,需要对系统进行UI和运行逻辑上的设计。
2.1系统分析
知识竞赛答题系统是以方便用户使用为基础,在用户端和管理员端实现增加,删除,修改和查询等功能。
2.1.1用户注册
用户在登录界面点击用户注册按钮后,界面跳转为注册页面。用户在注册页面填写过个人信息后点击保存,我们会对信息进行验证,当用户信息没有问题后我们就连接数据库对用户信息进行保存。
2.1.2用户和管理员登录
用户和管理员在登录界面,填写账号和密码然后选择登录身份,在与数据库中的账号和密码比对正确后管理员和用户即可进入各自管理界面。
2.1.3用户练习模块
用户在进入该功能后,即可做题。这里的题目是根据竞赛试卷所属类别而从题库中挑选出的相同类别的题目,方便了用户在竞赛更好地练习,为竞赛做好准备。
2.1.4用户竞赛模块
用户进入该模块后即可对本次竞赛习题进行作答,在答题完毕后系统直接出分,省去了改卷的时间。
2.1.5用户成绩查询模块
用户可以在这个模块内直接查询往届竞赛的成绩,该成绩是根据竞赛先后时间进行排序的。
2.1.6用户账号管理模块
管理员在该模块内可以对用户账号进行删除,也可以为忘记密码的用户修改密码。 2.1.7题库管理模块
进入该题库首先看到的是题目的分类,在此我们可以查看分类内容,添加分类和删除分类,在进入查看分类界面后,可以此添加,删除,修改与该分类有关的题目。
2
宋鎏鑫:知识竞赛答题系统
2.1.8试卷管理模块
管理员可以在不同分类中添加相应分类的试卷,在试卷管理页面可以查看试卷内容,增加新的试卷。在添加试卷时系统会自动列出相同分类的试题供管理员选择组卷。
2.1.9成绩管理模块
管理员可以在此可以查看做某一套竞赛试卷的用户的成绩。
2.2 系统设计
知识竞赛答题系统的主要功能是方便管理员出题和查看成绩,也方便了用户答题,需要对用户信息,试卷信息,管理员信息进行增加,删除和修改等操作。1.建立数据库,通过分析竞赛答题系统的结构,设计出合适的表格和字段。2.确定表间关系。3.编写代码连接数据库,实现数据的增加,删除,更改和查询等功能。功能结构设计如图2.1所示。
知识竞赛答题系统用户端管理端试题练习竞赛答题成绩查询密码管理试题管理试卷管理用户管理用户成绩管理
图2.1功能结构设计图
2.3数据库设计
经过分析该系统需要有用户端和管理员端。经过分析得出该系统一共有五个实体,分
3
宋鎏鑫:知识竞赛答题系统
别是:类别、试卷、试题、用户、管理员。管理员分别可以对类别、试卷、试题、用户进行管理。试卷有不同的类别因此两个实体之间是多对一的关系,试题与类别也是一样。一份竞赛试题可以有多个用户来做,所以两者关系为一对多。每个用户可以做多套习题,所以关系是一对多。经过上面的分析我们可以得到如图2.2所示的E-R图。 类别 类别ID 1 1 试题ID 试卷名 属于 属于 试卷分类 题目 创建时间 n n A选项内容发布情况 1 n 挑选 试卷 ID情况类别名 试题分类 情况 ID 情况 情况试题 试题ID 情况 B选项内容ID情况 1 m 情况C选项内容ID情况 试卷ID 情况 情况 竞赛用时 考试 D选项内容ID情况 情况 练习 n 1
图2.2 答题系统E-R图
用户ID 情况 试题答案用户 ID情况情况 试题分数ID情况情况 手机号 ID情况用户名 情况 用户密码 ID情况情况 情况 数据库建表:根据数据库的E-R图(如图2.2所示)。得到下面的六个表,表2.1是用户信息表,用户通过注册即可将个人信息添加进去并登录用户界面。表2.2是管理员信息表,
4
宋鎏鑫:知识竞赛答题系统
主要用于管理员的登录验证。表2.3是分类信息表用于试题和试卷的分类。表2.4是题库表,主要是用于对试题的存放。表2.5是试卷表用于存放试卷信息,显示试卷状态(是否发布)。表2.6是成绩表,表中UserID和PaperID共同组成主键,存放了用户某次考试的成绩。
表2.1用户信息表
字段 UserID UserName UserPassword PhoneNumber 类型 int varchar(20) varchar(20) varchar(12)
表2.2管理员信息表
字段 AdminID AdminPassword 类型 int varchar(20)
表2.3分类信息表
字段 Number SubjectName 类型 int varchar(30)
表2.4题库表
字段 ExerciseID 类型 int 默认值 空 空 no 备注 试题ID 默认值 空 空 空 no no 备注 分类号 分类名 默认值 空 空 空 no no 备注 管理员ID 管理员密码 默认值 空 空 空 空 空 no no no no 备注 用户ID 用户名 用户密码 用户手机号 5
宋鎏鑫:知识竞赛答题系统
Question A B C D Answer SubjectName Score varchar(100) varchar(60) varchar(60) varchar(60) varchar(60) varchar(2) int int 空 空 空 空 空 空 空 空 表2.5试卷表
yes yes yes yes yes yes yes yes 问题 A选项 B选项 C选项 D选项 答案 分类 试题分数 字段 PaperID PaperName SubjectName JoinTime ExerciseID test time 类型 int varchar(130) int Char(15) varchar(140) int int 默认值 空 空 空 空 空 空 空 表2.6成绩表
空 no yes no yes yes no yes 备注 试卷ID 试卷名 试卷类别 试卷创建时间 试卷题目ID 试卷状态 试卷限定时间 字段 UserID PaperID Degree 类型 int int int 默认值 空 空 空 空 no no no 备注 用户ID 试卷ID 竞赛成绩 第3章功能实现
本章通过对功能的分析,来编写代码,从而实现系统UI设计与实现和数据的增加,修改,提取与删除等功能。
6