数据库课程设计宿舍管理信息系统方案.docx
《数据库课程设计宿舍管理信息系统方案.docx》由会员分享,可在线阅读,更多相关《数据库课程设计宿舍管理信息系统方案.docx(22页珍藏版)》请在冰豆网上搜索。
![数据库课程设计宿舍管理信息系统方案.docx](https://file1.bdocx.com/fileroot1/2022-11/12/1c11556c-fae9-40c3-a4f5-1687f55381d4/1c11556c-fae9-40c3-a4f5-1687f55381d41.gif)
数据库课程设计宿舍管理信息系统方案
1概述
1.1系统开发背景与现状
随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。
目前各行各业广泛使用专用系统,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个专用系统对一个机构(或部门)的发展十分重要。
近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。
对于学校而言,学生宿舍管理是必不可少的组成部分。
目前仍然存在有学校停留在宿舍管理部门人员手工记录数据的阶段,手工记录对于规模小的学校来说勉强可以接受;但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的,而且当查找某条记录时,由于数据量庞大,只能依靠人工去一条一条地查找,这样不但麻烦而且浪费许多时间,工作效率比较低。
采用计算机来管理宿舍和学生的信息,大大提高了查询的速度,节约了人力和物力资源,达到了预期的要求。
今天,计算机的价格已经十分低廉,性能却有了长足的进步。
它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:
首先,计算机可以代替人工进行许多繁杂的劳动;
其次,计算机可以节省许多资源;
第三,计算机可以大大的提高人们的工作效率;
第四,计算机可以使敏感文档更加安全,等等.
1.2系统开发方法及目标
以MicrosoftSQLServer2000为后台数据库,以Visualstudio2008为前端开发工具,以高校的宿舍管理需求为应用背景,开发一个典型的宿舍管理系统。
本系统既要满足用户的设计,也要满足设计员的设计目标。
1、用户的观点看,要求系统能够达到以下目标
1)对信息的收集和保存信息。
例如:
输入宿舍的基本信息,宿舍的卫生信息等.
2)快速的传递信息。
对那些共享的数据要快速的传递。
3)提供准确的信息。
要求比手工作业提供的更加准确和细致的数据,例如宿舍的所有卫生成绩.
2、设计员从技术观点看,要求系统能达到以下的目标:
1)用户使用,具有较高的用户友好性。
2)系统具有灵活、严格的权限设定功能,确保宿舍各类资料的可靠性和保密性,防止错误和违规操作。
系统管理:
可修改管理员密码
3)能对基本信息进行插入、删除、修改等操作。
完成宿舍的学生住宿分配,可以自动分配或手动分配。
数据查询:
按宿舍号、班级、学生等进行分类查询,能进行精确和模糊查询。
4)具有较强的可维护性和扩充性,能够适应用户的业务要求变化。
5)可退出系统,保证个人信息安全性。
2需求分析
本系统的最终用户为宿舍楼管理员。
根据我们日常生活中的经验,结合对自己学校宿舍楼管理老师的咨询和对同宿舍楼同学的调查,得出用户的下列实际要求:
宿舍管理:
添加、修改、删除宿舍
学生管理:
学生入住、搬离
来访管理:
来访登记、查询
水电管理:
水电缴费、查询
卫生管理:
卫生检查、查询
用户管理:
用户注册、修改密码
根据如上得到的用户需求,我们将完善以下几功能:
1、整体设计中,宿舍管理分为七大模块:
宿舍管理模块、学生管理模块、报修管理模块、水电缴费管理模块、卫生管理模块、来访管理模块、用户管理模块。
每个模块将实现不同的功能。
2、对学生、宿舍信息等进行维护,可对已存在的信息进行修改与删除操作,及时更改存储数据中存在的不足之处,便于对学校宿舍的管理。
3、根据输入的查询条件可显示符合条件的学生、宿舍,拥有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低的优点,可以极大地提高学生查宿舍的效率。
系统运行流程图
3数据库逻辑结构设计
1.学生信息表
该表用于存储学生基本信息
字段名
字段类型
主键
学号
文本
是
姓名
文本
否
性别
文本
否
班级
文本
否
宿舍号
文本
否
2.宿舍信息表
该表用于存储宿舍基本信息
字段名
字段类型
字段大小
主键
宿舍号
文本
10
是
电话
文本
10
否
住宿费
文本
10
否
床位数
数字
10
否
桌子数
数字
10
否
椅子数
数字
10
否
备注
文本
300
否
3.卫生检查信息表
该表用于存储卫生检查基本信息。
字段名
字段类型
主键
检查编号
自动编号
是
宿舍号
文本
否
检查日期
日期/时间
否
检查情况
文本
否
备注
文本
否
4.用户信息表
该表用于存储用户基本信息
字段名
字段类型
主键
用户名
文本
否
密码
文本
否
4程序核心代码及控件描述
4.1登录界面设计
显示登陆界面,提示用户输入账号、密码,若错误给出提示。
核心代码:
staticvoidMain()
{
Application.Run(newLogin());
}
privatevoidbtAdd_Click(objectsender,System.EventArgse)
{
if(name.Text.Trim()==""||password.Text.Trim()=="")
MessageBox.Show("请输入用户名和密码","提示");
else
{
oleConnection1.Open();
OleDbCommandcmd=newOleDbCommand("",oleConnection1);
stringsql="select*fromuserinfowhereUName='"+name.Text.Trim()+"'andPWD='"+password.Text.Trim()+"'";
cmd.CommandText=sql;
if(null!
=cmd.ExecuteScalar())
{
//隐藏登录窗口
this.Visible=false;
//创建并打开主界面
Mainmain=newMain();
main.Tag=this.FindForm();
OleDbDataReaderdr;
cmd.CommandText=sql;
dr=cmd.ExecuteReader();
dr.Read();
main.statusBarPanel2.Text=name.Text.Trim();
main.ShowDialog();
}
else
MessageBox.Show("用户名或密码错误","警告");
}
oleConnection1.Close();
}
privatevoidbtClose_Click(objectsender,System.EventArgse)
{
this.Close();
}
privatevoidLogin_Load(objectsender,EventArgse)
{
}
4.2主界面设计
显示系统主界面,显示用户登录信息并给出各个功能模块的选项。
核心代码:
protectedoverridevoidDispose(booldisposing)
{
if(disposing)
{
if(components!
=null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
AddUseraddUser;
privatevoidmenuItem9_Click(objectsender,System.EventArgse)
{
addUser=newAddUser();
for(intx=0;x{
FormtempChild=(Form)this.MdiChildren[x];
tempChild.Close();
}
addUser.MdiParent=this;
addUser.WindowState=FormWindowState.Maximized;
addUser.Show();
}
ModifyCodemodifyCode;
privatevoidmenuItem10_Click(objectsender,System.EventArgse)
{
modifyCode=newModifyCode();
for(intx=0;x{
FormtempChild=(Form)this.MdiChildren[x];
tempChild.Close();
}
modifyCode.MdiParent=this;
modifyCode.Tag=this.statusBarPanel2.Text.Trim();
modifyCode.WindowState=FormWindowState.Maximized;
modifyCode.Show();
}
privatevoidmenuItem11_Click(objectsender,System.EventArgse)
{
((System.Windows.Forms.Form)this.Tag).Visible=true;
this.Close();
}
privatevoidmenuItem8_Click(objectsender,System.EventArgse)
{
this.Close();
}
AddDormaddDorm;
privatevoidmenuItem12_Click(objectsender,System.EventArgse)
{
addDorm=newAddDorm();
for(intx=0;x{
FormtempChild=(Form)this.MdiChildren[x];
tempChild.Close();
}
addDorm.MdiParent=this;
addDorm.WindowState=FormWindowState.Maximized;
addDorm.Show();
}
Dormdorm;
privatevoidmenuItem13_Click(objectsender,System.EventArgse)
{
dorm=newDorm();
for(intx=0;x{
F