课程管理系统实验报告

   

关键词: VB6.0;  data控件;  DBGrid控件;Access 2000;  课程管理系统

随着计算机技术日渐成熟,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学校的课程信息进行管理,与手工相比有其无可比拟的优势。例如:检索快速。查找方便、可靠性高、存储量大、保密性好、信息保存时间长等。这些优点能够极大地提高学校课程管理的效率,也是学校管理科学化。正规化的重要条件和标志。

本系统是一个学生课程管理系统,它是高校教务管理系统中的一个子系统。主要用户是学生、教师和管理员。系统方便了解课程信息。方便了教师的教学管理和新课程的录入。更为重要的是,系统方便了学校的教务管理。本系统采用VB语言开发,在VB6.0环境下编写,这是为了使系统的结构更加清晰同时简化开发工作。学生课程管理系统的产生大大减少了人力上的不便,让整个数据管理更加科学合理。本系统最有特色的地方就是后台数据库对学生课程统一管理。系统的界面是运用VB中的GUI制作的,后台数据库Access2000中建有课程表,该表有如下信息:课程号、课程名、学时、学分、开课院系、是否选修六大属性所组成。其中课程号为主码。 本系统可实现课程信息的精确查询,及按课程号进行模糊查询,还可添加课程信息,修改课程信息,删除课程信息等。


目    录

一.      课程管理系统的目标和意义.... 1

1.1      学生课程管理系统的目标... 1

1.1.1           三级标题(标题3)... 1

二.      目前国内外相关工作情况.... 1

2.1      二级标题(标题2)... 1

2.1.1           三级标题(标题3)... 1

三.      系统的总体设计.... 1

3.1      二级标题(标题2)... 2

3.1.1           三级标题(标题3)... 2

四.      课程管理系统的详细规划.... 2

4.1      二级标题(标题2)... 2

4.1.1           三级标题(标题3)... 2

五.      测试.... 2

5.1      二级标题(标题2)... 2

5.1.1           三级标题(标题3)... 2

参考文献.... 3


一.             学生课程管理系统的目标和意义

1.1   学生课程管理系统的目标

设计一个学生课程管理系统,目标是提高学生课程信息管理工作的效率,围绕此管理所需的课程信息,课程和课程以学院之间的关系及课程信息的管理及维护。学生可通过此系统进行课程信息的查询以及同过课程信息完成选课。系统开发的总体任务是实现学生课程管理的系统化、规范化。该系统是高校教务管理系统中的一个子系统。主要用户是学生、教师和管理员。系统方便了课程信息。方便了教师的教学管理和新课程的录入。更为重要的是,系统方便了解学校的教务管理。该项目开发的软件为学校学生课程信息管理系统软件,是鉴于目前学校学生人数剧增,学生课程信息呈爆炸性增长的前提下,学校对课程信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后用于所有教育单位(包括学校。学院等等)的学生课程的管理。

目前社会山的信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理软件来管理自己日益增长的各种信息,课程管理系统也是有了很大的发展,商业化的课程信息管理软件也不少,但本系统完全独立开发,力求是系统功能简洁明了,但功能齐全且易于操作。

1.2   学生课程管理系统的意义

学生课程信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都是至关重要的。国有课程信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统的人工的方式管理文件文档、统计和查询数据,这种管理方式存在着许多去点,如效率低、保密性差,人力的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新、和维护带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识。它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点,例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理、与世界接轨的重要条件。

二.             目前国内外相关工作情况

2.1   VB语言的历史及发展

Visual Basic从1991年诞生以来,现在已经13年了。BASIC是微软的起家产品,微软当然不忘了这位功臣。随着每一次微软技术的浪潮,Visual Basic都会随之获得新生。可以预见,将来无论微软又发明了什么技术或平台,Visual Basic一定会首先以新的姿态登上去的。如果你想紧跟微软,永远在最新的技术上最快速地开发,你就应该选择Visual Basic。

