C语言试题库管理系统的设计与实现修改版_第1页
C语言试题库管理系统的设计与实现修改版_第2页
C语言试题库管理系统的设计与实现修改版_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录第一章引言41.1本课题研究背景与意义41.2本课题研究目的与内容41.3本课题的研究现状41.4本课题所要达到的设计目标41.5本课题所涉及到的关键技术简介5JAVA简介5C/S简介5SQLServer2000简介6JACOB简介6第二章系统需求分析72.1业务流程图72.2功能模块图7第三章系统实现83.1系统概念设计83.1.1实体描述和联系描述83.1.2系统E-R图设计103.2系统逻辑设计103.3系统详细设计103.3.1E-R图向关系模式的转化103.3.2数据库的实现113.3.3系统主模块程序流程图13第四章系统实施194.1系统环境的实施194.2人机界面设计194.

2、3系统运行与维护221.4 系统性能分析234.5系统改进方向23结论23参考文献23致谢24C语言试题库管理系统的设计与实现摘要:C语言程序设计”课程是很多高校大部分学生的一门必修课。由丁课程的特殊性,需要大量的习题资源来帮助学习。然而由丁学生本身的经济能力及一些资料上的题型无法及时更新,并不能满足学生的要求。另外采用传统的人工出卷会花费老师大量的时间,物力和精力。因此如何既能满足学生要求乂能为老帅提供便捷成了重要的课题。这时候C语言试题库管理系统就被提出来了。本文首先介绍了题库建设的现状和开发工具,然后提出了C语言试题库管理系统的需求分析,明确了系统的总体结构。并论述了利用JAVA数据库技

3、术,设计与实现基丁C/S结构的C语言试题库管理系统的全过程。主要解决了试题库的建立、试卷生成、系统的安全性问题。本文详细论述了系统总体设计思想、数据库设计以及功能模块设计等。从而实现C语言试题库管理的信息化,规范化和试卷生成的自动化,并使其操作简单、方便、快捷。关键词:题库管理系统;JAVA;SQLServer2000;C/S结构;C语言DesignandImplementationoftheCLanguageTestLibraryManagementSystemAbstract:"Clanguageprogramdesign"isacompulsorycourseform

4、oststudentsinmanyuniversities.Becauseoftheparticularity,studentsneedalotofexerciseresourcestohelplearning.However,becausethestudentowneconomicabilityandsomedatatypescannotbeupdatedinatimelymanner,itcannotmeetthedemandofstudents.Inadditiontoadoptthetraditionalmanualvolumetakestheteacheralotoftime,mat

5、erialandenergy.Sohowcanmeetthestudents'requirementandcanprovideconvenientbecameanimportanttopicfortheteacher.Atthistime,Clanguagetestlibrarymanagementsystemwasputforward.Thispaperintroducesthepresentsituationoftheconstructionofthetestanddevelopmenttools,andthenputsforwardtheClanguagetestlibrarym

6、anagementsystemofrequirementanalysis,thegeneralstructureofthesystem.AnddiscussestheprocesswhichuseJAVA,databasetechnology,designandrealizationbasedonC/SstructureofClanguagetestlibrarymanagementsystem.Thispapermainlysolvessuchproblemsasthebuildingofthepapertest,thesecurityofthesystem.Thispaperdiscuss

7、estheoveralldesign,databasedesignandfunctionmoduledesign,etc.SoitmakestheClanguagetestrealizethestandardizationofmanagementinformation,andtestautomation,andgeneratetheoperationsimple,convenientandquick.Keywords:TheQuestionBankManagementSystemJava;SqlServer2000;TheStructureofC/S;Clanguage第一章引言1.1本课题研

8、究背景与意义“C语言程序设计”课程是很多高校大部分学生的一门必修课。由于课程的特殊性,需要大量的习题资源来帮助学习。然而由于学生本身的经济能力及一些资料上的题型无法及时更新,并不能满足学生的要求。另外采用传统的人工出卷会花费老师大量的时间,物力和精力。因此如何既能满足学生要求乂能为老师提供便捷成了重要的课题。这时候C语言试题库管理系统就被提出来了。另一方面,随着现代教学改革的深入和计算机信息管理的飞速发展,试题库管理系统已经逐渐成为评估教师教学质量和检查学生学习质量的重要工具,考试是各教学环节中重要的一个环节。命题是考试这一教学环节的关键,考试命题的科学化、规范化、标准化,有利于提高教学质量。

