一个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

目录
相关文章
|
2月前
|
监控 持续交付 API
深入理解微服务架构:构建高效、可扩展的系统
【10月更文挑战第14天】深入理解微服务架构:构建高效、可扩展的系统
86 0
|
5天前
|
机器学习/深度学习 存储 人工智能
【AI系统】模型演进与经典架构
本文探讨了AI计算模式对AI芯片设计的重要性,通过分析经典模型结构设计与演进、模型量化与压缩等核心内容,揭示了神经网络模型的发展现状及优化方向。文章详细介绍了神经网络的基本组件、主流模型结构、以及模型量化和剪枝技术,强调了这些技术在提高模型效率、降低计算和存储需求方面的关键作用。基于此,提出了AI芯片设计应考虑支持神经网络计算逻辑、高维张量存储与计算、灵活的软件配置接口、不同bit位数的计算单元和存储格式等建议,以适应不断发展的AI技术需求。
18 5
|
13天前
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
61 4
|
24天前
|
前端开发 安全 关系型数据库
秒合约系统/开发模式规则/技术架构实现
秒合约系统是一种高频交易平台,支持快速交易、双向持仓和高杠杆。系统涵盖用户注册登录、合约创建与编辑、自动执行、状态记录、提醒通知、搜索筛选、安全权限管理等功能。交易规则明确,设有价格限制和强平机制,确保风险可控。技术架构采用高并发后端语言、关系型数据库和前端框架,通过智能合约实现自动化交易,确保安全性和用户体验。
|
2月前
|
存储 数据管理 调度
HarmonyOS架构理解:揭开鸿蒙系统的神秘面纱
【10月更文挑战第21天】华为的鸿蒙系统(HarmonyOS)以其独特的分布式架构备受关注。该架构包括分布式软总线、分布式数据管理和分布式任务调度。分布式软总线实现设备间的无缝连接;分布式数据管理支持跨设备数据共享;分布式任务调度则实现跨设备任务协同。这些特性为开发者提供了强大的工具,助力智能设备的未来发展。
94 1
|
2月前
|
存储 监控 负载均衡
|
2月前
|
传感器 存储 架构师
构建基于 IoT 的废物管理系统:软件架构师指南
构建基于 IoT 的废物管理系统:软件架构师指南
75 9
|
2月前
|
存储 安全 开发工具
百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现
本文主要介绍了百度公共IM系统的Andriod端IM SDK的建设背景、IM SDK主要结构和工作流程以及建设过程遇到的问题和解决方案。
55 3
|
3月前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
97 6
|
3月前
|
网络协议 安全 中间件
系统架构设计师【第2章】: 计算机系统基础知识 (核心总结)
本文全面介绍了计算机系统及其相关技术,涵盖计算机系统概述、硬件、软件等内容。计算机系统由硬件(如处理器、存储器、输入输出设备)和软件(系统软件、应用软件)组成,旨在高效处理和管理数据。硬件核心为处理器,历经从4位到64位的发展,软件则分为系统软件和应用软件,满足不同需求。此外,深入探讨了计算机网络、嵌入式系统、多媒体技术、系统工程及性能评估等多个领域,强调了各组件和技术在现代信息技术中的重要作用与应用。
86 4