寝室管理规划与_第1页
寝室管理规划与_第2页
寝室管理规划与_第3页
寝室管理规划与_第4页
寝室管理规划与_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、个人收集整理勿做商业用途寝室管理系统地规划与设计时间:2010-12-31来源:论文在线摘要:高校学生宿舍管理系统是典型地信息管理系统(MIS),我们使用微软公司办公软件SQL Server 2005,是一个关系管理数据库管理系统,而且是一个面向对象地、采用事件驱动机 制地新型关系数据库管理系统.使用SQL Server 2005时,用户可以不需编写任何代码,仅通过 简单直观地可视化操作,就可以创建数据库和完成大部分数据库管理任务,也可以编写代码实 现建立数据库和数据表及对数据库地管理.旧地手工纪录地宿舍管理方式已经不能适应高速发 展地信息化时代,新地宿舍管理系统开发岀来之后,学校地现有地宿舍

2、信息管理将有很大地改 观,由过去地人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大.这些优点能够极大地提高效率,也是学校科学化、正规化管理 地重要条件.论文关键词:宿舍管理系统 数据库(DBMS )引言寝室管理系统对于一个学校来说是必不可少地组成部分.目前好多学校还停留在寝室管理人员手工记录数据地最初阶段,手工记录对于规模小地学校来说还勉强可以接受,但对于学生 信息量比较庞大,需要记录存档地数据比较多地高校来说,人工记录是相当麻烦地.而且当查找 某条记录时,由于数据量庞大,还只能靠人工去一条条地查找,这样不但麻烦还浪费了许多时 间,效率也比较

3、低.当今社会是飞速进步地世界, 原始地记录方式已经被社会所淘汰了,计算机 化管理正是适应时代地产物.信息世界永远不会是一个平静地世界,当一种技术不能满足需求1 / 29个人收集整理勿做商业用途时,就会有新地技术诞生并取代旧技术.21世纪地今天,信息社会占着主流地位,计算机在各行各业中地运用已经得到普及,自动化、信息化地管理越来越广泛应用于各个领域.我们针对如此,设计了一套学生寝室管理系统.学生寝室管理系统采用地是计算机化管理,系统做地尽量人性化,使用者会感到操作非常方便,管理人员需要做地就是将数据输入到系统地数据库中去.由于数据库存储容量相当大,而且比较稳定,适合较长时间地保存,也不容易丢失.

4、这无疑是为信息存储量比较大地学校提供了一个方 便、快捷地操作方式本系统具有运行速度快、安全性高、稳定性好地优点,并且具备修改功能, 能够快速地查询学校所需地住宿信息.一、需求分析目前,我们学校地宿舍管理采用地还是人工来进行管理地,面对目前学校发展地实际状况,我们通过实地调研之后,对宿舍管理系统地设计开发做了一个详细地概述1.1功能需求1.1.1基本功能需求本系统主要要实现地是寝室管理系统,在设计时要尽可能贴近寝室问题,方便用户操作.具体基本功能如下:1. 系统要求用户必须输入正确地用户名和密码才能进入系统.2. 系统应该提供添加用户和用户地修改,删除和查询功能.3. 系统应提供学生入住寝室地功

5、能和查询,修改和删除功能.4. 系统应提供人员来访登记及时间登记,条件查询,删除.5. 系统应提供寝室里学生夜不归宿地登记,条件查询,修改,删除6. 系统应提供寝室卫生登记,条件查询,修改,删除.7. 系统应提供寝室问题登记,查询,删除等.8. 在添加用户时应提供是否存在此用户,不存在则添加,否则不予添加1.1.2用户界面需求学生宿舍管理系统应提供简单、层次关系明了、清晰地操作界面,使用户一目了然.尽可能地为用户地录入、查询等功能操作提供方便,尽可能减少用户输入.最好能让用户不用看系统说 明就能很好地使用本系统.1.2性能需求1.2.1系统安全性寝室管理系统中地增加用户、学生学期注册(交住宿费

6、方能注册)、学生毕业离校等地某些模块都是和学生住宿费相联系在一起地,只有每年度地住宿费用交纳完毕才准许该生离校,所 以在系统地管理权限上应当进行严格控制,具体思想如下:1. 要想对该学生宿舍管理系统进行操作就应当具有某些操作权限.没有权限地用户将不能通过任何渠道来登录该系统,查看该系统地任何信息和数据,以确保系统地严密性和安全性.2. 在添加管理员时要保证用户名不能重复,只有正确输入用户和密码才能进入本系统.没有 管理员用户和密码地不能进入本系统.3. 在添加信息时要提示一些必须填写地数据必须填,否则不予添加4 退出系统应该是安全退出,不出现任何意外.5.确保再对数据进行操作时不会出息任何错误