9、一般的试卷是由教师依据本课程内容精选出来,这样所出的试卷无任何随机性,而是凭借教师的意识决定,无客观性而言,也许所出试题会以偏概全。而试题库系统采用完善可靠地管理系统,自动选取难度等级、各章节知识点、题型、范围等,不仅可以提高命题质量和水平,还可以将教师从烦琐地出考卷工作中解脱出来,真正实现教考分离,加强对教学过程的检查与控制。在C涪言程序设计教学过程中利用CS言试题库管理系统这种教学资源,可以使学生对自己的知识能力进行系统的训练并进行检验,解决了课程学习中找题难、做题不系统等问题。教师也可以据此对学生进行测验,更加方便、准确地掌握学生的学习情况和检验学生的学习成绩。1.2本课题研究目的与内容

10、本课题拟通过对C语言试题库管理系统的设计与实现,掌握CC+JAVA等编程技术;熟悉数据库技术;熟悉网络编程技术。设计完成的题库管理与试卷自动生成系统的使用对象为教师。教师可以利用系统对不同课程建立题库并进行管理,根据不同的要求自动生成试卷和参考答案,使用系统提供的试卷自动生成功能可以大大提高试卷的质量,减轻教师的工作负担,提高教师的工作效率。1.3本课题的研究现状目前试题库管理系统已经在国外获得蓬勃发展,很多国家的试题多采用试题库的这种办法实现。在我国,虽然计算机参与教学管理已经有比较长的时间,但由于受到硬件设备性能和软件制作水平的限制,在过去的一段时间中,利用计算机现代化管理试题的技术只为少

11、数对计算机程序精通的人士所掌握,广大的教育工作者仍然处于手工操作的低水平上运作,而且一些部分研究的试题库系统也存在着一些的问题。如对考试题目的难度不能很好的控制,有的因为出题的随机性,可能在同一试卷上出现相近或相同的试题。而且当前试题库系统并不能满足C语言这门课的特需性。而且有的试题以偏概全,并不能涵盖各章节知识点、题型、范围。1.4本课题所要达到的设计目标本课题所要达到的设计目标是建立逻辑性较强的SQL®句,来提高执行操作的效率;按照题目的章节、分值、难度、题型、使用次数进行智能组卷。生成试卷:包括自动生成与手工改动,要求可以对生成的试卷进行打印和WOR排版,并且对生成的试卷能自动

12、生成其参考答案。1.5.1 1.5本课题所涉及到的关键技术简介JAVA简介1.5.2 Java是SunMicrosystem公司研制的一种新型的程序设计语言。在高级语言已经非常丰富的背景下,Java语言脱颖而出,不仅成为一门最为流行的计算机语言,而且形成一种专门的技术,有其独特的历史背景和独树一蕾的品质。111C/S简介则专门执行数C/S体系结构图如图1.1。客户网络服务器图1.1C/S体系结构图C/S是指:客户/服务器。其主要由客户机、服务器、网络三要素主成。用户在个人机(客户机)上工作,可以与中心计算机(服务器)互相通信。网络软件则保证客户机和服务器互相连通。C/S结构的最大优点是具有强大

13、的使用和处理数据的能力,它将数据处理任务分开在客户端和数据库服务器上进行,有利丁充分利用网络的计算资源,该操作还大大减少了网络的传输量,从客户发往数据库服务器的只是查询请求,从数据库传回的只是查询的结果。以简单的两层客户机/服务器系统而言,客户端是指应用软件以图形接口显示数据并让用户进行添加、修改等并行输入输出作业的部分,也就是用户接口负责向后端的数据库索取数据,执行客户端软件的工作。服务器所执行的后端数据库服务器,据的存储、检索、管理、备份等种种关键操作。1.5.3 SQLServer2000简介1.5.4 SQLServer2000数据库逐渐成为Windows操作系统平台下进行数据库应用开

14、发中较为理想的选择之一。SQLServer2000数据库管理系统是目前最常用的关系型数据库系统之一,它是基于客户机/服务器模式下的数据库,扮演着后端数据库的角色,它对中等规模的数据库支持较好且具有强大的功能和稳定性及易于维护等优点。它具有真正的客户机/服务器体系结构,能与WINDOWS7操作系统有机的结合,在目前的数据库开发中被广泛的应用。JACOB简介关于JAVA生成WORD文件的技术,虽然Sun公司的JDK开发包中本身没有提供该功能,但是可以利用JACOB开源类库实现。JACOB是一个JAVA到微软的COM接口的桥梁。使用JACOB允许任何JVM访问COM对象,从而使JAVA应用程序能够调

