毕业设计(论文)-基于VC++的题库管理系统的设计与实现.doc_第1页
毕业设计(论文)-基于VC++的题库管理系统的设计与实现.doc_第2页
毕业设计(论文)-基于VC++的题库管理系统的设计与实现.doc_第3页
毕业设计(论文)-基于VC++的题库管理系统的设计与实现.doc_第4页
毕业设计(论文)-基于VC++的题库管理系统的设计与实现.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

河北工业大学毕业设计说明书(论文)作者:学号:系:计算机系专业:软件技术专业题目:基于VC+的题库管理系统的设计与实现指导者:(姓名)(专业技术职务)评阅者:(姓名)(专业技术职务)2013年6月4日毕业设计(论文)中文摘要基于基于VC+VC+的题库管理系统的设计与实现的题库管理系统的设计与实现摘要:摘要:随着计算机技术的普及,题库管理系统已经慢慢取代传统的组卷方式,为学校教师组卷提供方便与快捷。题库管理系统拥有与真实考试同样的题型、组卷等功能。其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。通过分析与研究,本系统运用VC+作为开发语言,SQLServer2005作为后台数据库,并利用ADO技术连接数据库,在MFC的结构框架下基本实现了上传试题、上传试卷、手动组卷、系统组卷、学生在线练习等主要功能,有效的减轻教师在出题、组卷方面的负担,提高教学质量。系统的开发按照软件生命周期的流程来设计,论文从系统分析、概要设计、详细设计和系统测试等环节进行了详细分析和描述。关键词:题库管理系统手动组卷VC+ADO毕业设计(论文)外文摘要TitleTitleQuestionBankManagementSystemDesignandImplementationBasedonVC+AbstractAbstractWiththepopularizationofcomputertechnologyQuestionBankManagementSystemhasgraduallyreplacedthetraditionaltest,whichprovideconvenientandfastfortheschoolpaper.TheQuestionBankManagementSystemwithrealexamquestionstestpaperetc.Itsdevelopmentmainlyincludestwoaspects:thebackgroundoftheestablishmentandmaintenanceofdatabaseandfront-endapplicationdevelopment.ThroughtheanalysisandresearchthissystemusingVC+asadevelopmentlanguageSQLServer2005asabackenddatabaseandconnecttothedatabaseusingADOtechnology.TheSystemBasicallyachievedtheuploadtestquestionsuploadpapersmanualgroupvolumesystemvolumestudentonlinepracticethemainfunctionsuchasinationmanagementwhichcaneffectivelyreducetheburdenofteachersintitlegroupvolumeimprovethequalityofteaching.TheSystemsdevelopmentisaccordingtothesoftwarelifecycleprocessestodesignthePaperhasanalyzedanddescribedindetailfromthesystemanalysistheoutlinedesigndetaileddesignandsystemtestingprocess.KeywordsKeywords:QuestionbankmanagementsystemManuallySetVolumeVC+ADO1目目次次1引言.11.1课题背景及意义.11.2国内外研究现状和发展趋势.11.3本文的工作安排.22系统分析.22.1可行性分析.22.2需求分析.32.3系统的运行环境.43系统的开发环境与技术.43.1MFC技术.43.2数据库访问技术.53.3VisualC+6.0开发环境.53.4C+开发语言.54系统设计.64.1总体设计思想.64.2系统功能模块设计.74.3数据库设计.145系统功能实现.195.1数据库的连接.195.2系统模块设计.206系统调试.336.1测试实例的研究与选择.336.2测试环境与条件.346.3测试结果.34结论.35参考文献.36致谢.37河北工业大学毕业设计(论文)第1页共40页1引言引言传统的考试出题总是教师考前集中出题、集中组卷,这样很难保证试卷的质量,进而不能准确反映学生的学习效果。相比之下题库管理系统能够安全方便地录入试题以及自定义出卷,减轻各科教师的教学压力。该部分主要介绍当前通用试题库管理系统的背景及意义、国内外研究现状和论文的工作安排。1.1课题背景及意义课题背景及意义随着计算机技术的不断发展,它被更广泛地应用在我国的各行各业中。其中计算机辅助教育(CAI)在教育系统中的应用,收到了良好的效果,给教育改革带来美好的前景。在教学管理中,为实现教考分开,更加合理、公平、公正、公开地进行各种考试,利用计算机进行考试题库管理,辅助教师命题组卷已成为各院校教学改革的重要内容之一。因此对于题库管理系统的开发和应用就显得尤为重要。相比传统的出题方式,利用计算机实现的题库管理具有操作简便、成卷快、题目搭配合理、试卷难易程度可控等无法比拟的优点,同时能够更好的保证试卷的质量,而且还能更好地反映学生的学习效果,提高教学质量,减轻教师在出题组卷和成绩分析中的工作量。因此,研制题库管理系统已成为一项重要的课题,是各个学校教学研究的热门话题,并且在国家有关项目的支持下,出现了一系列使用的题库管理系统,但这些成型的题库管理系统有时候并不能满足现在学校教育中的要求。一个好的题库要求能够在有限的时间内,快速选择出最需要的题目,从而减轻了老师出题的负担,并加强了出题的效率和质量。1.2国内外研究现状和发展趋势国内外研究现状和发展趋势随着经济的发展,社会的进步,科学技术的不断提高,计算机科学日渐成熟,计算机越来越深入到我们日常的学习、工作及生活中,成为我们补课缺少的辅助工具。其强大的功能以为人们深刻认知,它已进入人类社会的各个领域,并发挥着越来越重要的作用,在我国的教育系统中,传统的出卷方式,是一个漫长而复杂的过程,已经河北工业大学毕业设计(论文)第2页共40页越来越不适应现代教学的需要,而随着计算机事业在我国的纵深发展,题库在教育领域的应用越来越广泛,一个好的题库管理系统,要求界面友好,能方便的录入试题,组卷灵活快捷,查询试题或出卷迅速,以适应各种知识更新对试卷难易程度、题型的要求,因此领用计算机化的试卷生成系统来组卷是未来学校考试的发展趋势。1.3本文的工作安排本文的工作安排本文从软件开发生命周期的角度阐述了系统开发过程,首先介绍了项目背景,然后进行系统分析、总体设计和项目的具体设计与实现过程,最后作系统测试及总结。论文分六部分,具体安排如下:第一部分:介绍课题的背景,课题目的及意义,国内外研究现状及发展趋势等。第二部分:系统分析,包括可行性分析、需求分析、系统可行性分析等。第三部分:介绍系统的开发环境与开发技术。第四部分:根据系统的需求分析进行系统概要设计,包括系统的模块设计,数据库的概念结构设计和数据库的逻辑结构设计。第五部分:从整体上介绍了系统的详细设计和实现,包括整个系统界面设计和相关功能及实现过程。第六部分:介绍本系统的测试及维护,测试内容及测试方法并总结测试结果。第七部分:结束语。总结在完成系统开发和设计过程中所做的工作,以及系统的优缺点。2系统分析系统分析系统分析是软件系统开发过程中一项重要工作,系统分析工作质量的好坏将直接决定系统开发工作的成败。该阶段将从可行性分析、系统需求分析、系统的运行环境几个关键技术对题库管理系统作出详细的系统分析。2.1可行性分析可行性分析2.1.1技术可行性河北工业大学毕业设计(论文)第3页共40页此次课程设计,使用MFC技术构建题库管理系统的骨干框架,利用SQLServer2005构建系统的后台数据库,运用VC+语言开发,并结合ADO连接数据库的技术,完全有能力设计一个界面比较友好、功能较为全面、操作方便简捷的题库管理系统。2.1.2经济可行性随着计算机技术的迅速发展,尤其在面临日益激烈的市场竞争,以电子计算机为主要技术手段,将大大减轻科技人员的脑力劳动和体力劳动。计算机技术它具有高智力、知识密集、综合性强、效益高等特点,是当今世界上科技领域的前沿课题。因此将计算机技术运用到各高校的考试中,开发一款操作简捷、功能齐全的题库管理系统将大大可以提高教师的工作效率和工作质量,改善教师的工作条件进而提高教学水平,为教研室带来了间接的效益。2.2需求分析需求分析该系统设计主要是为了能够减轻教师在考前出卷组卷的工作量,能够方便的让教师浏览、查看各类试题,以最快的速度筛选处所需的试题组成一套完整的试卷,其主要功能如下:1用户登录模块:用户登录的权限可分为:系统管理员、教师、学生三种权限,在登录模块中,当用户登录时,首先先输入用户名及登录密码,系统会自动验证该用户的身份,如果该用户存在则根据其登录权限跳转到相应的不同权限的页面;如用户名不存在,用户也可以先进行注册再登录,也可以通过找回密码重新设置密码,然后再进行登录。2信息管理模块:系统管理员可以对登录用户的信息进行修改、查询、删除等管理操作,并且还可以注册新的用户信息,同时管理员还可向用户发布最新的试题信息并可对用户反馈的信息进行管理。3试题管理模块:系统管理员可以对试题库中试题进行查看、删除、修改等操作;教师登录后可以上传相关试题,查看个人上传的试题以及全部的试题,修改个人上传试题;学生登录后可以查看相关试题,并可查看试题答案以及试题详解。4试卷管理模块:河北工业大学毕业设计(论文)第4页共40页系统管理员可以对用户上传的试卷进行查看、删除、修改等操作;教师可以对个人上传的试卷进行修改或删除操作,同时可以上传试卷,此外教师还可以针对某一学科进行手动组卷也可选择系统组卷,并且可预览组好的试卷并将其导出为.txt;学生可对相关的试卷信息内容进行查看。5科目、章节、题型管理:系统管理员可以对科目、章节、题型的信息进行增、删、改、查的操作。2.3系统的运行环境系统的运行环境该软件设计是基于VC+的题库管理系统,能够在WindowXPWin7及其以上版本的系统上顺利运行。3系统的开发环境与技术系统的开发环境与技术该课题设计使用MFC技术构建题库管理系统的骨干框架,使用SQLServer2005构建系统的数据库,应用C+语言开发,并结合ADO连接数据库的技术,实现了一个功能相对齐全的题库管理系统。设计环境:操作系统:Win7WinXP开发工具:MicrosoftVisualC+6.0数据库:SQLServer2005开发语言:VC+3.1MFC技术技术MFC的本质是一个包含了许多已经定义好的类的类库。MFC是微软提供的,封装了大量WindowsAPI的C+类库。它基本封装了Windows的所有API函数。因此,利用MFC建立应用程序更加符合面向对象的思想。同时利用向导所建立的应用程序隐藏了程序设计的很多细节,简化和标准化了Windows程序设计,因此MFC编程被称为标准Windows程序设计。河北工业大学毕业设计(论文)第5页共40页3.2数据库访问技术数据库访问技术Microsoft提供多种数据库访问技术,此次题库管理软件使用ADO连接数据库的技术,ADO基于Microsoft的ActiveX技术,可在多种语言环境下使用,为不同的应用程序提供一个通用的访问接口。相对于ODBC技术,ADO可移植性好,可随意将程序从一台机器转移到另一台机器上,无需重新配置数据源。相对于ADO.NET技术,ADO效率更高,访问速度更快,适用于海量数据的读取和写入。3.3VisualC+6.0开发环境开发环境VisualC+6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。VisualC+6.0它不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境。VisualC+是一个功能强大的可视化软件开发工具。3.4C+开发语言开发语言C+语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C+以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C+完美地体现了面向对象的各种特性。1C+支持数据封装,支持数据封装就是支持数据抽象。在C+中,类是支持数据封装的工具,对象则是数据封装的实现。C+类中包含私有、公有和保护成员C+类中可定义三种不同访控制权限的成员。2C+中是通过向对象发关消息来处理对象的,每个对象根据所接收到的消息的性质来决定需要采取的行动,以响应这个消息。响应这些消息是一系列的方法,方法是在类定义中使用函数来定义的,使用一种类似于函数调用的机制把消息发送到一个对象上。3C+中允许友元破坏封装性,友元可以访问该类的私有成员(包含数据成员和成员函数)。友元可以是在类外定义的函数,也可以是在类外定义的整个类,前者称友元函数,后者称为友元类。友元打破了类的封装性,它是C+语言另一个面向对象的重河北工业大学毕业设计(论文)第6页共40页要特性。4C+允许函数名和运算符重载,C+多态性,C+允许一个相同的标识符或运算符代表多个不同实现的函数,这就称标识符或运算符的重载,用户可以根据需要定义标识符重载或运算符重载。4系统设计系统设计系统设计阶段的根本目标是确定应该怎样具体地实现所要求的功能,经过这个阶段的设计工作,应该得出对目标系统的精确描述。该阶段是对本系统进行模块分解,确定其软件结构,并对主要功能模块进行详细设计与实现的介绍,从而实现功能模块的精确描述。4.1总体设计思想总体设计思想该题库管理系统主要分为三种登录权限:管理员权限、教师权限、学生权限。在登录模块中,当用户登录时,首先先输入用户名及登录密码,系统会自动判断该用户是否存在,如果该用户存在则可成功跳转到相应的不同权限的页面,用户也可以先进行注册再登录,也可以通过找回密码重新设置密码,然后再进行登录。当以管理员身份进入系统后,管理员可以对用户信息进行管理包括:查看、修改、删除用户信息以及注册新的教师信息及学生信息;同时管理员还可以对试题、试卷信息进行管理同样包括查看、修改、删除试题、试卷信息同时管理员还可以上传试题、试卷。当以教师身份登录后,教师可以对自己上传的试题、试卷信息进行查看、修改、删除操作,还可以上传试题或试卷信息到题库,同时还可浏览其他人上传的试题及试卷信息。此外教师可针对某一学科进行手动组卷也可以选择系统组卷,组卷完毕后可以预览试卷效果,如果满意即可保存存档。教师还可以修改自己的登录密码以及个人信息,并可以查看系统公告,或给系统留言。当以学生身份登录后,学生可以针对不同的学科、不同的章节、不同的题型进行练习,同时可以查看题目答案及详解。此外学生还可以向系统反馈信息,查看系统公告并可以修改登录密码及个人信息。河北工业大学毕业设计(论文)第7页共40页4.2系统功能模块设计系统功能模块设计本系统是由管理员模块、教师模块、学生模块和登录模块几部分组成的。系统流程图如图2所示。图2系统流程图4.2.1登录模块退出系统输入用户名及密码判断用户名和密码是否存在开始登录NY注册信息找回密码登录成功判断用户权限管理员模块教师模块学生模块河北工业大学毕业设计(论文)第8页共40页在登录模块中,当用户登录时,首先先输入用户名及登录密码,如果该用户存在则可成功跳转到相应的页面;如果登录不成功或用户名不存在,用户可以先进行注册再登录,也可以找回密码,然后再进行登录。登录模块如图1.1所示。图1.1登录模块图4.2.2管理员模块当以管理员身份进入系统后,管理员可以对用户信息、试题、试卷信息、课程信息及题型信息进行管理。管理员模块如图2.1所示。图2.1管理员模块图1.用户信息管理模块管理员登录后,点击“用户信息管理”按钮即可进入用户信息管理模块,在该模块中,管理员可对已经注册的学生信息以及教师信息进行查看、修改或删除操作,也可以注册新的用户信息。其模块图如图2.1.1所示。管理员登录模块用户信息管理试题信息管理试卷信息管理课程信息管理题型信息管理用户登录模块登录成功找回密码注册信息河北工业大学毕业设计(论文)第9页共40页图2.1.1用户信息管理模块图2.试题管理模块管理员登录后,点击“试题信息管理”按钮即可进入试题管理模块,在该模块中,管理员可以上传试题到试题库,也可以对全部试题进行浏览、修改、删除操作,。其模块图如图2.1.2所示。图2.1.2试题管理模块图3.试卷信息管理模块管理员登录后,点击“试卷信息管理”按钮,即可进入试卷信息管理模块,在该试卷管理模块中,管理员可对上传的试卷信息进行浏览、修改、删除操作,其模块图如图2.1.3所示。试题信息管理上传试题信息修改试题信息删除试题信息查看试题信息注册用户信息修改用户信息删除用户信息查看用户信息用户信息管理河北工业大学毕业设计(论文)第10页共40页图2.1.3试卷信息管理模块图4.课程信息管理模块管理员登录后,点击“课程信息管理”按钮后即可进入课程信息管理模块,在该模块中,管理员可对题库中现存的科目及其所包含的章节信息、知识点信息进行查看、修改及删除操作,也可增加新的科目信息,并为其添加相关的章节信息及知识点信息。其模块图如图2.1.4所示。图2.1.4课程信息管理模块图试卷信息管理上传试卷信息修改试卷信息删除试卷信息查看试卷信息添加章节信息添加知识点信息修改章节信息修改知识点信息查看章节信息查看知识点信息删除章节信息删除知识点信息课程信息管理添加课程信息修改课程信息查看课程信息删除课程信息河北工业大学毕业设计(论文)第11页共40页5.题型信息管理模块管理员登录后,点击“题型信息管理”按钮即可进入题型信息管理模块,在该模块中,管理员可以添加添加新的题型、修改题型信息,也可以删除题型信息,其模块图如2.1.5所示。图2.1.5题型信息管理模块图4.2.3教师模块当以教师身份登录后,教师可以对自己上传的试题、试卷信息进行查看、修改、删除操作,还可以上传试题或试卷信息到题库,同时还可浏览其他人上传的试题及试卷信息,但不可以进行修改或删除操作。同时教师可针对某一学科进行手动组卷,通过浏览关于这一学科的全部试题,并将感兴趣的题目加入试卷从而形成一份完整的试卷,教师可以通过预览试卷查看组卷效果,如果满意的话即可选择保存并将该试卷导出为指定的目录下.txt文档;此外教师还可以选择系统组卷,在教师指定科目、选择改试卷包含的章节、试卷所包含的题型并设置各题型的数量后,系统便会在题库中随机抽取相应的题目加入试卷,组卷完毕后可以预览试卷效果,如果满意即可保存存档。教师还可以修改自己的登录密码以及个人信息。教师模块的模块图如图3.1所示。题型信息管理添加题型信息修改题型信息删除题型信息查看题型信息河北工业大学毕业设计(论文)第12页共40页图3.1教师管理模块图1.个人信息管理模块教师登录后点击“个人信息管理”按钮后即可进入个人信息管理模块,教师可对个人的基本信息进行修改并保存,也可单独修改密码。该模块的模块图如图3.1.1所示。图3.1.1个人信息管理模块图2.试题信息管理模块教师登录后,点击“试题信息管理”按钮即可进入试题管理模块,教师可对个人上传的试题信息进行查看、修改、删除等操作,同时可以浏览其他人上传的试题,但不可进行修改,此外,教师还可以上传试题。其功能模块图如图3.1.2所示。教师登录模块个人信息管理试题信息管理试卷信息管理手动组卷系统组卷修改个人信息修改登录密码个人信息管理河北工业大学毕业设计(论文)第13页共40页图3.1.2试题管理模块图3.试卷信息管理模块教师登录后,点击“试卷信息管理”按钮即可进入试卷信息管理模块,在该模块中,教师可对个人上传的试卷信息进行查看、修改、删除等操作,同时还可以上传新的试卷到题库,此外,教师还可以浏览其他教师上传的试卷信息。其功能模块图如图3.1.3所示。图3.1.3试卷信息管理模块图4.组卷模块教师登录后,点击“系统组卷”后即可进入系统组卷模块,教师按照向导,依次选择组卷的科目、该课程包含的章节和要加入试卷的题型并设置每种题型的所包含的题量后,点击组卷后,系统会自动到题库中随机选择相应的题目加入试卷,组卷完毕后,教师可阅览组好的试卷,如果满意即可将试卷保存到指定的路径。此外教师还可试题信息管理上传试题信息修改试题信息删除试题信息查看试题信息试卷信息管理上传试卷信息修改试卷信息删除试卷信息查看试卷信息河北工业大学毕业设计(论文)第14页共40页选择手动组卷,点击“手动组卷”按钮,教师即可进入手动组卷模块,当选择好需要组卷的科目后,教师便可浏览题库中有关该科目的全部试题,可以逐道查看每道题的详细内容,也可对试题进行筛选后查看,如对该试题感兴趣即可将其加入到试卷,点击“完成”后即完成组卷,教师可阅览组卷后的效果,如满意即可进行保存。其功能模块如图3.1.4所示。图3.1.4组卷模块图4.2.4学生模块当以学生身份登录后,学生可以进行在线练习,并可以向系统反馈信息,查看系统公告并可以修改登录密码及个人信息,学生模块如图4.1所示。图4.1学生模块图4.3数据库设计数据库设计数据库是管理系统必不可少的组成部分,设计一个结构合理的数据库不论是对操作的速度还是对程序的设计都至关重要。组卷模块手动组卷系统组卷学生登录模块在线练习反馈信息查看系统公告修改个人信息河北工业大学毕业设计(论文)第15页共40页数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。数据库设计的目的是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。4.3.1TB_UserLogin表TB_UserLogin该表用于记录注册用户的信息,其包含4个字段:用户编号、用户名、登录口令和用户权限字段,其中用户编号为主键用于标识注册用户,并且设置其为种子标识,int类型初值为1,递增值为1;用户名为varchar类型可以与真名不同;登录口令为varchar类型允许为空;用户权限分为管理员权限、教师权限、学生权限,用于控制不同的用户登录后进入到相应的控制界面。用户登录表的表结构说明如表1所示。表1用户登录表TB_UserLogin字段名称数据类型长度默认值允许空字段描述IDint整型无否唯一标识,主键LoginNamevarchar10无否登录名LoginPwdvarchar20无是登录口令LoginRightvarchar8无是登录权限4.3.2TB_TeacherInfo表TB_TeacherInfo该表用于记录已经注册的教师的详细信息,该表包含9个字段,其中TeacherID为主键,并且该字段为外键,依赖于TB_Userlogin表中的主键ID。教师的详细信息表的表结构说明如表2所示。表2教师信息表TB_TeacherInfo字段名称数据类型长度默认值允许空字段描述TeacherIDint整型无否唯一标识,主键TeacherNamevarchar10无否真实姓名TeacherSexchar2无否性别河北工业大学毕业设计(论文)第16页共40页TeacherExperienceint整型无否教龄TeacherCoursesvarchar50无是所授课程TeacherDepartvarchar8无否所在系TeacherTitlevarchar12无是职称TeacherPlacevarchar20无是工作地点TeacherEmailvarchar20无是用户邮箱4.3.3TB_StudentInfo表TB_StudentInfo该表用于记录已经注册的学生的详细信息,该表包含7个字段,其中StuID为主键,并且该字段为外键,依赖于TB_Userlogin表中的主键ID。学生的详细信息表的表结构说明如表3所示。表3学生信息表TB_StudentInfo字段名称数据类型长度默认值允许空字段描述StuIDint整型无否唯一标识,主键StuNamevarchar20无否真实姓名StuSexchar2无否性别StuBirthdatetime日期无否出生日期StuProfessionvarchar8无否所在系StuSchoolvarchar20无是所在院校StuEmailvarchar20无是用户邮箱4.3.4TB_Question表TB_StudentInfo表用于记录题库中存储的试题信息,同时用于存储用户上传的试题,该表包含12个字段,其中QID为主键,并且为种子标识,标识种子为100标识增量为1;QChapterIDQUploadIDQType均为外键,分别依赖于TB_ChapterInfo表中的主键ChapterID、TB_UserLogin表中的主键ID和TB_QuestionType表中的主键QuestionType。试题信息表的表结构说明如表4所示。表4试题信息表TB_Question字段名称数据类型长度默认值允许空字段描述河北工业大学毕业设计(论文)第17页共40页QIDint整型无否唯一标识,主键QContentvarchar1024无否试题内容QRightAnswervarchar1024无否试题答案QDetailedvarchar1024有否试题详解QTypevarchar6无否试题类型QDifficultyint整型无否试题难度QScoreint整型无否试题分值QChapterIDint整型无否试题所属章节QKnowPointvarchar20无是试题所涉知识点QUploadIDint整型无否上传人QUpTimedatetime日期有是上传时间QUsechar1无是是否加入题库4.3.5TB_TestInfo表TB_TestInfo表用于记录题库中存储的试卷信息,同时用于存储用户上传的试卷,该表包含7个字段,其中TestID为主键,并且为种子标识,标识种子为1标识增量为1;TestType、TestRange、UploadID均为外键,分别依赖于TB_UseInfo表中的主键UseID、TB_TermInfo表中的主键TermID和TB_UserLogin表中的主键ID。试卷信息表的表结构说明如表5所示。表5试卷信息表TB_TestInfo字段名称数据类型长度默认值允许空字段描述TestIDint整型无否唯一标识,主键TestTitlevarchar20无否试卷标题TestTypeint整型无否试卷类型TestRangeint整型无否试卷适用范围UploadIDint整型无否上传人UploadTimedatetime日期是否上传时间HaveAnswerchar1是否是否有答案4.3.6TB_CourseInfo表TB_CourseInfo表用于记录题库中所有试题所涉及的课程名,管理员可以增加课河北工业大学毕业设计(论文)第18页共40页程名并存放在该表中。该表包含有3个字段,其中CourseID为主键,并且设置为种子标识,标识种子为10,标识增量为1。课程信息表的表结构说明如表6所示。表6课程信息表TB_CourseInfo字段名称数据类型长度默认值允许空字段描述CourseIDint整型无否唯一标识,主键CourseNamevarchar20无否课程名CourseTypevarchar10无否课程类型4.3.7TB_ChapterInfo表TB_ChapterInfo表用于记录TB_CourseInfo表中每种课程名所包含的的章节名,管理员也可以为某一课程名添加相应的章节名,并存放在该表中。TB_ChapterInfo表包含有3个字段,其中ChapterID为主键,并且设置为种子标识,标识种子为10,标识增量为1;CourseID为外键依赖于TB_CourseInfo表中的主键CourseID。章节信息表的表结构说明如表7所示。表7章节信息表TB_ChapterInfo字段名称数据类型长度默认值允许空字段描述ChapterIDint整型无否唯一标识,主键ChapterNamevarchar20无否章节名CourseIDint整型无否所属课程ID4.3.8TB_DoQuestion表TB_DoQuestion表用于记录每一位学生登录后在线练习时做题的情况,是该学生做题的历史记录。该学生每做一道题则将该题的相关信息从TB_Question表中读取出来存放到TB_DoQuestion表中。TB_DoQuestion存放有该学生做题的答案,该题的详解及正确答案,试题的内容等,这是一张临时表,当该学生退出系统后,其做题的记录全部清空。学生在做题的过程中查看题目的详解及答案时都是从该表中进行查询。该表包含有6个字段其中ID为主键,并且为种子标识,标识种子为1,标识增量为1;QID为外键,依赖于TB_Question表中的主键QID。做题信息表的表结构说明如表8所示。表8做题信息表TB_ChapterInfo河北工业大学毕业设计(论文)第19页共40页字段名称数据类型长度默认值允许空字段描述IDint整型无否唯一标识,主键QIDint整型无否试题IDQContentvarchar1024无否试题内容QAnswervarchar1024无否试题正确答案QDetailvarchar1024无否试题详解UserAnswervarchar1024有否学生答案5系统功能实现系统功能实现经过总体设计,完成了模块的分解,确定了各模块的功能和模块间的接口,以及确定了软件的总体结构,软件系统的基本框架已经成形,在该阶段主要完成各模块的内部实现细节,对用到的算法进行精确的表达。5.1数据库的连接数据库的连接此题库管理系统软件使用ADO连接数据库的技术,并利用ServerSQL2005作为后台大型数据库,使用ADO技术访问SQLServer数据库具有速度快、效率高的特点,但由于ADO较为底层,操作复杂,故在本此课程设计中采用ADO的封装类CADOEx将ADO对象进行封装简化操作。连接数据库时首先先通过ADO控件获取连接字符串存放在字符串变量strConn中并将其声明为全局变量之后定义CADOEx类的变量,通过该变量调用CADOEx类中的成员函数BOOLConnect()即可连接上数据库。#importC:ProgramFilesCommonFilesSystemADOmsado15.dllno_namespacerename(EOFadoEOF)rename(BOFadoBOF)引入ado库BOOLCADOEx:Connect(CStringstrLinkDB)HRESULThr_bstr_tbstrConn=(_bstr_t)strLinkDBtryDisConnect()m_pConn-ConnectionTimeout=8河北工业大学毕业设计(论文)第20页共40页hr=m_pConn-Open(bstrConnadModeUnknown)if(FAILED(hr)bState=FALSEreturnFALSEcatch(_com_error&e)e.ErrorMessage()bState=FALSEreturnFALSEbState=TRUEreturnTRUECADOExtheAdoCStringstrConn=Provider=SQLOLEDB.1IntegratedSecurity=SSPIPersistSecurityInfo=FalseInitialCatalog=TBMSDataSource=9P8FDVRWVTNTN5T连接字符串if(theAdo.Connect(strConn)连接数据库连接成功即返回trueCStringstrSQLif(theAdo.GetConnectState()判断数据库连接的状态MessageBox(“数据库连接成功”)elseMessageBox(“数据库连接失败!”)5.2系统模块设计系统模块设计5.2.1用户登录模块用户登录页面是应用程序的主入口,用户只有通过该入口才能进入系统。因为用户的登录权限有管理员、教师和学生三种权限,所以在登录时系统会先从TB_UserLogin表中查询判断该用户是否存在,如果该用户存在则判断其登录权限并根据其登录权限跳转到相应的不同权限的页面。其登录界面如图1所示。河北工业大学毕业设计(论文)第21页共40页图1用户登录界面所以登录页面实现的主要功能有:1)实现教师登录;2)实现学生登录;3)实现管理员登录;4)用户注册;5)用户密码找回。登录页面用到的数据表为TB_UserLogin表,其实现原理为:1)当用户点击【登录】时,首先对用户名和密码框进行非空检测,任何一项为空都会发出“不能为空”的提示信息;2)当用户名及密码均不为空时,系统会自动从TB_UserLogin表中查找输入的用户信息是否存在,如果不存在则发出“输入信息有误”的提示信息;3)在用户名和密码正确的前提下进行身份识别,即检测该用户所具备的登录权限,并根据不同的登录权限跳转到不同的页面,并将相关的参数传递到新的对话框;4)如果用户信息不存在,则用户可以选择重新注册,也可以点击【忘记密码】输入某些个人信息来重新设置密码,当注册成功或新密码设置成功之后再重新登录。河北工业大学毕业设计(论文)第22页共40页用户登录并判断用户是否存在代码:CStringstrSQL=selectfromTB_UserLoginwhereLoginName=+m_strName+andLoginPwd=+m_strPwd+if(theAdo.cuteSelSQL(strSQLstrFieldstrResult)if(strResult.GetSize()0)strRight=theAdo.GetSingleString(strResult.GetAt(0)4)获取用户的登录权限strID=theAdo.GetSingleString(strResult.GetAt(0)1)获取用户的ID号if(strRight=teacher)如为教师权限则进入教师管理界面CTeacherDlgdlgdlg.userName=m_strNamedlg.userID=strIDdlg.userRight=strRightdlg.DoModal()elseif(strRight=student)如为学生权限则进入学生界面CStudentInfoDlgdlgdlg.userName=m_strNamedlg.userID=strIDdlg.userRight=strRightdlg.DoModal()elseif(strRight=admin)如为管理员权限则进入管理员界面CManagerDlgdlgdlg.userName=m_strNamedlg.userID=strIDdlg.userRight=strRightdlg.DoModal()elseMessageBox(输入信息有误!提示信息)5.2.2试题信息管理模块试题信息管理模块是题库管理系统的重要模块之一。一个好的题库管理系统应该能够方便的为用户提供上传试题、浏览试题等功能,并具有良好的人机交互界面。该题库管理系统的试题信息管理模块如图2所示。河北工业大学毕业设计(论文)第23页共40页图2试题信息管理界面试题信息管理模块的主要功能有:1)教师或管理员成功登录后均可上传试题。双击树形控件,选择某一科目,并为要上传的试题选择好章节、题型、所包含的知识点,并设置好分值及难度系数后,输入题目内容、答案、详解,点击【上传】后即可成功上传试题到题库并将信息插入到TB_Question表中。2)教师或管理员登录后均可以对个人上传的试题进行修改、删除等操作。双击列表控件选中某一行即可浏览到该试题的详细信息并且可对试题信息进行修改并保存也可删除试题信息。3)管理员登录后,点击【浏览其他人试题】即可在列表控件中显示其他人上传的试题的信息,选中某一行,管理员即可查看该试题的详细信息,并可对试题信息进行修改保存,或删除该试题信息。4)教师登录后,点击【浏览其他人试题】即可在列表控件中显示其他人上传的试题的信息,选中某一行,教师即可查看该试题的详细信息,但不可对试题信息进行修改也不能删除试题信息。上传试题的主要代码为:if(theAdo.Connect(strConn)河北工业大学毕业设计(论文)第24页共40页strSQL=insertintoTB_Question(QContentQRightAnswerQDifficultyQDetailedQScoreQTypeQChapterIDQUploadIDQKnowPoint)values(+m_strContent+m_strAnswer+m_strDifficulty+m_strDetail+m_strScore+m_strType+ChapterID+userID+GetPointID()+)if(theAdo.cuteNotSelSQL(strSQL)执行插入语句MessageBox(添加成功!)OnRefresh()GetDlgItem(IDC_BUTTON1)-ShowWindow(FALSE)删除试题的主要代码为:voidCSqEntryDlg:OnDelete()intnSel=m_conList2.GetNextItem(-1LVNI_SELECTED)行号CStringstrID=m_conList2.GetItemText(nSel0)CStringstrSQL=deletefromTB_QuestionwhereQID=+strIDif(theAdo.GetConnectState()if(theAdo.cuteNotSelSQL(strSQL)执行删除语句MessageBox(删除成功!提示信息)保存修改的主要代码为:voidCSqEntryDlg:OnSave()UpdateData(1)intnSel=m_conList2.GetNextItem(-1LVNI_SELECTED)行号CStringsID=m_conList2.GetItemText(nSel0)获取第nSel行第0列的内容即ID号CStringstrSQLif(theAdo.Connect(strConn)if(theAdo.GetConnectState()strSQL=updateTB_QuestionsetQContent=+m_strContent+QRightAnswer=+m_strAnswer+QDifficulty=+m_strDifficulty+QDetailed=+m_strDetail+QScore=+m_strScore+QType=+m_strType+QKnowPoint=+GetPointID()+whereQID=+sIDif(theAdo.cuteNotSelSQL(strSQL)河北工业大学毕业设计(论文)第25页共40页MessageBox(修改成功!)OnRefresh()5.2.3试卷信息管理模块试卷信息管理模块也是题库管理系统的重要模块之一。一个好的题库管理系统应该能够为用户上传试卷、浏览试卷等提供方便和快捷,并具有良好的人机交互界面

温馨提示

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

评论

0/150

提交评论