一个cs架构的在线考试系统

简介: --------------------------------------------------------------------------------------------------------- 注意:在这个例子里我采用了拼SQL语句的方法,因此是不安全的,无法抵御SQL注入式攻击。

---------------------------------------------------------------------------------------------------------

注意:在这个例子里我采用了拼SQL语句的方法,因此是不安全的,无法抵御SQL注入式攻击。!有时间再改进吧。

                       ——hoodlum1980           2008年10月7日12:32:14

---------------------------------------------------------------------------------------------------------

最近很多人讨论数据库和面向对象,使我想起这个我在暑假里帮别人做的在线考试系统,由于需求中提到要提醒考生时间快到了,而我考虑bs不好控制(并且不熟),所以采用了是cs架构。数据库拟采用的是sqlserver,但考虑到为了演示时部署方便,我也添加了使用access数据库的接口(仅用于演示)。

其他需求还有随机抽取题目组成一张试卷。题目的重要属性有题干,选项,答案,难度,相关章节等。考试的属性有难度,时间等。系统角色有学生,教师,管理员。
试卷的属性有所有题目ID字符串,正确答案字符串,用户答案字符串,所得分数等。

我希望用最快速度把它写出来,基本功能我写了4天以后可以在我本机上演示了。由于很多属于数据库操作,所以写起来很烦琐。。。
核心的逻辑主要是随机抽取试题,这里我使用了在程序用random函数。当然在sql语句里面也可以用newid()生成一个随机顺序。需求中要求题目涉及面均衡,我使用把所有题目按照相关章节的顺序排列,然后在里面随机抽取来实现。因此试卷的章节分布和题库的章节比例相一致。但这样可能并不一定是真正的需求,另外一种选择是尽可能使不同章节的题目数量相同。

时间提醒,由于考试时处于紧张状态,显然不希望受到干扰,所以为了不妨碍考生答题,但又能醒目的提供提醒,我引入了一个模仿msn提醒的浮出窗口(它是来源于codeproject.com上的源码)。

程序截图:


教师的登录后界面:


在系统中使用了一些UserControl页面,例如题目页面,每次装载不同题目。用户选择的答案是一个字符,如果用户已经选择答案,则是ABCD中的一个,如果为选,则设为‘X’,表示还没做答。(这里都是单选题目,尚未设置多选题目的界面。)在用户交卷时,系统检查是否有未答题目,如果有,则提醒考生。

所有角色的测试帐号:123456 密码:123456
教师可以增加学生,管理员可以增加教师。

最后是源代码(code of vs03 & vs05)下载的链接:
http://files.cnblogs.com/hoodlum1980/ExamSys.rar

目录
相关文章
|
1月前
|
存储
嵌入式微处理器的系统架构中指令系统
嵌入式微处理器的系统架构中指令系统
13 0
|
2月前
|
缓存 NoSQL 关系型数据库
|
2月前
|
监控 数据可视化 关系型数据库
微服务架构+Java+Spring Cloud +UniApp +MySql智慧工地系统源码
项目管理:项目名称、施工单位名称、项目地址、项目地址、总造价、总面积、施工准可证、开工日期、计划竣工日期、项目状态等。
307 6
|
2月前
|
存储 安全 网络安全
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:八
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:八
|
2月前
|
分布式计算 关系型数据库 大数据
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:九
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:九
|
2月前
|
存储 负载均衡 算法
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:一
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:一
|
2月前
|
存储 机器学习/深度学习 固态存储
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:二
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:二
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:二
|
2月前
|
存储 缓存 运维
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:三
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:三
|
2月前
|
存储 缓存 负载均衡
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:四
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:四
|
2月前
|
存储 缓存 运维
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:五
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:五