15、用COM对象。可以利用它对MSWord、Excel进行处理,目前最新公开版本是1.10.1。第二章系统需求分析2.1业务流程图业务流程图是一种表明系统内各单位、人员之间业务关系、作业顺序和管理信息流处理数据流向存储图2.1业务流程图符号说明图2.2C语言试题库管理系统基本业务流程图2.2功能模块图系统功能模块划分图如图2.3所示:第三章系统实现3.1系统概念设计概念设计是数据库设计的关键。概念设计的目的是要确定系统的概念模型,确定实体的届性以及实体之间的关系,从而得出系统的关系模型。矩形框代表实体连接相关实体的菱形框代表关系:用椭圆或圆角矩形表示实体(或关系)的属性直线把实体(或关系)与其属性

16、连接起来图3.1E-R图符号说明3.1.1实体描述和联系描述根据系统的设计要求,设计了E-R图,实体为教师、课程、题库和试卷,关系为试卷抽题表。图3.2教师实体及其属性图教师实体包含了教师编号、密码、教师姓名、住址、电话、手机、EMAIL、学历、职称和备注等届性。图3.3课程实体及其属性图课程实体包含了课程编号、课程名、任课教师和备注等届性。图3.4题库实体及其属性图题库实体包含了题号、课程编号、所届章节、试题内容、正确答案、分值、题型、难度系数、录入日期和备注等届性。试卷实体包含了试卷编号、试卷名称、课程编号、考试类型、出题教师号、试卷总分、组卷时间、和备注等届性。试题编,备注试卷编试卷抽题

17、表图3.6试卷抽题表实体及其属性图试卷抽题表关系包含了试卷编号、试题编号、题型和备注届性。3.1.2系统E-R图设计3.2系统逻辑设计在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发的周期和降低开发难度,并提高维护升级的可行性。而建立数据库最重要的一步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组织结构存储在相关的基本表中。将基本信息分类、统计,根据数据库设计的基本原理,建立基本表构成数据库。在进行数据库的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。首先将C语言试题库管理系统的数据库概念结构转化为SQLServer200

18、0数据库系统所支持的实际数据模型,即:数据库的逻辑结构。创建C语言试题库管理系统中的各个数据库表。3.3系统详细设计在上述系统需求分析、系统功能模块划分、数据库概念设计、E-R图设计以及逻辑设计的基础上,下面将逐步进行系统E-R图向关系模式的转化、数据库设计、代码设计等设计操作。3.3.1E-R图向关系模式的转化教师(教师编号,密码)课程(课程编号,课程名,任课教师)教授(教师编号,课程编号)课程(课程编号,课程名,任课教师)试卷(试卷编号,课程编号)课程(课程编号,课程名,任课教师)题库(题鱼课程编号)题库(题生,课程编号)试卷(试卷编号,课程编号)试卷抽题表(题矿试卷编号)3.3.2数据库

19、的实现通过对E-R图转换的关系模式进行分析,并结合库存维护系统的具体功能、要求和开发数据库系统的特点,根据需求分析及系统主要模块的划分,设计如下数据表,在此列出其数据项和数据结构(*代表主键,#代表外键):1)教师数据库表表3.1教师数据库表字段名字段类型字段长度说明教师编号*VARCHAR20关键字,如:001密码VARCHAR10密码教师姓名VARCHAR20教师姓名住址VARCHAR200可以输入英文字符200,但是汉字只能输入100个电话VARCHAR15电话手机VARCHAR15手机EMAILVARCHAR40EMAIL学历一VARCHAR10学历职称VARCHAR10职称备注TEX

20、T16备注教师数据库表:用来记录教师的基本信息。该表的关键字字段是:教师编号教师编号字段同时也是下面课程数据库表和试卷表的外键。2)课程数据库表表3.2课程数据库表字段名字段类型字段长度说明课程编号*INT4关键字课程名VARCHAR30如:C语言教师编号#VARCHAR20外键,对应教师表的教师编号字段一备注TEXT16备注课程数据库表:用来记录课程的基本信息,可用丁存储多个课程,用丁系统的扩展。该表的关键字字段是:课程编号,同时也是下面题库数据库表和试卷数据库表的外键。该表中的教师编号字段是外键,对应教师表的教师编号字段,表示该课程的任课教师。3)题库数据库表表3.3题库数据库表字段名字段

