本科毕业设计基于excelvba的试题库管理系统开发Word下载.docx
《本科毕业设计基于excelvba的试题库管理系统开发Word下载.docx》由会员分享,可在线阅读,更多相关《本科毕业设计基于excelvba的试题库管理系统开发Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
基于这种设计思想可以使编程更加方便、快捷。
1.4国内外研究现状
目前已有众多学者在该领域做了大量工作,提出了许多建立通用智能组卷系统的方法。
这种通用智能组卷系统的通用性体现在系统可以实现对多门学科试题的录入、管理和组卷,而智能性则主要表现在系统可根据用户选择的相关信息,自动组成若干套同等难度、相同题量的平行试卷。
但是,通过查阅网上相关资料可以发现目前国内外基于不同环境所开发的试题库管理系统非常的多,但是多而不精,这些系统的通用性非常差,普遍缺乏开放性,只能用于管理特定课程和特定题型。
另外,在组卷上也没有提供高效率的智能组卷算法。
试题符号一直是试题库建设的难点及重点,很多网上试题库系统无法处理包括复杂的数学公式、化学方程式、特殊符号、电路图、工程制图等符号的试题,即使能够实现对部分符号的处理,其通用性也是比较差的。
在调查中还发现很多国内试题库系统的试题录入编辑工作十分繁琐,没有提供一个高效的录入方式。
因此,试题库的建设仍然有好多路要走[3]。
ExcelVBA是微软公司开发历史最为悠久的数据库开发工具,由于具有使用方便、成本低、开发速度快等优点所以一般以此用来开发小型的数据库系统,并且用其所开发的系统完全支持网络技术[4]。
另外,其通用性是极强的,使用VBA开发的系
统几乎适用于所有用户机。
基于ExcelVBA的以上优点,本设计所开发的试题库系统就使用这种语言编写而成的。
2ExcelVBA简介
2.1概述
Excel是MicrosoftOffice家族成员中一个集强大功能、先进技术、方便使用等优点于一体的表格式数据综合管理和分析的系统,它在进行数据处理时采用了电子表格的方式,使工作更加直观方便。
Excel还为用户提供了丰富的函数,用户可以随时使用其所提供的函数进行各种数据处理、统计分析和辅助决策的操作,并将其应用在财政、金融、统计、管理等多个领域。
另外,Excel还具有强大的制图功能,可以方便快捷地绘制出各种专业图表,实现了图、文、表三者的完美结合。
除此之外,Excel的强大功能还在于它提供的宏语言VBA[5]。
VisualBasicforApplication(简称VBA)作为新一代的标准宏语言,是由VisualBasicforWindows逐渐发展起来的,是一种可以支持面向对象的程序设计语言。
由于它具有可以直接应用于Office套装软件的各项强大功能,且其宏记录器可以很容易的实现日常工作与VBA语言之间的相互转换,可以轻松实现办公自动化,因此近年来广受人们的青睐[5]。
2.1.1ExcelVBA在办公中的应用
ExcelVBA之所以可以实现办公自动化,可以提高工作效率,就在于可以直接使用VBA对Excel所提供的各种功能进行操作。
Excel还提供了简单易用的人机交互界面,使其更加容易被广大用户所接受。
简单地将,在Excel中使用VBA可以做到[6]:
首先,它可以把大量、重复的操作记录为一个简单的VBA程序,用户只需利用一个菜单命令或工具栏按钮即可实现复杂操作的自动化;
其次,它可以通过控制Excel对象,在一个工作表中灵活地控制其他的工作表、数据表或文档,从而实现数据在不同工作表之间的交互;
最后,还可以利用VBA编辑器中提供的控件设置创建自己的VBA应用程序,实现一个企业级的信息控制系统。
VBA这门自动化语言不仅可以实现常用的程序自动化,创建针对性强、实用性强和效率高的解决方案,而且,还可以以Excel为开发平台,实现更加复杂的应用系统的开发。
2.1.2VBA与VB的对比
实际上可以认为VBA是应用程序开发语言VisualBasic的子集,VBA继承于VB应用程序。
虽然VBA和VB有诸多类似的地方,但他们也有区别,主要体现在以下几个方面[5]:
首先,VB具有自己的开发环境,可以独立完成应用程序的开发;
而VBA必须寄生于已有的应用程序,其开发具有针对行,同时也具有局限性。
其次,VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(excel,word)等实现自动化。
最后,要运行VB开发的应用程序,用户不必安装VB,而VBA开发的程序必须依赖于其所绑定的办公软件。
2.2VBA的开发环境简介
在office中提供了VBA的开发界面,称为VBE(VisualBasicEditor)窗口,在该窗口中用户可以实现应用程序的编写。
2.2.1VBA操作界面简介
VisualBasic编辑器[6]——VBE的操作界面如图2.1所示。
图2.1VBE操作界面
(1)标题栏用来显示窗口的标题,在标题后面的方括号内显示目前所处的状态——设计、运行或调试。
状态后面是正在设计的窗体的名称。
(2)菜单栏菜单栏包括文件、编辑、视图、插入、格式、调试、运行、工具、外接程序、窗口和帮助共11个菜单项,每一项都有若干命令,选择相应命令即可执行相应操作。
(3)工具条VBA提供了4种工具条,即编辑、标准、调试和用户窗体,用户还可以根据需要定义自己的工具条。
(4)工具箱提供了多个用于创建应用程序的图形用户界面所需的工具,工具箱中的工具可分为两大类,一类是标准工具,一类是ActiveX控件。
启动VBA后,工具箱中只有标准控件。
(5)窗体窗口是设计人员设计应用程序界面的载体。
设计人员可以在上面安排控件,如文本框、命令按钮、图形框等。
(6)工程资源管理器列出当前应用程序所包含的各类文件清单。
包括“查看代码”、“查看对象”和“切换文件夹”三个按钮。
(7)属性窗口列出了当前被激活的窗体或控件的所有属性,在设计时可以通过属性窗口设置窗体或控件的属性值。
(8)代码窗口其功能是输入和编辑VBA应用程序的代码。
2.2.2VBA基本概念
(1)控件控件就是利用工具箱中的工具在窗体上设计的图形。
它作为用户和计算机之间的界面接收和显示各种信息。
常用的控件有:
文本框、命令按钮、标签、复合框、列表框、复选框、选项按钮、框架、listview等。
(2)对象对象是工作表和控件的总称。
它们都是程序可以控制的实体。
对象包括属性、事件和方法,它们称为对象的三要素。
(3)属性属性即对象的特征,不同的对象具有不同的属性。
属性的取值称为属性值。
为对象赋值有两种方式,一是在设计状态下通过属性窗口进行设置,二是在程序中利用赋值语句进行设置。
在本设计中用到的常用属性有[6]:
Name设置控件名称。
Font设置控件所用的字体及字号。
Text设置控件上显示的文本。
Caption设置不接受输入的控件上显示的文本。
Enabled如果设为False则控件显示灰色,无法接受用户输入。
Visible设置控件是否可见。
(4)事件事件是由VBA系统预先设置好的能被对象识别的特定动作。
系统为每一事件规定一个名字,常用事件有:
Click、DblClick在用户单击或双击时事件发生。
MouseMove在鼠标经过控件时连续发生。
Gotfocus当控件获得输入焦点时产生该事件。
Lostfocus当控件失去输入焦点时产生该事件。
Change在各种控件的内部改变时触发。
(5)方法是一个对象所执行的某些特定的动作。
几个常用方法:
Activate激活当前图表、工作表、单元格等对象。
Add添加对象。
AddItem为列表框或组合框添加数据项。
Clear清除整个对象。
Close关闭整个对象。
2.3VBA设计程序的一般步骤
VBA作为一种语言,其设计程序一般要经历以下几个过程:
(1)使用控件创建应用程序的界面。
(2)为所创建的界面设置属性。
(3)在代码窗口编写连接各控件及实现各种过程的程序代码。
(4)调试运行所开发的软件。
(5)通过软件生成可执行的文件。
任何一个软件的开发都要经历以上几个阶段,在下面的章节中将会具体介绍到每个阶段需要完成的工作。
3系统分析
3.1可行性分析
在当今社会,随着计算机的不断普及,计算机的应用不断渗透到百姓生活的方方面面,这不仅方便了人们的日常生活而且还大大提高了的工作效率,成为人们提高工作效率的首选。
利用计算机对试题库进行管理是计算机辅助教学的一个重要分支和重要环节,它己成为院校教学改革的重要内容。
当前学校中试题库的管理尚处于手工作业阶段,这种管理不但效率低,还常常因为管理的不慎出现纰漏。
试题库的计算机化管理,不仅对试题进行了科学、系统的管理,还可成为评测学生学习效果、提高教学质量的有效辅助工具[7]。
因此,设计开发试题库管理系统起到了帮助老师提高工作效率,降低工作强度的作用。
试题库管理系统主要是对学校各学科试题进行集中管理,这样不仅可以减少教师工作量,而且还可以让学生对所学课程进行有效的复习。
本文所开的系统是使用Office办公软件Excel为开发平台,使用VBA语言为开发工具编写而成的,是一个集用户管理、试题维护、试卷查看和试卷生成等功能为一体的系统。
VBA语言是一个面向对象的程序设计语言,其可以作为软件的开发语言是基于它的以下优点[4]:
(1)开发效率高Excel中宏可以自动完成用户设定的任何动作组合,宏的使用大大提高了编程效率,可以实现快速编程的目的。
(2)语言简单易懂VBA语言是非常简单、易懂易学的。
(3)基于对象方法基于对象的方法使得其窗体的制作非常简单方便,而且很容易被人们接受。
(4)VBA一般都会嵌入在应用软件之中,他们常常与应用软件有很好的接口,而且你无需单独购买即可立即着手开发使用。
基于VBA语言的以上优势,所以该系统在技术上是可行的。
另外,因为本系统开发使用所使用的平台都是免费的,因此该项目的开发成本很低,从这一点来说,该系统在经济上也是可行的。
由系统的开发平台可以看出本系统的可操作性能是非常好的。
首先,本系统要求用户所使用计算机的软、硬件的配置是非常低的。
只要用户机能够运行办公软件就可以使用本系统,因此本系统几乎适用于所有用户。
其次,由于实际操作本系统时基本上以鼠标操作为主并以少量的键盘操作作为辅助,所以对管理员和使用用户的操作能力无任何特殊要求,操作十分简单。
因此,该软件具有良好的易用性。
3.2需求分析
管理信息系统作为一个先进科学技术与现代管理相结合的技术产物,已逐渐成为现在企业提高其自身素质、实现企业目标的重要工具。
一个好的管理信息系统,不仅可以使企业的信息管理工作系统化、规范化、自动化,而且还可以达到提高企业管理效率的目的。
另一方面,信息系统的目标为信息系统的发展方向提供了准则,是企业战略规划的一部分,具有极其重要的作用[8]。
管理信息系统(MIS)是一个由人和计算机等组成的能进行信息收集、传递、储存、加工、维护和使用的系统。
本课程所设计的题库管理系统是一个集试题维护、试卷生成及试卷查询的系统。
3.2.1功能需求
试题库管理信息系统的建设是学校实现信息化管理的一部分,是提高教师工作效率降低工作负担的必由之路。
这种高效化的试题库管理模式已经逐渐替代过去的手工管理模式。
系统的功能需求分析是一个软件开发过程中最主要的工作,同时也是软件生存周期中最关键的一步。
在软件的开发过程中需要根据具体的设计要求,采用结构化的分析方法,对系统的功能和相关技术采取自上而下、逐层分解的方式进行分析。
结合学校实际情况需要本系统可以实现对题库中试题维护、试题组卷以及对所生成试卷的管理的功能,主要表现在以下几个方面:
(1)管理员的管理功能。
此模块负责系统用户信息的管理工作,包括用户的增加和用户密码的修改。
考虑到只有管理员才能有权限对系统用户进行管理,因此设计了本系统功能。
(2)对试题库中试题的查询、增加、修改和删除等功能。
对试题库中试题的维护是一个试题库管理系统最基本的功能,这也是计算机教学改革中的一个重点。
此功能可以实现对试题进行系统、有序、科学的管理。
(3)对试题库中的试题实现自动组卷及手动组卷的功能。
(4)对已组成的试卷实现查询、添加试题及再组卷的功能。
另外,还要求本系统具有美观大方的操作界面,简单方便的操作流程。
3.2.2系统性能要求
(1)安全性:
系统应该有较强的安全性,对数据和相关信息有较强的保护性[9]。
(2)稳定性:
系统应该在一定情况下稳定运行。
(3)兼容性:
能够与其它软硬件有良好的兼容性。
4总体设计
4.1功能模块划分
基于ExcelVBA开发的本试题库管理系统主要有以下四个模块组成:
用户登录模块,可以实现使用用户的添加和用户密码的修改;
题库维护模块,可以实现对题库中试题的增加、修改和删除;
试题组卷模块,可以实现自动组卷及手动组卷;
试卷查询模块,可以实现生成试卷。
系统总的系统功能模块结构图,如图4.1所示:
图4.1系统功能模块结构图
4.2系统数据流图
用户向试题库管理系统发出登录请求后系统将进行用户信息的验证,判断是否为管理员登录,若为管理员则才有权限对用户进行添加,若为一般用户则只能修改密码,判断完权限后如果信息正确即可登录系统主界面,由主界面可以发出多条操作请求:
试题维护请求发出后即可进入试题维护界面,在此可以实现对试题库中试题的维护功能,即对试题库中试题进行增加、修改及删除的操作,然后还需要将操作后的试题信息重新反馈到题库中;
若组卷请求发出后即可进入试题组卷界面,在此界面可以实现对试题进行手动和自动两种不同方式的组卷功能,首先通过设定的组卷参数筛选出符合标准的试题,然后从中选取需要的试题点击加入后系统会自动将所选取的试题信息送入题签库,输入试卷标题后即可输出试卷和相应的答案;
若查询请求发出后即可进入试卷查询界面,在此界面可以查询到题签库中所有试卷信息,然后点击所需要的试卷后系统会自动显示出该试卷所有信息,进而可以实现再组卷的功能。
系统的数据流图,如图4.2所示:
图4.2系统数据流图
4.3功能设计
本系统的功能是通过多个用户窗体及用户界面来实现,有用户登录窗体;
增加用户窗体;
修改用户密码窗体;
系统主界面;
试题维护界面;
试题组卷界面和试卷查询界面。
(1)登录界面
登录界面包括用户登录、增加用户和修改用户密码三个窗体,可以实现用户的登录,系统根据用户输入的用户名及密码自动查询“名单”数据库中的数据,若输入的用户名在数据库中存在则判断密码是否正确,若输入正确即可进入系统主界面。
用户还可以在登录页面对自己的密码进行修改,用户输入用户名及密码后点击修改密码按钮即可进入修改用户密码窗体,在此可以对密码进行修改。
另外,如果输入管理员用户名和密码还可在登录页面实现增加新用户的功能,点击“新增用户”即可进入新用户增加窗体,输入新的用户名及密码完成新用户的增加操作。
(2)主界面
主界面可以实现整个试题库系统功能的导航的作用。
另外,主界面还起到了各功能进行中转时中转界面的作用。
进入主界面可以看到“试题维护”、“试题组卷”、“试卷查询”三个按钮,点击按钮即可进入相应界面。
(3)试题维护界面
在此界面可以实现对数据库“题库”中试题的维护操作,此操作可以实现三个功能:
直接向数据库中增加新试题;
通过检索功能对题库中的试题信息进行检索快速找到使用者所需要的试题,然后对其进行修改操作;
通过检索功能对题库中的试题信息进行检索快速找到所需要的试题,然后对其进行删除操作。
(4)试题组卷界面
从主界面点击“试题组卷”按钮即可进入组卷界面,在此可以通过自动组卷和手工组卷两种方式实现组卷功能。
通过对组卷参数的设置,系统将自动从数据库中检索符合参数设置的所有试题,然后用户即可手动点击加入将试题信息添加到题签库中从而完成了手动组卷的操作。
若设置完组卷参数后添加要生成的试卷中本参数设置下试题的数量,系统将自动把符合条件的试题信息添加到题签库中从而完成自动组卷的操作。
本系统必须通过本界面下的题签库方可完成由excel格式的试题向word格式的标准试卷的转化。
另外,在转化之前还可以在“统计”窗口对要生成的试卷题型顺序及分值进行调整和修改。
(5)试卷查询界面
本界面可以实现对以前通过本软件所生成试卷的查看、修改及再组卷的的功能。
点击进入以后系统将自动检索“题签库”数据库中的试卷信息,从中选择所需要的试卷,然后该试卷中试题的信息会在试题组卷界面的题签库中显示出来,当然还可以对该试卷进行试题添加和调整题型顺序的操作,然后添加试卷标题即可重新组成标准格式的试卷和答案。
4.4数据库结构设计
在系统设计中对整个项目起到整体规划作用的数据库结构设计也是总体设计中的重要内容,由于数据库中个数据表之间、数据表与程序之间都是密切相关的,因此在数据库的结构设计中既要考虑全局结构又要考虑局部结构。
如果数据库结构的设计不到位,整个系统的设计都会受到一定的影响[10]。
本系统直接采用excel中的工作表作为数据库,系统一共设计了4个数据表:
“试卷表头”数据表,“题签库”数据表,“名单”数据表和“题库”数据表。
(1)“试卷表头”数据表
该数据表中存储着生成word标准格式的试卷时需要在试卷中添加的卷头信息,由于这种信息在每套试卷中都要添加所以把卷头信息专门放在一个数据表中,其格式如图4.3所示。
图4.3“试卷表头”数据表
(2)“题签库”数据表
该数据表中存储着通过两种不同方式所组成的不同试卷的试题信息,其中包括试题ID号、试卷标题、题型、难度、分值、章节说明及组卷日期等字段,其格式如图4.4所示。
图4.4“题签库”数据表
(3)“名单”数据表
该数据表用来存储使用用户的基本信息,其中包括用户名及密码两个字段,其格式如图4.5所示。
图4.5“名单”数据表
(4)“题库”数据表
该数据表是用来存储所有试题信息的数据库,是整个系统的核心数据库,其中包括试题ID号、学科名称、所属章节、章节说明、题型、难度、分值、题目、答案及题后间距等试题的基本字段,其格式如图4.6所示。
图4.6“题库”数据表
4.5代码架构设计
对系统完成了系统功能模块划分、系统数据流分析、系统的功能设计及数据库的设计以后,建立了该系统的总体结构,即各组成成分。
另外,通过系统的总体设计还明确了各种组成成分、子系统及模块之间的相互联系,这也就标志着系统设计的第一个阶段——概要设计的完成。
第一阶段所设计的系统只是一个框架是无法完成任何操作的。
要使这些框架有意义就必须赋予特定的代码,所以系统设计的第二阶段也是最为关键阶段就是程序代码的编写阶段——详细设计,即系统运行后台的设计阶段。
要在详细设计阶段确定出系统各模块的内部算法及数据结构。
另外,系统设计理论中的模块化方法在本设计中得到充分体现,由需求分析设计系统功能,然后对系统功能进行模块划分,进而对各模块之间的算法和数据结构进行设计。
这种模块化的方法在系统设计中起到了化繁为简的作用,大大提高了的设计效率[11]。
5系统详细设计与实现
完成系统设计的第一阶段——总体设计的工作后,这一章需要对系统做出详细设计,即为系统各功能的实现做出模块的划分和模块内部及不同模块之间算法和数据结构设计。
本章是整个系统设计最为关键的一章,其设计的恰当与否关系到整个系统功能最终是否能够实现。
下面依据系统所要实现的功能:
用户登录、用户管理、试题维护、试题组卷和试卷查询,采用模块化的方法对各系统模块及各模块之间衔接进行详细设计。
5.1用户登录模块功能设计
本系统的登录模块可以实现如下功能:
(1)为用户进入系统提供一个入口。
其具体效果如图5.1所示。
图5.1系统登录界面
(2)为用户列表框自动添加可以访问本系统的所有用户。
其效果如图5.2所示。
图5.2用户列表框
(3)当用户输入的密码与所选择的用户相符时,即可进入系统的主界面。
(4)当用户输入的密码与所选择的用户不相符时,系统仍定位在本登录界面,并提示“密码不正确,请重新录入!
”
另外,为了减少系统界面,提高系统的可操作性,本登录界面中还添加了进入用户管理模块的两个按钮:
“新增用户”和“修改密码”,当点击相应的按钮后即可链接到用户管理模块的相应界面。
其效果如图5.3所示。
图5.3用户管理界面
5.2用户管理模块功能设计