毕业设计(论文)ASP.NET计算机在线考试系统的设计与实现

上传人:仙*** 文档编号:30066107 上传时间:2021-10-09 格式:DOC 页数:64 大小:2.18MB
收藏 版权申诉 举报 下载
毕业设计(论文)ASP.NET计算机在线考试系统的设计与实现_第1页
第1页 / 共64页
毕业设计(论文)ASP.NET计算机在线考试系统的设计与实现_第2页
第2页 / 共64页
毕业设计(论文)ASP.NET计算机在线考试系统的设计与实现_第3页
第3页 / 共64页
资源描述:

《毕业设计(论文)ASP.NET计算机在线考试系统的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计(论文)ASP.NET计算机在线考试系统的设计与实现(64页珍藏版)》请在装配图网上搜索。

1、装订线1计算机在线考试系统摘要随着社会信息化程度的不断提高,计算机应用能力的培训得到迅猛发展,考核中使用的传统手工阅卷己经逐渐走向计算机自动评阅。目前自动阅卷己经能很好地完成对常见客观试题的自动批阅工作。本文讨论了计算机在线考试系统的设计与实现技术,结合实际提出本系统的总体结构和功能模块,然后通过系统结构设计、表的设计及前端开发,构建了一个基于C/S结构和SQL后台数据库为基础的系统,具备以下功能:学生数据维护、试题信息维护、考场设置、试题模板设置、自动组卷、自动分配座次、考场自动监控、自动评分、院系专业等信息的维护、用户管理、数据库备份和恢复等功能。在实现方法上,使用Visio完成前期数据库

2、设计,采用ASP.NET开发环境和C#语言,实现C/S结构下与数据库之间的连接,采用随机自动抽题组成试卷,可以实现数据备份,重点对题库操作的方便性、兼容性,自动组卷的不重复性、合理性,自动评分技术,和考试系统的合理性、界面的人性化进行了考虑。关键字:上机考试系统;C#;C/S;自动组卷;自动评分;.NET;I装订线山东科技大学信息工程系毕业设计(论文)说明书AbstractWith the information-based society constantly improve, computer application ability training has gotten a rapid

3、development. Assessment used in the traditional manual scoring has gradually become automatic computer marking. At present, automatic markers has been able to complete the common objective of the questions of the automatically reviewing work.This article discusses the design and implementation techn

4、ology of the Computer examination system in light of the realities of bringing up the overall structure and function modules of the present system. Then through the system architecture design and the front-end design and development, a system based on C/S structure and SQL database has been built. T

5、he system has the following functions: maintenance of students data, the test information maintenance, examination room settings, questions template settings, automatic test paper, automatically assigned seating, automatic monitoring the examination room, automatic scoring, professional faculties, m

6、aintenance of information, users management, database backup and recovery capabilities. In the realization methods, implement the connection with database under the C/S structure by using .net and language C# , and extract papers by using random automatic algorithm, meantime, data backup and recover

7、y can be achieved. The focuses are all considered, including the convenience and compatibility of the system, the reasonableness and non-repetitiveness of the automatic test paper, automatic score, and the reasonableness of the examination system, and the humanization of the interface . Keywords: Co

8、mputer Examination System; C#; C/S; Automatic Test Paper; automatic score;.NET 装订线1目录1 前 言11.1 项目背景11.2 国内外研究情况11.2.1 目前考试软件的自动评阅功能11.2.2 目前主要的组卷算法21.3 课题的研究意义31.4 研究的内容31.5 研究技术路线41.5.1 题型和难度的设计51.5.2 计算机答卷的技术要求51.5.3 阅卷评分的准确性保障51.5.4 选择合适的开发工具62 系统分析82.1 需求分析82.2 可行性分析92.2.1技术可行性92.2.2经济可行性92.2.3操

9、作可行性92.3 系统结构103 总体设计113.1 概要设计113.2 数据库设计133.2.1 数据库需求分析133.2.2 概念结构设计143.2.3 逻辑结构设计153.2.4 物理结构设计194详细设计与实现214.1 功能模块设计和实现214.1.1 登录模块214.1.2 试题信息模块224.1.3 考生信息模块244.1.4 试题模板模块264.1.5 组卷模块274.1.6 分配座次模块294.1.7 考生答题模块304.1.8 成绩查询模块324.1.9 数据库维护模块324.2 关键技术的实现334.2.1 防作弊采取的措施334.2.2 考场监控335 测试与维护355

