当前位置:文档之家› 基于VC++的题库管理系统的毕业论文

基于VC++的题库管理系统的毕业论文

河北工业大学

毕业设计说明书(论文)

作者:曹立红学号:104431

系:计算机系

专业:软件技术专业

题目:

指导者:

(姓名) (专业技术职务)

评阅者:

(姓名) (专业技术职务)

2013 年 6月 4日

毕业设计(论文)中文摘要

毕业设计(论文)外文摘要

目次

TOC \O "1-2" \H \Z \U HYPERLINK \L "_TOC358048260" 1 引言 PAGEREF _T HYPERLINK \l "_Toc358048261"1.1 课题背景及意义 PAGEREF _T HYPERLINK \l "_Toc358048262" 1.2 国内外研究现状和发展趋势 PAGEREF _T HYPERLINK \l "_Toc358048263" 1.3 本文的工作安排 PAGEREF _T HYPERLINK \L "_TOC358048264" 2 系统分析 PAGEREF _T HYPERLINK \l "_Toc358048265" 2.1 可行性分析 PAGEREF _T HYPERLINK \l "_Toc358048266" 2.2 需求分析 PAGEREF _T HYPERLINK \l "_Toc358048267" 2.3 系统的运行环境 PAGEREF _T HYPERLINK \L "_TOC358048268" 3 系统的开发环境与技术 PAGEREF _T HYPERLINK \l "_Toc358048269" 3.1 MFC技术 PAGEREF _T HYPERLINK \l "_Toc358048270" 3.2 数据库访问技术 PAGEREF _T HYPERLINK \l "_Toc358048271" 3.3 Visual C++ 6.0 开发环境 PAGEREF _T HYPERLINK \l "_Toc358048272" 3.4 C++开发语言 PAGEREF _T HYPERLINK \L "_TOC358048273" 4 系统设计 PAGEREF _T HYPERLINK \l "_Toc358048274" 4.1 总体设计思想 PAGEREF _T HYPERLINK \l "_Toc358048279" 4.2 系统功能模块设计 PAGEREF _T HYPERLINK \l "_Toc358048280" 4.3 数据库设计 PAGEREF _T HYPERLINK \L "_TOC358048281" 5 系统功能实现 PAGEREF _T HYPERLINK \l "_Toc358048282" 5.1 数据库的连接 PAGEREF _T HYPERLINK \l "_Toc358048325" 5.2 系统模块设计 PAGEREF _T HYPERLINK \L "_TOC358048328" 6 系统调试 PAGEREF _T HYPERLINK \l "_Toc358048329" 6.1 测试实例的研究与选择 PAGEREF _T HYPERLINK \l "_Toc358048330" 6.2 测试环境与条件 PAGEREF _T HYPERLINK \l "_Toc358048331" 6.3 测试结果 PAGEREF _T HYPERLINK \L "_TOC358048332"结论 PAGEREF _T HYPERLINK \L "_TOC358048333"参考文献 PAGEREF _T HYPERLINK \L "_TOC358048334"致谢 PAGEREF _T

1 引言

传统的考试出题总是教师考前集中出题、集中组卷,这样很难保证试卷的质量,进而不能准确反映学生的学习效果。相比之下题库管理系统能够安全方便地录入试题以及自定义出卷,减轻各科教师的教学压力。该部分主要介绍当前通用试题库管理系统的背景及意义、国内外研究现状和论文的工作安排。

1.1 课题背景及意义

随着计算机技术的不断发展,它被更广泛地应用在我国的各行各业中。其中计算机辅助教育(CAI)在教育系统中的应用,收到了良好的效果,给教育改革带来美好的前景。在教学管理中,为实现教考分开,更加合理、公平、公正、公开地进行各种考试,利用计算机进行考试题库管理,辅助教师命题组卷已成为各院校教学改革的重要内容之一。因此对于题库管理系统的开发和应用就显得尤为重要。相比传统的出题方式,利用计算机实现的题库管理具有操作简便、成卷快、题目搭配合理、试卷难易程度可控等无法比拟的优点,同时能够更好的保证试卷的质量,而且还能更好地反映学生的学习效果,提高教学质量,减轻教师在出题组卷和成绩分析中的工作量。因此,研制题库管理系统已成为一项重要的课题,是各个学校教学研究的热门话题,并且在国家有关项目的支持下,出现了一系列使用的题库管理系统,但这些成型的题库管理系统有时候并不能满足现在学校教育中的要求。一个好的题库要求能够在有限的时间内,快速选择出最需要的题目,从而减轻了老师出题的负担,并加强了出题的效率和质量。

