《基于VC++的题库管理系统的设计与实现毕业论文(34页).doc》由会员分享,可在线阅读,更多相关《基于VC++的题库管理系统的设计与实现毕业论文(34页).doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于VC+的题库管理系统的设计与实现毕业论文-第 27 页工业大学毕业设计说明书(论文) 系 : 计算机系 专 业: 软件技术专业 题 目: 基于VC+的题库管理系统的设计与实现 指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务) 2013 年 6月 4日毕业设计(论文)中文摘要基于VC+的题库管理系统的设计与实现摘要:随着计算机技术的普及,题库管理系统已经慢慢取代传统的组卷方式,为学校教师组卷提供方便与快捷。题库管理系统拥有与真实考试同样的题型、组卷等功能。其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。通过分析与研究,本系统运用VC+作为
2、开发语言,SQL Server 2005作为后台数据库,并利用ADO技术连接数据库,在MFC的结构框架下基本实现了上传试题、上传试卷、手动组卷、系统组卷、学生在线练习等主要功能,有效的减轻教师在出题、组卷方面的负担,提高教学质量。系统的开发按照软件生命周期的流程来设计,论文从系统分析、概要设计、详细设计和系统测试等环节进行了详细分析和描述。关键词: 题库管理系统 手动组卷 VC+ ADO毕业设计(论文)外文摘要Title Question Bank Management System Design and Implementation Based on VC + + AbstractWith
3、the popularization of computer technology, Question Bank Management System has gradually replaced the traditional test method,which provide convenient and fast for the school paper. The Question Bank Management System with real exam questions, test paper etc. Its development mainly includes two aspe
4、cts: the background of the establishment and maintenance of database and front-end application development.Through the analysis and research, this system using VC + + as a development language, SQL Server2005 as a backend database, and connect to the database using ADO technology.The System Basicall
5、y achieved the upload test questions, upload papers, manual group volume, system volume, student online practice the main function such as information management,which can effectively reduce the burden of teachers in title, group volume, improve the quality of teaching. The Systems development is ac
6、cording to the software life cycle processes to design,the Paper has analyzed and described in detail from the system analysis, the outline design, detailed design and system testing process.Keywords: Question bank management system Manually Set Volume VC+ ADO目 次1 引言11.1 课题背景及意义11.2 国内外研究现状和发展趋势11.3
7、 本文的工作安排22 系统分析22.1 可行性分析22.2 需求分析32.3 系统的运行环境43 系统的开发环境与技术43.1 MFC技术43.2 数据库访问技术53.3 Visual C+ 6.0 开发环境53.4 C+开发语言54 系统设计64.1 总体设计思想64.2 系统功能模块设计74.3 数据库设计145 系统功能实现195.1 数据库的连接195.2 系统模块设计206 系统调试336.1 测试实例的研究与选择336.2 测试环境与条件346.3 测试结果34结 论35参考文献36致 谢371 引言传统的考试出题总是教师考前集中出题、集中组卷,这样很难保证试卷的质量,进而不能准确
8、反映学生的学习效果。相比之下题库管理系统能够安全方便地录入试题以及自定义出卷,减轻各科教师的教学压力。该部分主要介绍当前通用试题库管理系统的背景及意义、国内外研究现状和论文的工作安排。1.1 课题背景及意义随着计算机技术的不断发展,它被更广泛地应用在我国的各行各业中。其中计算机辅助教育(CAI)在教育系统中的应用,收到了良好的效果,给教育改革带来美好的前景。在教学管理中,为实现教考分开,更加合理、公平、公正、公开地进行各种考试,利用计算机进行考试题库管理,辅助教师命题组卷已成为各院校教学改革的重要内容之一。因此对于题库管理系统的开发和应用就显得尤为重要。相比传统的出题方式,利用计算机实现的题库
9、管理具有操作简便、成卷快、题目搭配合理、试卷难易程度可控等无法比拟的优点,同时能够更好的保证试卷的质量,而且还能更好地反映学生的学习效果,提高教学质量,减轻教师在出题组卷和成绩分析中的工作量。因此,研制题库管理系统已成为一项重要的课题,是各个学校教学研究的热门话题,并且在国家有关项目的支持下,出现了一系列使用的题库管理系统,但这些成型的题库管理系统有时候并不能满足现在学校教育中的要求。一个好的题库要求能够在有限的时间内,快速选择出最需要的题目,从而减轻了老师出题的负担,并加强了出题的效率和质量。1.2 国内外研究现状和发展趋势随着经济的发展,社会的进步,科学技术的不断提高,计算机科学日渐成熟,
10、计算机越来越深入到我们日常的学习、工作及生活中,成为我们补课缺少的辅助工具。其强大的功能以为人们深刻认知,它已进入人类社会的各个领域,并发挥着越来越重要的作用,在我国的教育系统中,传统的出卷方式,是一个漫长而复杂的过程,已经越来越不适应现代教学的需要,而随着计算机事业在我国的纵深发展,题库在教育领域的应用越来越广泛,一个好的题库管理系统,要求界面友好,能方便的录入试题,组卷灵活快捷,查询试题或出卷迅速,以适应各种知识更新对试卷难易程度、题型的要求,因此领用计算机化的试卷生成系统来组卷是未来学校考试的发展趋势。1.3 本文的工作安排本文从软件开发生命周期的角度阐述了系统开发过程,首先介绍了项目背
11、景,然后进行系统分析、总体设计和项目的具体设计与实现过程,最后作系统测试及总结。论文分六部分,具体安排如下:第一部分:介绍课题的背景,课题目的及意义,国内外研究现状及发展趋势等。第二部分:系统分析,包括可行性分析、需求分析、系统可行性分析等。第三部分:介绍系统的开发环境与开发技术。第四部分:根据系统的需求分析进行系统概要设计,包括系统的模块设计,数据库的概念结构设计和数据库的逻辑结构设计。第五部分:从整体上介绍了系统的详细设计和实现,包括整个系统界面设计和相关功能及实现过程。第六部分:介绍本系统的测试及维护,测试内容及测试方法并总结测试结果。第七部分:结束语。总结在完成系统开发和设计过程中所做
12、的工作,以及系统的优缺点。2 系统分析系统分析是软件系统开发过程中一项重要工作,系统分析工作质量的好坏将直接决定系统开发工作的成败。该阶段将从可行性分析、系统需求分析、系统的运行环境几个关键技术对题库管理系统作出详细的系统分析。2.1 可行性分析2.1.1 技术可行性此次课程设计,使用MFC技术构建题库管理系统的骨干框架,利用SQL Server 2005构建系统的后台数据库,运用VC+语言开发,并结合ADO连接数据库的技术,完全有能力设计一个界面比较友好、功能较为全面、操作方便简捷的题库管理系统。2.1.2 经济可行性随着计算机技术的迅速发展,尤其在面临日益激烈的市场竞争,以电子计算机为主要
13、技术手段,将大大减轻科技人员的脑力劳动和体力劳动。计算机技术它具有高智力、知识密集、综合性强、效益高等特点,是当今世界上科技领域的前沿课题。因此将计算机技术运用到各高校的考试中,开发一款操作简捷、功能齐全的题库管理系统将大大可以提高教师的工作效率和工作质量,改善教师的工作条件,进而提高教学水平,为教研室带来了间接的效益。2.2 需求分析该系统设计主要是为了能够减轻教师在考前出卷组卷的工作量,能够方便的让教师浏览、查看各类试题,以最快的速度筛选处所需的试题组成一套完整的试卷,其主要功能如下:1 用户登录模块:用户登录的权限可分为:系统管理员、教师、学生三种权限,在登录模块中,当用户登录时,首先先
14、输入用户名及登录密码,系统会自动验证该用户的身份,如果该用户存在则根据其登录权限跳转到相应的不同权限的页面;如用户名不存在,用户也可以先进行注册再登录,也可以通过找回密码重新设置密码,然后再进行登录。2 信息管理模块:系统管理员可以对登录用户的信息进行修改、查询、删除等管理操作,并且还可以注册新的用户信息,同时管理员还可向用户发布最新的试题信息并可对用户反馈的信息进行管理。3 试题管理模块:系统管理员可以对试题库中试题进行查看、删除、修改等操作;教师登录后可以上传相关试题,查看个人上传的试题以及全部的试题,修改个人上传试题;学生登录后可以查看相关试题,并可查看试题答案以及试题详解。4 试卷管理
15、模块:系统管理员可以对用户上传的试卷进行查看、删除、修改等操作;教师可以对个人上传的试卷进行修改或删除操作,同时可以上传试卷,此外教师还可以针对某一学科进行手动组卷也可选择系统组卷,并且可预览组好的试卷并将其导出为.txt;学生可对相关的试卷信息内容进行查看。5 科目、章节、题型管理:系统管理员可以对科目、章节、题型的信息进行增、删、改、查的操作。2.3 系统的运行环境该软件设计是基于VC+的题库管理系统,能够在WindowXP/Win7及其以上版本的系统上顺利运行。3 系统的开发环境与技术 该课题设计使用MFC技术构建题库管理系统的骨干框架,使用SQL Server 2005构建系统的数据库
16、,应用C+语言开发,并结合ADO连接数据库的技术,实现了一个功能相对齐全的题库管理系统。设计环境:操作系统:Win7/WinXP开发工具:Microsoft Visual C+ 6.0数据库:SQL Server 2005开发语言: VC+ 3.1 MFC技术MFC的本质是一个包含了许多已经定义好的类的类库。MFC是微软提供的,封装了大量Windows API的C+类库。它基本封装了Windows的所有API函数。因此,利用MFC建立应用程序更加符合面向对象的思想。同时利用向导所建立的应用程序隐藏了程序设计的很多细节,简化和标准化了Windows程序设计,因此MFC编程被称为标准Windows
17、程序设计。 3.2 数据库访问技术Microsoft提供多种数据库访问技术,此次题库管理软件使用ADO连接数据库的技术,ADO基于Microsoft的ActiveX技术,可在多种语言环境下使用,为不同的应用程序提供一个通用的访问接口。相对于ODBC技术,ADO可移植性好,可随意将程序从一台机器转移到另一台机器上,无需重新配置数据源。相对于ADO.NET技术,ADO效率更高,访问速度更快,适用于海量数据的读取和写入。3.3 Visual C+ 6.0 开发环境Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Vis
18、ual C+6.0 它不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境。Visual C+是一个功能强大的可视化软件开发工具。3.4 C+开发语言C+语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C+以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C+完美地体现了面向对象的各种特性。1 C+支持数据封装,支持数据封装就是支持数据抽象。在C+中,类是支持数据封装的工具,对象则是数据封装的实现。C+类中包含私有、公有和保护成员C+类中可
19、定义三种不同访控制权限的成员。2 C+中是通过向对象发关消息来处理对象的,每个对象根据所接收到的消息的性质来决定需要采取的行动,以响应这个消息。响应这些消息是一系列的方法,方法是在类定义中使用函数来定义的,使用一种类似于函数调用的机制把消息发送到一个对象上。3 C+中允许友元破坏封装性,友元可以访问该类的私有成员(包含数据成员和成员函数)。友元可以是在类外定义的函数,也可以是在类外定义的整个类,前者称友元函数,后者称为友元类。友元打破了类的封装性,它是C+语言另一个面向对象的重要特性。4 C+允许函数名和运算符重载,C+多态性,C+允许一个相同的标识符或运算符代表多个不同实现的函数,这就称标识
20、符或运算符的重载,用户可以根据需要定义标识符重载或运算符重载。4 系统设计系统设计阶段的根本目标是确定应该怎样具体地实现所要求的功能,经过这个阶段的设计工作,应该得出对目标系统的精确描述。该阶段是对本系统进行模块分解,确定其软件结构,并对主要功能模块进行详细设计与实现的介绍,从而实现功能模块的精确描述。4.1 总体设计思想该题库管理系统主要分为三种登录权限:管理员权限、教师权限、学生权限。在登录模块中,当用户登录时,首先先输入用户名及登录密码,系统会自动判断该用户是否存在,如果该用户存在则可成功跳转到相应的不同权限的页面,用户也可以先进行注册再登录,也可以通过找回密码重新设置密码,然后再进行登
21、录。当以管理员身份进入系统后,管理员可以对用户信息进行管理包括:查看、修改、删除用户信息以及注册新的教师信息及学生信息;同时管理员还可以对试题、试卷信息进行管理同样包括查看、修改、删除试题、试卷信息同时管理员还可以上传试题、试卷。当以教师身份登录后,教师可以对自己上传的试题、试卷信息进行查看、修改、删除操作,还可以上传试题或试卷信息到题库,同时还可浏览其他人上传的试题及试卷信息。此外教师可针对某一学科进行手动组卷也可以选择系统组卷,组卷完毕后可以预览试卷效果,如果满意即可保存存档。教师还可以修改自己的登录密码以及个人信息,并可以查看系统公告,或给系统留言。当以学生身份登录后,学生可以针对不同的
22、学科、不同的章节、不同的题型进行练习,同时可以查看题目答案及详解。此外学生还可以向系统反馈信息,查看系统公告并可以修改登录密码及个人信息。4.2 系统功能模块设计本系统是由管理员模块、教师模块、学生模块和登录模块几部分组成的。系统流程图如图2所示。退出系统输入用户名及密码判断用户名和密码是否存在开始登录NY注册信息找回密码登录成功判断用户权限管理员模块教 师模块学生模块图2 系统流程图4.2.1 登录模块在登录模块中,当用户登录时,首先先输入用户名及登录密码,如果该用户存在则可成功跳转到相应的页面;如果登录不成功或用户名不存在,用户可以先进行注册再登录,也可以找回密码,然后再进行登录。登录模块
23、如图1.1所示。 用户登录模块登录成功找回密码注册信息图1.1 登录模块图4.2.2 管理员模块 当以管理员身份进入系统后,管理员可以对用户信息、试题、试卷信息、课程信息及题型信息进行管理。管理员模块如图2.1所示。管理员登录模块用户信息管理试题信息管理试卷信息管理课程信息管理题型信息管理图2.1 管理员模块图1. 用户信息管理模块管理员登录后,点击“用户信息管理”按钮即可进入用户信息管理模块,在该模块中,管理员可对已经注册的学生信息以及教师信息进行查看、修改或删除操作,也可以注册新的用户信息。其模块图如图2.1.1所示。注册用户信息修改用户信息删除用户信息查看用户信息用户信息管理图 2.1.
24、1 用户信息管理模块图2. 试题管理模块管理员登录后,点击“试题信息管理”按钮即可进入试题管理模块,在该模块中,管理员可以上传试题到试题库,也可以对全部试题进行浏览、修改、删除操作,。其模块图如图2.1.2所示。试题信息管理上传试题信息修改试题信息删除试题信息查看试题信息 图 2.1.2 试题管理模块图3. 试卷信息管理模块管理员登录后,点击“试卷信息管理”按钮,即可进入试卷信息管理模块,在该试卷管理模块中,管理员可对上传的试卷信息进行浏览、修改、删除操作,其模块图如图2.1.3所示。试卷信息管理上传试卷信息修改试卷信息删除试卷信息查看试卷信息 图2.1.3 试卷信息管理模块图4. 课程信息管
25、理模块管理员登录后,点击“课程信息管理”按钮后即可进入课程信息管理模块,在该模块中,管理员可对题库中现存的科目及其所包含的章节信息、知识点信息进行查看、修改及删除操作,也可增加新的科目信息,并为其添加相关的章节信息及知识点信息。其模块图如图2.1.4所示。添加章节信息添加知识点信息修改章节信息修改知识点信息查看章节信息查看知识点信息删除章节信息删除知识点信息课程信息管理添加课程信息修改课程信息查看课程信息删除课程信息图2.1.4 课程信息管理模块图5. 题型信息管理模块题型信息管理添加题型信息修改题型信息删除题型信息查看题型信息管理员登录后,点击“题型信息管理”按钮即可进入题型信息管理模块,在
26、该模块中,管理员可以添加添加新的题型、修改题型信息,也可以删除题型信息,其模块图如2.1.5所示。图2.1.5 题型信息管理模块图4.2.3 教师模块当以教师身份登录后,教师可以对自己上传的试题、试卷信息进行查看、修改、删除操作,还可以上传试题或试卷信息到题库,同时还可浏览其他人上传的试题及试卷信息,但不可以进行修改或删除操作。同时教师可针对某一学科进行手动组卷,通过浏览关于这一学科的全部试题,并将感兴趣的题目加入试卷从而形成一份完整的试卷,教师可以通过预览试卷查看组卷效果,如果满意的话即可选择保存并将该试卷导出为指定的目录下.txt文档;此外教师还可以选择系统组卷,在教师指定科目、选择改试卷
27、包含的章节、试卷所包含的题型并设置各题型的数量后,系统便会在题库中随机抽取相应的题目加入试卷,组卷完毕后可以预览试卷效果,如果满意即可保存存档。教师还可以修改自己的登录密码以及个人信息。教师模块的模块图如图3.1所示。教师登录模块个人信息管理试题信息管理试卷信息管理手动组卷系统组卷图3.1 教师管理模块图1. 个人信息管理模块教师登录后点击“个人信息管理”按钮后即可进入个人信息管理模块,教师可对个人的基本信息进行修改并保存,也可单独修改密码。该模块的模块图如图3.1.1所示。个人信息管理修改登录密码修改个人信息图3.1.1 个人信息管理模块图2. 试题信息管理模块教师登录后,点击“试题信息管理
28、”按钮即可进入试题管理模块,教师可对个人上传的试题信息进行查看、修改、删除等操作,同时可以浏览其他人上传的试题,但不可进行修改,此外,教师还可以上传试题。其功能模块图如图3.1.2所示。试题信息管理上传试题信息修改试题信息删除试题信息查看试题信息图3.1.2 试题管理模块图3. 试卷信息管理模块教师登录后,点击“试卷信息管理”按钮即可进入试卷信息管理模块,在该模块中,教师可对个人上传的试卷信息进行查看、修改、删除等操作,同时还可以上传新的试卷到题库,此外,教师还可以浏览其他教师上传的试卷信息。其功能模块图如图3.1.3所示。试卷信息管理上传试卷信息修改试卷信息删除试卷信息查看试卷信息图3.1.
29、3 试卷信息管理模块图4. 组卷模块教师登录后,点击“系统组卷”后即可进入系统组卷模块,教师按照向导,依次选择组卷的科目、该课程包含的章节和要加入试卷的题型并设置每种题型的所包含的题量后,点击组卷后,系统会自动到题库中随机选择相应的题目加入试卷,组卷完毕后,教师可阅览组好的试卷,如果满意即可将试卷保存到指定的路径。此外教师还可选择手动组卷,点击“手动组卷”按钮,教师即可进入手动组卷模块,当选择好需要组卷的科目后,教师便可浏览题库中有关该科目的全部试题,可以逐道查看每道题的详细内容,也可对试题进行筛选后查看,如对该试题感兴趣即可将其加入到试卷,点击“完成”后即完成组卷,教师可阅览组卷后的效果,如
30、满意即可进行保存。其功能模块如图3.1.4所示。组卷模块手动组卷系统组卷图 3.1.4 组卷模块图4.2.4 学生模块当以学生身份登录后,学生可以进行在线练习,并可以向系统反馈信息,查看系统公告并可以修改登录密码及个人信息,学生模块如图4.1所示。学生登录模块在线练习反馈信息查看系统公告修改个人信息图 4.1 学生模块图4.3 数据库设计数据库是管理系统必不可少的组成部分,设计一个结构合理的数据库不论是对操作的速度还是对程序的设计都至关重要。数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户
31、的应用需求,包括信息管理要求和数据操作要求。数据库设计的目的是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。4.3.1 TB_UserLogin表TB_UserLogin该表用于记录注册用户的信息,其包含4个字段:用户编号、用户名、登录口令和用户权限字段,其中用户编号为主键用于标识注册用户,并且设置其为种子标识,int 类型初值为1,递增值为1;用户名为varchar类型可以与真名不同;登录口令为varchar类型允许为空;用户权限分为管理员权限、教师权限、学生权限,用于控制不同的用户登录后进入到相应的控制界面。用户登录表的表结构说明如表1所示。表1 用户登录表TB_UserLo
32、gin字段名称数据类型长度默认值允许空字段描述IDint整型无否唯一标识,主键LoginNamevarchar10无否登录名LoginPwdvarchar20无是登录口令LoginRightvarchar8无是登录权限4.3.2 TB_TeacherInfo表TB_TeacherInfo 该表用于记录已经注册的教师的详细信息,该表包含9个字段,其中TeacherID为主键,并且该字段为外键,依赖于TB_Userlogin 表中的主键ID。教师的详细信息表的表结构说明如表2所示。表2 教师信息表TB_TeacherInfo字段名称数据类型长度默认值允许空字段描述TeacherIDint整型无否唯
33、一标识,主键TeacherNamevarchar10无否真实姓名TeacherSexchar2无否性别TeacherExperienceint整型无否教龄TeacherCoursesvarchar50无是所授课程TeacherDepartvarchar8无否所在系TeacherTitlevarchar12无是职称TeacherPlacevarchar20无是工作地点TeacherEmailvarchar20无是用户邮箱4.3.3 TB_StudentInfo 表TB_StudentInfo该表用于记录已经注册的学生的详细信息,该表包含7个字段,其中StuID为主键,并且该字段为外键,依赖于TB
34、_Userlogin 表中的主键ID。学生的详细信息表的表结构说明如表3所示。表3 学生信息表TB_StudentInfo字段名称数据类型长度默认值允许空字段描述StuIDint整型无否唯一标识,主键StuNamevarchar20无否真实姓名StuSexchar2无否性别StuBirthdatetime日期无否出生日期StuProfessionvarchar8无否所在系StuSchoolvarchar20无是所在院校StuEmailvarchar20无是用户邮箱4.3.4 TB_Question 表TB_StudentInfo表用于记录题库中存储的试题信息,同时用于存储用户上传的试题,该表包
35、含12个字段,其中QID为主键,并且为种子标识,标识种子为100标识增量为1;QChapterID,QUploadID,QType均为外键,分别依赖于TB_ChapterInfo 表中的主键ChapterID、TB_UserLogin表中的主键ID和TB_QuestionType表中的主键QuestionType。试题信息表的表结构说明如表4所示。表4 试题信息表TB_Question字段名称数据类型长度默认值允许空字段描述QIDint整型无否唯一标识,主键QContentvarchar1024无否试题内容QRightAnswervarchar1024无否试题答案QDetailedvarcha
36、r1024有否试题详解QTypevarchar6无否试题类型QDifficultyint整型无否试题难度QScoreint整型无否试题分值QChapterIDint整型无否试题所属章节QKnowPointvarchar20无是试题所涉知识点QUploadIDint整型无否上传人QUpTimedatetime日期有是上传时间QUsechar1无是是否加入题库4.3.5 TB_TestInfo表TB_TestInfo表用于记录题库中存储的试卷信息,同时用于存储用户上传的试卷,该表包含7个字段,其中TestID为主键,并且为种子标识,标识种子为1标识增量为1;TestType、TestRange、
37、UploadID均为外键,分别依赖于TB_UseInfo表中的主键UseID、TB_TermInfo表中的主键TermID和TB_UserLogin表中的主键ID。试卷信息表的表结构说明如表5所示。表5 试卷信息表TB_TestInfo字段名称数据类型长度默认值允许空字段描述TestIDint整型无否唯一标识,主键TestTitlevarchar20无否试卷标题TestTypeint整型无否试卷类型TestRangeint整型无否试卷适用范围UploadIDint整型无否上传人UploadTimedatetime日期是否上传时间HaveAnswerchar1是否是否有答案4.3.6 TB_Co
38、urseInfo 表TB_CourseInfo 表用于记录题库中所有试题所涉及的课程名,管理员可以增加课程名并存放在该表中。该表包含有3个字段,其中CourseID 为主键,并且设置为种子标识,标识种子为10,标识增量为1。课程信息表的表结构说明如表6所示。表6 课程信息表TB_CourseInfo字段名称数据类型长度默认值允许空字段描述CourseIDint整型无否唯一标识,主键CourseNamevarchar20无否课程名CourseTypevarchar10无否课程类型4.3.7 TB_ChapterInfo 表TB_ChapterInfo 表用于记录TB_CourseInfo 表中每
39、种课程名所包含的的章节名,管理员也可以为某一课程名添加相应的章节名,并存放在该表中。TB_ChapterInfo表包含有3个字段,其中ChapterID为主键,并且设置为种子标识,标识种子为10,标识增量为1;CourseID为外键依赖于TB_CourseInfo表中的主键CourseID。章节信息表的表结构说明如表7所示。表7 章节信息表TB_ChapterInfo字段名称数据类型长度默认值允许空字段描述ChapterIDint整型无否唯一标识,主键ChapterNamevarchar20无否章节名CourseIDint整型无否所属课程ID4.3.8 TB_DoQuestion 表TB_Do
40、Question 表用于记录每一位学生登录后在线练习时做题的情况,是该学生做题的历史记录。该学生每做一道题则将该题的相关信息从TB_Question 表中读取出来存放到TB_DoQuestion表中。TB_DoQuestion存放有该学生做题的答案,该题的详解及正确答案,试题的内容等,这是一张临时表,当该学生退出系统后,其做题的记录全部清空。学生在做题的过程中查看题目的详解及答案时都是从该表中进行查询。该表包含有6个字段其中ID为主键,并且为种子标识,标识种子为1,标识增量为1;QID为外键,依赖于TB_Question表中的主键QID。做题信息表的表结构说明如表8所示。表8 做题信息表TB_
41、ChapterInfo字段名称数据类型长度默认值允许空字段描述IDint整型无否唯一标识,主键QIDint整型无否试题IDQContentvarchar1024无否试题内容QAnswervarchar1024无否试题正确答案QDetailvarchar1024无否试题详解UserAnswervarchar1024有否学生答案5 系统功能实现经过总体设计,完成了模块的分解,确定了各模块的功能和模块间的接口,以及确定了软件的总体结构,软件系统的基本框架已经成形,在该阶段主要完成各模块的内部实现细节,对用到的算法进行精确的表达。5.1 数据库的连接此题库管理系统软件使用ADO连接数据库的技术,并利用
42、Server SQL 2005作为后台大型数据库,使用ADO技术访问SQL Server数据库具有速度快、效率高的特点,但由于ADO较为底层,操作复杂,故在本此课程设计中采用ADO的封装类CADOEx将ADO对象进行封装简化操作。连接数据库时首先先通过ADO控件获取连接字符串存放在字符串变量strConn中并将其声明为全局变量之后定义CADOEx类的变量,通过该变量调用CADOEx类中的成员函数BOOL Connect()即可连接上数据库。#import C:Program FilesCommon FilesSystemADOmsado15.dll no_namespace rename(EO
43、F, adoEOF),rename(BOF,adoBOF)/引入ado库BOOL CADOEx:Connect(CString strLinkDB)HRESULT hr;_bstr_t bstrConn=(_bstr_t)strLinkDB;tryDisConnect();m_pConn-ConnectionTimeout=8;hr=m_pConn-Open(bstrConn,adModeUnknown);if(FAILED(hr)bState=FALSE;return FALSE;catch(_com_error& e)e.ErrorMessage(); bState=FALSE;return FALSE;bState=TRUE;return TRUE;CADOEx theAdo;CString strConn=Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TBMS;Data Source=9P8FDVR