面向对象程序设计课程设计.docx
- 文档编号:12221171
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:27
- 大小:314.74KB
面向对象程序设计课程设计.docx
《面向对象程序设计课程设计.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计课程设计.docx(27页珍藏版)》请在冰豆网上搜索。
面向对象程序设计课程设计
第一章系统概述2
1.1系统介绍2
1.2使用计算机管理学生信息的意义2
1.3系统的主要功能2
第二章开发环境3
2.1Windows下的VisualBasic编程环境介绍3
2.1.1VisualBasic的功能简介3
2.1.2开发工具VisualBasic的使用3
2.2Windows下SQLserver2000的环境介绍4
2.2.1SQLserver2000简介4
2.2.2开发环境的建立5
第三章系统设计6
3.1系统框架6
3.2数据库设计7
3.2.1概念结构设计7
3.2.2逻辑结构设计7
3.2.3物理结构设计8
3.3总体结构设计11
第四章系统实现12
4.1主模块12
4.1.1设计启动屏幕12
4.1.2设计系统主体窗口13
4.1.3设计系统登录窗体15
4.2系统用户管理模块15
4.3系部信息管理模块16
4.4班级信息管理模块17
4.5教师信息管理模块17
4.6学生信息管理模块18
4.7课程管理信息模块19
4.8选课信息管理模块20
4.8.1设计学生选课窗体20
4.8.2设计成绩管理窗体20
4.9选课数据查询模块21
4.9.1设计教学班学生信息查询窗体21
4.9.2设计学生个人成绩查询窗体22
第五章总结24
第一章系统概述
1.1系统介绍
计算机已经成为我们学习和工作的得力助手。
今天,计算机的价格已经十分低廉,性能有了长足的进步,它已经被应用于许多领域。
为了解决传统学生信息的管理正面临着的这些问题,学生信息管理系统软件也就应运而生了。
1.2使用计算机管理学生信息的意义
由于我国有些学校学生信息的管理水平比较低,只停留在纸介质的水准上,这样的机制很明显地已不能适应时代的发展要求,它浪费了过多的人力及物力,还存在一些先天缺陷。
在信息时代,这种传统的管理方法被以计算机为基础的信息管理方法取代已是大势所趋。
归纳起来,学生信息管理系统做到一下功能比较合令人满意:
首先,可以存储历届的学生信息,安全、高效;
其次,系统可操作性强,能够节省人力,最好只需一到二名信息录入员;
再次,查找信息速度快、效率高,可以检索有条件信息;
再其次,为将来学校实现网络化教育做准备。
1.3系统的主要功能
系统具备的功能如下:
(1)实现学生基本情况的录入、修改、删除等基本操作。
(2)对学生基本信息提供灵活的查询方式。
(3)完成一个班级的学期选课功能。
(4)实现学生成绩的录入、修改、删除等基本操作。
(5)能方便的对学生的个学期成绩进行查询。
(6)具有成绩统计、排名等功能。
(7)能输出常用的各种报表。
(8)具有数据备份和数据恢复功能。
第二章开发环境
本章主要介绍了在程序,系统开发过程中所用到的软件和硬件环境,以及各类工具在windows2000环境下的安装与调试。
2.1Windows下的VisualBasic编程环境介绍
2.1.1VisualBasic的功能简介
(1)面向对象的可视化编程方法:
用传统程序设计语言设计程序时,大都是通过编写程序代码来实现用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察,这很麻烦,大大影响了软件开发的效率。
VisualBasic则是应用的面向对象的程序设计方法(OOP),提供了可视化的设计方法,它把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。
(2)结构化程序设计语言:
VisualBasic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。
(3)事件驱动编程机制:
VisualBasic通过事件来执行对象的操作。
一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。
(4)访问数据库功能:
VisualBasic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,并提供了强大的数据存储和检索功能。
(5)动态数据交换(DDE)功能:
利用动态数据交换(DynamicDataExchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。
(6)对象的链接与嵌入(OLE)功能:
对象的链接与嵌入(OLE)将每个应用程序都看作是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。
(7)动态链接库(DLL)功能:
VisualBasic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。
2.1.2开发工具VisualBasic的使用
VisualBasic应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等,这些对象和控件中都可在许多程序中重复使用,使其具有了最广大意义上的可通用性和扩展性。
使用VisualBasic的菜单编辑器即可建立菜单或者修改已经存在的菜单。
由于大家对菜单等的使用已驾轻就熟,现着重对主要控件的使用作个介绍:
首先,选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。
在“控件”选项卡列表中选择“MicrosoftWindowsCommonControls6.0”,然后,在工具箱中增加该控件,即可实现控件的添加。
1.ToolBar控件:
ToolBar控件与Office97种看到的ToolBar是类似的ToolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。
2.ImageList控件:
ImageList用于为其他控件提供图像库,属性定义与数据条对应的ImageList控件名,该控件定义工具条按钮显示的图像。
3.Align控件:
定义工具条在窗体中的位置
4.ToolTipText控件:
是字符串类型,定义控件的提示字符
5.Style控件:
定义按钮外观。
6.HotImangeList控件:
设置ImageList控件名,使控件定义按钮获得热点时显示的图像。
7.DisabledImageList控件:
定义工具条按钮无效时显示的图像。
2.2Windows下SQLserver2000的环境介绍
2.2.1SQLserver2000简介
SQLServer2000是微软公司推出的大型数据库管理系统,建立在成熟而强大的关系模型基础之上,可以很好地支持客户机/服务器网络模式。
SQLServer2000是一个杰出的数据库平台,能够满足各种类型的企事业单位对构建网络数据库的需求,同时还具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等。
它与Windows操作系统紧密集成,具有方便易用的图形界面,并提供了一套完整的管理工具和实用程序,大大减轻了管理员的工作量,使用户对数据库的操作变得非常简单,使许多以前需要手工进行处理的复杂任务,现在可以通过图形化界面和向导工具来轻松地完成。
正是由于SQLServer2000具有操作简单、功能强大、安全性高等特点,目前已经成为各类学校学习大型数据库管理系统的所选对象之一。
2.2.2开发环境的建立
1.确保SQLServer2000服务器正常工作
(1)SQLServer2000安装完毕后,启动【服务管理器】。
(2)启动服务器上的【企业管理器】,查看【企业管理器】是否能够正常管理。
2.测试SQLServer2000和本地服务器的连接
(1)启动【查询分析器】。
由于【查询分析器】首选必须连接服务器,然后才能工作。
出现【连接到SQLServer】界面,在【SQLServer】文本框中输入本地服务器的别名,或者单击【添加】按钮将客户机能够自动识别的别名添加进来。
完成设置后单击【确定】按钮。
(2)成功连接到本地数据库服务器界面。
表明连接参数配置正确,如果不能出现此界面,则需要仔细检查本地服务器参数是否正确。
3.测试VB和SQLServer2000的连接
(1)启动VB,在【快捷按钮栏】单击【数据视图窗口】按钮。
(2)出现【数据视图】窗口。
在列表框中选择【数据链接】用鼠标右键单击,在出现的快捷菜单中选择【添加数据链接】选项。
(3)出现数据链接属性的【提供程序】选项卡。
在【选择您希望连接的数据】列表框中选择“MicrosoftOLEDBProviderforSQLServer”选项,单击【下一步】按钮。
(4)出现【连接】选项卡。
按照服务器的身份验证模式不同进行选择,在【在服务器上选择数据库】下拉列表框中可以选择服务器上已经存在的数据库。
单击【测试连接】按钮。
(5)VB程序通过SQLServer2000成功连接本地服务器后出现成功连接界面,表明VB可以正常连接SQLServer2000数据库服务器,也就是本地服务器。
第三章系统设计
3.1系统框架
通过调查,学校目前在学籍管理这方面也基本上实现了用计算机的管理,对系统用户、系部信息、班级信息、教师信息、学生信息以及课程信息很好地进行了管理,但是,也还有很多需要慢慢改进的地方,比如选课管理不够完善,系统响应速度太慢等问题。
本学生学籍管理系统主要涉及到系统管理员、教师和学生用户,对应相应的管理模块,其组织结构图3-1如下:
图3-1学生学籍管理组织结构图
业务流程图是一种表明系统内各单位,人员之间的业务关系,作业顺序和管理信息流动的流程图,它可以帮助分析人员找出业务流程中的不合理迂回。
学生学籍管理系统的需求分析的重点是对学籍管理信息系统的业务流程进行描述,通过采用流程图中的部分图形来对学生学籍管理活动进行规范化说明,如图所示:
图3-2系统业务流图
3.2数据库设计
3.2.1概念结构设计
概念结构设计通常是使用E-R图对它的描述工具进行设计,对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型,设计E-R图。
现以学生信息管理为例,通过系部和班级相关联得出学生信息管理E-R图,如下图3-3所示:
图3-3学生信息管理E-R模型
3.2.2逻辑结构设计
逻辑结构设计应该首先选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的数据库管理系统。
逻辑结构设计时一般要分两步进行:
(1)将概念结构转换为一般的关系、网状、层次模型,并将转化来的关系、网状、层次模型向特定数据库管理系统支持下的数据模型转换
(2)对数据模型进行优化
本系统中逻辑结构设计主要是将概念结构设计阶段设计好的的ER图转换成具体的数据库管理系统支持的数据模型。
关系模型的逻辑结构是一组关系模式的集合。
而E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。
所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:
一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。
如下图3-4所示数据库E-R概念模型。
E-R图向关系模型转换的结果如下所示:
系统用户信息(用户名、口令);
系部信息(系编号、系名称);
班级信息(编号、名称);
学生信息(编号、系编号、班编号、姓名、性别、生日、住址、电话、Email,简历);
教师信息(编号、姓名、系编号、电话,Email);
课程信息(编号、名称、教师、学分);
选课记录信息(编号、学生、课编号、成绩);
图3-4数据库E-R概念模型
3.2.3物理结构设计
根据逻辑关系模型可直接设计基于某种数据库管理系统支持的物理结构,我们知道关系数据库是由表构成的,所以依据系统用户信息、系部信息、班级信息、学生信息、教师信息和课程信息在数据库中建立相应的表。
本系统采用的后台数据库是MicrosoftSQLServer2000数据库系统,本数据库名称为“student.mdb”,其中包含七张表,它们分别是管理员表(管理员)、系部信息表(系部信息)、班级信息表(班级信息)、学生信息表(学生信息)、教师信息表(教师信息)、课程信息表(课程信息)和选课记录表(选课记录)。
各表结构分别如以下列表所示。
(1)系统用户数据表(user)
系统用户数据包含的数据项有用户名、口令,数据表中各字段的属性如图3-5所示。
图3-5“user”表的各字段属性
(2)系部信息数据表(department)
系部信息数据包含的数据项有系编号和系名称的属性如图3-6所示。
图3-6“department”表的各字段属性
(3)班级信息数据表(class)
班级信息数据包含的数据项有编号和名称字段的属性如图3-7所示。
图3-7“class”表的各字段属性
(4)教师信息数据表(teacher)
教师信息数据包含的数据项有编号、姓名、系编号、电话和Email,数据表中各字段的属性如图3-8所示。
图3-8“teacher”表的各字段属性
(5)学生信息数据表(student)
学生信息数据包含的数据项有编号、系编号、班编号、姓名、性别、生日、住址、电话、Email和简历,数据表中各字段的属性如图3-9所示。
图3-9“student”表的各个字段属性
(6)课程信息数据表(course)
课程信息数据表包含的数据项有编号、名称、教师和学分,数据表中各字段的属性如图3-10所示。
图3-10“course”表的各字段属性
(7)选课记录数据表(selectclass)
选课记录数据包含的数据项有编号、学生、课编号和成绩,数据表中各字段的属性如图3-11所示。
图3-11“selectclass”表的各字段属性
3.3总体结构设计
本系统是一个典型的信息管理系统,主要目标是让使用它的管理用户,包括系统管理员、教师和学生,能很好地管理有关学生学籍方面的工作,比如系统管理员负责日常的学籍管理工作,如各种基本信息的录入、修改、删除等操作,教师使用该系统可完成教学班级信息查询和成绩管理,而学生使用该系统主要完成选课和成绩查询等操作。
根据需求分析中列出的学生学籍管理系统的八个基本模块,如下图所示:
图3-12学生学籍管理系统总体结构图
由上述的系统总体结构图所示,将一个开发的学生学籍管理系统分成八个子模块,他们分别为:
系统用户管理模块、系部信息管理模块、班级信息管理模块、教师信息管理模块、学生信息管理模块、课程信息管理模块、选课信息管理模块和选课数据查询模块,通过这些子模块完成各项功能。
如课程信息管理模块主要完成对课程信息的录入与编辑;选课数据查询模块主要完成对教学班学生信息的查询和学生个人的成绩查询。
第四章系统实现
4.1主模块
4.1.1设计启动屏幕
第一步,设计启动屏幕窗体。
窗体命名为frmSplash,保存为frmSplash.frm。
第二步,实现启动屏幕功能。
(1)测试数据库连接。
在启动屏幕显示时,使用Connection对象的open方法来打开数据库联接。
如果不能联接到数据库,将会出错。
在窗体的getfocus事件过程中完成数据库联接测试,实现代码如下:
PrivateSubForm_GotFocus()
OnErrorGoToDealError
Me.Enabled=False
DimobjCnAsNewCollection
WithobjCn
.Provider="SQLOLEDB"
.ConnectionString="UserID=sa;PWD=123;DataSource=(local);"&"InitialCatalog=学籍管理"
.Open
.Close
EndWith
SetobjCn=Nothing
lable7="已联接到数据库服务器"
Timer1.Interval=3000
Me.Enabled=True
ExitSub
DealError:
MsgBox"不能正确联接数据库服务器,请与系统管理员联系",vbInformation
UnloadMe
EndSub
(2)实现关闭启动屏幕。
4.1.2设计系统主体窗口
第一步,设计系统主窗体。
系统主窗体使用MDI窗体,在窗体中通过菜单来执行各项系统功能。
在接下来设计的窗体中,将它们的MDIChild属性设置为True。
窗体命名为frmSysMain,保存为frmSysMain.frm。
系统主窗体设计如下:
图4-1系统主窗体
第二步,实现系统菜单功能。
(1)实现窗体初始化。
在系统主窗体加载时,根据当前用户身份启动不同的系统功能,实现代码如下:
PrivateSubMDIForm_Load()
IfcurrentUserType="学生"Then
mmuSys.Enabled=False
mmuQueryList.Enabled=False
ElseIfcurrentUserType="教师"Then
mmuUser.Enabled=False
mmuTeacher.Enabled=False
mmuGrade.Enabled=False
mmuDepart.Enabled=False
mmuClass.Enabled=False
mmuStudent.Enabled=False
EndIf
EndSub
(2)实现关闭系统主窗体。
在用户选择“文件”/“退出”菜单命令时,执行UnloadMe语句关闭系统主窗体。
在关闭时,在QueryUnload事件中请求用户确认,确认后退出系统。
(3)实现系统功能菜单。
在用户执行系统功能菜单命令时,执行相应窗体的Show方法来显示系统功能子窗体,实现代码如下:
PrivateSubmmuChoose_Click()
frmSelectClasses.Show:
frmSelectClasses.SetFocus
EndSub
PrivateSubmmuClass_Click()
frmclass.Show:
frmclass.SetFocus
EndSub
PrivateSubmmuDepart_Click()
frmDepartment.Show:
frmDepartment.SetFocus
EndSub
PrivateSubmmuGrade_Click()
frmGrade.Show:
frmGrade.SetFocus
EndSub
PrivateSubmmuQueryList_Click()
frmTeaching.Show:
frmTeaching.SetFocus
EndSub
PrivateSubmmuQueryScore_Click()
frmScoreQuery.Show:
frmScoreQuery.SetFocus
EndSub
PrivateSubmmuScore_Click()
frmScore.Show:
frmScore.SetFocus
EndSub
PrivateSubmmuStudent_Click()
frmStudent.Show:
frmStudent.SetFocus
EndSub
PrivateSubmmuTeacher_Click()
frmTeacher.Show:
frmTeacher.SetFocus
EndSub
PrivateSubmmuUser_Click()
frmManagers.Show:
frmManagers.SetFocus
EndSub
4.1.3设计系统登录窗体
用户必须提供正确登录信息,才能启动系统主窗体。
在系统登录窗体中,用户需要输入用户名和口令,并可请求验证或退出登录。
在实现验证功能时,限制了用户登录验证的次数,超过限定次数登录窗体会自动关闭。
窗体命名为frmLogon,保存为frmLogon.frm。
第一步,设计系统登录窗体。
系统登录窗体设计如下:
4-2系统登录窗体图
第二步,实现系统登录功能。
(1)实现窗体级变量。
(2)实现窗体初始化。
(3)实现登录身份验证。
(4)实现退出登录功能。
(5)实现窗体清理功能。
4.2系统用户管理模块
系统用户管理指对系统管理员的登录信息数据进行添加、修改和删除等操作。
窗体命名为frmManagers,保存为frmManagers.frm。
第一步,设计系统用户管理窗体。
系统用户管理窗体设计如下:
图4-3系统用户管理窗体图
第二步,实现系统用户管理窗体。
(1)实现窗体级变量。
(2)实现窗体初始化。
(3)实现记录导航条功能。
(4)实现添加记录功能。
(5)实现删除记录功能。
(6)实现输入及检验功能。
(7)实现保存功能。
(8)实现关闭窗体功能。
(9)实现窗体清理功能。
4.3系部信息管理模块
系部信息管理指对系部信息数据执行添加、修改和删除等操作。
窗体命名为frmDepartment,保存为frmDepartment.frm。
第一步,设计系部信息管理窗体。
系部信息管理窗体设计如下:
图4-4系部信息管理窗体图
第二步,实现系部信息管理窗体功能。
(1)定义窗体级变量。
(2)实现窗体初始化。
(3)实现记录导航条功能。
(4)实现添加记录功能。
(5)实现删除记录功能。
(6)实现输入及检验功能。
(7)实现保存功能。
(8)实现关闭功能。
(9)实现窗体清理功能。
4.4班级信息管理模块
班级信息管理指对班级信息数据执行添加、修改和删除等。
窗体命名为frmGrade,保存为frmGrade.frm。
第一步,设计班级信息管理窗体。
班级信息管理窗体如下:
图4-5班级信息管理窗体图
第二步,实现班级信息管理功能。
(1)定义窗体级变量。
(2)实现窗体初始化。
(3)录导航条功能。
(4)实现添加记录功能。
(5)实现删除记录功能。
(6)实现输入及检验功能。
(7)实现保存功能。
(8)实现关闭功能。
(9)实现窗体清理功能。
4.5教师信息管理模块
教师信息管理指对开课教师信息数据执行添加、修改和删除等。
窗体命名为frmgTeacher,保存为frmTeacher.frm。
第一步,设计教师信息管理窗体。
教师信息管理窗体如下:
图4-6教师信息管理窗体
第二步,实现教师信息管理窗体。
(1)定义窗体级变量。
(2)实现窗体初始化。
(3)实现记录导航条功能。
(4)实现添加记录功能。
(5)实现删除记录功能。
(6)实现输入及检验功能。
(7)实现保存功能。
(8)实现关闭功能。
(9)实现窗体清理功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 课程设计