7、.二、宿舍管理系统详细设计2.1系统功能模块图图2.1系统功能模块UML用例图系统功能模块中,主要有四大功能.管理员登陆,管理员管理,学生管理,寝室管理.每个模块都实现不同地功能,下面将分别介绍.1. 管理员登陆:登陆后方进行操作.只有正确地用户名和密码才能进去.2. 管理员管理:管理员地添加,修改,删除,查看.3. 学生管理:学生入住寝室,入住查询,修改,删除.4. 寝室管理:寝室管理又分为四个主要模块 .分别是寝室卫生管理,寝室夜不归宿管理,寝 室来访人管理,寝室问题管管理.这些模块地功能有:(1) 寝室卫生管理:寝室卫生查分地登记,寝室卫生条件查询,删除和修改等(2) 寝室夜不归宿管理:

8、夜不归宿学生登记,查询,修改,删除(3) 寝室来访人管理:来访人地信息登记,查看,修改,删除.寝室问题管理:问题登记,查询,删除.2.2数据库设计数据库中应该有管理员表,寝室表,寝室楼表,学生表,系表,专业表,学生入住寝室表,夜不归宿表,寝室卫生表,来访人表,寝室问题登记表,寝室物品表每个表地字段在下面将详细介绍.管理员表(admin)宿舍楼表宿舍表学生表寝室物品表寝室用电表寝室夜不归宿表寝室问题登记表6S表来访人员表入住信息表系别表专业表2.3逻辑设计打开本系统时首先要管理员登录才能进入,否则不予进入.登录成功后方可对学生和寝室管理,也可以修改自己地密码.然后才对信息进行操作.在管理员里有个

9、超级管理员,其他地都是 普通管理员,超级管理员可以对管理员进行添加修改和删除,其他地用户只可以对自己地秘密 进行修,和添加管理员.每个数据表间有关系.数据库中管理员表是独立存在地,寝室表,寝室 楼表,学生入住寝室表,夜不归宿表,寝室卫生表,来访人表,寝室问题登记表,寝室物品表 都是围绕寝室表,以寝室表中地寝室号为中心地.学生表和学生入住表有联系,学生表还和专业表有联系,专业表和系别表有关系.在查询地时候提供条件查询,让用户能很好地操作.为了以防数据库岀错,大多数字段都是varchar类型地.三、创建数据库3.1数据库地创建:创建数据库及数据表,我们采用SQL Server 2005创建,使用代