1.2 国内外研究现状和发展趋势

随着经济的发展,社会的进步,科学技术的不断提高,计算机科学日渐成熟,计算机越来越深入到我们日常的学习、工作及生活中,成为我们补课缺少的辅助工具。其强大的功能以为人们深刻认知,它已进入人类社会的各个领域,并发挥着越来越重要的作用,在我国的教育系统中,传统的出卷方式,是一个漫长而复杂的过程,已经越来越不适应现代教学的需要,而随着计算机事业在我国的纵深发展,题库在教育领域的应用越来越广泛,一个好的题库管理系统,要求界面友好,能方便的录入试题,组卷灵活快捷,查询试题或出卷迅速,以适应各种知识更新对试卷难易程度、题型的要求,因此领用计算机化的试卷生成系统来组卷是未来学校考试的发展趋势。

1.3 本文的工作安排

本文从软件开发生命周期的角度阐述了系统开发过程,首先介绍了项目背景,然后进行系统分析、总体设计和项目的具体设计与实现过程,最后作系统测试及总结。论文分六部分,具体安排如下:

第一部分:介绍课题的背景,课题目的及意义,国内外研究现状及发展趋势等。

第二部分:系统分析,包括可行性分析、需求分析、系统可行性分析等。

第三部分:介绍系统的开发环境与开发技术。

第四部分:根据系统的需求分析进行系统概要设计,包括系统的模块设计,数据库

的概念结构设计和数据库的逻辑结构设计。

第五部分:从整体上介绍了系统的详细设计和实现,包括整个系统界面设计和相关功能及实现过程。

第六部分:介绍本系统的测试及维护,测试内容及测试方法并总结测试结果。

第七部分:结束语。总结在完成系统开发和设计过程中所做的工作,以及系统的优缺点。

2 系统分析

系统分析是软件系统开发过程中一项重要工作,系统分析工作质量的好坏将直接决定系统开发工作的成败。该阶段将从可行性分析、系统需求分析、系统的运行环境几个关键技术对题库管理系统作出详细的系统分析。

2.1 可行性分析

2.1.1 技术可行性

此次课程设计,使用MFC技术构建题库管理系统的骨干框架,利用SQL Server 2005构建系统的后台数据库,运用VC++语言开发,并结合ADO连接数据库的技术,完全有能力设计一个界面比较友好、功能较为全

面、操作方便简捷的题库管理系统。

经济可行性

随着计算机技术的迅速发展,尤其在面临日益激烈的市场竞争,以电子计算机为主要技术手段,将大大减轻科技人员的脑力劳动和体力劳动。计算机技术它具有高智力、知识密集、综合性强、效益高等特点,是当今世界上科技领域的前沿课题。因此将计算机技术运用到各高校的考试中,开发一款操作简捷、功能齐全的题库管理系统将大大可以提高教师的工作效率和工作质量,改善教师的工作条件,进而提高教学水平,为教研室带来了间接的效益。

2.2 需求分析

该系统设计主要是为了能够减轻教师在考前出卷组卷的工作量,能够方便的让教师浏览、查看各类试题,以最快的速度筛选处所需的试题组成一套完整的试卷,其主要功能如下:

1 用户登录模块:

用户登录的权限可分为:系统管理员、教师、学生三种权限,在登录模块中,当用户登录时,首先先输入用户名及登录密码,系统会自动验证该用户的身份,如果该用户存在则根据其登录权限跳转到相应的不同权限的页面;如用户名不存在,用户也可以先进行注册再登录,也可以通过找回密码重新设置密码,然后再进行登录。

