课程管理系统的设计与实现

2017-04-27 10:57郑志荣
电脑知识与技术 2016年29期
关键词:实现设计

郑志荣

摘要:随着计算机软件的发展,很多人工对数据的管理都逐渐被计算机软件所淘汰。目前各大高校都会针对本学院实际情况采购整套教务管理系统,方便学院的教务管理。但对于部分小的学校和培训机构,不愿意承担更多的经费来采购大的教务管理系统,仅仅是为了解决课程管理方面的问题,那么用本文所提出的课程管理系统就可以实现课程安排、课程管理以及班级课表查询等功能。

关键词:课程管理系统;设计;实现

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)29-0120-02

1系统的实现目标

通过本系统,可以实现对本学院的教学任务进行录入、课程进行编排。通过计算机智能排课,把2系统模块设计

本系统主要有以下模块:

1.1课程管理模块

1)课程库管理

2)课程安排

3)课程安排查询

4)班级课表

1.2系统维护模块

1)用户管理

2)关于

3)帮助

4)退出系统

2详细设计

2.1课程管理模块

课程管理模块能实现对人才培养方案所规定的课程进行导人,对教学计划进行调整。并可通过手工增加课程信息,完成课程管理的基本功能,比如输入课程信息、修改课程信息、修改教室信息、删除课程信息、备份课程信息等。本节内容包括如下几个方面:课程管理模块的分析;窗口基本空间的实际;软件界面的设计;软件数据库的构建。

1)模块功能分析

实现思路:课程信息保存在Course数据表中,通过ADO的Recordset对象从数据表中取出记录,并通过DataGrid表格将数据显示在数据表上,实现数据的浏览。由于是单表操作,可以通过Recordset对象的AddNew、Delete、Updme等方法可以实现添加、删除和修改功能。

2)窗体的设计

单击“工程”菜单下的——“添加窗体”,给工程创建一个新的窗体控件,窗体的控件属性如下所示:

将窗体保存为kechengguanh.frm。

3)课程管理模块界面的设计

课程管理模块界面设计一定要人性化,便于用户操作。颜色上选择浅色作为底色,在窗体上添加日期选择框、文本框控件、按钮控件、组合框控件以及若干标签和数据控件。其中dt-pBeginDate是日期选择框。数据表格dbgClass的设置可以参考“院系设置模块”中对dbgDepart的操作。

4)模块功能的实现

窗体卸载过程,在窗体的卸载过程中完成以下功能:断开数据表格和数据集的绑定;关闭打开

的数据集;断开模块和数据库的连接;

释放ADO对象实例。代码如下:

Private Sub Form_Unload(Cancel As Integer)

Set dgCourse.DataSource=Nothing

rs.Close

Conn.Close

Set rs=Nothing

Set Conn=Nothing

End Sub

数据浏览功能的实现:

通过四个导航按钮实现对数据库的浏览。代码如下:

Private Sub cmdFirst_Click0

If rs.RecordCount>0 Then rs.MoveFirst

End Sub

Private Sub cmdLast_Click0

If rs.RecordCount>0 Then rs.MoveLast

End Sub

Private Sub cmdNext_Click0

If Not rs.EOF Then rs.Mo eNext

If rs.EOF And rs.RecordCount>0 Then

rs.MoveLast

End If

End Sub

Private Sub cmdPrevious_Click()

If Not rs.BOF Then rs.MovePrevious

If rs.BOF And rs.RecordCount>0 Then

rs.MoveFirst

End If

End Sub

记录添加功能的实现:

界面上的文本框没有和数据集绑定,在里面输入数据并不影响数据集里面的记录。当单击[添加]按钮时,利用Recordset对象的AddNew方法将文本框中的数据加到数据集中。添加前先对数据进行规格化处理,然后验证數据的合法性,并利用另一个Recordset对象检查课程编号的合法性。使用AddNew方法添加记录后,数据只保存在缓冲区中,需要调用UpdateBatch(或者Update)方法将数据写到数据库中。注意,rsValid使用完毕后应该将其释放。

数据修改/保存功能的实现:

当用户按下[修改]按钮时,请数据集中的字段信息取出放到文本框中供用户修改,使[保存]按钮能够被用户单击,以保存修改后的数据。Credit和Period是数值型字段,需要进行类型转化。

[保存]按钮功能的实现和[添加]按钮比较相似,不同的是如果课程编号被修改,为了保持数据库的完整性,其他数据表(包括选课数据表、成绩数据表)中的课程编号也应作相应的修改,也就是数据的“级联更新”。级联更新通过ADO的Com—mand对象来实现,利用该对象执行一个更新数据的SQL语句实现对表中多条数据的一次性更新。使用Command对象时,注意Command对象属性的设置。

