宿舍管理系统课程设计讲课稿.docx
《宿舍管理系统课程设计讲课稿.docx》由会员分享,可在线阅读,更多相关《宿舍管理系统课程设计讲课稿.docx(22页珍藏版)》请在冰豆网上搜索。
宿舍管理系统课程设计讲课稿
宿舍管理系统课程设计
课程管理系统课程设计说明书
摘要:
宿舍管理系统是一个学校不可缺少的部分,它的内容对于管理者和学生来说都至关重要,所以宿舍管理系统应该能够为管理者提供充足的信息和快捷的查询手段。
本文介绍了宿舍管理系统的整个开发过程,阐述了宿舍管理系统的设计背景,对整个系统进行了需求分析、功能分析以及总体设计、详细设计和系统实施的全过程。
过程采用VB作为开发工具,SQLServer2014作为数据库管理工具。
关键词:
宿舍管理、VB、SQLServer2014
第1章序言
1.1课程设计的目的
SQL数据库管理与设计课程设计是在学完了SQL数据库管理、设计的相关内容后的一次综合实践过程。
它一方面要求学生在设计中能初步学会综合应用过去所学过的全部课程,另外也为搞好毕业设计的相关题目做一次综合训练。
学生应当通过该课程设计在下述各方面得到锻炼:
1.能熟练运用SQL数据库管理与设计课程中所学的基本原理、基本内容,学生通过设计训练,应能熟练掌握SQL数据库系统的有关管理与设计的基本方法。
2.通过对开发的SQL数据库系统进行的系统分析、系统设计、编码、调试及维护工作的实践,了解SQL数据库应用系统的一般设计思路,管理的一般方法,深入了解SQL数据库构架大型数据库系统的过程、原则及方法。
1.2宿舍管理系统的设计背景
学生宿舍管理历来是学校管理工作中不可或缺的一部分。
由于近年来我校规模逐渐扩大,从而使学生信息量变得越来越庞大,靠人工记录存档不但相当麻烦还极易出错,而且一旦需要查找某些记录将花费大量时间和人力,效率很低。
由此可见,传统的靠宿舍管理人员手工记录的宿舍管理方式已经不能适应目前正在高速发展的信息化时代了,我们需要一种具备检索迅速、查找方便、可靠性高、存储量大等特性的新的方式来取代旧的人工方式,计算机化管理正是这样一种理想的选择。
它所提供的后台数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。
这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式,使得人们从繁重的海量数据处理维护中解脱出来,换而代之的是界面友好,设计极具人性化的前台应用程序,使用者会感到操作非常方便。
1.3宿舍管理系统的基本内容
本文通过对宿舍管理系统相关数据流程分析,根据宿舍管理系统的需要,以及需求分析,设计出能满足用户需求的各种实体以及实体之间的关系。
在宿舍管理系统开发过程中,需要对系统进行用户需求分析、功能分析、流程设计、功能设计、概念结构设计、逻辑结构设计、物理结构设计和详细设计。
通过数据库建立相应的数据信息,采用VB作为开发工具来实现这一系统设计。
第2章课程管理系统的系统分析
2.1宿舍管理系统的需求分析
我校现有文瀛苑、文韬苑、文澜苑和怡丁苑等21座宿舍楼,通过对部分学生宿舍楼的实地调查,我们了解到现在的学生宿舍管理仍停留在完全的人工管理阶段,楼管处没有标准的住宿学生存档信息。
这种人工管理方式费时、费事、费力,工作效率低下。
开发出合适的学生宿舍管理系统,可以方便学生宿舍的管理,提高宿舍管理工作效率及查询效率。
宿舍管理处位于进门左侧,对于宿舍所有的人员信息都收录在一本信息管理册中,遇到需要核对的信息,需要与信息册逐条核对。
2.2宿舍管理系统的可行性分析
1)技术可行性
系统通过VisualBasic软件和SQLServer2014的强大功能来开发与实现。
由Microsoft公司推出的VisualBasic提供了为数据结构和应用环境开发而设计的面向对象环境,它功能强大且易于使用。
无论是组织信息、运行查询、创建集成的关系型数据,还是为最终用户编写功能,全面的数据管理应用程序,VisualBasic都可以提供所需的所有工具。
SQLServer2014为用户提供了完整的数据库解决方案,它是一个杰出的数据库平台,可用于大型联机事务处理、数据仓库、以及电子商务等。
2)经济可行性
主要从对项目的经济上进行分析评价。
一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等方面;另一个是取得的收益。
这是个小型管理系统,从投入的人力、财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以投入使用。
从节省人力方面,该系统可以让管理人员从以往繁杂的工作中解脱出来,做更多的工作,更好的对学生宿舍进行管理,为学生提供更方便、快捷的服务。
3)操作可行性
本系统是应一般用户对系统进行操作的需求而设计的,因此,提供友好的用户界面和简单操作都是系统应该考虑的。
整个系统在用户登陆、信息录入、宿舍信息查询等功能上实现了很好的操作可行性。
2.3系统功能分析
本阶段需要通过用户走访、查阅资料等手段了解用户行进的工作流程。
并以作为基础确定系统的功能,构建系统的逻辑模型。
最后完成系统概念结构设计及数据分析。
经过调查研究并结合实际情况,归纳以下一些是学生宿舍管理系统所必须考虑的要求:
宿舍基本信息(实现对宿舍编号、应住人数及实住人数的统计);宿舍信息修改(对宿舍相关信息如宿舍电话、空床位进行修改)。
第3章课程管理系统的总体设计
3.1构造系统的逻辑模型
构造系统逻辑模型的工具是数据流程图和数据字典。
数据流程图中没有任何具体的物理元素,只是用来描绘信息在系统中的流动和处理情况。
根据学生宿舍管理系统的需求分析,由此可以得到该系统模型,如图3-1所示:
图31系统模型图
3.2软件系统结构的设计
通过前面的需求分析,可以将本系统分为主要3个功能模块:
宿舍信息维护模块、宿舍信息查询模块、宿舍信息统计模块,总体软件结构图如图3-2所示。
图32系统结构图
3.3宿舍管理系统的系统流程图
通过模块化的方法划分宿舍管理系统的功能,用户要实现宿舍信息查询以及进行宿舍信息维护、统计的功能。
基于功能分析,借助于VB实现此功能从而进行整个流程分析实现宿舍管理系统的开发,然后对各功能进行详细设计。
图33系统流程图
3.4宿舍管理系统的数据流图
宿舍管理系统的数据流分析包括系统总数据流分析,宿舍信息维护的数据流分析,宿舍查询信息的数据流分析,宿舍信息统计的数据流的分析,它们的数据流图如下:
图34系统数据流图
3.5宿舍管理系统的概念结构设计
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。
概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,提取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确的加以描述。
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。
E-R图(EntityRelationshipDiagram)为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
实体型:
用矩形表示,矩形框内写明实体名;
属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来;
联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来。
本系统的数据库实体主要有“宿舍”。
其E-R模型图如下图所示:
图35宿舍E-R模型图
3.6宿舍管理系统的数据字典
数据字典是数据库系统中存放三级结构定义的数据库。
用户对数据库的操作都要通过数据字典才能实现。
对数据库设计来讲,数据字典是进行数据搜集和数据分析所获得的主要成果。
数据字典是各类数据描述的集合,通常包括数据项、数据结构、数据流、数据存储和处理过程五部分。
数据项是不可再分的数据单位。
宿舍管理系统的数据项如下表3-1所示:
表31宿舍管理系统的数据项表
数据项
含义说明
类型
长度
宿舍编号
识别每个宿舍编号
char
10
宿舍楼号
对应不同的宿舍楼
char
4
应住人数
应住人数
int
实住人数
实住人数
int
空位数
每个宿舍空位数
int
宿舍电话
每个宿舍的电话
char
10
录入日期
数据录入日期
date
3.7宿舍管理系统的物理结构设计
经过数据库系统分析和逻辑设计后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。
逻辑结构设计是面向用户的,而物理结构设计是面向计算机的。
数据库物理结构设计的主要任务就是给逻辑数据模型选择一种最适合应用要求的物理结构。
其主要内容有数据库存储结构设计、存储路径和存储方法的选择、数据索引的建立等。
高效的物理数据结构既能为系统节省存储空间,又能提高存储速度。
系统开发人员在系统实施阶段可以依据物理结构设计的内容,利用所选择的数据库管理系统对存储的数据库进行相应的操作。
数据库存储结构一般包括二维表的字段名、字段含义、数据类型、字段长度、说明等项目,下表是以宿舍管理系统的关系数据模型为依据来设计的数据库存储结构。
表32宿舍信息表
列名
数据类型
字段长度
是否为空
说明
编号
char
10
否
宿舍编号
楼号
char
4
否
宿舍楼号
应住
int
否
应住人数
实住
int
否
实住人数
空位
int
否
空位数
电话
char
10
否
宿舍电话
日期
date
否
录入日期
第4章宿舍管理系统的详细设计
4.1课程管理系统SQL数据库建立
4.1.1数据库的创建
打开SQLServer2014,连接服务器,新建数据库,并命名为“宿舍”。
图41新建数据库
4.1.2表的创建及信息导入
建立宿舍信息表,并导入宿舍信息。
图42创建表
图43导入宿舍信息
图44建立约束
4.2课程管理系统界面设计
4.2.1登陆界面
图45登录界面流程图
图46登录界面图
在用户名称处输入用户用户名编号和密码,如果信息正确,则可以成功登陆。
4.2.2主界面
图47主界面
4.2.3宿舍信息维护
图48宿舍信息维护界面
宿舍信息的添加、修改、删除:
图49添加界面
图410添加信息流程图图411信息修改流程图图412删除信息流程图
4.2.4宿舍信息查询界面
图413宿舍信息查询流程图
图414宿舍信息查询界面
4.2.5宿舍信息统计界面
图415宿舍信息统计流程图
图416宿舍信息统计界面
第5章总结
经过近两周的课程设计,我们小组在设计过程中克服了种种困难,完成了课程管理系统。
由于自身专业知识有限,基础知识不够扎实,我们所设计出来的系统还不够完善,在许多方面还存在不足,距离设计任务书上的要求还存在一定的距离。
由于以前只是在课堂上学习VB和SQLserver技术及基础理论知识,对于它的开发技术掌握的还不够熟练,对于管理系统的内部运作还不了解,所以在程序的开发过程中遇到了很多困难,在小组同学的激烈讨论以及老师的指导帮助下,我们不断的攻克难关,逐步完成了课程管理系统的设计。
在设计过程中,我学会了对课程管理系统的总体规划、课程管理系统设计的可行性研究、课程管理系统系统用户需求分析、课程管理系统设计的功能设计和数据库设计及程序设计,知道了怎样在VB中连接数据库来运行。
这使我不仅对网络数据库技术和VB两门课程理论知识有了较好的巩固,同时对于自身的实际动手能力和思维创新能力都有了较大的提高。
参考文献
1.林卓然.VB语言程序设计—北京:
电子工业出版社,2009.1
2.陈慧娟,高波涌等.数据库设计与应用开发实践—北京:
清华大学出版社,2014
3.逯燕玲,戴红等.网络数据库技术—北京:
电子工业出版社,2009.8
4.周爱武,汪海威等,数据库课程设计—北京,机械工业出版社,2012.4
5.巩建华,孙秀梅等,VisualBasic学习手册—北京,电子工业出版社,2011.4
附录程序部分代码
1信息维护界面部分代码
PrivateSubCommand3_Click()'单击删除按钮
IfMsgBox("确定要删除当前记录吗?
",vbYesNo+vbDefaultButton2+vbQuestion)=vbYesThen
Adodc1.Recordset.DeleteadAffectCurrent
Label8.Caption=""
Label9.Caption=""
Label10.Caption=""
Label11.Caption=""
Label12.Caption=""
Label13.Caption=""
Label14.Caption=""
IfNotAdodc1.Recordset.BOFThen'不在第一行则向上移一行
Adodc1.Recordset.MovePrevious
ElseIfNotAdodc1.Recordset.EOFThen'否则不在最后一行则向下移一行
Adodc1.Recordset.MoveNext
Else
MsgBox"没有任何记录!
"
EndIf
EndIf
EndSub
PrivateSubCommand4_Click()'单击保存按钮
Adodc1.Recordset.Update'将修改后数据存入数据库
Adodc1.Recordset.Fields(0)=Trim(Text1.Text)
Adodc1.Recordset.Fields
(1)=Trim(Combo1.Text)
Adodc1.Recordset.Fields
(2)=Trim(Combo2.Text)
Adodc1.Recordset.Fields(3)=Trim(Combo3.Text)
Adodc1.Recordset.Fields(4)=Trim(Label15.Caption)
Adodc1.Recordset.Fields(5)=Trim(Text2.Text)
Adodc1.Recordset.Fields(6)=Trim(DTPicker1.Value)
Adodc1.Recordset.Update'更新数据库
DataGrid1.Refresh'刷新表格
MsgBox"修改成功!
"'修改成功
EndSub
2添加界面部分代码
PrivateSubCommand1_Click()
IfText1.Text=""OrCombo1.Text=""OrCombo2.Text=""OrCombo3.Text=""OrLabel8.Caption=""OrText2.Text=""Then
MsgBox"请完善信息!
"'完善信息
Else
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields(0)=Trim(Text1.Text)
Adodc1.Recordset.Fields
(1)=Trim(Combo1.Text)
Adodc1.Recordset.Fields
(2)=Trim(Combo2.Text)
Adodc1.Recordset.Fields(3)=Trim(Combo3.Text)
Adodc1.Recordset.Fields(4)=Trim(Label8.Caption)
Adodc1.Recordset.Fields(5)=Trim(Text2.Text)
Adodc1.Recordset.Fields(6)=Trim(DTPicker1.Value)
Adodc1.Recordset.Update
Form2.Adodc1.Recordset.Update
Form2.Adodc1.Refresh
MsgBox"增加记录成功!
",,"提示"'添加成功
Text1.Text=""
Text2.Text=""'清空界面
Label8.Caption=""
EndIf
EndSub
3宿舍信息查询界面部分代码
PrivateSubCommand1_Click()'单击查询
Command2.Visible=True'显示全部按钮可见
Ifrs.State=1Then'如果记录集已打开则关闭
rs.Close
SelectCaseCombo1.Text'按宿舍编号查询
Case"宿舍编号"
rs.Open"select*fromsushe1where编号='"&Text1.Text&"'orderby日期",cn,adOpenDynamic
Ifrs.RecordCount=0Then
MsgBox"没有符合条件的记录"
ExitSub
EndIf
Case"宿舍楼号"'按楼号查询
rs.Open"select*fromsushe1where楼号='"&Combo2.Text&"'orderby日期",cn,adOpenDynamic
Ifrs.RecordCount=0Then
MsgBox"没有符合条件的记录"
ExitSub
EndIf
Case"应住人数"'按应住人数查询
rs.Open"select*fromsushe1where应住='"&Combo2.Text&"'orderby日期",cn,adOpenDynamic
Ifrs.RecordCount=0Then
MsgBox"没有符合条件的记录"
ExitSub
EndIf
Case"实住人数"'按实住人数查询
rs.Open"select*fromsushe1where实住='"&Combo2.Text&"'orderby日期",cn,adOpenDynamic
Ifrs.RecordCount=0Then
MsgBox"没有符合条件的记录"
ExitSub
EndIf
Case"空位数"'按空位数查询
rs.Open"select*fromsushe1where空位='"&Combo2.Text&"'orderby日期",cn,adOpenDynamic
Ifrs.RecordCount=0Then
MsgBox"没有符合条件的记录"
ExitSub
EndIf
Case"宿舍电话"'按电话查询
rs.Open"select*fromsushe1where电话='"&Combo2.Text&"'orderby日期",cn,adOpenDynamic
Ifrs.RecordCount=0Then
MsgBox"没有符合条件的记录"
ExitSub
EndIf
Case"录入日期"'按日期查询
rs.Open"select*fromsushe1where日期='"&Format(DTPicker1,"yyyy-mm-dd")&"'orderby日期",cn,adOpenDynamic
Ifrs.RecordCount=0Then
MsgBox"没有符合条件的记录"
ExitSub
EndIf
EndSelect
EndIf
rs.Update'更新记录集
SetDataGrid1.DataSource=rs
DataGrid1.Refresh
EndSub
4宿舍信息统计界面部分代码
PrivateSubForm_Load()
Adodc1.RecordSource="selectcount(编号)asbianhaofromsushe1"
Adodc1.Refresh
Label6.Caption=Adodc1.Recordset.Fields("bianhao").Value
Adodc2.RecordSource="selectsum(应住)asyingzhufromsushe1"
Adodc2.Refresh
Label7.Caption=Adodc2.Recordset.Fields("yingzhu").Value
Adodc3.RecordSource="selectsum(实住)asshizhufromsushe1"
Adodc3.Refresh
Label8.Caption=Adodc3.Recordset.Fields("shizhu").Value
Adodc4.RecordSource="selectsum(空位)askongweifromsushe1"
Adodc4.Refresh
Label9.Caption=Adodc4.Recordset.Fields("kongwei").Value
Adodc5.RecordSource="selectcount(电话)asdianhuafromsushe1"
Adodc5.Refresh
Label10.Caption=Adodc5.Recordset.Fields("dianhua").Value
EndSub