2 信息管理模块:

系统管理员可以对登录用户的信息进行修改、查询、删除等管理操作,并且还可以注册新的用户信息,同时管理员还可向用户发布最新的试题信息并可对用户反馈的信息进行管理。

3 试题管理模块:

系统管理员可以对试题库中试题进行查看、删除、修改等操作;教师登录后可以上传相关试题,查看个人上传的试题以及全部的试题,修改个人上传试题;学生登录后可以查看相关试题,并可查看试题答案以及试题详解。

4 试卷管理模块:

系统管理员可以对用户上传的试卷进行查看、删除、修改等操作;教师可以对个人上传的试卷进行修改或删除操作,同时可以上传试卷,此外教师还可以针对某一学科进行手动组卷也可选择系统组卷,并且可预览组好的试卷并将其导出为.txt;学生可对相关的试卷信息内容进行查看。

5 科目、章节、题型管理:

系统管理员可以对科目、章节、题型的信息进行增、删、改、查的操作。

2.3 系统的运行环境

该软件设计是基于VC++的题库管理系统,能够在WindowXP/Win7及其以上版本的系统上顺利运行。

3 系统的开发环境与技术

该课题设计使用MFC技术构建题库管理系统的骨干框架,使用SQL Server 2005构建系统的数据库,应用C++语言开发,并结合ADO连接数据库的技术,实现了一个功能相对齐全的题库管理系统。

设计环境:

操作系统:Win7/WinXP

开发工具:Microsoft Visual C++ 6.0

数据库:SQL Server 2005

开发语言: VC++

3.1 MFC技术

MFC的本质是一个包含了许多已经定义好的类的类库。MFC是微软提供的,封装了大量Windows API的C++类库。它基本封装了Windows的所有API函数。因此,利用MFC建立应用程s序更加符合面向对象的思想。同时利用向导所建立的应用程序隐藏了程序设计的很多细节,简化和标准化了Windows程序设计,因此MFC编程被称为标准Windows程序设计。

3.2 数据库访问技术

Microsoft提供多种数据库访问技术,此次题库管理软件使用ADO连接数据库的技术,ADO基于Microsoft的ActiveX技术,可在多种语言环境下使用,为不同的应用程序提供一个通用的访问接口。相对于ODBC技术,ADO可移植性好,可随意将程序从一台机器转移到另一台机器上,无需重新配置数据源。相对于https://www.doczj.com/doc/ae12134148.html,技术,ADO效率更高,访问速度更快,适用于海量数据的读取和写入。

3.3 Visual C++ 6.0 开发环境

Visual C++ 6.0,简称VC或者VC6.0,是HYPERLINK "https://www.doczj.com/doc/ae12134148.html,/view/2353.htm" \t "_blank" 微软推出的一款C++ HYPERLINK "https://www.doczj.com/doc/ae12134148.html,/view/487018.htm" \t "_blank" 编译器,将“高级语言”翻译为“ HYPERLINK "https://www.doczj.com/doc/ae12134148.html,/view/111847.htm" \t "_blank" 机器语言(低级语言)”的程序。Visual C++6.0 它不仅是一个C++ HYPERLINK "https://www.doczj.com/doc/ae12134148.html,/view/487018.htm" \t "_blank" 编译器,而且是一个基于Windows HYPERLINK "https://www.doczj.com/doc/ae12134148.html,/view/880.htm" \t "_blank" 操作系统的可视化HYPERLINK "https://www.doczj.com/doc/ae12134148.html,/view/14867.htm" \t "_blank" 集成开发环境。Visual C++是一个功能强大的可视化HYPERLINK "https://www.doczj.com/doc/ae12134148.html,/view/973702.htm" \t "_blank" 软件开发工具。

3.4 C++开发语言

C++语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。

1 C++支持数据封装,支持数据封装就是支持数据抽象。在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++类中包含私有、公有和保护成员C++类中可定义三种不同访控制权限的成员。