10、.1测试的方法分析355.2 系统测试用例设计355.3 测试结果分析375.4 维护37结束语38参考文献39致 谢41附 录42A 主要源程序42主要界面B46用户手册C47C.1 系统功能简介47C.2 系统的支持平台48C.3 安装说明48C.4 使用说明48C.5 系统维护方法48D 软件光盘48D.1 光盘的树形目录48D.2 光盘文件一览表48E 科技译文48Exception safety for C#48C#异常的安全性5559Made by SQH装订线11 前 言1.1 项目背景近几年来,随着Internet的崛起,社会对计算机应用技术的要求越来越高,为此计算机基础课程成

11、为各高校的公共基础必修课程。该课程的特点为操作性强,在考核时应采用上机实际操作考核。而现阶段主要还是采用传统的各系或各专业甚至各个小班的教师各自命题进行笔试的方法,然后各任课老师再对各班试卷进行评判,容易引起因各任课老师的评分要求不同而使得对学生能力的考察出现偏差。对于计算机课程,实际技能的要求更为重要。关于知识内容考核,相应的检测方法比较成熟,通常采用客观题的形式,而关于对实际操作的考核,则技术上相对比较薄弱。随着社会的发展与进步对计算机实际操作的要求,高校对各种考试类型和要求的不断增加。自动组卷与自动阅卷评分是计算机在线考试的必然选择。如何解决实际操作考核中的题库设置、自动阅卷、自动评分是

12、目前急需解决的难题。1.2 国内外研究情况1.2.1 目前考试软件的自动评阅功能目前,国内外已有很多有关语言类课程的考试软件,它们大多具有自动组卷、机上考试及自动评阅的功能,但自动评阅功能的实现要受到试题类型的限制。目前国内的自动阅卷系统己经能很好地完成对常见客观试题的自动批阅工作,但是对于一些主观性很强的问题,尤其是程序设计的问题,还没有很好的解决方案。对于自动组卷及考试界面的设计,国内外已有较成熟的实现技术,大多采用可视化编程语言设计实现,如visua1Basic,visualFoxPro等。自动评阅功能的实现则根据各类试题的不同特点分别采用不同的评分方案。对于客观试题(如选择题),由于其

13、结果是固定的,因而普遍采用的评分方法是将考生的结果与标准答案对比,与答案一致,则得满分,不一致则为零分。对于主观性不是很强的试题(如填空题及程序改错题等),采用字符串比较方式,即把考生答案与标准答案直接作严格匹配或模糊匹配,匹配成功,即可得分。对于程序设计这一类主观性很强的试题,阅卷功能大致通过以下两种方式来实现:(1)结果比较。(2)机器评分与人工阅卷相结合。两种评分方法都不是很完善。第一种方法可实现完全自动评分,但对算法正确而只存在少量错误的程序,因其无法运行而无运行结果,最终只能得零分。这将使得一些有着较好编程思想和编程水平的考生由于一时的疏忽丢失很多的分数,使得评出的分数无法准确反映考

14、生的实际编程水平。第二种方法虽然没能减轻阅卷教师的工作量,但是可使成绩较为公正。1.2.2 目前主要的组卷算法目前自动组卷算法有:(1)随机选取法:根据状态空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的试题为止。该方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说组卷成功率低,即使组卷成功,花费时间也令人难以忍受。尤其是当题库中各状态类型平均出题量较低时,组卷往往以失败而告终。 (2)回溯试探法:这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时释放上次纪录的状态类型,然后再依据一定的规律(正是这种

15、规律破坏了选取试题的随机性)变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生成完毕或退回出发点为止,这种有条件的深度优先算法,对于状态类型和出题量都较少的题库系统而言,组卷成功率较好,但是在实际到一个应用时发现这种算法对内存的占用量很大,程序结构相对比较复杂,而且选取试题缺乏随机性,组卷时间长,后两点是用户无法接受的,因此它也不是一种很好的用来自动组卷的算法。 (3)遗传算法:是一种并行的、能够有效优化的算法,其实质就是一种把自然界有机体的优胜劣汰的自然选择、适者生存的进化机制与同一群体中个体与个体间的随机信息交换机制相结合的搜索算法。运用遗传算法求解问题首先需将所要求解的问题表示成