从1998年发布到20##年正式推出Visual Basic. NET简直吊足了开发者的胃口。从20##年就开始传言的具有继承、Try…Catch语句等新功能的全新VB7.0一直没有露面。直到2001 年,Visual Studio.NET的第一个BETA版问世的时候,所有人都呆了——这是Visual Basic吗?And语句变成了BitAnd,数组只能从0下标开始,而且连Dim语句的意义都变了,几乎所有的窗体控件都变了,Long变成了 Integer而Integer变成了Short,Variant不见了,Static不能用了……简直是翻天覆地,人们已经无暇关注这个版本有什么改进,转而担心我怎么才能接受这个本本了。其实Visual Basic. NET完全是为了.NET Framework这一全新的平台而设计的,Visual Basic. NET的设计者一开始没有掌握好新平台和旧语言的平衡。到了BETA2中,很多东西回归了6.0,如BitAnd又变回了And,数组的定义语句也变回了原有的意义,Static也回到了Visual Basic中。但是BETA1惊人的变化让所有的VB开发者怕了,他们觉得这种语言被改的千疮百孔,有些人干脆转去研究传说中的新语言C#。但是 Visual Basic. NET渡过几个BETA版本之后还是找到了正确的定位。Visual Basic. NET有对CLR最完善的支持,同时尽量保留着BASIC易懂的语法风格和易用性。这个版本新增加的功能已经数不清,最重要的几个是:

1、继承。至此,Visual Basic完成了向面向对象转变的道路。

2、共享成员。

3、 Try…Catch结构化异常处理。

4、 Delegate和Interface。

5、 名称空间。

6、 对自由线程的支持。

特别的是,Visual Basic. NET大大减少了Visual Basic语言的关键字,如GoSub、PSet等等。原先的Visual Basic有多达120个关键字,这给写程序带来了很大的不便,现在经过精简,Visual Basic脱下了这个沉重的包袱。

Visual Basic. NET现在是一门现代的、强壮的、面向对象的、简单的可视化开发语言。强大的语言功能吸引了很多开发者。历史是在不断重演的,Visual Basic. NET如今的处境和Visual Basic 4.0很相似,由于兼容性变差,人气也降低了。同时由于依附于.NET Framework,程序发布造成了一定的困难。现在国内使用Visual Basic. NET的人相对于Visual Basic 6.0来讲显得很少。但是凭借Visual Basic. NET强大的语言功能和MS的支持,Visual Basic. NET一定会显出它的光辉来。

2.1.1   VB语言的优点和优势

VB特点:

1、VB是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言;

2、可用于开发Windows环境下的各类应用程序;

3、在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具。

使用VB的优点:

1、简单易学、效率高;使用Windows内部的广泛应用程序接口(API)函数,使用动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件;

2、功能强大,可以与Windowsr专业开发工具SDK相媲美。

三.             系统的总体设计

在数据库开发的前期,一般要对系统的开发目的、使用对象、实现功能等进行详细的分析,确定系统的开发方案。

3.1   系统功能分析

学生课程管理系统的开发目的是管理全校学生的各种信息,方便学生课程信息的查询。系统的使用对象是课程管理部门,如教务处工作人员、校院系领导、班主任、教师等。

学生课程管理系统的功能概括起来就是课程信息的录入、维护和查询。本系统的学生课程管理系统的索要完成的主要功能如下。

(1)       课程信息的录入,包括课程号、课程名、学时、学分、开课院系、是否选修等。

(2)       课程基本信息的修改维护。

(3)       课程信息的查询。

3.2   系统功能模块设计

根据系统所要实现的功能,按照结构化程序设计原则,可将整个系统划分为如图所示的若干功能模块。

3.3   数据库设计

数据库系统设计中使用Access 2000数据库,创建Course表,该表包括课程号、课程名、学时、学分、开课院系、是否选修属性组成,其中课程号为主码,不能为空,其它可为空。表结构如下:

数据库设计E-R图如下:

四.             学生课程管理系统的详细规划

4.1   功能实现

4.1.1   用户界面设计

该界面包括Lable控件、text控件、Command控件、data控件和DBGrid控件。其中在窗体打开事件中添加了如下代码:

Private Sub Form_Load()

Command10.Enabled = True

Command11.Enabled = True

Command14.Enabled = True

Command12.Enabled = False

Command13.Enabled = False

End Sub

该段代码主要是在打开窗体后禁止点击确认和刷新按钮。

4.1.2   查询功能实现

1.       按课程号精确查找

代码如下:

Private Sub Command5_Click()         '按课程号查询记录

Dim BM

BM = Data1.Recordset.Bookmark

Data1.Recordset.FindFirst "CourseID='" & Text7.Text & "' "

If Data1.Recordset.NoMatch Then

MsgBox ("没有符合条件的记录")

Data1.Recordset.Bookmark = BM

End If

End Sub

该查询方法用到data控件的findfirst方法,如果在数据库中找到记录则将指针指向匹配的记录,若没找到,则提示用户未找到记录。

2.       按课程名模糊查找

代码如下:

Private Sub Command6_Click()       '按课程名模糊查询第一条记录

