软件实训报告.docx
- 文档编号:4055737
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:27
- 大小:1.41MB
软件实训报告.docx
《软件实训报告.docx》由会员分享,可在线阅读,更多相关《软件实训报告.docx(27页珍藏版)》请在冰豆网上搜索。
软件实训报告
综合实训报告书
专业:
软件技术
班级:
2012级软件技术
学号:
201201060118
姓名:
王家明
指导教师:
王象刚
实习方向:
考试系统实战
实习时间:
2013年6月17日--2013年7月12日
填表日期:
2013年7月12日
电子信息与传媒学院制
实习题目
考试系统实战
指导教师评语及成绩:
成绩:
教师签名:
职称:
年月日
系审查意见:
审查成绩:
审查人签名:
职称:
系签章:
年月日
教务处终审意见:
终审成绩:
终审人签名:
职称:
公章:
年月日
摘要
随着计算机网络技术、多媒体技术和数据库技术的飞速发展,教育现代化和教育信息化已经成为教学研究的一个重要方向。
本文介绍了使用VB编写计算机考试系统的主要方法和关键技术,并列出了程序框架及相应的代码。
本文旨在针对考试系统的学习,来研究vb的功能。
本书分为11阶段,阶段一为综述,详细讲解了考试系统要实现的功能。
阶段二到阶段十一为具体实现方法。
主要实现的功能是上机考试,自动阅卷,和考试计时。
登陆界面,实现如何登录到考试系统,主要考虑输入正确的真考证和身份证后登录按钮变为可用。
单选,判断,填空,解答,设计实现的都差不多,主要是目录树的设计和保存答案的设计。
目录树设计主要是对应数据库中的数据生成相应的的选项或文本。
而保存答案设计主要考差了对数据库的操作。
交卷评分主要的实现主要是答案的对比,显示分数,试题变为不可操作
显示答案主要是连接数据库为题,并为答案设置不同颜色。
计时设计比较复杂,是考试系统客户端的重点之一,主要是设置时间,计时,在考试快结束时提醒考生,交卷后不在计时,时间到后自动帮考生交卷。
考试系统整体是由这几大块组成的,在讲解考试系统的同时,也为我们系统的学习了vb程序设计的基础,对所见即所得思想有了一个整体的了解。
建设具有深远的现实意义和使用价值。
本文主要通过VB和数据库链接,在写入程序所需的代码,通过程序的运行,最终实现考试自动化的目的。
关键字:
VB上机考试自动阅卷设计编程
第一章引言
近年来,随着技术的进步,编写的程序变得越来越复杂,vb的所见即所得功能,越来越体现出他的重要性。
Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言。
“Visual” 指的是开发图形用户界面 (GUI) 的方法——不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象add到屏幕上的一点即可。
Basic指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 语言,一种在计算技术发展历史上应用得最为广泛的语言。
Visual Basic 在原有 BASIC 语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和 Windows GUI 有直接关系。
专业人员可以用 Visual Basic 实现其它任何 Windows 编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。
Visual Basic Scripting Edition (VBScript) 是广泛使用的脚本语言,它是 Visual Basic 语言的子集,可嵌入HTML语言中,用于网页设计,如ASP(Active Server Page)文件
VB简单易学,通用性强,用途广泛。
VB的功能
VB可以用于可以开发多媒体、数据库、网络、图形等方面的应用程序。
数据访问特性允许对包括MicrosoftSQLServer和其它企业数据库在内的大部分数据库格式建立数据库和前端应用程序,以及可调整的服务器端部件。
有了ActiveX(TM)技术就可使用其它应用程序提供的功能,例如MicrosoftWord字处理器,MicrosoftExcel电子数据表及其它Windows应用程序。
Internet能力强大,很容易在应用程序内通过Internet或intranet访问文档和应用程序,或者创建Internet服务器应用程序。
已完成的应用程序是使用VisualBasic虚拟机真正.exe文件,可以自由发布。
VB中的几个常用术语
工程(Project):
是指用于创建一个应用程序的文件的集合。
对象(object):
可控制的某个东西,VB中主要有两类对象:
窗体和控件。
窗体(form):
应用程序的用户界面,即windows。
控件(control):
指的是各种按扭、标签、文本框等。
属性(property):
是指对象的特性,如大小、标题或颜色。
ActiveX:
ActiveX是基于componentobjectmodel(com)的可视化控件结构的商标名称.它是一种封装技术,提供封装COM组件并将其置入应用程序(如WEB浏览器)的一种方法.ComponentsObjectModel(COM):
是软件组件互相通讯的一种方式。
它是一种二进制和网络标准,允许任意两个组件互相通讯,而不管它们是在什么计算机上运行(只要计算机是相连的),不管各计算机运行的是什么操作系统(只要该操作系统支持COM),也不管该组件是用什么语言编写的。
1.1Vb简介
VB 6.0 的集成开发环境简介
VB 集成开发环境 (IDE——Integrated Developing Environment ) 由以下元素组成:
1. 标题栏
用于显示正在开发或调试的工程名和系统的工作状态(设计态、运行态、中止态)。
2. 菜单栏
用于显示所使用的 Visual Basic 命令。
VB6.0标准菜单包括:
3. 工具栏
在编程环境下用于快速访问常用命令。
缺省情况下,启动 VB后显示“标准”工具栏,附加的编辑、窗体设计和调试的工具 栏可以从“视图”菜单上的“工具栏”命令中移进或移出。
4. 窗体设计器
用来设计应用程序的界面。
启动VB后,窗体设计器中自动出现一个名为Form1的空白窗体,可以在该窗体中添加控件、图形和图片等来创建所希望的外观,窗体的外观设计好后,从菜单中选择“文件”→“保存窗体”→在保存对话框中给出合适的文件名(注意扩展名),并选择所需的保存位置→确定。
需要再设计另一个窗体时,单击工具栏上的“添加窗体”按钮即可。
5. 控件(工具)箱
由一组控件按钮组成,用于设计时在窗体中放置控件。
除了缺省的工具箱布局之外,还可以通过从上下文菜单中选定“添加选项卡”并在结果选项卡中添加控件来创建自定义布局。
6. 弹出式(上下文)菜单
在要使用的对象上单击鼠标右键即可打开快捷菜单,其上会出现与当前对象相关的经常执行的操作,以加快操作速度。
7. 工程管理器窗口
用于浏览工程中所包含的窗体和模块,还可以从中查看代码、查看对象。
8. 属性窗口
是VB中一个比较复杂的窗口,其中列出了对选定窗体和控件的属性设置值。
VB中正是通过改变属性来改变对象的特征,如大小、标题或颜色。
第二章系统分析
要设计考试界面,必须要用VB与数据库链接因此再用到VB知识的同时,数据库知识的方面也很重要。
从本实训要求可以看出,数据库的连接问题仍然是重要的。
2.1数据库及数据表创建的
我们用的是sql数据库,打开数据库,创建新数据库,指定空间后,就可以创建表了。
2.2登录界面
该界面有四个标签控件、三个文本框控件、两个命令按钮控件和一个ADO控件组成。
当输入正确的准考证号和身份证号(来自数据库)按回车键显示考生姓名,同时设置登录按钮为可用,单击登录按钮进入主界面,否则提示"请确认准考证号或身份证号是否正确!
",显示考生姓名为“未知”,同时设置登录按钮为不可用。
要实现此界面的制作,必须设置一下属性
2.3单项选择题界面
该界面有一个TreeView控件一个adodc控件及标签和四个选项按钮组成左边为目录树,目录树可以根据窗口的大小自动缩放,各种题型的节点数量依据数据库中考生题目数量自动生成。
右边为相应的题目和四个答案。
答案由四个单选按钮组成,为四选一的题目。
Treeview属性设计
要实现次界面,必须注意以下几点
1.字符串函数Mid()、Left()和Right();
2.TreeView控件的基本属性、方法和事件,特别是add方法
3.全局变量的使用。
2.4多选题界面
该界面有一个TreeView控件一个adodc控件及标签和四个选项按钮组成左边为目录树,目录树可以根据窗口的大小自动缩放,各种题型的节点数量依据数据库中考生题目数量自动生成。
多选题界面由一个框架、一个标签和四个多选按钮控件组成,为四选多的题目
当单击目录树多选题下的节点时,根据目录树控件选中的节点显示该题的
题目内容、答案选项和考生答案。
当单击答案选项时,将对应的答案保存
到数据库中。
相关属性设置
2.5判断题界面
判断题界面由一个标签和二个单选按钮控件组成,为二选一题目。
当单击目录树判断题下的节点时,根据目录树控件选中的节点显示该题的题目内容、答案选项和考生答案。
当单击答案选项时,将对应的答案保存到数据库中。
2.6填空题界面
填空题界面由一个标签和一个文本框控件组成。
当单击目录树填空题下的节点时,根据目录树控件选中的节点显示该题的题目内容和考生答案。
当考生答案失去输入焦点时,将对应的答案保存到数据库中。
2.7简答题界面
简答题界面由一个标签和一个文本框控件组成。
当单击目录树简答题下的节点时,根据目录树控件选中的节点显示该题的题目内容和考生答案。
当考生答案失去输入焦点时,将对应的答案保存到数据库中。
2.8交卷评分界面
交卷和评分界面由一个Menu控件组成。
共有四个菜单项,分别是交卷、评分、查看答案和退出。
当单击交卷时,修改考试状态、修改菜单状态和修改试题状态为“已考”,并启动评分功能。
当单击评分时,系统自动计算单选题、多选题、判断题、填空题和简答题的成绩,显示考生的总成绩,并修改考试状态为“完成”。
当单击查看答案时,系统自动显示用户选中的题目的正确答案。
当单击退出时,系统退出考试系统。
2.9显示答案界面
显示答案界面由五个文本框和一个通用对话框控件组成。
五个文本框分别对应单选题、多选题、判断题、填空题和简答题的正确答案。
一个通用对话框可以设置正确答案的颜色。
当单击查看答案时,系统自动显示用户选中的题目的正确答案
2.10计时设计界面
计时界面由一个定时控件、一个状态栏控件和一个ADO控件组成。
考生进入考试系统主界面后,开始计时,并在状态栏上实时显示考生姓名、准考证号、身份证号、考生状态、当前时间和剩余时间;当考生交卷后停止计时;当考生剩余时间还有5分钟时,提示考生掌握考试时间;当考生剩余时间为0时,系统自动交卷。
第三章系统设计
3.1数据库设计
3.1.1数据库逻辑设计
根据系统设计实现的需要,首先需要在数据库中建立考生信息表(studentdate),考生信息表的列名为:
考生编号(ID)、考生姓名(studentname)、......
3.1.2数据库物理设计
根据每条记录的相关信息的需要,如:
姓名一般不会超过五个汉字,但各自的名字及字数不尽相同,因此设置属性为varchar(50):
与此相似,其他各条记录属性选择题各条记录属性:
表3-1选择题属性表
3.2界面设计
登陆界面实现
界面的设计有两步:
先绘制控件,然后确定控件属性。
绘制控件:
在工具箱里单击想画的控件,在窗体里按下鼠标并拖曳,然后松开鼠标即可。
确定属性:
先选中控件,然后按F4键或单击工具栏上的属性窗口进入属性(Properties)窗口,再在属性窗口中找到要设置的属性并进行设置。
Ado控件在工程-部件中找到并添加到工具栏中
绘制完成后,在设置属性
(1)Name属性设置对象都有名字,计算机把名字看成对象于对象之间的根本差异,因此在同一窗体里不许出现重名的情况(除非这是一个控件数组),且名字不得超过40个字。
在简单的程序里,给控件命名不是很必要,完全可以使用控件Name属性的缺省值。
例如Text1。
但在有几十个控件的复杂窗体里,就很难区分它们。
所以,VB推荐由三个小写字母的前缀和一个第一个字母为大写的描述性单词组成的名字。
例如cmdMyButton是一个命令按钮(前缀是cmd)
TreeView控件的属性
a)Nodes属性
返回对TreeView控件的Node对象的集合的引用。
object所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。
可以使用标准的集合方法(例如:
Add和Remove方法)操作Node对象。
可以按其索引或存储在Key属性中的唯一键来访问集合中的每个元素。
控件数组
由一组相同类型的控件组成。
它们共用一个控件名,具有相同的属性,建立时系统给每个元素赋一个唯一的索引号(Index)。
控件数组共享同样的事件过程,通过返回的下标值区分控件数组中的各个元素。
多选题实现:
Frame控件设置
(1)框架内控件的创建方法:
方法1:
单击工具箱上的工具,然后用出现的“+”指针,在框架中适当位置拖拉出适当大小的控件。
不能使用双击工具箱上图标的自动方式。
(2)相关属性设置
a)Caption属性:
框架标题
b)Enabled属性:
False:
标题呈灰色,不允许对框架内的对象进行操作。
c)Visible属性:
True:
框架及其控件可见。
False:
框架及其控件被隐含起来。
(3)Click、DblClick事件:
一般不需要编写框架的事件过程。
字符串编码和函数
判断题实现
二、判断题的设计与实现
功能描述:
判断题界面由一个标签和二个单选按钮控件组成,为二选一的题目。
当单击目录树判断题下的节点时,根据目录树控件选中的节点显示该题的题目内容、答案选项和考生答案。
当单击答案选项时,将对应的答案保存到数据库中。
填空题实现
功能描述:
填空题界面由一个标签和一个文本框控件组成。
当单击目录树填空题下的节点时,根据目录树控件选中的节点显示该题的题目内容和考生答案。
当考生答案失去输入焦点时,将对应的答案保存到数据库中。
简答题设计实现
功能描述:
简答题界面由一个标签和一个文本框控件组成。
当单击目录树简答题下的节点时,根据目录树控件选中的节点显示该题的题目内容和考生答案。
当考生答案失去输入焦点时,将对应的答案保存到数据库中。
交卷评分设计
功能描述:
交卷和评分界面由一个Menu控件组成。
共有四个菜单项,分别是交卷、评分、查看答案和退出。
当单击交卷时,修改考试状态、修改菜单状态和修改试题状态为“已考”,并启动评分功能。
当单击评分时,系统自动计算单选题、多选题、判断题、填空题和简答题的成绩,显示考生的总成绩,并修改考试状态为“完成”。
当单击查看答案时,系统自动显示用户选中的题目的正确答案。
当单击退出时,系统退出考试系统。
界面设计:
交卷和评分界面由一个Menu控件组成。
共有四个菜单项,分别是交卷、评分、查看答案和退出
相关知识:
(1)添加窗体
“工程|添加窗体”
添加“现存”窗体时要注意:
防止多个窗体的Name相同而不能添加;
添加的窗体实际是将其他工程中已有的窗体加入,多个工程共享窗体;
通过“另存为”命令以不同的窗体文件名保存,断开共享。
(2)保存窗体
一个工程中有多个窗体,应分别取不同文件名保存在磁盘上,VBP工程文件中记录了该工程的所有窗体文件名。
(4)窗体语句
(1)Load语句:
装入窗体到内存但没有显示窗体
形式:
Load窗体名称
(2)Unload语句:
从内存删除窗体
形式:
Unload窗体名称
(5)窗体方法
a)Show方法:
显示一个窗体(当窗体没有Load,自动Load)
[窗体名称].Show[模式]
0-Modal:
关闭才能对其他窗体进行操作。
1-Modeless,可以对其他窗体进行操作。
b)Hide方法:
隐藏窗体,没有Unload删除
[窗体名称.]Hide
(6)不同窗体间数据的存取
a)存取控件的属性
另一窗体名.控件名.属性
b)存取变量的值
2、菜单的设计
(1)菜单编辑器的使用
工具/菜单编辑器(Ctrl+E);
窗体上快显菜单/菜单编辑器。
常用属性:
a)标题(Caption)热键前面加&
b)名称(Name)文本框分隔符也应有名称
c)快捷键(Shortcut)菜单名没有快捷键
d)复选(Checked)检查框
e)有效(Enabled)检查框
f)可见(Visible)检查框
(2)菜单项增减
在程序运行时,菜单随时增减,如“文件”菜单能保留最近打开的文件数。
这同控件数组一样,使用菜单数组。
步骤:
1.在菜单设计时,加入一个菜单项,其Index为0(菜单数组),Visual为False。
2.在程序运行时,通过Load方法向菜单数组增加新的菜单项。
同样,要删除所建立的菜单项,使用UnLoad方法向菜单数组减少菜单项。
(3)弹出菜单(快捷菜单)
弹出菜单是独立于窗体菜单栏而显示在窗体内的浮动菜单。
显示位置取决于单击鼠标键时指针的位置。
设计与普通菜单相同(如果不希望菜单出现在窗口的顶部,该菜单名Visible属性设置为False)。
菜单弹出的方法:
[对象.]PopupMenu菜单名,标志,x,y
标志,表示弹出的位置和触发的键
显示答案设计
功能描述:
显示答案界面由五个文本框和一个通用对话框控件组成。
五个文本框分别对应单选题、多选题、判断题、填空题和简答题的正确答案。
一个通用对话框可以设置正确答案的颜色。
当单击查看答案时,系统自动显示用户选中的题目的正确答案。
界面设计:
显示答案界面由一个Menu控件组成。
共有四个菜单项,分别是交卷、评分、查看答案和退出。
相关知识:
属性:
Action:
打开通用对话框。
DialogTiltle:
对通用话框标题。
CancelError:
True:
选择“取消”按钮,出现错误警告;
Err.Number置为32755(cdCancel)。
False(缺省):
选择“取消”按钮,没有错误警告。
(1)文件对话框(打开、保存)
需设置的属性:
“打开”文件对话框属性页
属性:
FileName:
包含路径;
FileTitle:
不包含路径。
Filter:
过滤文件。
例如:
Documents(*.DOC)|*.DOC|TextFiles(*.TXT)|*.txt|AllFiles|*.*
FilterIndex:
决定在文件类型列表框中显示第几组类型的文件。
InitDir:
初始化路径。
(2)“另存为”对话框
没有提供真正的存储文件操作,仍需要编程完成储存操作。
属性:
DefaultExt:
缺省扩展名。
(3)“颜色”对话框
属性Color:
返回或设置选定的颜色。
(4)“字体”对话框
Flags属性:
指示所显示的字体类型,必须设置。
cdlCFScreenFonts&H1屏幕字体
cdlCFPrinterFonts&H2打印机字体
cdlCFBoth&H3打印机字体和屏幕字体。
cdlCFEffects&H100显示删除线和下划线检查框以及颜色组合框
(5)“打印”对话框
属性:
FromPage:
起始页号;
ToPage:
终止页号;
Copies:
打印份数。
如果打印驱动程序不支持多份打印,该属性有可能始终返回1。
(6)“帮助”对话框
帮助文件需要用其他的工具制作,如MicrosoftWindowsHelpCompiler。
属性:
HelpCommand:
在线Help帮助类型;
HelpFile:
Help文件的路径及其名称;
HelpKey:
在帮助窗口显示由该帮助关键字指定的帮助信息。
计时设计实现
1、文件的读写的设置
文件:
存储在外部介质上数据的集合。
按名存取
记录:
由若干个相互关联的数据项组成。
例如,命令:
Write#1,"One","Two",123
内容:
"One","Two",123
c)关闭文件
Close[[#]文件号][,[#]文件号]...
例如,Close#1,#2,#3
(3)读顺序文件设置
INPUT#文件号,变量列表
把读出的每个数据项分别存放到所对应的变量。
LINEINPUT#文件号,字符串变量
读一行到变量中,主要用来读取文本文件。
INPUT$(读取字符数,#文件号)
随(4)函数
LOF(文件号):
返回文件的长度(总字节数)。
EOF(文件号):
返回读写位置。
第四章系统调试
通过对考试系统的分析和设计,当编写晚一些代码,系统实施运行之时,却出现了一些问题。
4.1登陆界面
问题:
不用输考号就能登录
原因:
没有把登录控件设置为不可用
4.2选择题
问题:
答案不能保存
原因:
PrivateSubchkKey_Click(IndexAsInteger)
strStuKey=""
IfchkKey(0).Value=CheckedThen
strStuKey=strStuKey+"A"
EndIf
IfchkKey(0).Value=CheckedThen
strStuKey=strStuKey+"B"
EndIf
IfchkKey(0).Value=CheckedThen
strStuKey=strStuKey+"C"
EndIf
IfchkKey(0).Value=CheckedThen
strStuKey=strStuKey+"D"
EndIf
Adodc1.Recordset.Fields.Item("stukey")=strStuKey
Adodc1.Recordset.Update
EndSub中chkkey(0)中没有吧0替换1,2,3;
4.3判断题
问题:
不出答案
解决:
PrivateSuboptJudgeKey_Click(IndexAsInteger)
Adodc1.Recordset.Fields.Item("stukey")=Chr(65+Index)
Adodc1.Recordset.Update
EndSub
4.4填空题
问题:
文本不能输入
解决:
文本控件设置为可用
4.5简答题
问题:
不出现问题项
解决:
tvwTopic.Nodes.Add,,"ShortAnswer","简答题"
Adodc1.RecordSource="select*fromShortAnswerwherestudentcode='"+StudentCode+"'"
Adodc1.Refresh
Fori=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)