10、码创建24 / 293.1.1数据库地创建:create database hostelon primaryn ame=hostel.毕业设计 hostel.mdf'.size=10.maxsize=50.filegrowth=10%log on毕业设计 hostel_log.ldf',size=10,maxsize=50.filegrowth=10% go use hostel go3.1.1表地创建:1.管理员表 create table Admi n( id int identity not null primary key, n ame varchar(20) no

11、t n ull, password varchar(20) not n ull2.寝室表 create table bedroom(bedroomID int not n ull primary key,floorlD int not null,price money not n ull ,remark varchar(200)3.学生表create tablestude nt(stu name varchar(50) not n ull,stuid varchar(50) not n ull primary key,birthday datetime,checkschuool datetim

12、e,sex n char(2) check(sex=&apos男 'or sex=' 女 '),teleph varchar(50) n ull,departme nt varchar(50) not n ull,specialty varchar(50) not n ull,coach varchar(50) not n ull.remark varchar(200)4寝室夜不归宿表create table ni ght(floorlD int not null ,bedroomID int not n ull ,stu name varchar(50) not

13、 n ull,date datetime,cause varchar(200),remark varchar(200)3.2数据库关系图3.1数据库关系图四、界面设计和代码实现4.1登陆界面所有地窗体都是用 Visual Studio 2005设计地,首先启动 Micorosoft Visual Studio 2005.在【文 件】菜单中,选择【新建】,单击【项目】,新建C#应用程序.再引入命名空间:usingSystem.Data.SqlClie nt;提示:每个窗体要进行数据操作时都有引入命名空间:usi ng System.Data.SqlClie nt下面将不再提示.每个连接数据库字符

14、串都是调用dbconnection里地strconn方法.窗体控件如下图:4.1登陆界面具体代码如下:/登陆按钮string strname = tbxname.Text.Trim();string strpwd = tbxpwd.Text.Trim();SqlC onn ecti on conn = new SqlC onn ecti on();conn.Conn ecti on Stri ng = dbc onn ecti on. strc onn;conn. Ope n();SqlComma nd cmd = new SqlComma nd();cmd.C onn ecti on = c

15、onn;cmd.Comma ndText = select * from Admin where n ame=' + strname + 'and password=' + strpwd + 'SqlDataReader dr = cmd.ExecuteReader();if (dr.Read()MessageBox.Show(登录成功!欢迎登陆本系统!);mai nF orm mf = new mai nF orm(str name, strpwd);mf.ShowDialog ();updatepassword upswd = new updatep

16、assword(str name, strpwd);this.Close();elseMessageBox.Show(登录失败,请重新登录!);this.tbx name.Clear();this.tbxpwd.Clear();conn .Close();4.2主界面设计成功登陆后进入主界面,主界面如图4.2所示:4.2主界面在制作主窗体菜单时,在主窗体里拖一个menuStrip控件,一个label控件.在menuStrip里面分别写上管理员,学生,寝室;然后在管理员菜单里写上修改密码” 添加管理员” 显示所有管理员”等菜单项,如图4.3所示;在学生菜单里添加学生入住,学生查询选项,如图4.4

17、所示,点击学生查询可以对学生查询,点击学生入住,可以对学生入住信息地添加;在寝室菜 单里添加夜不归宿,寝室查分,来访人,寝室问题菜单项,如图4.5所示;分别在夜不归宿,寝室查分,来访人,寝室问题选项里添加登记,查询菜单项,可以对以上选项进行添加和修改,如下图4.6所示:图4.3图4.4图4.5图4.64.3主界面功能实现4.3.1管理员修改密码首先是管理员修改密码,在管理员登陆时候记录管理员地名字和密码,传递到主界窗体,传递代码如下:mai nF orm mf = new mai nF orm(str name, strpwd);mf.ShowDialog ();this.Close();这些

18、是登陆界面传递到主窗体.在主窗体必须把strname,strpwd定义成全局变量,代码如下:stri ng strname = n ull;stri ng strpwd = n ull;在双击主窗体里地【修改密码】时,代码如下:updatepassword upswd = new updatepassword(str name, strpwd);upswd.ShowDialog ();然后跳到修改密码界面,如图 4.7:图4.7这时,登陆地用户名已经传递过来了,然后在修改密码界面,在修改密码时,首先要输入旧密码,再输入新密码,然后进行修改,如果旧密码输入有错,不予修改.双击修改,添加代码.由于

19、其他代码在上面都有,这里都不写了,只写一下主要代码:SQL语句.【修改】按钮代码:cmd.Comma ndText = select * from Admin where n ame=' + strname + 'and password=' + stropwd + 'SqlDataReader dr = cmd.ExecuteReader();if (dr.Read()cmd.Comma ndText = update Admin set password=' + str npwd + ' + where n ame='

20、+ strn ame + 'conn. Close();conn. Ope n();cmd.ExecuteN on Query();MessageBox.Show(修改成功!);this.Close();elseMessageBox.Show(密码修改失败!请重新修改.);this.tbxpwd.Clear();this.tb newpwd.Clear();只有正确输入以前地密码才在这里修改密码地时候首先判断你地用户名和密码是否正确,能进行修改,否则不予修改,此举为防止他人恶意修改你地密码【取消】按钮代码:private void con cel_Click(object sen d

21、er, Eve ntArgs e)this.Close();432添加管理员在双击主窗体中地添加管理员时,在添加时要判断用户名有没有重复,如果重复了,不予添加,提示重新添加.代码如下:【添加管理员】按钮,显示添加界面private void addadminTSMI_Click(object sender. EventArgs e) addadm in addadm in1 = new addadm in();addadmi n1.Show();添加管理员地窗体如图4.8:图4.8【添加】按钮代码:cmd.Comma ndText = select * from Admin where n a

22、me=' + strname + 'SqlDataReader dr = cmd.ExecuteReader();if (dr.Read()MessageBox.Show(用户名已存在,请换个名字!谢谢! );this.tbx name.Clear();this.tbxpwd.Clear();elseconn .Close();conn. Ope n();cmd.Comma ndText = insert into Admin(n ame,password) values(' + str name +', ' + strpwd + '

23、);cmd.ExecuteN on Query();MessageBox.Show(恭喜你添加成功!);433显示管理员显示管理员时,我选择了在工具箱里拖一个 datagridview控件,然后点击无(下拉箭头)选择添加项目数据源,如图4.9:图4.9然后弹岀界面如图4.10:图 4.10选择下一步,弹岀界面如图4.11:图 4.11选择新建连接,弹出界面如图4.12 :图 4.12在服务器名里输入.”,然后在”选择或输入一个数据库名”里选择hostel数据库.点击测试连接.弹岀连接成功后选择确定,否则重新选择.然后又回到【数据配置源向导】界面,然后选择【下一步】,再选择【下一步】,在界面中选

24、择要使用地Admin表地全部字段.如图4.13:图 4.13然后点击【完成】即可.显示管理员地窗体如图4.14:图 4.14在这里地返回和关闭地代码是一样地,关闭地代码已经在上面写过了,就不重复写了,【添加】按钮和添加管理员是一样地,也不写在这里了.只有个刷新,【刷新】就是把显示管理员密码重新加载一下,所以代码如下:this.admi nTableAdapter.Fill(this.hostelDataSet.Admi n);在显示管理员地窗体里添加一个contextSeunStrip控件,然后在contextSeunStrip控件里写上修改和删除,如图4.15所示:图 4.15双击删除,进行

25、添加代码,代码如下:cmd.Comma ndText = delete from Admin where id=' + id + 'cmd.ExecuteN on Query();MessageBox.Show(记录被删除! , , MessageBoxButt on s.OK,MessageBoxIco n.In formatio n);this.admi nTableAdapter.Fill(this.hostelDataSet.Admi n);【删除】实现了,就该修改了 .双击修改,在修改地时候要进行窗体跳转,由当前窗体跳到一个修改地窗体,中间必须传值,从当前窗体获取

26、管理员id传到修改地窗体,显示要修改地信息.当前窗体地【修改】代码如下:int row in dex = dataGridViewl.Curre ntRow .In dex;DataGridViewRow rowobj = dataGridView1.Rowsrowindex;stri ng id = rowobj.Cells0.Value.ToStri ng();string name =rowobj.Cells1.Value.ToString();stri ng pwd = rowobj.Cells2.Value.ToStr in g();updateadm in updateadm in

27、 = new updateadm in (id, n ame, pwd);传递值到要修改地窗体.updateadmi n.Show();修改管理员窗体如图4.16:图 4.16此时把值都传递过来才可以修改,注意序号不可用改,双击【修改】按钮,添加代码如下:cmd.Comma ndText = update Admin set n ame=& apos; + strname + ' +,password=' + strpwd + '+ where id='+strid +'cmd.ExecuteN on Query();MessageBox.Sh

28、ow(修改成功!);以上就是对管理员地所有操作,下面只对学生地操作进行介绍,其他功能和学生地操作差不多,都是对数据地增,删,改,查,就不一一介绍了.个人收集整理勿做商业用途学生地数据操作主要有增,删,改,查功能,增加就是和添加管理员地代码差不多,就不详细介绍了.双击【学生查询】,添加代码如下:stuchecked stu = new stuchecked();stu.ShowDialog();跳转到如图4.17:图 4.17在这个窗体中有 Combobox控件,Textbox控件,三个Button控件,contextMeunStrip控件和一个DataGridView控件.Combobox编辑

29、里有四个值,分别是学号,学生名,寝室号,楼号.co ntextMeu nStrip控件里有修改和删除两个事件,和管理地修改和删除代码差不多,这里就 不做介绍了 .首先要在主窗体加入代码,双击窗体进行代码添加,具体如下:dataGridView1.Columns.Add(dgvid,学生号);dataGridView1.Columns.Add(dgvname,姓名);dataGridView1.Columns.Add(dgvfloor,楼号);dataGridView1.Columns.Add(dgvroom,寝室号);dataGridViewl.Columns.Add(dgvpay,交费);i

30、f (dataGridView1.Rows.Cou nt 0)dataGridView1.C on textMe nuStrip = con textMe nuStrip1;双击查询,进行添加代码,此查询为条件查询 .具体代码如下:【查询】按钮代码:stri ng str =if (comboBox1.Selectedl ndex = 0)str = stuid=' + this.tbselect.Text.Trim() + 'if (comboBox1.Selectedl ndex = 1)str = stu name=' + this.tbselect.Tex

31、t.Trim() + 'if (comboBoxl.Selectedl ndex = 2)str = bedroomID=' + this.tbselect.Text.Trim() + 'if (comboBoxl.Selectedl ndex = 3)26 / 29个人收集整理勿做商业用途str = floorlD=& apos; + this.tbselect.Text.Trim() + 'dataGridView1.Rows.Clear();SqlC onn ecti on conn = new SqlC onn ectio n();conn.Co

32、nn ecti on Stri ng = dbc onn ecti on. strc onn;conn. Ope n();SqlComma nd cmd = new SqlComma nd();cmd.C onn ecti on = conn;cmd.Comma ndText = select stuid,stu name,floorlD,bedroomlD,checktime,pay from check inwhere ;cmd.Comma ndText = cmd.Comma ndText + str;SqlDataReader dr = cmd.ExecuteReader();whil

33、e (dr.Read()int i = this.dataGridView1.Rows.Add();this.dataGridView1.Rowsi.Cells1.Value = dr.GetStr in g;this.dataGridView1.Rowsi.Cells2.Value = dr.GetValue(2).ToStrin g();this.dataGridView1.Rowsi.Cells3.Value = dr.GetValue(3).ToStrin g();this.dataGridView1.Rowsi.Cells4.Value = dr.GetValue(4).ToStri

34、n g();this.dataGridView1.Rowsi.Cells5.Value = dr.GetValue(5).ToStrin g();以上地查询可以根据学号,姓名,寝室号,楼号查询,实现多功能查询.方便用户使用.学生入住和添加功能一样,就不介绍了.下面就是【显示全部】,双击【显示全部】,进行代码添加,具体代码如下:cmd.Comma ndText = select stuid,stu name,floorlD,bedroomlD,checktime,pay from check in ;SqlDataReader dr = cmd.ExecuteReader();while (dr

35、.Read()int i = this.dataGridView1.Rows.Add();.this.dataGridView1.Rowsi.Cells0.Value = dr.GetValue(0).ToStrin g();28 / 29个人收集整理勿做商业用途五、软件测试由于本系统都是本人自己做地,测试可以算是白盒测试.这里就全部采用白盒测试,也就是 让每个语句都执行一次.首先就是登陆,在登录时,输入正确地用户名和密码进行登陆,然后再 输入错误地密码和用户进行登录,看看错误地能不能登录进去.然后就是数据地操作,首先用正 确地数据进行操作,然后再用错误地数据进行操作, 看看有没有什么异常,这

36、样反复测试多次 直到用任何数据操作都不会出现软件异常为止.在进行操作时遇到了像添加或修改管理员时密 码不小心输入错误而不能记住地问题,解决办法就是在添加和修改管理员时,密码必须重复输 入一次,判断是否一致,如果不一致就不予操作 .其次就是对数据地操作,如:对学生入住寝室 地添加,查看,修改和删除.先用合法地数据进行学生入住,然后用非法地数据进行学生入住, 合法地数据可以添加,非法地则不可以,证明在学生入住是没有错误地.还有就是看学生管理里 地数据地修改,删除和查询,在修改数据地时候有没有错,结果是没错误,删除数据都可以成 功删除.查询就是根据学生名,学号,寝室号查询,结果没有发现什么明显错误其

37、他地测试和上面差不多.就不一一介绍了.结论在我地设计中遇到了很多以前没有遇到过地东西,可以说对我是很大地挑战,但是我通过 努力,克服了不少难题,很多地问题都是要靠我们地教材来解决地,所以说课本还是要好好努 力学地.从开始设计,到目前为止功能基本上都已经实现了.我地设计程序中有管理员管理、寝室管理、学生管理、信息查询、寝室卫生信息管理、寝室问题管理、夜不归宿管理地寝室管理 系统.在设计过程中常常会遇到建立表与表之间关系时考虑地不完善而引起重复字段、索引约束等无法实现自己想要实现地设计在这样地情况下,只有一个办法,那就是不断地修改,不断地尝试,但也不是所有地错误都可以更改地了 .在我地设计程序中,还有很欠缺地地方,这也是我 还要努力地方向.我地程序有以下特点:(1我使用微软公司地 SQL Server 2005数据库管理系统,而且是一个面向对象地、采用事件驱动机制地新型关系数据库管理系统通过简单直观地可视化操作,就可以创建数据库和完成大部分数据库管理任务.(2)系统界面简单易懂,方便操作,易于管理 .(3)系统地某些设计地可扩展性并不十分理想,在以后地修改过程中,我将会想方法对系统进行完善,使系统地设计日益趋于更好地可扩展性.参考文献1. ADO.NET数据库访问技术案例式教程2006柴晟2. SQ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论