宿舍管理系统.docx
《宿舍管理系统.docx》由会员分享,可在线阅读,更多相关《宿舍管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
![宿舍管理系统.docx](https://file1.bdocx.com/fileroot1/2022-12/28/005a4b15-ede1-444c-a121-4cbd733b277c/005a4b15-ede1-444c-a121-4cbd733b277c1.gif)
宿舍管理系统
宿舍管理系统
一、课程设计的目的和意义
在现代的高校宿舍管理工作中,由于高校扩招,学生人数巨增,传统的管理方法已经不适合高校宿舍管理的需要,以前在管理方面采用的管理系统有一些落后,随着学生人数的不断增加,该系统在数据管理方面有一些混乱,越来越不能适宜管理的需要,因此需要一个功能更完善,操作更方便,容量更大的管理信息系统。
因此宿舍管理系统是各大高校所需要使用的一个管理系统.由于宿舍系统是一个比较大型的信息管理系统,它需要专业的工作人员才能完成复杂的功能,而且不同的高校的管理内容和方式有所不同.信息系统分析与设计是学习完《信息系统分析与设计》课程后进行的一次全面的综合练习。
其目的在于加深对信息系统基础理论和基本知识的理解,初步掌握使用信息系统分析、设计的基本内容和方法,提高解决实际问题的能力。
作为学习,我们设计这个管理系统不可能作一个标准的应用系统,而只是制作了一个有一般代表意义的小型宿舍管理系统.这样既深化了理论知识也提高了实践能力.
二、系统功能设计
用户登录界面
系控制界面
图1-2第二轮H图
在本系统中,将实现以下功能:
★学生住宿记录管理.
★删除记录管理.
★学生综合查询.
本系统将基本实现宿舍管理的大部分功能,具有很大的启发
三、数据库设计
1.1.1,数据库需求分析
数据库需求分析是数据库结构的第一个阶段,也是非常重要的一个阶段.在这个阶段主要是收集其本的数据,数据结构及数据处理的流程,组成一份详尽的数字字典,为以后进一步设计打下基础.在具体调查高校宿舍管理过程的基础上,得出主要解决的两个问题:
★ 内容要求.调查管理系统用户所需要操作的数据,决定用户在数据库中存储什么数据.
★ 处理要求.调查管理系统用户要求对数据作什么样的处理,理清数据库中各种数据之间的关系.
解决这两个问题的时候,程序编制人员需要向应用系统用户详细调查,保证信息收集的完整性,否则有可能后面所有的工作都白费.
在数据库需求分析后应该得到一个数据字典文档,包括:
★ 数据项.包括名称,含义,类型,取值范围,长度以及和其它数据项之间的逻辑关系.
★ 数据结构.若干个数据项的有意义的集合,包括名称,含义以及组成数据结构的数据项
★ 数据流.指数据库中数据的处理过程,包括输入和输出.
针对本系统.通过宿舍管理内容和过程进行分析,所设计的数据项和数据结构如下:
◆学生基本信息.包括的数据项有:
姓名,学号,性别,年龄,年级,专业,籍贯,班级,院系.
◆宿舍情况.包括:
宿舍号,宿舍楼号
◆住宿分配情况.包括:
宿舍楼号,宿舍号,学号
◆学校院系,专业,年级和班级结构表.包括:
院系,年级,专业和班级.
◆用户表.包括:
用户名,密码和自动编号.
1.1.2数据库概念结构设计
在创建系统之前,我们首先创建一个"宿舍管理数据库".在该数据库中,创建一个"管理员表","学生库信息表","宿舍库信息表","住宿分配表"
图1-2 管理员实体E-R图
图1-4 宿舍实体E-R图
图1-5 宿舍实体E-R图
图1-3 学生实体E-R图
图1-6 实体之间关系E-R图
1.1.3数据逻辑结构设计
本系统采用的后台数据库是Acces数据库系统,因此必需把上面的数据项和数据结构转换为Access数据库系统所支持的实际数据模型,也就是数据库的逻辑结构.
宿舍管理系统数据库中各个表的设计结果如以下表所示.每个表代珍在数据库中的一个
表.表是数据库的基本信息结构,在设计表时按以下原则对信息分类
(1)表中不应该包含重复信息,而且信息不应该在表之间复制。
如对学生的年龄、性别、所在系班级只保存一次,以后只需在一处更改。
(2)每个表应该只包含关于一个主题的信息,这样可以独立于其他主题来维护每个主题的信息。
学生信息表(xs)用来保存学生的信息,表中各个字段的确良名称以及对各个字段的说明如表2-1所示.
字段名称
数据类型
说明
xm
char
姓名
xh
numeric
学号
jg
char
籍贯
nj
int
年级
bj
int
班级
yx
char
院系
zy
char
专业
xb
char
性别
表2-1学生(xs)信息表
宿舍情况表(ss)用来保存宿舍信息,表中各个字段的名称以及对各个字段的说明如表2-2
字段名称
数据类型
说明
sslh
numeric
宿舍楼号
ssh
numeric
宿舍号
表2-2 宿舍(ss)信息表
宿舍分配表(zs)用来保存住宿分配信息,表中各个字段的名称以及对各个字段的说明如表2-3
字段名称
数据类型
说明
sslh
numeric
宿舍楼号
ssh
numeric
宿舍号
xh
numeric
学号
表2-3住宿(zs)分配表
用户信息表(user)用来保存用户信息,表中各个字段的名称以及对各个字段的说明如表2-4
字段名称
数据类型
说明
username
varchar
用户名
pass
varchar
密码
表2-4用户信息表(user)
四、数据库结构的实现
在需求分析和概念设计的基础上得到数据库的逻辑结构之后就可以在delphi数据库系统中实现该逻辑结构..
代码设计
(1)学生学号代码设计
为了让学生便于管理,学校需要给每位学生一个学号。
同时,学生的学号必须不仅仅是代号,还必须能反映一定的信息。
因此,学生学号代码采用层次码,并用八位整数表示,设计方案如图1所示,部分学号编码列于表1中。
学生顺序号
系别
入学年份
图1学号代码设计方案
表1学号代码表
学生代码
含义
0307020126
2003入学的信息系26号学生
0307010126
2003入学的数学系26号学生
注:
由于学生众多,表1中只列举了各系2003年入学的26号学生,其他学生依次类推。
(2)班级代码设计
班级顺序号
系别
入学年份
图2班级代码设计方案
表2学号代码表
学生代码
含义
0307020126
2003入学的信息系1班
0307010126
2003入学的数学系1班
……
……
注:
由于班级众多,表2中只列举了各系2003年入学的一些班级,其他班级依次类推。
(3)寝室号代码设计
寝室代码用四位整数表示,设计方案如图2所示。
表2列出了部分寝室的代码。
寝室顺序号
楼层顺序号
楼号顺序号
图3寝室代码设计方案
表3寝室代码表
寝室代码
含义
21504
21号楼第5层第04室
19504
19号楼第5层第04室
03504
3号楼第5层第04室
9101
九号楼第一层第一个寝室
注:
由于寝室众多,表3中只列举了部分楼第一层第一个寝室,其他寝室依次类推。
五、建立主窗体
3.1.1创建主窗体
打开BorlandDelphi7.0,建立一个Form窗体.主窗体以简洁,易操作的界面设计.以主菜单和子菜单的形式出现.此窗体的各个属性如表3-1所示
窗体属性
取值
Name
Form2
Caption
宿舍管理系统
StartUposition
2-CenterSreen
WindowState
2-Maximized
3.1.2添加菜单
使用菜单编辑器编辑系统主菜单,从属关系以及主要属性如表3-2所示
Caption
Name
文件(主菜单)
文件
数据备份
数据备份
数据还原
数据还原
密码管理
pass
退出
Close
数据操作(主菜单)
sjcz
学生库信息操作
xskxxcx
宿舍库信息操作
sskxxc
住宿分配
zsfp
数据查询(主菜单)
sjcx
学生库信息查询
xskxxc
宿舍库信息查询
sskxxcx
住宿分配查询
zscx
高级查询
gjcx
关于(主菜单)
关于
帮助
help
联系作者
report
对一些常用的菜单可以根据自己的需要设置快捷键来快速打开菜单,作者可以菜单编辑器中设置此功能,在这里就不作详细说明.
六、设置系统登录功能
用户可以通过登录模块登录系统主界面进行系统功能操作.
4.1.1添加控件
用户登录窗体如图所示.其各控件的重要属性设置如表所示.
控件
属性
属性值
Command
Name
cmdLogin
Caption
登录
Command
Name
cmdCancel
Caption
取消
Edit.Text
Name
User
Edit.Text
Name
Pass
PasswordChar
*
4.1.2添加代码
如下代码实现登录功能,用户只须单击”登录”按钮即可登录宿舍管理系统,添加单击此按钮的代码首先要检测是否输入的用户名和密码有效.登录系统之后登录界面隐藏:
procedureTForm1.Button1Click(Sender:
TObject);
begin
ifedit1.Text=''then
begin
showmessage('密码错误')
end
elseifedit1.Text=passthen
begin
form2.Show;
form1.Visible:
=false;//form1.hide
edit1.Clear;
end
else
showmessage('密码错误');
edit1.Clear;
end;
“取消”按钮代码如下:
procedureTForm1.Button2Click(Sender:
TObject);
begin
application.Terminate;
end;
七、实现密码管理功能
5.1.1建立密码管理模块
1,功能描述
密码管理模块的功能包括添加用户,删除用户和密码修改等功能.
2,模块设计
控件
属性
属性值
Command1/Command2
Caption
确定/重置
Name
GroupBox2
Command3/Command4
Caption
确定/重置
Name
GroupBox1
Command5/Command6
Caption
确定/重置
Name
GroupBox3
Text1
Name
Edit1
Text2
Name
Edit2
Text3
Name
Edit3
Text4
Name
Edit4
Text5
Name
Edit5
Text6
Name
ComboBox1
Text7
Name
ComboBox2
Command7
Caption
关闭窗口
Name
Form3
添加好控件的密码管理系统如下图所示:
3,工作流程
模块加载时,显示上图,根据需要选择"新增用户","删除用户"和"修改密码"单击它们对应的控制按钮,可以对用户和密码管理作出相应操作.
4,添加代码
在FormCreate中添加如下代码:
withData.ADOQuery3do
begin
close;
sql.Clear;
sql.Add('selectadminfromadmin');
open;
whilenotData.ADOQuery3.Eofdo
begin
combobox1.Items.Add(Data.ADOQuery3.Fields[0].asstring);
Data.ADOQuery3.Next;
end;
end;
Data.ADOQuery3.Close;
withData.ADOQuery3do
begin
close;
sql.Clear;
sql.Add('selectadminfromadmin');
open;
whilenotData.ADOQuery3.Eofdo
begin
combobox2.Items.Add(Data.ADOQuery3.Fields[0].asstring);
Data.ADOQuery3.Next;
end;
end;
Data.ADOQuery3.Close;
end;
其它控件按钮的代码在这就不详细给出.(其它代码可以在密码管理窗体代码编辑器中找到);
八、实现新生信息库操作功能
用户可以通过点击主菜单中”数据操作”中子菜单”学生库信息操作”可以出现如下窗体进行”添加”和”删除”数据库表中有的记录
九、实现宿舍分配操作功能
用户可以通过点击主菜单中”数据操作”中子菜单”宿舍分配”可以出现如下窗体根据学生信息进行宿舍分配功能,确定学生住入哪个宿舍
十、运行与发布
在Delphi集成环境中开发程序,要想脱离Delphi集成环境运行,则需要编译并生成.exe文件或打包和展开向导创建安装程序.
编译应用程序
编译应用程序就是将创建的应用程序以及它的工程文件合并成一个可执行文件.在编译成应用文件之前,首先应该对该程序进行全面测试,排除所有右能的错误.
编译成应用文件之前还应该设置一些工程文件的属性,打开”工程”菜单中的”选项”子菜单进入工程选项窗口,在”窗体”选取项卡中选取你想要执行的窗体名.可以根据需要设置其它选取项卡.最后单击”确定”按钮.点击”运行”即可行成.exe文件.
编译成右执行文件后,该文件还只能在安装了Delphi的计算机上运行,不能在没安装Delphi的计算机上运行,因为缺少了许多应用程序运行所必需的动态链接库.
十一、小结
本系统使用Delphi数据库开发技术,综合运用了数据库中所介绍的各部分知识,对应用程序的功能进行实行划分,并进行程序的结构设计,然后利用数据库访问控件访问数据库中的数据记录,利用数据控制组件实现对数据库数据记录的浏览和操作.系统界面清晰,易于操作.通过本次课程设计对数据库系统的开发有了一定的了解.
十二、参考资料
1,<>数据库开发技术机械工业出版社:
毛陵,孟祥文,王淑芳等编著
2,<>电子工业出版社:
罗小平编著
3,<<数据库原理与设计>>人民邮电出版社:
张龙祥黄正瑞龙军编著
宿舍管理系统
湖南科技大学
数学与计算科学学院
作者:
颜乐辉(0307020126)
指导老师:
吴晓勤
2006-5-5