16、二进制编码,然后根据环境进行基本的操作:selection,crossover,mutation这样进行不断的所谓“生存选择”,最后收敛到一个最适应环境条件的个体上,得到问题的最优解。1.3 课题的研究意义传统考试要求教师人工出试卷、安排考试、监考、收集试卷、评改试卷和分析试卷,只能测试学生对知识的记忆能力,不能准确的反映出学生的实际操作能力,明显不适应现代的教学发展。而在计算机上进行标准化上机考试可以更真实、准确地反映应试者的实际水平和能力,并且不需要人工评阅试卷,中间环节少,误差率小,能在考试结束后立即得到成绩,公平合理,还可以进行自动统计,马上得到统计结果,大大节省考试费用,提高考试效率

17、。计算机自动评卷技术(无纸化考试系统)的研究、推广和应用,可以推进教育,加快教学现代化,推动考核方法改革,实现考核手段的现代化。可以确保革价改考试的高效、科学、公平,实现教学管理现代化。利用无纸化考试计算机自动处理系统,既可完成计算机类课程理论测试的要求,同时也更加突出了计算机技能测试的特点。1.4 研究的内容本课题要研究和设计的是一个完全无纸化考试系统,它将实现从数据库建立、自动组卷、考试、自动评分到成绩分析的全部功能。其研究的主要内容有:(1)面向对象的MIS开发方法:UML建模。(2)考试试题的编排、重组模式。(3)考试系统抽题的模式。(4)评分原则的合理性。(5)事件驱动方式开发的应用

18、程序的研究。系统中首先要进行题库设计。管理人员可设置不同类型的试题,并在同一类型中设置难易程度不同的试题,便于根据考生的知识储备组成难易程度不同的试卷。在自动组卷环节,系统主要研究如何根据老师设置的参数自动从数据库提取试题,生成试卷。并合理的分发给考生。在考试环节,系统主要研究如何合理设计考试界面,实现与考生交互,完成考试过程。由于程序设计题需要考生在实际的编程环境中进行编辑和调试,系统应设计简便的切换方法,方便考生实现考试环境与编程语一言环境的切换。在自动评分环节,选择题、判断题的评分可依照现有较成熟的评分方法进行研究设计,系统将对程序题的评分方法进行重点研究。使程序题的判分更准确、方便。1

19、.5 研究技术路线本系统主要包括数据维护、考务管理、考场管理、系统管理、考生考试模块和帮助六个模块。采用了总体规划、分步实施、管理模式研究和技术开发相结合,研究与应用相结合的技术路线。考生登录系统选择试题,进行答题,交卷。管理员需要对系统进行维护,试卷信息维护,院系信息维护,数据查询维护。在实现方法上,使用Visio完成前期数据库设计,采用.net开发环境和C#语言来实现程序的编写和呈现,重点对题库操作的方便性、兼容性,自动组卷的不重复性、合理性,自动评分技术,和考试系统的合理性、界面的人性化进行了考虑。1.5.1 题型和难度的设计在考试系统中,在上机考试系统中,题库中的题型设计是一个重要因素

20、,决定了考试是否能够产生科学、合理的测试效果。本系统处理的题型有:单项选择题、判断题和程序题。题目不会引起考生歧义,并设置有标准答案、试题分值、试题难度,满足考试抽题及自动阅卷的参数要求。同时,通过支持试题的导入、导出,保证试题库中能有充足的试题,满足考试的需求,增加了考试的灵活性。1.5.2 计算机答卷的技术要求考生在做试卷中的客观题型试题如:单项选择题,判断题时,使用鼠标选择各题目中认为正确的选项,对考生而言,只需要掌握鼠标的使用方法即可。在做程序题时,只需要把在计算机语言环境下调试好的程序代码写到文本框中即可。很显然,这样的操作技能,不存在任何障碍。因此利用计算机进行考试答卷是完全可行的

21、。1.5.3 阅卷评分的准确性保障上机考试系统中,对于客观题型的阅卷通过将考生答案与试题标准答案进行字符串比较的方式来判别,保证了阅卷的准确性,评分可通过累计正确答题的试题分值来获得,算法简单、快速、准确,程序编制容易。主观题,采用人工与机器相结合的评分的方法,由评分老师对照题库中的参考答案对考生答案进行评定。并为老师提供了评语的输入,对考生答案做出评价,便于以后对试题得分率做出正确的分析。1.5.4 选择合适的开发工具开发工具的选择对一个系统来说很重要,既决定了开发人员的开发效率,也对界面的美观和操控性起着重要作用,同时也对软件产品的易维护性和扩充性有着重要影响。(1)Visual Stud