当用户单击导航按钮移动数据集指针后,为了防止单击[保存]按钮错误修改数据,应禁止[保存]按钮。在代码编写窗口对象组合框中选择“rs”,从事件组合框中选择“MoveCom-Dlete”事件。

2.2课程编排模块

课程编排模块主要负责人物、时间、地点等要素的合理分配,智能编排出科学合理的课表。主要涉及录入教室信息、教室信息、课程信息和各种约束条件。软件设计内容包括如下几个方面:模块分析;窗体的创建;模块用户界面的设计;模块功能的实现。

2.2.1模块功能分析

实现思路:可以列出所有班级和课程供用户选择安排,已经安排好的课程用表格显示出来供用户修改、删除。数据的显示通过ADO的Recordset对象实现,数据的添加、修改、删除通过ADO的Command对象完成。

2.2.2窗体的设计

在工程中新建一个窗体,将窗体保存为FormCourseAr-range.frm。窗体的主要属性设置如下表所示:

2.2.3课程安排查询模块

课程安排模块实现对各门课程安排情况的查询。本节内容包括如下几个方面:模块分析;窗体的创建;模块用户界面的设计;模块功能的实现。

1)模块功能分析

实现思路:为了便于用户查询课程安排情况,可以从常用的几个选项来查询。比如按教室查询课程情况;按教师查询课程情况;按课程名查询任课信息等。使用组合框或者多选项来完成。用户只需要点击相关选项,输入必须的关键字段,比如教室号或者教师名等信息,就将课程安排的整体情况显示出来。设置导出和打印按钮控件,方便用户导出编辑或者直接打印课表安排信息。

2)窗体的设计在工程中新建一个窗体,将窗体保存为CourseQuery.frm。窗体的主要属性设置如下表所示:

3)模块功能的实现

仿照前面的程序代码,不难实现本模块。这里只简要说明编程思路。窗体加载时,需要将所有课程的编号填充到组合框中;为了初始化界面,应在窗体加载过程中调用组合框的Click事件;组合框被单击时,需要显示该课程的基本信息;组合框被单击时,还需要将该课程被安排的情况显示在表格中。具体的编程实现可参考“课程安排”模块。

2.2.4班级课表查询模块

课程课表查询模块实现对各班级的课程安排情况的查询。本节内容包括如下几个方面:模块分析;窗体的创建;模块用户界面的设计;模块功能的实现。实现思路:本模块和“课程安排查询”模块都是查询选课数据表(CourseSelectl,不同之处在于本模块是按照班级查询选课课表,而“课程安排查询”模块是按照课程查询。窗体的设计与前面的模块设计基本类似,不再介绍。

3系统的编译和发行

所有模块设计完成以后,系统的工程窗口应该如右图所示。单击[运行]→[启动]菜单项(或者按F5功能键),运行程序,输入实验数据,测试系统的功能,如果有任何问题请检查、修改各项设置和程序代码。单击[文件]→[生成教学管理系统.exe]菜单项,Visual Basic编译生成一個可执行文件教学管理系统.exe。将教学管理系统.exe和教学管理系统.mdb复制到任意一个文件夹或者其他的机器上,双击教学管理系统.exe,进行独立运行测试。

4总结与提高

本文采用ADO方式设计开发了一套课程管理系统。与数据控件方式比较,采用ADO方式设计开发编程的技术难度更大,不过ADO方式更加灵活,可读性,稳定性更高。特别是在软件开发的实际中,采用AOD方式设计开发的方式应用更为普遍。软件开发过程用,用户的需求永远是第一位的,在保证软件实现功能的基础上,尽最大可能的满足用户操作,界面设计友好,操作简单,便于上手操作。对某些细节问题进行适当的处理。ADO对象库中,部分对象的功能重叠,例如,Recordset对象、Command对象、Connection对象都可以实现数据的添加、修改和删除,但不同对象处理的相同功能的方式是不一样的,以添加数据为例,使用Command对象效率更高,而使用Record-set对象操作更加方便一些。在学习ADO编程时应仔细体会它们的区别,以便更好地掌握它们。

猜你喜欢
实现设计
何为设计的守护之道?
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
信息系统安全评价系统设计及实现
高校声像档案数字化管理的实现路径
办公室人员尚需制定个人发展规划
浅析铁路通信传输的构成及实现方法
设计之味