题库管理系统 “题库管理系统”是网络教学平台的一个子系统。“题库管理系统”用于存储课程的练习题与模拟题,练
题库管理系统
“题库管理系统”是网络教学平台的一个子系统。“题库管理系统”用于存储课程的练习题与模拟题,练习题主要用于学生课余时间的练习,模拟题主要用于学生期末考试。系统用户在录入每一道题时需要指定该道题所属的课程、该道题所属的章节、该道题是练习题还是模拟题,以及该道题的题型信息、题目信息等。习题在录入系统后,需要由系统用户进行“组卷”。“组卷”的目标是从题库的现有习题中抽取出一些习题,以便于组成一张练习卷或考试卷,供学生使用。该功能需要在题库中抽取确定的习题、并设定每道题的分值、以及考试的相关信息,如考试名称、时间长度等。当习题已经录入系统之中,并且已经完成组卷操作后,学生就可以登录系统完成课程相应章节的练习或者考试了。请根据上述需求,回答下面的问题:
系统主要涉及管理人员、教师和学生这些用户。
系统需要为教师实现的功能是:习题的上传与管理、组卷操作、批卷操作
系统需要为学生实现的功能是:习题的答题操作、成绩自动录入
系统需要为管理人员实现的功能是:教师与学生帐号的管理、及权限的管理$可以单纯采用B/S、或者B/S与C/S的结合、或者单纯C/S来实现这一问题单纯采用B/S的理由是:“管理人员”、“学生”、“教师”之间的通信都可以在网上进行,客户端不用另外安装。
单纯采用C/S的理由是:开发成本小,开发时间短,安全性高采用B/S与C/S结合的理由是:可以把具有较高安全性的模块以C/S的形式实现,把具有较低安全性的模块以B/S的形式实现,这样就能兼顾B/S与C/S这两种模式的优点。$
编码 | Int |
章节名称 | Varchar |
是否为根节点 | BIt |
创建人 | Varchar |
创建时间 | Datetime |
备注 | Pest |
父章节编号 | Int |
章节编号可以采用如下这几种形式来表示:
A)第一章00010001,第一章的第一节000100010001,第一章的第二节000100010002,即
每一个章节编号的前面位数为其父节点的章节编号
B)通过父节点的章节编号找到其父章节$习题与章节之间是多对多的关系,因为每道题可能是由来源于不同章节的知识点构成,而每个章节可能包含多个习题$$随机抽题既可以发生在用户组卷时,也可以发生在学生打开试卷时。
需要发生在用户组卷时,是因为这样处理上比较方便
需要发生在学生打开试卷时,是因为如果针对一套试卷,给学生多次练习的机会的话,这样就可以使学生每一次练习都可能练习不同的试题。
如果要随机抽取30道试题的话,则可采用这样的sql语句来实现:
Select top 30 * from 习题表 order by newid()
也可以自动生成30个不同的随机数(随机数的范围一定是在1~n之间,n为题目个数),然后通过记录集游标的形式,依次定位每一个随机数所对应的题目