21、类型字段长度说明题号*INT4关键字课程编号#INT4外键,对应课程表的课程编号字段所属章节VARCHAR100此题所属课程的章节,比如第二章第三节,就是“2-3”试题内容TEXT16包括试题内容和四个选项内容正确答案TEXT16正确答案分值INT4题目分数题型VARCHAR200选择题、填空题、简答题其它难度系数DECIMAL5以往考试中该题答错人数除以总人数得到的值,初次设置时根据教师的经验手动设置录入日期DATETIME8录入日期备注TEXT16备注题库数据库表:用来记录各门课程所对应的试题,是生成试卷提供试题来源。该表的关键字字段是:题号,用来唯一表示一道题目。该表中的课程编号是外键,

22、对应课程数据库表的课程编号,表示该题目对应的是哪门课程。4)试卷数据库表表3.4试卷数据库表字段名字段类型字段长度说明试卷编PINT4主键试卷名称VARCHAR200试卷名称课程编号#INT4外键,对应课程表的课程编号字段考试类型VARCHAR20单兀测试、期中考试、期末考试以及补考等类型出题教师号VARCHAR200一人或多人出题人默认为当前生成试卷的操作员的号。多人情况时,教师的编号如:1,2,3母由1号和2号和3号老师同时出题试卷总分INT4用户设定的试卷总分组卷时间DATETIME8组卷时间备注TEXT16备注试卷数据库表:记录了试卷的基本信息,用丁生成试卷的标题。该表的主键字段是:试

23、卷编号。该表中的课程编号是外键,对应课程数据库表的课程编号,表示该试卷对应的是哪门课程。5)试卷抽题表数据库表表3.5试卷抽题表数据库表字段名字段类型字段长度说明试卷编p#INT4主键,问时也是外键,对应试卷表的试卷编亏亍以。题目编号*#INT4主键,同时也是外键,对应题库表中的题号字段。题型VARCHAR50题型备注TEXT16备注试卷抽题表:用来记录每张试卷对应的试题,是生成WORD:件的数据来源。该表的主键字段是:试卷编号和题目编号。这两个字段同时也是外键,分别对应试卷表的试卷编号字段和题库表中的题号字段。3.3.3系统主模块程序流程图程序流程图乂称为程序框图,是最早使用的一种概念模式,

24、用来描述处理执行的逻辑过程,具有方法简单、直观的特点。在绘制程序流程图时使用的符号说明如图3.3所示:处理输入输出判断起始终止控制方向图3.9程序流程图符号说明系统模块程序流程图如图所示开始输入教师编号和密码*.检查是否为合否打开主界面结束图3.10教师登录模块流程图图3.11添加用户模块流程图开始图3.12删除用户模块流程图图3.13题库管理与维护模块流程图图3.14试题查询模块流程图找出往年中雷同度最高的试卷.雷同度超过设定值并且仍有试题可抽取?去掉一道与雷同度最高试卷中的雷同试题,另外抽取一道雷同度最高试卷中没有的题目(且与去掉的题目题型相同)试卷生成结束图3.15自动生成试卷模块流程图

25、图3.16找出与往年雷同度最高的试卷的算法流程图图3.17手工改动现有试卷流程图第四章系统实施4.1系统环境的实施本软件为C语言试题库管理系统,是C/S模式的信息管理系统。前台采用JAV础术,后台采用SQLServer2000数据库,操作系统采用WindowsXP硬件环境CPUP43.0G以上内存:1GB以上硬盘80G软件环境:SQLServer2000应用服务器:Tomcat5.5应用服务器软件JDK版本:JDK1.4操作系统:windowsXP4.2人机界面设计1)教师登录界面为界面为教师登录界面,在用户登录时检查用户名和密码是否有填写,如果未填写则提示并返回,检查通过之后把数据提交给服务

26、器,打开数据库检查用户填写的信息是否正确,登录名称、密码是否相符合,若符合管理员登录信息则登录成功,进入主界面。此模块用丁验证用户的信息,保证了系统内部资料的安全性。图4.1教师登录界面2)题库的管理与维护模块界面此界面是题库的维护界面,是对试题的基本信息进行录入,删除和更改。若要添加试题,先点击添加按钮,然后在上面的试题信息部分填入试题的内容,填写好后,点击保存按钮即可将试题保存到数据库。若要修改试题,在下面的表格中选择要修改的试题,修改上面的试题内容,然后点击保存按钮即可将修改后的试题保存到数据库。若要删除试题,在表格中选择要删除的试题,然后点击删除按钮,如果确认删除,系统将会把指定的试题