22、io 2005Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。(2)Visual C#语言Visual C#(读做C sharp,简称C#)是

23、由微软公司的Visual Studio.NET(简称VS.NET)提供的一种重要开发语言。VS.NET是微软公司推出的第一种基于.NET FrameWork的可视化应用程序开发工具包,包括了C#、Visual Basic.NET、Visual C+.NET、Visual J#.NET等开发语言。VS.NET通过公共运行语言环境,将这些应用程序开发语言紧密地集成在一起,使它们共同使用同一个集成开发环境和同一个基础类库,大大简化了应用程序的开发过程,为开发人员快速地创建分布式应用程序提供了强有力的支持。(3)SQL Server 2000SQL(Structured Query Language)

24、,结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的较新版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows

25、xp 的大型多处理器的服务器等多种平台使用。装订线12 系统分析2.1 需求分析随着计算机技术的发展,当今社会对计算机实际操作的要求越来越高,然而传统的笔试模式在程序设计类课程的考核方面暴露出许多的弊端,因各老师的评分标准不同而导致学生的实际能力测试出现偏差,使得考试结果不能够准确、客观地评价学生的实践编程能力。为了解决这种弊端,在线考试系统、自动组卷、自动阅卷成为各高校选择的必然要求。采用无纸化的上机考试可以更真实、准确地反映应试者的实际水平和能力,采用自动组卷、自动阅卷而不需要人工评阅试卷,使中间环节少,误差率小,能在考试结束后立即得到成绩,公平合理,还可以进行自动统计,马上得到统计结果,

26、大大节省考试费用,提高考试效率。计算机在线考试系统应满足以下几个方面的要求:对于学生来说,应提供方便、快捷、高效的考试操作功能,该系统应该让考生充分发挥其知识水平,不能因客观原因而影响考生的正常状态。系统反应应灵敏迅速,如在执行用户登录、试卷提取等功能时,应快速做出响应。在考试开始后,考生应快速打开页面,进行答题,在试题上方应有剩余时间显示,考试时间到了系统要可以要求考生交卷或强制停止考试。在答题过程中数据库会每隔1分钟保存信息一次。为了防止考生漏答试题,在考生交卷时,系统应能为考生检查是否有未作试题,并给予提醒。应试者选择答案提交后,由计算机自动阅卷,得到成绩后统计出来,可根据情况是否导出E