2 C++中是通过向对象发关消息来处理对象的,每个对象根据所接收到的消息的性质来决定需要采取的行动,以响应这个消息。响应这些消息是一系列的方法,方法是在类定义中使用函数来定义的,使用一种类似于函数调用的机制把消息发送到一个对象上。

3 C++中允许友元破坏封装性,友元可以访问该类的私有成员(包含数据成员和成员函数)。友元可以是在类外定义的函数,也可以是在类外定义的整个类,前者称友元函数,后者称为友元类。友元打破了类的封装性,它是C++语言另一个面向对象的重要特性。

4 C++允许函数名和运算符重载,C++多态性,C++允许一个相同的标识符或运算符代表多个不同实现的函数,这就称标识符或运算符的重载,用户可以根据需要定义标识符重载或运算符重载。

4 系统设计

系统设计阶段的根本目标是确定应该怎样具体地实现所要求的功能,经过这个阶段的设计工作,应该得出对目标系统的精确描述。该阶段是对本系统进行模块分解,确定其软件结构,并对主要功能模块进行详细设计与实现的介绍,从而实现功能模块的精确描述。

4.1 总体设计思想

该题库管理系统主要分为三种登录权限:管理员权限、教师权限、学生权限。在登录模块中,当用户登录时,首先先输入用户名及登录密码,系统会自动判断该用户是否存在,如果该用户存在则可成功跳转到相应的不同权限的页面,用户也可以先进行注册再登录,也可以通过找回密码重新设置密码,然后再进行登录。

当以管理员身份进入系统后,管理员可以对用户信息进行管理包括:查看、修改、删除用户信息以及注册新的教师信息及学生信息;同时管理员还可以对试题、试卷信息进行管理同样包括查看、修改、删除试题、试卷信息同时管理员还可以上传试题、试卷。

当以教师身份登录后,教师可以对自己上传的试题、试卷信息进行查看、修改、删除操作,还可以上传试题或试卷信息到题库,同时还可浏览其他人上传的试题及试卷信息。此外教师可针对某一学科进行手动组卷也可以选择系统组卷,组卷完毕后可以预览试卷效果,如果满意即可保存存档。教师还可以修改自己的登录密码以及个人信息,并可以查看系统公告,或给系统留言。

当以学生身份登录后,学生可以针对不同的学科、不同的章节、不同的题型进行练

习,同时可以查看题目答案及详解。此外学生还可以向系统反馈信息,查看系统公告并可以修改登录密码及个人信息。

4.2 系统功能模块设计

本系统是由管理员模块、教师模块、学生模块和登录模块几部分组成的。

系统流程图如图2所示。

图2 系统流程图

4.2.1 登录模块

在登录模块中,当用户登录时,首先先输入用户名及登录密码,如果该用户存在则可成功跳转到相应的页面;如果登录不成功或用户名不存在,用户j可以先进行注册再登录,也可以找回密码,然后再进行登录。登录模块如图1.1所示。

图1.1 登录模块图

4.2.2 管理员模块

当以管理员身份进入系统后,管理员可以对用户信息、试题、试卷信息、课程信息及题型信息进行管理。管理员模块如图2.1所示。

图2.1 管理员模块图

用户信息管理模块

管理员登录后,点击“用户信息管理”按钮即可进入用户信息管理模块,在该模块中,管理员可对已经注册的学生信息以及教师信息进行查看、修改或删除操作,也可以注册新的用户信息。其模块图如图2.1.1所示。

图 2.1.1 用户信息管理模块图

试题管理模块

管理员登录后,点击“试题信息管理”按钮即可进入试题管理模块,在该模块中,管理员可以上传试题到试题库,也可以对全部试题进行浏览、修改、删除操作,。其模块图如图2.1.2所示。

图 2.1.2 试题管理模块图

试卷信息管理模块

管理员登录后,点击“试卷信息管理”按钮,即可进入试卷信息管理模块,在该试卷管理模块中,管理员可对上传的试卷信息进行浏览、修改、删除操作,其模块图如图2.1.3所示。

图2.1.3 试卷信息管理模块图