27、删除。图4.2题库的管理与维护模块界面3)试题查询界面此界面用丁试题查询,该功能允许用户输入试题的查询条件,进行查询试题操作。还可用丁手工改动现有试卷。图4.3试题查询界面4)自动生成试卷界面此界面用丁自动生成试卷,教师按照需求在上面输入试卷信息,在下面试题选项中设谿试题要抽取的章节,题型,平均难度等。平均难度系数的计算方法为:所有试题的难度系数的和/试题的总数。这部分的设计是系统设计的核心,考虑了三年不重复的题目,与以往的试卷的相似程度和难度。首先,统计今年的,去年的,前年的包括问题的题号,这些题号不会被用来测试这次试题。然后根据结果、选择的课程名,设谿的题型和章节选项,执行查询,然后按照章

28、节、题型的顺序排序,查询出试题用丁生成试卷。匮授抽题的章节:1234胃_|_|11-国-国时国己选定的章节:根据选中的章节名和题型选项执行查询,先按照章节排序,再按照题型排序,查询出的试题可以用丁此次试卷的生成。然后按照试卷总分(100分)进行循环,当抽取试题的总分不大丁设定的总分,并且仍有题目可抽取时,根据查询结果的数量,生成一个随机数,抽取一道试题加到已抽取试题列表中,将该试题的分数累加到抽取试题的总分上,将该试题从待抽取列表中去掉。这样循环下去,当退出循环的时候,已抽取试题列表中已经包含了一些试题,满足了试卷总分要求。然后将已抽取试题列表中的试题插入试卷抽题表并且保存试卷基本信息,生成W

29、ORD卷。畜同度小于平均漉度票麒小于鹿型:V选掉题17始空罪U简笞题V计舞窸P犒程翠17其它生陇试卷图4.4自动生成试卷界面5)手工改动现有试卷界面此界面用丁手工修改现有试卷,该界面可对试卷的基本信息进行手动修改,也可以打开查询界面,将试题添加到选中的试卷之中。图5.5手工改动现有试卷界面4.3系统运行与维护在基本完成了程序的详细设计和编码,剩下的工作就是对软件进行运行。经测试,该系统可以在windowsxp和windows7环境下运行,由丁系统不同,运行的界面会有所不同。软件运行的过程中还要进行软件测试。在整个过程中经常还要进行软件的测试与跟踪,及时发现bug进行处理。该C语言试题库管理系统

30、中自动生成试卷有时候会发生差错,章节与题型不搭配,word类型试卷不能打印,经检查查是排序算法出现I可题。排查后目前运行暂无I可题。为了活除系统运行中发生的故障和错误,软、硬件维护人员要对系统进行必要的修改与完善;为了使系统适应用户环境的变化,满足新提出的需要,也要对原系统做些局部的更新,这些工作称为系统维护。系统维护的任务是改正软件系统在使用过程中发现的隐含错误,扩充在使用过程中用户提出的新的功能及性能要求,其目的是维护软件系统的”正常运作”。4新系统正式投入使用后,为了能够让它长期高效的工作,必须加强对该系统运行的日常管理工作。通常的系统维护工作包括以下几点:1. 系统运行的日常维护C语言

31、试题库管理系统的维护包括试题的添加、删除、修改,此外,还包括用户管理和数据库的备份与恢复。2. 系统运行情况记录整个系统的运行情况的记录能够反映出系统在大多数情况下的状态及运作效率,对丁系统的评价和改进具有重要的参考价值。3. 除了使用者必须作的上述管理工作外,开发者也必须作好各种维护工作。4.4系统性能分析经过开发过程中的测试与维护,系统已基本在windowsxp系统下流畅运行,已基本实现C语言课程的试题库管理系统。该系统包含试题若十,其中题型为:单项选择题、填空题和简答题。系统可设定难易度,用户可选择难易度来抽取一套试卷共使用。在生成试卷的程序里,需要取得数据库表的结构,开始编写了getResultSetMetaData()的发法返回ResultSetMetaData对象,然后将该参数传递给另外一个方法getPaper(),但在取得字段的名字和类型时,控制台抛出了数据库连接已关闭的异常信息。后来通过查阅资料和书籍,发现在

温馨提示

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

评论

0/150

提交评论