27、xcel成绩表,分析各班成绩情况。对于系统管理员来说,要提供方便统一的管理功能,管理员可以完成数据库的备份和还原,也可浏览、查询、添加、删除、修改、统计考生的基本信息和试题的基本信息,同时还要对试题的排版、组卷、发放等进行控制。上机考试系统服务器端需要提供从服务器的数据库随机抽取试题后动态生成试卷的功能。对于监考人员来说,要对整个考试过程进行控制,要能控制考试的开始和结束,要能监控考生的登录情况。除了实现上述功能以外,系统还应该具有友好、简洁的界面,安全性要高,稳定性要强。2.2 可行性分析该系统主要采用.NET(C#)、SQL数据库、Visio等技术和工具,整体设计遵循软件工程的方法,经过需

28、求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。下面就对这几种技术和方法做一个概述。2.2.1技术可行性使用Visual Studio 2005运行环境完成代码的编制,采用ASP.NET与SQL技术开发,从数据库中取得相应的试卷数据自动组卷,自动评分,并收集用户输入数据,能够对考试过程进行控制。,管理端和考生界面全部采用C/S模式构建,系统的部署、应用、维护更加方便。同时,使用Visio进行初期的模型设计,大型数据库SqlServer2000提供了数据库管理的能力,因此技术方案是成熟的和可行的。2.2.2经济可行性开发所需硬件软件设施目前大多数PC机系统能够承担,开发费用不高。

29、并且现在各高校都拥有高性能微机和局域网,该软件系统的安装、部署、运行和维护简单,都不会给各高校增加太高的费用。2.2.3操作可行性目前,大多数PC机和局域网能够软件系统运行该系统,操作简单易懂,该系统的安装、调试、运行不会改变原计算机系统的设置和网络的布局,并且大多数用户几乎不用做任何培训都能够方便的操作软件。2.3 系统结构系统采用的是C/S(Client/Server)结构,C/S结构即是指客户机/服务器体系。客户机服务器模式是一种能够充分发挥台式计算机能力的主要手段。客户机服务器系统是一种以用户为中心的系统,它强调用户与数据的交互作用。客户机服务器模式将任务划分为由“客户机”和“服务器”

30、分别分担的部分,虽然两者都是连接在网络上,但各自承担并完成各自的功能。目前大多数应用软件系统都是客户机服务器形式的两层结构(第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器),由于现在的软件应用系统正在向分布式的Web应用发展,Web和客户机服务器 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。由于客户端实现与服务器端直接相连,没有中间环节,应用服务器运行数据负荷较轻,数据的储存管理功能较为透明,因此响应速度快。同时由

31、于开发是针对性的,因此,操作界面漂亮,形式多样,可以充分满足客户自身的个性化要求。 客户服务器图2-4 C/S结构图装订线13 总体设计3.1 概要设计 数据流图简称DFD图。图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。它能精确的描述系统的逻辑模型,描述数据在MIS中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。经过系统分析,该考试系统的数据图如图3-1所示。管理员题库管理录入生成试卷评分考试登录考生考题考生信息试题题库文件考生信息文件合法考生信息考生信息合法考生答题信息考生试题考生试题

32、文件试卷成绩成绩单考生答题文件图3-1 数据流图对“计算机在线考试系统”进行概要设计,可将该系统划分为管理员功能模块、监考人员功能模块、考生功能模块。(1)管理员功能模块:该功能模块显示了管理员对整个系统的控制,主要有用户信息维护,考生信息维护,试题信息维护,考场信息维护,院系专业班级信息维护,系统初始化,设置试题模板,组卷,发放试卷,分配座次,数据库备份和恢复,数据查询,发放开考指令,结束考试,考场监控,记录违纪信息,修改密码功能。其功能模块图为图3-2所示。图3-2管理员功能图(2)监考人员功能模块:发放开考指令,结束考试,考场监控,修改密码。其功能模块图为图3-3所示。图3-3监考人员功

33、能图(3)考生功能模块:登录,答题,提交答案。其功能模块图为图3-4所示。图3-4考生功能图3.2 数据库设计数据库设计是整个系统设计的关键环节,是系统成功与否的关键所在。它既是一项涉及多学科的综合性技术,又是一项庞大的工程项目。指的是根据选择的数据库管理系统口(DBMS)和用户(User)需求对一个单位或部门的数据进行重新组织和构造的过程。十几年来,人们努力探索,提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,但它们都属于规范化设计法。数据库设计一般包括以下四个部分:数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构实现。3.2.1

34、数据库需求分析需求分析是数据库设计的基础,只有在正确、充分的需求分析的基础上,对所有数据要求按一定方法进行抽象与综合处理,才能设计出依赖于某特定DBMS的、满足用户应用需求的信息结构。对本系统的需求分析可以看出,使用者共有三个角色:管理员、监考人员和考生,他们分别在系统的运行和使用当中应起着不同的作用。根据系统功能设计的要求,系统功能为:(1)具有美观友好的操作界面。(2)规范、完善的用户注册、修改信息。(3)支持数据导入导出功能。(4)可以全面的展示系统的组卷、考试、评卷及成绩。(5)方便管理员用户对整个系统的管理。(6)系统最大限度地实现易维护性和易操作性。(7)系统运行稳定、安全可靠。3

35、.2.2 概念结构设计概念结构设计就是将需求分析得到的信息抽象化为概念模型。概念结构设计应该能真实、充分的反应现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求。同时还要易于理解、易于更改,并易于向关系、网状、层次等各种数据模型转化。概念模型的表示方法很多,最常用的设计方法为用E-R图来描述现实世界的概念模型,即用实体-联系方法对具体数据进行抽象加工,将实体集合抽象给类型,用实体间联系的类型反应现实世界事物间的内在联系。经分析,系统的E-R图如图3-3所示。试题选择题id试题编号判断题id程序题id模板编号管理员试题密码答案用户名答案用户类型试卷考生试卷编号学号班级名姓名学号专业院

36、系发卷抽题考试m111nn图3-3 系统E-R图答案选择题答案程序题答案id判断题答案学号程序题答案答案编号学号答案试题得分评语答题包含111n3.2.3 逻辑结构设计逻辑模型设计的主要目标是将概念模型转换为一个特定的处理的DBMS可处理的数据模型和数据库模式。概念模型向逻辑模型的转换过程为以下3步进行:(1)把概念模型转换为一般的关系模型(2)将一般的关系模型转换为特定的DBMS所支持的数据模型数据库的一般逻辑数据模型设计完后,还需将其转换为特定数据库管理系统下的逻辑数据模型。根据系统功能设计的要求以及功能模块的划分,数据库需要的存储信息如下:试题模板:试题类型、题数、分值、模板编号。选择题

37、:编号、试题类型、试题、选项A、选项B、选项C、选项D、标准答案、难度系数。判断题:编号、试题类型、试题、标准答案、难度系数。程序设计题:编号、试题类型、试题、参考答案、难度系数。试题:试卷编号、选择题、判断题、程序题、模板编号。试卷:试卷编号、学号。答案:学号、选择题、判断题、程序题。程序题答案:学号、答案编号、答案、评语、试题得分。用户:用户名、口令、用户类型。开始:编号、开始、考试时间。违纪:违纪编号、座位号、学号、考场名称、备注。座次:学号、座位号、登录状态、考察名称、剩余时间。考场:考场名称、地址、容量。考生:学号、姓名、班级名、专业、院系、照片路径。成绩表:学号、选择题成绩、判断题

38、成绩、程序题成绩、总分。班级:班级名、专业。部门:院系。专业:院系、专业。如果将上面设计的数据库关系数据模型转换为SQLserver 2000下的关系数据模型,则关系数据模型的一个关系对应了SQLserver 2000数据库中的一个表,关系的属性对应了表的字段,关系框架对应了表的结构,关系元组对应了表记录。下面就将SQLServer200下主要的表,如下所示:表3-1 学院信息表列名字段说明数据类型主键允许空Department学院名称varchar(30)否-表3-2 班级信息表列名字段说明数据类型主键允许空Class班级名称varchar(20)是-Profession专业名称varcha

39、r(30)否-表3-3 专业信息表列名字段说明数据类型主键允许空Department学院名称varchar(30)否-Profession专业名称varchar(30)是-表3-4 开始信息表列名字段说明数据类型主键允许空Id编号varchar(2) 是-Start标记是否开始考试varchar(2) 否Time考试时间varchar(4) 否表3-5 成绩表列名字段说明数据类型主键允许空S_number学号 varchar(10)是-A选择题分数 decimal(4,1)否B判断题分数 decimal(4,1)否C程序设计题分数decimal(4,1)否Score总分数decimal(4,1

40、)否表3-6 选择题表 列名字段说明数据类型主键允许空Id选择题编号 Varchar(50)是-Types试题类型Varchar(2)否Title试题内容 Varchar(500)否selectA选项A Varchar(100)否selectB选项BVarchar(100)否selectC选项CVarchar(100)否selectD选项DVarchar(100)否Answer答案Varchar(2)否Quotiety试题难度系数。int否表3-7 判断题表列名字段说明数据类型主键允许空Id判断题编号 Varchr(50)是-Types试题类型Varchar(2)否Title试题内容 Varc

41、har(500)否Answer答案Varchar(2)否Quotiety试题难度系数。int否表3-8 程序设计题表列名字段说明数据类型主键允许空Id程序设计题编号 varchar(50)是-Types试题类型varchar(2)否Title试题内容 varchar(1000)否Answer答案varchar(1000)否Quotiety试题难度系数。Int否表3-9 试卷表 列名字段说明数据类型主键允许空ShijuanId试卷编号varchar(50)是-S_number学号varchar(10)否-表3-10 考场信息表列名字段说明数据类型主键允许空Kname考场名称varchar(5)

42、是-address考场地址varchar(100) 否Capcity考场容量Int 是表3-11 试题模板表列名字段说明数据类型主键允许空MobanId模板编号varchar(50)是-Types试题类型varchar(10)否T_shu试题数量Int否Score试题分值decimal(4,1)否表3-12 试题信息表列名字段说明数据类型主键允许空ShijuanId试卷编号 varchar(50) 是-MobanId模板编号varchar(100) 否-A选择题idvarchar(100) 否B判断题idvarchar(100) 否C程序题idvarchar(100) 否表3-13 考生信息表

43、:列名字段说明数据类型主键允许空S_number考生学号varchar(10)是-S_name考生姓名varchar(10)否-Department考生所在院系varchar(30)否-Profession考生所在专业varchar(30)否-Class考生所在班级varchar(20)否-表3-14 用户信息表列名字段说明数据类型主键允许空Username用户名varchar(20)否-Password用户密码varchar(20)否-Usertype用户类型varchar(6)否-表3-15答案表列名字段说明数据类型主键允许空S_number学号varchar(10)是-A选择题答案var

44、char(100)否B判断题答案varchar(100)否C程序题答案varchar(100)否表3-16 程序题答案表列名字段名称数据类型主键允许空Id答案编号varchar(20)是-S_number学号varchar(10)否-Answer试题答案varchar(1000)否Score试题得分Decimal(4,1)否Remarks评语varchar(1000)否表3-17 座次表列名字段说明数据类型主键允许空ZuociId座次号Int是-S_name考生姓名varchar(10)否-Kname考场名称varchar(50)否-status状态varchar(10)否remaintime

45、剩余考试时间varchar(4)否(3)通过优化方法将其转化为优化的数据模型逻辑模型设计的结果并不是惟一的。为了进一步提高数据库应用的性能,还应该根据应用的需要对逻辑数据模型进行适当的修改和调整,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导,并考虑系统的性能。3.2.4 物理结构设计对于关系数据库系统,数据的存储结构与存取方法是由DBMS决定并自动实现的,要做的就是:必须考虑在网络环境下数据库的分布及索引结构(选择操作效率较高的索引方式)。如:数据的访问权限,数据的共享性,安全性等。系统类图如图3-4所示。图3-4 考试系统类图装订线14详细设计与实现4.1 功能模块设计和实

46、现4.1.1 登录模块在完成系统时,可预先将用户名,口令和用户类型存放在数据库的用户信息表中,用户登录时必须输入用户名,口令和用户类型(考生登录则需输入考号和姓名),此时系统将执行一次数据库的查询,验证用户身份是否正确。为了保证考试系统的安全,确保系统用户的个人信息,防止非法用户登录,系统在登录界面设置了用户登录密码机制。本系统的登录机制分两部分:服务器端登录模块和考生登录模块(即客户端登录模块)。用户登录模块的工作流程图如图4-1所示。图4-1用户登录流程图服务器端登录界面如图4-2所示。图4-2用户登录界面考生登录界面如图4-3所示。图4-3考生登录界面4.1.2 试题信息模块对于在线考试

47、系统,试题库的合理与否成为该系统成功与否的基础。对于计算机类考试,命题具有相当大的难度。命题技术是建立试题库的关键,对于客观题如选择题、判断题比较容易,但对于程序设计题型具有一定的难度。解决方案是首先确定命题与评分技术的关系,使得所有客观题必须能机器评分。在建立试题库时,应考虑到试题难度、组卷评估的正确与合理性,保证试题的难易程度符合考生的能力,然后需要通过组卷模块将试题分发给考生,所以题库的题目数量必须保证在难度的划分后,仍然能够满足组卷的需求。该系统的试题信息模块分为选择题、判断题、程序设计题三个界面,可以对三种类型的题分别进行添加、删除、修改。在管理员录入试题时,要选择试题难度(简单,一

48、般,难)。对已录入的试题可以进行查询统计,根据给定的条件(如试题类型、难度系数、试题内容)检索出试题;并为了方便录入现有的试题文档,系统具有将excel中的试题导入数据库的功能。系统还可以将数据库中的试题按照常用的试题格式,导出到word中,便于进行非上机考试使用。读取excel文件的函数如下: public DataSet ExcelToDS(string Path) string strConn = Provider=Microsoft.Jet.OLEDB.4.0; + Data Source= + Path + ; + Extended Properties=Excel 8.0; /打开

49、数据链接,得到一个数据集 OleDbConnection conn = new OleDbConnection(strConn); if (conn.State = ConnectionState.Closed) conn.Open(); string strExcel = ; OleDbDataAdapter myCommand = null; /创建一个 DataSet对象 DataSet ds = null; strExcel = select * from sheet1$; myCommand = new OleDbDataAdapter(strExcel, strConn); ds

50、= new DataSet(); myCommand.Fill(ds, table1); if (conn.State = ConnectionState.Open) conn.Close(); return ds; 试题信息界面如图4-4所示。图4-4试题信息界面4.1.3 考生信息模块学生信息主要包括有学生所在学院、专业、班级、学号、姓名。考生信息模块完成对学生信息的添加、修改、删除、查询等功能。可以通过查询功能查询学生信息,也可以按照院系、专业、班级查看学生信息。模块中的学生信息都是通过一个datagridview显示给用户的,用户可以通过鼠标单击表格中的一行来显示该行的详细信息。系统中

51、提供了将datagridview中的信息导出的excel,和从excel导入到datagridview的功能。用户可以选择性的导入、导出学生信息。系统也提供了学生信息的excel模板。导出到excel的主要函数如下:/利用二维数组批量写入 string, arr = new stringrowCount, 5; /存放学生基本信息 Double, arr1 = new DoublerowCount, 4; /存放学生成绩 for (int j = 0; j rowCount; j+) for (int k = 0; k 5; k+) arrj, k = gridView. Rowsj. Cel

52、lsk. Value. ToString(). Trim(); for (int i = 5; i colCount; i+) arr1j, i - 5 = Convert.ToDouble (gridView.Rowsj. Cellsi. Value.ToString(); /添加学生基本信息 range = (Excel.Range)sheet.Cells2, 1; range = range.get_Resize(rowCount, 5);range.Value2 = arr;/添加学生成绩 range = (Excel.Range)sheet.Cells2, 6; range = ra

53、nge.get_Resize(rowCount, 4); range.Value2 = arr1;考生信息界面如图4-5所示。图4-5考生信息界面4.1.4 试题模板模块为了方便应用,该模块可以添加多个试题模板,每个模板有一个模板编号。模板主要涉及到每份试卷中选择题、判断题、程序设计题三种题型的试题数量,每题分值。试题数量和每题分值可以通过下拉框选择,可以用户自己输入。对已存在的模板可以进行修改、删除。并可以安照模板编号搜索模板信息。系统采用了错误处理机制,在添加数据之前对题数、分值进行判断,题数只能输入正整数,分值只能输入数字,否则提示错误。模板编号是由程序生成的,每次从数据库中选取存在的最

54、大编号,取字符串的前1到7位并加1,然后结合编号字符,得到当前编号。判断是否为正整数的正则表达式:+?d+$;判断是只否为数字的正则表达式:d+$。自动编号算法如下: / P_str_sqlstr SQL语句;P_str_table 数据表名;P_str_tbColumn 数据表字段;P_str_codeIndex 编号前的字符串;P_str_codeNum 编号后面的数字 DataSet myds = boperate.getds(P_str_sqlstr, P_str_table);if (myds.Tables0.Rows.Count = 0) txt.Text = P_str_code

55、Index + P_str_codeNum; else /取出数据库中最大编号 string sql = select max( + P_str_tbColumn + ) from + P_str_table ; SqlConnection cn = boperate.getcon(); SqlCommand cmd = new SqlCommand(sql,cn); P_str_Code = cmd.ExecuteScalar().ToString(); P_int_Code = Convert.ToInt32(P_str_Code.Substring(1, 7) + 1; P_str_Co

56、de = P_str_codeIndex + P_int_Code.ToString(); 试题模板界面如图4-6所示。图4-6试题模板界面4.1.5 组卷模块在组卷模块中可以由用户选择试题模板编号,输入需要生成的试卷套数,选择或输入试卷中试题的难易比例。生成好的试卷列出在datagridview中。组卷流程图如图4-7所示。图4-7 组卷流程图在按照难易比例计算各个难度须抽取的试题数量时,先按照整数比得出试题数量,一般整数比得到的总数量肯定比试题模板要求的数量小,不够的试题数量归到难度为1的试题中(也就是难度为“中”的)。为了在一套试卷中没有相同的试题出现,系统对随机算法进行了改进,每次将抽取到的元素从数组中删除,避免再次被抽到。具体算法如下: for (int k = 0; k number; k+) / 因为要提取number个,重复执行number次/ 随机抽出save数组位置; Random r = new Random(); string cur = r.Next(0, leng).ToString(); / 将该位置的元素值反馈给randnum; randnumk = sa

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!