第五章 系统各模块的实现及有关流程图 5.1 系统模块概述 paper51.com 由于本系统是一种演示型教学软件,而且其使用对象是大学教师、观看用户是大学生,所以在进行系统模块设计的时候,必须考虑此两种对象的心理、年龄、性格特点,针对其所具知识层面的差异性、相近性、思维发散能力,以及语言的互通性特点,在结合自身学习实践、教师调查取证、同学调查的基础上,在本系统中采用了以下的设计思路: paper51.com
paper51.com paper51.com 5.2 系统启动界面的实现 内容来自www.paper51.com 在系统启动界面里面,使用了进度条控件,通过在Form_Load()事件中编写如下代码: paper51.com
paper51.com
Dim i As Integer 内容来自论文无忧网 www.paper51.com For i = 0 To 100 Step 4 paper51.com
ProgressBar1.value = I 内容来自论文无忧网 www.paper51.com
Sleep 100 http://www.paper51.com
DoEvents paper51.com Next i paper51.com
内容来自www.paper51.com
实现一个虚拟的动态装载程序的过程,如图(1)。在此过程后,用户可以点击界面上的手型图标(此时鼠标形状变为指向左的手形),即可进入主界面。图(2)所示。而在窗体加载的过程中将伴随一段背景音乐。 http://www.paper51.com
内容来自www.paper51.com
5.3 课程设置界面的实现 paper51.com 课程设置界面主要由两个功能模块组成。其一是“课程选择”模块;其二是“更新课程”模块。在这个界面里,作为用户可以在课前设置教授的课程内容,并及时地对课程内容加以更新、修改。由于不同用户间其教学理念的差异及讲授课程的不同,在进行具体的软件设计时无法完全满足用户需求,而且在不同时期教师的授课方式及秉承的教学理念会相应地作出调整,授课对象的接受差异性也要求软件的调适性要高一些,所以为了契合计算机教学的发展趋势,使该软件能够为绝大多数计算机高级语言教师所采纳,创建了这一界面。如图(3)所示。 内容来自论文无忧网 www.paper51.com 为了实现课程选择,在界面上放置了combo控件,以便用户来选择讲授课程。当用户对所选课程进行了“确定”操作后便会进入相应的教学讲授界面。 内容来自www.paper51.com 而更新课程则和combo控件间形成对应关系,只有在确定讲授课程后,用户才能对课程内容进行更新。 内容来自论文无忧网 www.paper51.com 在此基础上为便于用户进出系统,通过imagelist控件设置了图(3)右下方的电脑图标按钮以退出系统。 copyright paper51.com 5.4课程选择模块的实现 copyright paper51.com 简单地说,课程选择其实是进入课程讲学的媒介。通过它,用户可以很方便地选择自己所需要的教学内容来实现授课目的。如现在选择了“Visual Basic 6.0”,则其教学界面如图(4)。 内容来自论文无忧网 www.paper51.com
copyright paper51.com 内容来自www.paper51.com 图(4)教学界面 copyright paper51.com 教学主界面管理模块主要由功能区和演示区两部分组成。功能区由弹出式菜单和ToolBar中 http://www.paper51.com 的控制按钮组成,每个菜单项对应相应的控制按钮,实现功能。由于本系统的特殊性,在设计该管理模块之时定义了七个功能项,用以实时调用,完成“课堂讲学”“实例讲演”“特殊示例”“课堂小结”“课后作业”“实验环境”“帮助”“退出”的功能。而演示区则提供给用户一个显示内容的空间。 paper51.com 5.4.1课堂讲学单元和课后作业单元 copyright paper51.com
课堂讲学单元和课后作业单元是实现在演示区显示授课内容和课后作业的功能。由于这里要访问在ACCESS2000中建立的表vblesson和vbhomework、vbmhomework、vbhhomework,所以要利用Visual Basic6.0中的数据访问接口。 内容来自论文无忧网 www.paper51.com Visual Basic6.0有三种可用的数据访问接口:数据访问对象(DAO)、远程数据对象(RDO)以及ActiveX数据对象(ADO)。 copyright paper51.com 数据访问对象(DAO,DATAACCESS OBJECTS)是第一个面向对象的接口,它显露了Microsoft Jet数据库引擎(由Microsoft Access所使用),并允许VB开发者通过ODBC直接连接到Access数据库,最适用于单系统应用系统或小范围本地分布使用。 copyright paper51.com RDO(DATA ACCESS OBJECTS)远程数据对象是一个到ODBC的、面向对象的数据访问接口,它同易于使用的DAO组合在一起,提供了一个接口,在形式上展示出所有ODBC的底层功能和灵活性。它是一个适用于大型关系型数据库(如Oracle、Server等)的最佳接口。 copyright paper51.com
ADO是类似于DAO和RDO的面向对象的数据库访问技术,它比RDO和DAO更加简单、更加灵活。不仅扩展了前两者所使用的对象模型,而且支持建立客户端/服务器以及Web应用程序的关键功能。 内容来自论文无忧网 www.paper51.com
基于三者的特征以及所构筑系统的特点,选择ADO进行数据访问。而ADO大部分功能的实现依赖的是Connection、Recordset等对象。以下图来参看ADO的对象层次: http://www.paper51.com
内容来自论文无忧网 www.paper51.com 图中显示的带阴影的对象具有Property对象的属性集合,可以设置各种参数。在本教学软件中主要采用到的对象有: http://www.paper51.com Connection对象,用于和数据源建立连接; 内容来自www.paper51.com Recordset对象,用于指定从命令对象中获取数据的运行参数; 内容来自论文无忧网 www.paper51.com
Field对象,表示一个记录集中数据的某个单独的字段。 内容来自论文无忧网 www.paper51.com 实现的技术手段为: paper51.com
内容来自论文无忧网 www.paper51.com Public connection As New ADODB.connection //定义新连接 http://www.paper51.com Dim DATASET As New ADODB.Recordset //定义记录集 内容来自www.paper51.com
Dim connectstring As String 内容来自论文无忧网 www.paper51.com
connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\book.mdb" 内容来自www.paper51.com
//创建数据源连接 copyright paper51.com
On Error GoTo exitsub //错误检测 paper51.com connection.Open connectstring //开启连接 paper51.com Exit Sub paper51.com
exitsub: paper51.com MsgBox "数据库打开错误!", vbOKOnly + vbExclamation, "警告" 内容来自论文无忧网 www.paper51.com End paper51.com
Resume Next http://www.paper51.com
为了访问后台数据库中特定的表,必须为记录集指定表,其语法描述为: 内容来自论文无忧网 www.paper51.com Recordset.Open Source, ActiveConnection,CursorType, LockType, Options 内容来自www.paper51.com 例如要访问的是vblesson表,则可以通过下面的语句来实现该功能: copyright paper51.com paper51.com DATASET.Open "SELECT * FROM vblesson", Form2.connection, adOpenKeyset, adLockOptimistic copyright paper51.com
为了能够随时调用需要用的教学内容,在功能区的按钮区域“课堂讲学”“课后作业”分别设置了弹出式菜单。前者对应的是每一章每一小节的内容,后者则对应作业的初、中、高三个级别。鉴于课堂讲学内容的特殊性(有相应的实例教学),所以在判断后台数据库记录集内容的基础上,给每个二级子菜单定义了如下程序: 内容来自www.paper51.com 5.4.2 实例讲演单元和特殊示例单元 http://www.paper51.com 实例讲演和特殊示例单元是本系统中最重要的两个单元。通过引入实例来引导学生进行语言的学习。 copyright paper51.com 其实实例化教学很早就被提上教学议事日程,但是将它真正在教学软件中实践的时期却比较短。由于大学计算机高级语言是一个抽象化的概念,如果单纯依托文字的讲演,达不到较好的教学效果,反而会引起学生对概念的困惑。一般来说,学生对新鲜事物都有比较浓厚的兴趣。当然对计算机也不例外,事实上好多学生通过玩游戏、上网和多媒体制作等对计算机产生了浓厚的兴趣,因为他们觉得这些好玩、有趣。但是一旦他们接触到变量、函数、语句等时,就立刻觉得枯燥乏味,对其失去了信心。其实,这只不过是传统教学方法带来的后果,我们完全可以通过实例化教学来改变这种状况。 paper51.com
实例化教学的目的是通过举例使学生掌握相关的知识点,而每次举例总会或多或少的涉及到一些新的知识点。这些新知识点的传授若是按传统的教学方法是先讲例子中要用到的知识点,然后再举例说明这些知识点的应用。而实例化教学刚好相反,它先是给学生演示具体的例子,告诉学生这个例子实现了哪些功能,而这些功能的实现需要用到哪些方法,以引起学生的好奇与思考,带着问题进入正式的学习的阶段,从而大大激发学生的求知欲,使学生在听课的时候有明确的学习目标,知道该向哪个方向努力。 http://www.paper51.com 在本单元中主要是利用菜单通过shell函数来动态调用外部的实例程序。 copyright paper51.com Shell的语法:shell(pathname[,windowstyle]) http://www.paper51.com 其中,Pathname是必要参数,代表要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器;Windowstyle是可选参数,其类型是Variant(Integer),表示在程序运行时窗口的样式。 内容来自www.paper51.com 如果shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果不能打开命名的程序,则会产生错误。 paper51.com 在特殊示例单元则主要选取了一些大学计算机高级语言课程中较常出现的一些程序,如单重循环、双重循环、选择法排序(升序)、冒泡法排序(升序)、传址参数示例、传值参数示例等。应该说这几个程序示例在各语言的学习中是比较重要而且难以理解的,为了让听课者能够充分了解程序的执行过程,进一步学习语言,在这一环节主要采用了动画实现的方式。 内容来自论文无忧网 www.paper51.com
内容来自www.paper51.com
图(6) paper51.com 如在选择法排序中,首先在窗体上放置16个文本框,上方8个文本框用来放置随机产生的8个数,下方的8个文本框则是用来显示选择法排序每个阶段的数据排列情况。界面如图(6)所示: copyright paper51.com 为了让演示能够更直观更能反映选择法排序(升序)的作用,在程序的一开始就设置出现的数据项是随机的,其代码如下: 内容来自www.paper51.com 内容来自论文无忧网 www.paper51.com Private Sub Command1_Click() http://www.paper51.com Const n = 7 内容来自论文无忧网 www.paper51.com Dim a(n) As Integer http://www.paper51.com Dim i, j, temp As Integer 内容来自www.paper51.com Randomize //产生随机的八个数 paper51.com For i = 0 To n http://www.paper51.com a(i) = Int(Rnd * 90 + 10) paper51.com Text1(i).Text = a(i) //在上方文本框中显示随机数值 内容来自www.paper51.com Text2(i).Text = Text1(i).Text //在下方文本框中显示相应数值 copyright paper51.com
Next i copyright paper51.com
End Sub 内容来自论文无忧网 www.paper51.com 内容来自www.paper51.com |