Dim BM

BM = Data1.Recordset.Bookmark

Data1.Recordset.FindFirst "CourseName Like " & "'*" & Text8.Text & "*'"

If Data1.Recordset.NoMatch Then

MsgBox ("没有符合条件的记录")

Data1.Recordset.Bookmark = BM

End If

End Sub

Private Sub Command7_Click()            '按课程名模糊查询下一条记录

Dim BM

BM = Data1.Recordset.Bookmark

Data1.Recordset.FindNext "CourseName Like " & "'*" & Text8.Text & "*'"

If Data1.Recordset.NoMatch Then

MsgBox ("没有符合条件的记录")

Data1.Recordset.Bookmark = BM

End If

End Sub

Private Sub Command8_Click()           '按课程名模糊查询上一条记录

Dim BM

BM = Data1.Recordset.Bookmark

Data1.Recordset.FindPrevious "CourseName Like " & "'*" & Text8.Text & "*'"

If Data1.Recordset.NoMatch Then

MsgBox ("没有符合条件的记录")

Data1.Recordset.Bookmark = BM

End If

End Sub

Private Sub Command9_Click()          '按课程名模糊查询最后一个条记录

Dim BM

BM = Data1.Recordset.Bookmark

Data1.Recordset.FindLast "CourseName Like " & "'*" & Text8.Text & "*'"

If Data1.Recordset.NoMatch Then

MsgBox ("没有符合条件的记录")

Data1.Recordset.Bookmark = BM

End If

End Sub

4.1.3   添加记录功能实现

代码如下:

Private Sub Command10_Click()   '添加新的记录

Data1.Recordset.AddNew

Command10.Enabled = False

Command11.Enabled = False

Command14.Enabled = False

Command12.Enabled = True

Command13.Enabled = False

End Sub

添加新纪录的方法是通过一个鼠标点击事件触发,在该事件中用到了data控件中的Addnew方法。并在写完记录后,还应添加一个按钮来进行确认,该按钮触发的事件代码如下:

Private Sub Command12_Click()    '确认对记录的添加或修改或删除

Data1.Recordset.Update

Command10.Enabled = True

Command11.Enabled = True

Command14.Enabled = True

Command12.Enabled = False

Command13.Enabled = False

End Sub

4.1.4   修改记录功能实现

修改记录是通过data控件中的Edit方法来实现的,同时在数据库中更新,代码如下:

Private Sub Command11_Click()     '修改已有的记录

Data1.Recordset.Edit

Command10.Enabled = False

Command11.Enabled = False

Command14.Enabled = False

Command12.Enabled = True

Command13.Enabled = False

End Sub

4.1.5   删除记录功能实现

删除记录实现提供用户一个对话框,询问用户是否删除当前记录,如果用户点是,则进行删除,点击否的话不进行任何操作,用到的方法是data控件的Delete方法。详细代码如下:

Private Sub Command14_Click()   '删除当前纪录

Dim Msg$

Msg = MsgBox("确定要删除记录吗?", vbYesNo)  '确定删除记录

If Msg = vbYes Then

Data1.Recordset.Delete

Data1.Recordset.MoveNext

If Data1.Recordset.EOF And (Data1.Recordset.RecordCount > 0) Then  ‘删除完后将指针最后的记录

Data1.Recordset.MoveLast

End If

End If

End Sub

五.             测试

5.1.1   添加记录

例如先添加记录,该记录为课程号为002,课程名为数据库,学时为64,学分为8,开课院系为计算机学院,是否为选修为否。如图所示:

记录添加前,未点击确认按钮:

点击确认按钮后,如图所示:

5.1.2   查询记录

查询课程号为002的课程信息,如图所示,记录移向课程号为002的记录:

5.1.3   删除记录

删除课程名为英语的的记录,如图所示:

点击确定后可看见英语的记录不在DBGrid控件中显示,已被删除,如图:


                                                                                                                                                                    参考文献

1         毛海军,唐焕文. 基于Agent的决策支持系统[J]. 计算机工程与应用,2001.37(15):12~13

2         黄梯云. 智能决策支持系统[M]. 北京:电子工业出版社,2001

3         [美]Bruce Eckel著. 京京工作室 译. Java编程思想[M]. 北京:机械工业出版社,1999,4

4         Corry, Mayfield, Cadman. COM/DCOM programming guide[M]. Beijing, Tshinghua University Press,2000

5         童爱红,侯太平。 Visual Basic 数据库编程   清华大学出版社,北京交通大学出版社 2004.6

相关推荐