课程信息管理模块

管理员登录后,点击“课程信息管理”按钮后即可进入课程信息管理模块,在该模块中,管理员可对题库中现存的科目及其所包含的章节信息、知识点信息进行查看、修改及删除操作,也可增加新的科目信息,并为其添加相关的章节信息及知识点信息。其模块图如图2.1.4所示。

图2.1.4 课程信息管理模块图

题型信息管理模块

管理员登录后,点击“题型信息管理”按钮即可进入题型信息管理模块,在该模块中,管理员可以添加添加新的题型、修改题型信息,也可以删除题型信息,其模块图如2.1.5所示。

图2.1.5 题型信息管理模块图

教师模块

当以教师身份登录后,教师可以对自己上传的试题、试卷信息进行查看、修改、删除操作,还可以上传试题或试卷信息到题库,同时还可浏览其他人上传的试题及试卷信息,但不可以进行修改或删除操作。同时教师可针对某一学科进行手动组卷,通过浏览关于这一学科的全部试题,并将感兴趣的题目加入试卷从而形成一份完整的试卷,教师可以通过预览试卷查看组卷效果,如果满意的话即可选择保存并将该试卷导出为指定的目录下.txt文档;此外教师还可以选择系统组卷,在教师指定科目、选择改试卷包含的章节、试卷所包含的题型并设置各题型的数量后,系统便会在题库中随机抽取相应的题目加入试卷,组卷完毕后可以预览试卷效果,如果满意即可保存存档。教师还可以修改自己的登录密码以及个人信息。教师模块的模块图如图3.1所示。

图3.1 教师管理模块图

个人信息管理模块

教师登录后点击“个人信息管理”按钮后即可进入个人信息管理模块,教师可对个人的基本信息进行修改并保存,也可单独修改密码。该模块的模块图如图 3.1.1所示。

图3.1.1 个人信息管理模块图

试题信息管理模块

教师登录后,点击“试题信息管理”按钮即可进入试题管理模块,教师可对个人上传的试题信息进行查看、修改、删除等操作,同时可以浏览其他人上传的试题,但不可进行修改,此外,教师还可以上传试题。其功能模块图如图3.1.2所示。

图3.1.2 试题管理模块图

试卷信息管理模块

教师登录后,点击“试卷信息管理”按钮即可进入试卷信息管理模块,在该模块中,教师可对个人上传的试卷信息进行查看、修改、删除等操作,同时还可以上传新的试卷到题库,此外,教师还可以浏览其他教师上传的试卷信息。其功能模块图如图3.1.3所示。

图3.1.3 试卷信息管理模块图

组卷模块

教师登录后,点击“系统组卷”后即可进入系统组卷模块,教师按照向导,依次选择组卷的科目、该课程包含的章节和要加入试卷的题型并设置每种题型的所包含的题量后,点击组卷后,系统会自动到题库中随机选择相应的题目加入试卷,组卷完毕后,教师可阅览组好的试卷,如果满意即可将试卷保存到指定的路径。此外教师还可选择手动组卷,点击“手动组卷”按钮,教师即可进入手动组卷模块,当选择好需要组卷的科目后,教师便可浏览题库中有关该科目的全部试题,可以逐道查看每道题的详细内容,也可对试题进行筛选后查看,如对该试题感兴趣即可将其加入到试卷,点击“完成”后即完成组卷,教师可阅览组卷后的效果,如满意即可进行保存。其功能模块如图3.1.4所示。

图 3.1.4 组卷模块图

学生模块

当以学生身份登录后,学生可以进行在线练习,并可以向系统反馈信息,查看系统公告并可以修改登录密码及个人信息,学生模块如图4.1所示。

图 4.1 学生模块图

4.3 数据库设计

数据库是管理系统必不可少的组成部分,设计一个结构合理的数据库不论是对操作的速度还是对程序的设计都至关重要。

数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。数据库设计的目的是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。

4.3.1 TB_UserLogin表

