大学毕业设计---学生在线考试系统

上传人:无*** 文档编号:205398998 上传时间:2023-04-29 格式:DOC 页数:43 大小:6.41MB
收藏 版权申诉 举报 下载
大学毕业设计---学生在线考试系统_第1页
第1页 / 共43页
大学毕业设计---学生在线考试系统_第2页
第2页 / 共43页
大学毕业设计---学生在线考试系统_第3页
第3页 / 共43页
资源描述:

《大学毕业设计---学生在线考试系统》由会员分享,可在线阅读,更多相关《大学毕业设计---学生在线考试系统(43页珍藏版)》请在装配图网上搜索。

1、学生在线考试系统 致谢南京化工职业技术学院毕业设计(论文)论文题目:学生在线考试系统论文题目:Examination Management System 36作者姓名: 所在系部: 信息系 班级名称: 计算机0941 指导教师: 沈宫新 2012 年 4 月毕业设计(论文)任务书设计(论文)题目:在线考试系统指导教师:沈宫新职称:讲师 类别:毕业设计1、设计(论文)的主要任务 此项毕业设计要求利用ASP/ php jsp 和ACCESS/SQL数据库开发在线考试系统。具体的内容可根据学生在企业实习过程中以企业单位的实际情况及实际需求进行系统开发,要求学生给出详细的设计过程(包括体系结构图、数据

2、设计ER图,从开发环境及需求,到结构的设计,具体到每一个功能模块、关键程序进行说明),从而完成一次完整的设计过程。2、设计(论文)的主要内容考试系统的用户分为系统管理员、教师和学生。该系统能够实现的功能为试题编制、试题管理、试卷生成、身份确认、考试与提交、试卷批阅、统计分析、成绩归档、成绩发布等。编程语言不限,采用平台不限,但要求是B/S架构的在线系统。3、设计(论文)的基本要求1、论文格式要符合规范。2、提供完整的源程序。3、至少提供6篇参考文献(书籍、期刊、网址等)4、主要参考文献1 崔淼.ASP.NET 程序设计教程(C#版)M.北京:机械工业出版社,2008:52 翁健红.基于C#的A

3、SP.NET程序设计M.北京:机械工业出版社,2008:13 许宾.ASP.NET 2.0(C#)应用开发技术与典型实例M.北京:清华大学出版社发行部,2008:114苗雪兰.数据库系统原理及应用教程M.北京:机械工业出版社,2008:15赵玉兰.基于C#在线考试系统的研究与应用J.吉林农业科技学院学报, 2009,18(1)5、毕业设计(论文)时间安排 第一周:资料收集整理。第二周:程序设计,规划体系结构图、数据设计ER图。第三周:程序编写,调试运行。 第四周:论文编写、完善修改。备注:毕业设计提交:1 系统设计过程,包括论文电子稿和打印稿。2 经调试过的系统代码。3 答辩时每人还应准备15

4、张左右页面的幻灯片。注:1、此表一式三份,系部、指导教师、学生各一份。2、类别是指毕业论文或毕业设计,类型指应用型、理论研究型和其他。摘 要学生考试系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 本设计利用基于Windows 的高级开发工具Visual Basic 6.0中文版和大型数据库开发工具Access 2000 开发了考试系统.其目标在于针对考试管理的弊端,根据现有考试的基本流程,实现考试管理的电子化、无纸化,减少人为因素的

5、干扰,减轻教师、学生以及管理人员的负担,快速方便的实现考试过程中的各项任务。关键字:信息管理系统(MIS),数据库,考试系统,无纸化Abstract Students test system is the typical information management system (MIS), its development mainly include the setting and maintenance of database and development of front application program of two aspects. The former required

6、set up data consistency and integrality, data security good storehouse. For the latter requires the application program function complete, easy to use, etc. This design using Windows based senior development tools Visual Basic 6.0 Chinese version and large database development tools Access 2000 deve

7、lopment the exam system. The goal is to test the disadvantages of management, according to the Basic process of existing exam, realize the exam management of electronic, paperless, reduce artificial factors of interference, reduce teachers, students and the management of the burden, fast and conveni

8、ent way to realize the examination process of each task. Keyword: Information management system (MIS) database paperless examination system目 录第一章 绪论11.1 系统概述11.2 开发环境及开发工具概述11.2.1 Microsoft Access2000 简介21.2.2 Visual Basic 集成开发环境2第二章 需求分析42.1 应用背景分析42.2 需求功能分析42.3 系统需求分析5第三章 软件设计与实现63.1数据流图63.2 模块设计

9、63.3 数据库设计73.4 建立数据库10第四章 设计详情154.1 数据模块与类的设计154.1.1主模块与登录用户类154.1.2 试卷类(QuestionPaper)154.2 用户界面设置174.2.1 Splash窗体(frmSplash)174.2.2 主窗体(MDIfrmMain)174.2.3 登录窗体(frmLogin)184.2.4 创建试卷窗体(frmCreate)194.2.5 修改试卷窗体(frmModifyPaper)194.2.6 查询窗体(frmQuerryS)214.2.7 题库管理窗口(frmTestLib)224.2.8 答题窗体(frmAnwser)2

10、34.2.9 笔试题评阅窗口(frmCheck)254.2.10 上机题评阅窗体(frmSJ)254.2.11 成绩单窗体(frmsroce)264.2.12 详细结果窗体(frmresult)264.2.13 用户管理窗口(frmAdmin)274.3 程序编译与发布27第五章 系统运行与测试295.1 系统运行295.2 系统测试34第六章 总结36参考文献37致谢38第一章 绪论1.1 系统概述考试是各高校日常活动的重要部分。在考试系统中,包括试卷创建,题库管理,试卷评阅,平时成绩评定,学生考试,成绩查询,人员管理。下面介绍不同用户可使用的功能。本系统的用户分为学生类用户、教师类用户和管

11、理员类用户。学生类的用户是指当前使用系统的学生,其用户名为学生的姓名,该类用户能够参与答题并浏览考试结果,但是不能浏览他人考试结果,也不能对自身和他人的信息进行管理。教师类用户主要对试卷进行管理,包括创建试卷(选择题和上机题),评阅试卷(选择题系统自动评定,上机题由教师评定),评定平时成绩,试题管理(可以增加,删除,修改),还可以生成成绩单以及查询学生的成绩管理员类的用户,在实际中可以是班主任或者教务管理人员,他们有特定的权限对系统中的所有人员进行浏览、查找,并进行管理。本系统用户管理通过登录人员类进行管理。除此以外本系统还定义试卷类对象用来管理试卷。试卷类中将记录试卷创建者的教师编号、试卷中

12、2种题型(单选题、上机题)的题目数、试卷是否创建、试卷是否回答、试卷是否评阅、试卷得分等,同时也提供了创建、回答、评阅试卷的方法。试卷创建为系统自动命题方式,自动命题方式由登录的教师指定各种题型的题目数后,系统自动从相应的题库中随机抽取试题,生成试卷。试卷修改功能也是为教师类提供的,教师类用户可以对系统创建的以及教师命题创建的试卷进行修改。此部分功能是为教师类用户提供的。主要是提供对试题库添加新的试题、删除旧题、修改原有题目等功能。答题模块功能对学生类用户开放。学生类用户对创建的试卷中的题目进行问答。此部分功能向教师类用户开放。针对试卷中的2种题型,主要分为系统自动评阅和教师评阅两类,系统自动

13、评阅客观性题型,教师类用户可以参与评阅主观性题型。1.2 开发环境及开发工具概述系统使用Visual Basic 6.0 中文版来作为开发工具,后台数据库则采用Access 2000。1.2.1 Microsoft Access2000 简介Microsoft Access2000是微软公司开发的基于Windows平台的小型数据库管理系统,是Office 2000 的组件之一。它承袭了旧版本Access的各项优点,又新增或完善了数据访问页、个性化菜单、internet/intranet、编程、安全保密等功能。Access是一个面向对象的、采用事件驱动机制的小型关系数据库管理系统。在Access

14、中,用户可以根据实际需要对数据进行分类,然后使用表对象分别存储每一种类型的数据,并建立起不同类型数据之间的关系,供报表使用。此时,每条信息仅在一处存放,减少了冗余数据的产生,节省了宝贵的存储空间,同时也加快了更新数据的速度。在Access数据库中,任何有名字的事物都可以称之为对象。Access使用了与Windows 一致的风格,采取面向对象的方式,完成数据库的各种功能。极大地简化了用户的开发工作。针对用户在实际应用中的需求,Access数据库提供了表、查询、窗体、报表、页、宏和模块等七个对象,用于收集、存储和操作各种不同的信息。 为了便于使用,Access的每个对象都为用户提供了设计器和生成向

15、导。用户可以在设计器中设计生成对象,或对生成的对象进行编辑;用户也可通过生成向导方便快速的生成一个完备的对象。1.2.2 Visual Basic 集成开发环境在计算机上安装了Visual Basic,进入Visual Basic的集成开发环境。默认情况下,集成开发环境上面显示一个“新建工程”对话框,要求编程者选择要建立的程序类型。选择“标准EXE”即可,因为它是默认选项,所以只需单击“打开”按钮。Visual Basic使用“工程”来管理用来建立一个应用程序要使用的所有文件,所以每建立一个新程序,就要新建一个工程。每个工程都包含了一个以“.vbp”为扩展名的“工程文件”,这个文件用来管理这个

16、工程中所有的文件。在“新建工程”对话框中使用“现存”和“最新”选项卡,可以打开磁盘上已有的或者最近编辑过的工程。如果在单击“新建工程”对话框上的“打开”按钮之前选定了对话框左下角的“不再显示这个对话框”复选框,则在以后启动Visual Basic时就不会显示这个对话框了单击“新建工程”对话框上的“打开”按钮,对话框关闭,Visual Basic会创建一个编程者所选择类型的工程。如果单击的是“新建工程”对话框上的“取消”按钮,则Visual Basic的集成环境中不打开任何工程。关闭了“新建工程”对话框之后,Visual Basic的集成开发环境全貌就显示在屏幕上了。Visual Basic开发

17、环境是典型的Windows多文档界面(MDI, Multiple Documents Interface)。它的程序窗口有菜单栏和“标准”工具栏,其中有几个菜单项和按钮是在其他Microsoft软件中常见的(如“剪切”、“复制”、“粘贴”、“打开”、“保存”等),在这里功能相似。Visual Basic菜单系统比较庞大,在本考试系统的开发中,仅仅用到一部分知识。第二章 需求分析2.1 应用背景分析在任何一所学校考试都是日常工作之中的重要部分。每次举行考试时都要事先命题、打印试卷样稿、复印试卷、试卷回收、评阅试卷等一系列的工作。这些都会给教师带来很大的工作量,除此之外不同专业、不同班级、不同的老

18、师等各种因素都会影响到测试的有效性和真实性,带来了诸多不便。所以就要针对这些不便开发出一个适合的考试系统,该系统够减轻教师不必要的工作量,增强考试的有效性和考试结果的真实性。2.2 需求功能分析根据学校管理的要求,考试系统应该实现以下功能:1. 录入所有用户的基本情况,包括编号、姓名、登录口令等。这样就可以根据不同用户的情况对其提供相应的功能。2. 针对不同的用户系统提供给教师用户可以创建试卷、进行题库管理、评阅试卷、平时成绩评定等功能;给学生类用户提供参与考试、完成试卷、查询成绩的功能;管理员用户可以对本系统内人员信息进行维护和更新的功能。3. 本系统的试卷是系统随即生成的,生成的试题为选择

19、题和上机题。其中选择题是从20个不同知识点的数据表中随即抽取的;上机题虽然同样是从表中随即抽取,但是还考虑到学生在进行计算机基础的考试中肯能出现的COPY情况,因此本系统的上机试题全部是以图片的形式展现给学生的。系统在完成选题后自动将试卷存入一张专门的试卷表中,该表中记录了被选种题的题型,内容以及分值。4. 适时的试题题库更新。试题题型包括单选题、上机题2种类型。试题库的更新由教师类用户完成。主要是对教师提供向题库增添、删除、修改等功能。同时为了方便教师管理题库系统还有查询功能,教师可以根据答案、选项、编号等信息查找有关内容。以上功能仅提供给教师用户,学生类用户与管理员不允许对试题进行更新。5

20、. 更为方便的考试过程。学生在考试开始后自行选择回答选择题或上机题,选择题只须考生在备选答案上点击选取即可,上机题则让考生进入相应的环境下进行考试,考试结束后考生的上机考试答案将自动存入一张专门的答案表中,以供教师评判。6. 高效率的评阅过程。考生所做的选择题由系统自动评阅,这将大大减轻教师的工作量;除次以外考生的上机答案因为得到了保存,这将使教师可以方便的阅览试卷。7. 成绩单的生成。学生最后的成绩是试卷成绩和平时成绩的综合,因此体统也提供了对各种成绩的百分比的计算,从而的到考生最后的成绩。8. 生成成绩单后,教师用户可以打印出该科目的成绩单,学生用户可以查询成绩。9. 管理员功能只是提供给

21、管理员用户,包括对各个用户信息的维护和管理,包括修改现有用户密码,增添用户,删除用户。2.3 系统需求分析为了能够使本系统正常稳定的应用,要求运行该系统的计算机达到以下配置要求:(1)操作系统Windows XP版。(2)数据库:ACCESS 2000。(3)内存:128M以上第三章 软件设计与实现3.1 数据流图通过以上分析,设计出本系统的数据流图如图3-1所示显示系统信息MDI主窗体用户登陆学生用户教师用户管理用户参加笔试考试参加上机考试查询成绩创建考试试卷修改考试试卷试题库管理上机题评阅平时成绩录入生成成绩单增添人员信息删除人员信息修改人员信息图3-1 数据流图3.2 模块设计根据本系统

22、的需求,结合实际考试管理情况,本系统应该具有以下功能模块:用户管理,试卷类,试卷创建,浏览及修改,题库管理,答题模块,试卷评阅模块。由以上模块得到功能模块图3-2:计算机文化基础考试系统用 户 登 陆管理员用户人员信息管理学生用户成绩查询参加考试教师用户创建试卷修改试卷题库管理评判试卷评定平时成绩 图3-2 功能模块图3.3 数据库设计本系统将使用Access 2000作为数据库管理系统(DataBase Manangement System, DBMS)。在Access中,新建一个数据库,将其命名为Test.mdb,将新建的数据库放置在应用程序的目录中,以备使用。Test.mdb数据库中包含

23、的数据表及其相应功能如表3-1所示。数据表功能Student存放学生类用户基本信息Teacher存放教师类用户基本信息Admin存放系统管理人员基本信息SingleSel系统所需选择题题库SJQuestion系统所需上机题题库QuestionPaper存放试卷基本信息ChList系统所需成绩单表表3-1 Test数据库包含的数据表及其功能下面对该数据库中的各个数据表进行简单的说明。3.3.1 学生信息表(student)的设计学生类用户是本系统的主要对象之一。学生信息存放学生类用户的基本信息,包括以下部分:学生学号(StudentID)、学生姓名(StudentName)、登录口令(Stude

24、ntPassword)、学生平时成绩(PSeore)、以及学生成绩(Seore)。在己创建的Access数据库Test.mdb中创建一个表,表名为“Student”,向表中添加以上各字段。其中,StudentID(学号)字段为该表的主关键字(Primary Key,PK),惟一标识了一个学生用户记录的信息。学生信息数据表结构如表3-2所示。字段名字段说明类型类型或宽度备注StudentID学号数字长整型主关键字StudnetName学生姓名文本10不能为空StudentPassword登录口令文本20不能为空Score试卷成绩数字单精度一位小数PScore平时成绩数字单精度一位小数表3-2 学

25、生表(Student)3.3.2 教师信息表(Teacher)的设计教师信息表用于存放教师类用户的基本信息,包括教师编号、教师姓名、登录系统口令3项基本信息,分别对应于教师信息数据表(Teacher)中的TeacherID、TeacherName和TeacherPasword字段。其中,TeacherID为教师信息数据表的主关键字,如表3-3所示。字段名字段说明类型宽度备注TeacherID教师编号数字长整型主关键字TeacherName教师姓名文本10不允许为空TeacherPassword教师口令文本20不允许为空表3-3 教师表(Teacher)3.3.3 管理员帐号表(Admin)的设

26、计管理人员主要是对访问系统的教师及学生类人员信息进行管理,以维护本系统的正常运行,确保系统的安全性和可靠性。在数据库中创建Admin表。在 Administrator表中主要定义3个字段,AdministratorName、AdministatorPassword以及AdministratorID。其中AdministratorID字段为关键字,惟一标识出表中的记录。Admin表的字段结构如表3-4所示。字段名字段说明类型宽度备注AdministratorID管理人员编号数字长整型主关键字AdministratorName管理人员姓名文本10不能为空AdministratorPassword管

27、理人员口令文本20不能为空表3-4 管理员表(Admin)3.3.4 单选题题库信息表(SingleSel)设计单选题类型的题目除问题本身外,应该具有4个可选项,因此,在单选题题库信息表中应该包含相应的5个字段。另外,还应该包括一个字段用以表示答案是哪一个选项。单选题题库信息表结构如表3-5所示。字段名字段说明类型类型或宽度备注QuestionID题目编号数字长整型主关键字Question题目内容文本250不能为空Choice1题目答案选项一文本20不能为空Choice2题目答案选项二文本20不能为空Choice3题目答案选项三文本20不能为空Choice4题目答案选项四文本20不能为空Ans

28、wer题目参考答案数字字节型不能为空Score题目分值数字单精度小数1位,不能为空TeacherID出题教师编号数字长整型不能为空表3-5 单选题题库信息表(SingleSel)3.3.5 上机题库信息表(OperQuestion)设计本系统还支持另外一种考试题型,即上机题。问答题型属于主观性试题,在题库信息表中需要参照图形等字段。上机题的参考答案是一个图片文件,因此它采用OLE型,此外还包括题目分值、出题教师编号、题目编号。上机题题库信息表的结构如表3-6所示。字段名字段说明类型类型或宽度备注QuestionID题目编号数字长整型主关键字Question题目内容OLE不能为空Score题目分

29、值数字单精度小数位数1位,不能为空TeacherID出题教师编号数字长整型不能为空表3-6 上机题题库信息表(QperQuestion)3.3.6 试卷信息表(QuestionPaper)设计考试之前,由教师类用户创建本次考试的试卷。相应的试卷信息将被保存在试卷信息表中。当学生类用户参加完考试后,完成的选择题答案将被保存到试卷信息表中,同时上机题以OLE型保存到此表中,以备评阅。在试卷信息表中还保存了试卷评阅结果。试卷信息表的结构如表3-7所示。字段名字段说明类型类型或宽度备注PaperSerial试卷中的题目编号数字长整型主关键字QuestionID试题原编号数字长整型不能为空Questio

30、nType试题类型数字字节型不能为空UserAnswer学生单选答案备注允许为空Answer学生上机答案OLE允许为空Score该题分值数字单精度小数1位,不能为空Commence该题评阅结果数字单精度允许为空表3-7 试卷信息表(QuestionPaper)3.3.7 成绩单信息表(ChList)设计试卷评判完后要生成相应的成绩单,该成绩单包括学生的编号、姓名、试卷成绩、平时成绩、总评成绩。该表中的学生信息是参加考试的考生的,可以在学生登陆后就自动记录到此表中,试卷成绩的信息是由选择题成绩和试卷成绩综合而来,平时成绩由教师根据学生的日常表现进行打分。成绩单信息表的结构如表3-8所示。字段名字

31、段说明类型类型或宽度备注StudentID学号数字长整型主关键字StudnetName学生姓名文本10不能为空PaScore试卷成绩数字字节型不能为空UsScore平时成绩备注允许为空Score总评成绩数字单精度小数1位,不能为空表3-8 成绩单信息表(ChList)3.4 建立数据库在Visual Basic中创建一个工程,命名为“Test.vbp”,将前面己经创建的Access 2000数据库Test.mdb复制到工程目录中,以方便建立数据连接。要在本系统中使用Test.mdb数据库,首先应该建立应用程序与数据训的连接。本系统采用ADO的方式建立数据连接。首先向工程中添加对ADO的引用,具

32、体方法如下:单击“Project”菜单下的“Reterence”菜单项,弹出如图3-3所示对话框,的表单中选择“Microsoft ActiveX Data Objects 2.0 Library”项,单击“OK”按钮。 图3-3 添加对ADO的引用 图3-4 添加对“数据环境设计器”的引用3.4.1 数据环境设置“数据环境(Data Environment)”用于向应用程序提供数据库中的所有数据信息,并向应用程序提供对数据库的添加、删除等操作,是一种非常方便实用的工具。在VB项目中使用“数据环境”,可以减轻程序员的压力,使代码更为简洁。本系统需要在“数据环境设计器”中添加对Test.mdb数

33、据库中各信息表的访问。首先,需要添加对“数据环境设计器”的引用。单击“Project”菜单项,在弹出的窗体中选择“Reference Microsoft Data Environment Instance 1.0”项,并确认,如图3-4所示。项目中添加对“数据环境设计器”的引用之后,即可向项目中添加数据环境了。单击“Project”菜单下的“Add Data Environment”项,系统将添加一个数据环境,在属性窗体中将添加的数据环境命名为Dataenv。通常在添加数据环境后,VB编译器会自动添加一个连接(Connection)对象,在属性窗体中将其命名为DataConn。鼠标右键单击Da

34、taConn连接对象,在弹出的菜单中选择“Property”菜单项,将弹出属性设置窗体,该窗体用于设置连接对象DataConn的各项属性,使其连接到所需的Test.mdb数据库。首先设置“提供程序”选项卡。“提供程序”用于表示该数据库应该采用何种进行引擎连接。由于本系统的数据库为Access 2000,因此在“提供程序”选项卡中选择“Microsoft Jet 4.0 OLE DB Provider”,如图3-5所示,单击“下一步”按钮。 图3-5 “提供程序”选项卡 图3-6 “连接” 选项卡进入“连接”选项卡进行设置。在该选项卡中填入数据库名称、登录用户名称及密码等项后,单击“测试连接”按

35、钮,如果连接成功,将弹出消息框说明“测试连接成功”,否则说明“测试连接失败”,如图3-6所示。数据库连接之后,还应该设置数据库的访问权限。选中“高级”选项卡,设置该问权限,选中“ReadWrite”选项,设置数据库访问权限为可读写,如图3-7所示。图3-7 “高级” 选项卡以上设置连接对象属性的过程,等效于在属性窗体中设置连接对象的Name、ConnectiongString、CursorLocation等属性。本例关于连接对象DataConn 的属性设置如表3-8所示。对象属性设置DEConnectionNameConConnectionStringProvider=Microsoft.Je

36、t.OLEDB.4.0;Password=”;DataSource=Test.mdb;Persist Security Info=TrueCursorLocation3-adUseClient表3-8 DataConn的属性设计表3.4.2 数据连接的初始化当系统运行时,可通过数据环境的初始化来完成连接对象的属性设置。数据环境DataEnvironment具有一个Intialize事件,即初始化。也可以通过代码在数据环境初始化时,设置连接对象DataConn的连接字符串属性(ConnectionString)。3.4.3 创建数据命令对象建立数据连接对象DataConn与数据库Test.mdb

37、的连接后,就可以使用数据库中的信息了。一般情况下,需要建立数据命令对象来执行查询语句并获取数据,获取到的数据存放数据集对象中。在数据环境设计器中,首先选中连接对象DataConn,然后单击工具栏中的“Add Command”按钮,这样,即向数据环境中添加了一个命令对象。选中连接对象后,单击鼠标右键,在弹出的菜单中选择“Add Command”菜单项,也能向数据环境中添加命令对象。添加的命令对象的名字,默认情况下通常是Command1,选中该命令对象,单击鼠标右键,在弹出的菜单中选择“Properties”菜单项,将弹出命令对象的属性设置窗体,如图3-9所示。在该话框中的“General”选项卡

38、中主要设置命令对象的名称、所依赖的连接对象、获取数据的来源等。其中获取数据的来源主要包括数据对象和SQL查询语句两类。如果选取数据对象作为数据来源的话,可以选择的数据对象主要包括数据库表、视图、存储过程等;如果选择SQL查询语句中作为数据来源的话,则需要输入SQL查询语句。在命令对象属性窗体中,依次设置“Command Name”为StuTable,“Connection”为DataConn,“Source of Data”选择“DataBase ObJect”,并设置为Table,然后设置Object为Student。实际在DataEnv中创建的命令对象StuTable主要用于读取数据库表“

39、Student”的所有信息,并自动在DataEnv中创建一个名为rsStuTable的数据集对象,用于存放从Student表中读取的所有信息。在命令对象的属性设置窗体中,选择“Advanced”选项卡,设置其中的“Lock”选项值为3-Optimistic,其他的选项接受默认值。 “Advanced”选项卡设置如图3-10所示。 图3-9 命令对象属性设置窗体 图3-10 “Advanced”选项卡如果命令对象获取数据的方式是以SQL查询语句的方式进行的,那么,在设置命令对象的属性时,则“Source of Data”项应该选择“SQL Statements”,并输入相应的SQL语句。向数据环

40、境中加入另一个命令对象。设置其属性“Name”为DelQuestion,“Connection”为DataConn,“Source of Data”为SQL Statement,并且填入相应的SQL语句:Delete * From QuestionPaper该行SQL语句的作用是清除QuestionPaper信息表的所有内容。命令对象添加后的数据环境设置如图3-11 所示。在数据环境DataEnv中有一个数据连接对象DataConn,依赖于连接对象DataConn,另有10个命令对象,其中9个命令对象的数据来源是相应的数据信息表,另一个命令对象则是以SQL语句的方式对数据信息表进行操作。图3-

41、11 命令对象属性设置窗体第四章 设计详情4.1 数据模块与类的设计4.1.1主模块与登录用户类首先向项目中添加一个模块(MainModual)用于各种自定义类型的定义以及声明公有变量。本系统的用户分为3类:学生、教师和管理人员。为了方便管理,将用户类型定义为枚举类型。本系统支持单选题、上机题2种题型,为了使用方便,在模块Main.bas中将题型也定义为一个枚举类型,该枚举类型的值包括 3种值,分别对应二种题型与错误值。向项目中添加一个类模块(LoginUser.cls),类名为LoginUser,该类中记录了登录人员的一般信息。LoginUser类的属性及其用途如表4-1所示。属性名称数据类

42、型说明UserTypeLogType系统用户的登录类型UserPasswordString系统用户的登录密码UserNameString系统用户的的姓名LogTimeDate系统用户登录的时间LogFailBoolean系统用户是否登录失败表4-1 LoginUser类属性及其用途定义LoginUser类的属性之后,还需要定义LoginUser类的方法。类方法也是函数或者过程,其定义与函数或过程的定义相同。在LoginUser类中添加一个Log方法,用于验证用户的登录信息是否与数据库中的用户信息一致。如果用户登录时输入的信息与数据库中的数据相吻合,则认为用户登录正确,可以使用本系统,则Logi

43、nUser类对象的LogFail属性为False,否则,认为用户登录失败,LoginUser 类对象的LogFail属性为True。登录人员类(LoginUser)定义好了之后,就可以在模块MainModual中添加一个LoginUser类的对象实例TestUser。4.1.2 试卷类(QuestionPaper)为了方便管理,本系统将试卷信息也定义为一个类,类名为QuestionPaper。在本系统运行过程中,QuestionPaper类的对象实例将提供对试卷创建、试卷修改、答题、自动评阅等主要功能的支持。试卷类属性如表4-2所示。属性名称数据类型说明SingleSelNum长整型试卷中单选

44、题数EssayQNum长整型试卷中上机题数Created布尔型试卷是否己创建Answered布尔型试卷是否己回答Checked布尔型试卷是否己评阅SubjectiveScore单精度类型学生的主观题部分得分,只读ObjectiveScore单精度类型学生的客观题部分得分,只读QuestionNum长整型试卷中的题目数,只读LastQSerial长整型最后一道题的试卷编号,只读FirstQSerial长整型第一题的试卷编号,只读表4-2 QuestionPaper类属性及说明试卷类的ObjectiveScore属性表示学生类用户的主观题得分。它的基本算法是从试题信息表中选取题目类型为选择题的记录

45、,并计算它们的“Commence”字段的和。 试卷类的Sscore、SubjectiveScore、Oscore以及QuestionNum属性定义与之类似。试卷类的LastQSerial属性和FirstQSerial属性的定义中用到了GetQSerial函数, Get Qserial函数是试卷类中定义的一个方法,用于获取rsQstPaper数据集中第n条记录的试卷编号PaperSerial。试卷类的其他方法如表4-3所示。方法名称说明方法名称说明GetDBRS获取题库数据集GetQSerial获取第n条试题的编号GetQID获取随机问题号GetQuestion获取题目AddQuestion向试

46、卷添加题目GetQuestionID获取问题编号DelQuestion删除一个题目GetType获取试题类型Check评阅试卷GetUserAnswer获取用户答案Creat创建试卷ReportToFile输出试卷到文件GetChoice获取选项SetAnswer回答试卷表4-3 QuestionPaper类方法及说明在试卷类的方法中,GetDBRS和GetQID 是私有类型的,即只能在试卷类QuestionPaper的定义中使用。其中GetDBRS 用于获取某种题型题库的数据集,GetQID用于产生随机的题目编号。后者主要在系统自动创建试卷时使用。试卷类创建完成后,在模块MainModual

47、中创建一个试卷类的实例对象Qpaper。并且,在MainModual中创建一个主过程 Main,在主过程Main中初始化TestUser和Qpaper对象。单击“Project”菜单下的“TestSystem Properties”菜单项,在弹出的对话框中,设置“Startup Object”为Sub Main。这样,项目执行时首先将执行MainModual中的Main过程。4.2 用户界面设置4.2.1 Splash窗体(frmSplash)当单击Splash窗体时,窗体消失,进入主界面。因此,响应Splash窗体的Click 事件,在Form Click事件过程中添加代码如下。Privat

48、e Sub FrameMain_Click()Unload MeMDIfrmMain.ShowEnd Sub如果在一定时间内没有单击Splash Timer Line计时器Timer1每隔0.1秒计时一次,将Line 控件的长度增加20。当Line 控件的长度超过3500时,窗体消失,系统进入主界面。4.2.2 主窗体(MDIfrmMain)添加一个MDI窗体,并取名为 MDIfrmMain ,设置MDI窗体的主要菜单如表4-4所示。菜单项级别属性设置人员一级NameMTest人员登录二绷 NamemtLogin注销登录二级NamemtLogoutEnableFlase退出系统二级Namemt

49、Exit学生一级NamemStudentVisibleFalse开始测试二级NamemsBeginTest信息查询二级NamemsQuerry 教师一级NamemTeacherVisibleFalse生成试卷二级NamemcPaper平时成绩二级NamemcLookThrough修改考卷二级NamemcModify试题管理二级NamemcRefresh评判试卷二级NamemcCheck评判上机题二级NamemcSJ查询结果二级NamemcQuerry管理员一级NameMAnimVisibleFalse信息管理二级NamemaMng关于二级NamemhAbout表4-4 主界面菜单设计4.2.3

50、 登录窗体(frmLogin)本系统的用户分为三类:管理员、学生与教师。在设计登录窗袋子本时,需要输入的信息主要有姓名、口令、登录类型。姓名与口令使用文本框,用户类型使用组合框控件ComboBox来进行选择。登录主要通过loginUser类的对象实例TestUser的Log方法来实现。根据用户登录时在组合框中选择的登录类型,选择不同的数据信息表进行身份验证。登录过程在用户单击“确定”按钮后实现。代码如下;Private Sub CmdOk_Click() If txtUserName.Text = Then MsgBox 请输入姓名, vbCritical, 登录失败 txtUserName.

51、SetFocus Exit Sub End If If txtPassword.Text = Then MsgBox 请输入口令, vbCritical, 登录失败 txtPassword.SetFocus Exit Sub End If Select Case UTypes.ListIndex Case 0 TestUser.Log txtUserName, txtPassword, student Case 1 TestUser.Log txtUserName, txtPassword, teacher Case 2 TestUser.Log txtUserName, txtPasswor

52、d, administrator End Select If Not TestUser.LogFail Then Unload Me Else MsgBox 无法登录, 请重试!, vbCritical, 用户登录 txtUserName.SetFocus SendKeys Home+End End IfEnd Sub4.2.4 创建试卷窗体(frmCreate)本系统采用随机出题的方式。因此,试卷创建窗体应该提供教师类用户进行选择各种题目的数量,可借助OptionButton控件来进行选择。如果是选择系统自动创建试题,还应说明各种题型的题目数,可通过文本输入框来实现,并且可通过 UpDown

53、控件改善文本框的输入。系统自动创建试卷,主要是调用QuestionPaper类的Create方法来创建试卷。教师创建试卷方式则是通过试卷修改窗体来创建试卷。当窗体加载时,初始化Updown控件的值的范围,代码如下。Private Sub Form_Load() DataEnv.rsSingleSelQ.Open udSingleSel.Min = 0 udSingleSel.Max = DataEnv.rsSingleSelQ.RecordCount DataEnv.rsSingleSelQ.CloseEnd Sub如果用户单击“取消”按钮,则退出该窗体而放弃生成试卷,如果用户单击“确定”按钮

54、,那么系统根据用户选择的出题方式作出不同的处理。4.2.5 修改试卷窗体(frmModifyPaper)如果教师类用户创建试卷后单击了“修改试卷”菜单项,都将弹出试卷修改窗体。在该窗体中,允许教师向己有的试卷中加入题目或从试卷中删去题目。修改试卷需要使用到各试题库的信息,因此,在修改试卷窗体中需要定义一个数据集对象,用于访问2种题型的数据集对象。另外,在窗体代码的公共部分还定义了一个表示试题类型的变量Qtype,和一个字符数组表示2题型的名字。除此之外,在窗体公共部分还专门定义了一个过程用于在LisBox列表框控件中显示试卷题目信息,代码如下。Private Sub ListQst() dbr

55、s.Close QstList.Clear Dim iCount As Long Dim Qstring As String For iCount = 1 To QPaper.LastQSerial Qstring = QPaper.GetQuestion(iCount) If Qstring Then QstList.AddItem Qstring End If Next dbrs.Open Set DataLib.DataSource = dbrs DataLib.RefreshEnd Sub窗体加载时,设定数据集对象dbrs访问的是填空题题库,并在DataGrid控件中显示填空题库的信息

56、,在ListBox控件中显示试卷题目信息。如果要选中试题库中的某道题目,可以单击“试题选择”中的5个按钮。其中CmdFirst可选中当前数据集中的第一条记录;CmdPrev 可选中当前数据集中选中记录的前一条记录;CmdNext选中当前数据集中选中记录的后一条记录;CmdLast选中当前数据集的最后一条记录。 如果单击“查询设置”按钮,将弹出查询窗体,实现对当前题库进行过滤,并筛选出满足条件的记录的功能。单击“”按钮时,可将题库中游标所在位置的题目加入到试卷中,在添加时,需要先检查试卷中是否己经有相同的题目;单击“”按钮时,可将试卷中选中的题目删除。Private Sub AddQ_Click

57、() If Not dbrs.EOF And Not dbrs.BOF Then Dim r As Boolean Dim QSerial As Long QSerial = QPaper.LastQSerial + 1 r = QPaper.AddQuestion(QSerial, dbrs.Fields(QuestionID), Ttype, dbrs.Fields(Score) If Not r Then MsgBox 添加试题发生错误,请检查试卷中是否已经有该题目, vbCritical, 添加失败 Else ListQst End If Else MsgBox 请正确选择要加入试卷的题目, vbCritical, 添加失败 End IfEnd SubPrivate Sub DelQ_Click() If QstList.ListIndex 0 Then MsgBox 请选择要删减的题目, vbCritical, 错误 Exit Sub End If Dim S As String Dim p As Integer Dim RCount As Long S =

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!