TB_UserLogin该表用于记录注册用户的信息,其包含4个字段:用户编号、用户名、登录口令和用户权限字段,其中用户编号为主键用于标识注册用户,并且设置其为种子标识,int 类型初值为1,递增值为1;用户名为varchar类型可以与真名不同;登录口令为varchar类型允许为空;用户权限分为管理员权限、教师权限、学生权限,用于控制不同的用户登录后进入到相应的控制界面。用户登录表的表结构说明如表1所示。

表1 用户登录表TB_UserLogin

TB_TeacherInfo表

TB_TeacherInfo 该表用于记录已经注册的教师的详细信息,该表包含9个字段,其中TeacherID为主键,并且该字段为外键,依赖于TB_Userlogin 表中的主键ID。教师的详细信息表的表结构说明如表2所示。

表2 教师信息表TB_TeacherInfo

TB_StudentInfo 表

TB_StudentInfo该表用于记录已经注册的学生的详细信息,该表包含7个字段,其中StuID为主键,并且该字段为外键,依赖于TB_Userlogin 表中的主键ID。学生的详细信息表的表结构说明如表3所示。

表3 学生信息表TB_StudentInfo

TB_Question 表

TB_StudentInfo表用于记录题库中存储的试题信息,同时用于存储用户上传的试题,该表包含12个字段,其中QID为主键,并且为种子标识,标识种子为100标识增量为1;QChapterID,QUploadID,QType均为外键,分别依赖于TB_ChapterInfo 表中的主键ChapterID、TB_UserLogin表中的主键ID和TB_QuestionType表中的主键QuestionType。试题信息表的表结构说明如表4所示。

表4 试题信息表TB_Question

TB_TestInfo表

TB_TestInfo表用于记录题库中存储的试卷信息,同时用于存储用户上传的试卷,该表包含7个字段,其中TestID为主键,并且为种子标识,标识种子为1标识增量为1;TestType、TestRange、UploadID均为外键,分别依赖于TB_UseInfo

表中的主键UseID、TB_TermInfo表中的主键TermID和TB_UserLogin表中的主键ID。试卷信息表的表结构说明如表5所示。

表5 试卷信息表TB_TestInfo

4.3.6 TB_CourseInfo 表

TB_CourseInfo 表用于记录题库中所有试题所涉及的课程名,管理员可以增加课程名并存放在该表中。该表包含有3个字段,其中CourseID 为主键,并且设置为种子标识,标识种子为10,标识增量为1。课程信息表的表结构说明如表6所示。

表6 课程信息表TB_CourseInfo

TB_ChapterInfo 表

TB_ChapterInfo 表用于记录TB_CourseInfo 表中每种课程名所包含的的章节名,管理员也可以为某一课程名添加相应的章节名,并存放在该表中。TB_ChapterInfo表包含有3个字段,其中ChapterID为主键,并且设置为种子标识,标识种子为10,标识增量为1;CourseID为外键依赖于TB_CourseInfo表中的主键CourseID。章节信息表的表结构说明如表7所示。

表7 章节信息表TB_ChapterInfo

TB_DoQuestion 表

TB_DoQuestion 表用于记录每一位学生登录后在线练习时做题的情况,是该学生做题的历史记录。该学生每做一道题则将该题的相关信息从TB_Question 表中读取出来存放到TB_DoQuestion表中。TB_DoQuestion存放有该学生做题的答案,该题的详解及正确答案,试题的内容等,这是一张临时表,当该学生退出系统后,其做题的记录全部清空。学生在做题的过程中查看题目的详解及答案时都是从该表中进行查询。该表包含有6个字段其中ID为主键,并且为种子标识,标识种子为1,标识增量为1;QID为外键,依赖于TB_Question表中的主键QID。做题信息表的表结构说明如表8所示。

表8 做题信息表TB_ChapterInfo

5 系统功能实现

经过总体设计,完成了模块的分解,确定了各模块的功能和模块间的接口,以及确定了软件的总体结构,软件系统的基本框架已经成形,在该阶段主要完成各模块的内部实现细节,对用到的算法进行精确的表达。

相关主题
文本预览
相关文档 最新文档