




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
引言引言宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。1 需求分析目前,我们学校的宿舍管理采用的还是人工来进行管理的, 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。1.1 功能需求 1.1.1 基本功能需求 本系统主要要实现的是宿舍管理系统,在设计时要尽可能贴近宿舍问题,方便用户操作。具体基本功能如下:1.系统要求用户必须输入正确的用户名和密码才能进入系统。2.系统应该提供添加用户和用户的修改,删除和查询功能。3.系统应提供学生入住宿舍的功能和查询,修改和删除功能。4.系统应提供人员来访登记及时间登记,条件查询,删除。5.系统应提供宿舍里学生夜不归宿的登记,条件查询,修改,删除。6.系统应提供宿舍卫生登记,条件查询,修改,删除。7.系统应提供宿舍问题登记,查询,删除等。8.在添加用户时应提供是否存在此用户,不存在则添加,否则不予添加。1.1.2 用户界面需求 学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的录入、查询等功能操作提供方便,尽可能减少用户输入。最好能让用户不用看系统说明就能很好的使用本系统。1.2 性能需求 1.2.1 系统安全性宿舍管理系统中的增加用户、学生学期注册(交住宿费方能注册)、学生毕业离校等的某些模块都是和学生住宿费相联系在一起的,只有每年度的住宿费用交纳完毕才准许该生离校,所以在系统的管理权限上应当进行严格控制,具体思想如下:1.要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。2.在添加管理员时要保证用户名不能重复,只有正确输入用户和密码才能进入本系统。没有管理员用户和密码的不能进入本系统。3.在添加信息时要提示一些必须填写的数据必须填,否则不予添加。4退出系统应该是安全退出,不出现任何意外。5.确保再对数据进行操作时不会出息任何错误。2 宿舍管理系统详细设计 2.1 系统功能模块图 21宿舍管理系统详细设计图2.1 系统功能模块UML用例图系统功能模块中,主要有四大功能。管理员登陆,管理员管理,学生管理,宿舍管理 。每个模块都实现不同的功能,下面将分别介绍。1.管理员登陆:登陆后方进行操作。只有正确的用户名和密码才能进去。2.管理员管理:管理员的添加,修改,删除,查看。3.学生管理:学生入住宿舍,入住查询,修改,删除。4.宿舍管理:宿舍管理又分为四个主要模块。分别是宿舍卫生管理,宿舍夜不归宿管理,宿舍来访人管理,宿舍问题管管理。这些模块的功能有:(1)宿舍卫生管理:宿舍卫生查分的登记,宿舍卫生条件查询,删除和修改等。(2)宿舍夜不归宿管理:夜不归宿学生登记,查询,修改,删除。(3)宿舍来访人管理:来访人的信息登记,查看,修改,删除。(4)宿舍问题管理:问题登记,查询,删除。2.2 数据库设计 数据库中应该有管理员表,宿舍表,宿舍楼表,学生表,系表,专业表,学生入住宿舍表,夜不归宿表,宿舍卫生表,来访人表,宿舍问题登记表,宿舍物品表。每个表的字段在下面将详细介绍。1.管理员表(admin)序号IDInt(identiy),PK,not null用户名nameVarchar(50),not null密码passwordVarchar(50),not null2.宿舍楼表序号IDInt,not null楼号floorIDInt,PK,not null备注RemarkVarvchar(200)3.宿舍表楼号floorIDInt,PK,not null宿舍号bedroomIDInt,FK,not null费用costMoney备注RemarkVarchar(200)4.学生表学生名stunameVarchar(50),not null学号StuidVarchar(50),PK,not null性别sexVarchar(50),not null出生日期birthdayDatetime,null电话telephVarchar(50),null系别departmentVarcahr(50),null专业specialtyVarchar(50),null辅导员CoachVarchar(50),null备注remarkVarchar(200),null5.宿舍物品表序号IDInt not null,PK楼号floorIDInt,not null宿舍号bedroomIDInt,FK,not null物品名goodsnameVarchar(50),not null数量numbersInt,not null价格priceMoney,null备注remarkVarchar(200),null6.宿舍用电表序号IDInt,not null楼号floorIDInt,not null宿舍号bedroomIDInt,not null,FK年份yearsVarchar(50),not null月份MouthsVarchar(50),not null单价priceFloat,not null用电量UseelecFloat,not null总价TotalpriceMoney,not null备注remarkVarchar(200)7.宿舍问题登记表 序号IDInt,not null楼号floorIDInt,not null宿舍号bedroomIDInt,FK,not null问题questionVarchar(200)日期dateDatetime备注remarkVarchar(200)8.6S表序号IDInt ,not null楼号floorIDInt ,not null宿舍号bedroomIDInt,not null,FK日期datedatetime宿舍得分scoreFloat,备注remarkVarchar(200)9.来访人员表序号IDInt,not null来访人VisitnameVarchar(50),not null学生名stunameVarcahr(50),not null宿舍号bedroomIDInt,FK,not null来访时间visittimeDatetime离开时间leveltimeDatetime备注remarkVarchar(200)10.入住信息表学号StuidVarchar(50),not null学生名stunameVarchar(50),not null宿舍号bedroomIDInt,not null,FK入住时间checktimeDatetime是否交费payVarchar(50)备注remarkVarchar(200)11.系别表序号IDInt,not null系名DepartmentVarchar(50),PK12.专业表序号IDInt,not null系别deparmentVarchar(50),FK专业specialtyVarchar(50),not null数据库的创建2.3 逻辑设计打开本系统时首先要管理员登录才能进入,否则不予进入。登录成功后方可对学生和宿舍管理,也可以修改自己的密码。然后才对信息进行操作。在管理员里有个超级管理员,其他的都是普通管理员,超级管理员可以对管理员进行添加修改和删除,其他的用户只可以对自己的秘密进行修,和添加管理员。每个数据表间有关系。数据库中管理员表是独立存在的,宿舍表,宿舍楼表,学生入住宿舍表,夜不归宿表,宿舍卫生表,来访人表,宿舍问题登记表,宿舍物品表都是围绕宿舍表,以宿舍表中的宿舍号为中心的。学生表和学生入住表有联系,学生表还和专业表有联系,专业表和系别表有关系。在查询的时候提供条件查询,让用户能很好的操作。为了以防数据库出错,大多数字段都是varchar类型的。3 创建数据库3.1 数据库的创建3.1.1 表的创建1.管理员表2.宿舍界面3.学生界面界面设计和代码实现3.2 数据库关系图4 界面设计和代码实现4.1 登陆界面所有的窗体都是用Visual Studio 2005设计的,首先启动Micorosoft Visual Studio 2005.在【文件】菜单中,选择【新建】,单击【项目】,新建C#应用程序。再引入命名空间:using System.Data.SqlClient;提示:每个窗体要进行数据操作时都有引入命名空间:using System.Data.SqlClient ;下面将不再提示。每个连接数据库字符串都是调用dbconnection里的strconn方法。窗体控件如下图:4.1登陆界面4.2 主界面设计成功登陆后进入主界面,主界面如图4.2所示:4.2主界面水电信息保修信息在制作主窗体菜单时,在主窗体里拖一个menuStrip控件,一个label控件。在menuStrip里面分别写上管理员,学生,宿舍;然后在管理员菜单里写上“修改密码”、“添加管理员”、“显示所有管理员”等菜单项,如图4.3所示;在学生菜单里添加学生入住,学生查询选项,如图4.4所示,点击学生查询可以对学生查询,点击学生入住,可以对学生入住信息的添加;在宿舍菜单里添加夜不归宿,宿舍查分,来访人,宿舍问题菜单项,分别在夜不归宿,宿舍查分,来访人,宿舍问题选项里添加登记,查询菜单项,可以对以上选项进行添加和修改。4.3 主界面功能实现4.3.1 管理员修改密码首先是管理员修改密码,在管理员登陆时候记录管理员的名字和密码,传递到主界窗体,传递代码如下:mainForm mf = new mainForm(strname, strpwd);mf.ShowDialog (); this.Close(); 这些是登陆界面传递到主窗体。在主窗体必须把strname,strpwd定义成全局变量,代码如下:string strname = null; string strpwd = null;在双击主窗体里的【修改密码】时,代码如下: updatepassword upswd = new updatepassword(strname, strpwd); upswd.ShowDialog (); 然后跳到修改密码界面,如图4.7:图 4.7这时,登陆的用户名已经传递过来了,然后在修改密码界面,在修改密码时,首先要输入旧密码,再输入新密码,然后进行修改,如果旧密码输入有错,不予修改。双击修改,添加代码。由于其他代码在上面都有,这里都不写了,只写一下主要代码:SQL语句。【修改】按钮代码: cmd.CommandText = select * from Admin where name= + strname + and password= + stropwd + ; SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() cmd.CommandText = update Admin set password= + strnpwd + + where name= + strname + ; conn.Close(); conn.Open(); cmd.ExecuteNonQuery(); MessageBox.Show(修改成功!); this.Close(); else MessageBox.Show(密码修改失败!请重新修改。); this.tbxpwd.Clear(); this.tbnewpwd.Clear(); 在这里修改密码的时候首先判断你的用户名和密码是否正确,只有正确输入以前的密码才能进行修改,否则不予修改,此举为防止他人恶意修改你的密码。【取消】按钮代码: private void concel_Click(object sender, EventArgs e) this.Close(); 4.3.2 添加管理员在双击主窗体中的添加管理员时,在添加时要判断用户名有没有重复,如果重复了,不予添加,提示重新添加。代码如下:【添加管理员】按钮,显示添加界面 private void addadminTSMI_Click(object sender, EventArgs e) addadmin addadmin1 = new addadmin(); addadmin1.Show(); 添加管理员的窗体如图4.8:图 4.8【添加】按钮代码: cmd.CommandText = select * from Admin where name= + strname + ; SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() MessageBox.Show(用户名已存在,请换个名字!谢谢!); this.tbxname.Clear(); this.tbxpwd.Clear(); else conn.Close(); conn.Open(); cmd.CommandText = insert into Admin(name,password) values( + strname + , + strpwd + ); cmd.ExecuteNonQuery(); MessageBox.Show(恭喜你添加成功!); 目数据源选择新建连接双击删除,进行添加代码,代码如下: cmd.CommandText = delete from Admin where id= + id + ; cmd.ExecuteNonQuery(); MessageBox.Show(记录被删除!, , MessageBoxButtons.OK, MessageBoxIcon.Information); this.adminTableAdapter.Fill(this.hostelDataSet.Admin); 【删除】实现了,就该修改了。双击修改,在修改的时候要进行窗体跳转,由当前窗体跳到一个修改的窗体,中间必须传值,从当前窗体获取管理员id传到修改的窗体,显示要修改的信息。当前窗体的【修改】代码如下: int rowindex = dataGridView1.CurrentRow.Index; DataGridViewRow rowobj = dataGridView1.Rowsrowindex; string id = rowobj.Cells0.Value.ToString(); string name =rowobj.Cells1.Value.ToString(); string pwd = rowobj.Cells2.Value.ToString(); updateadmin updateadmin = new updateadmin(id, name, pwd); 传递值到要修改的窗体。 updateadmin.Show(); 修改管理员窗体如图 4.16:图 4.16此时把值都传递过来才可以修改,注意序号不可用改,双击【修改】按钮,添加代码如下: cmd.CommandText = update Admin set name= + strname + + ,password= + strpwd + + where id=+strid +; cmd.ExecuteNonQuery(); MessageBox.Show(修改成功!);以上就是对管理员的所有操作,下面只对学生的操作进行介绍,其他功能和学生的操作差不多,都是对数据的增,删,改,查,就不一一介绍了。学生的数据操作主要有增,删,改,查功能,增加就是和添加管理员的代码差不多,就不详细介绍了。双击【学生查询】,添加代码如下: stuchecked stu = new stuchecked(); stu.ShowDialog();跳转到如图4.17:图 4.17在这个窗体中有Combobox控件,Textbox控件,三个Button控件,contextMeunStrip控件和一个DataGridView 控件。Combobox编辑里 有四个值,分别是学号,学生名,宿舍号,楼号。contextMeunStrip 控件里有修改和删除两个事件,和管理的修改和删除代码差不多,这里就不做介绍了。首先要在主窗体加入代码,双击窗体进行代码添加,具体如下: dataGridView1.Columns.Add(dgvid, 学生号); dataGridView1.Columns.Add(dgvname, 姓名); dataGridView1.Columns.Add(dgvfloor, 楼号); dataGridView1.Columns.Add(dgvroom, 宿舍号); dataGridView1.Columns.Add(dgvtime, 入住时间); dataGridView1.Columns.Add(dgvpay, 交费); if (dataGridView1.Rows.Count 0) dataGridView1.ContextMenuStrip = contextMenuStrip1; 双击查询,进行添加代码,此查询为条件查询。具体代码如下:【查询】按钮代码: string str = ; if (comboBox1.SelectedIndex = 0) str = stuid= + this.tbselect.Text.Trim() + ; if (comboBox1.SelectedIndex = 1) str = stuname= + this.tbselect.Text.Trim() + ; if (comboBox1.SelectedIndex = 2) str = bedroomID= + this.tbselect.Text.Trim() + ; if (comboBox1.SelectedIndex = 3) str = floorID= + this.tbselect.Text.Trim() + ; dataGridView1.Rows.Clear(); SqlConnection conn = new SqlConnection(); conn.ConnectionString = dbconnection.strconn; conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = select stuid,stuname,floorID,bedroomID,checktime,pay from checkin where ; cmd.CommandText = cmd.CommandText + str; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read() int i = this.dataGridView1.Rows.Add();this.dataGridView1.Rowsi.Cells0.Value = dr.GetValue(0).ToString();this.dataGridView1.Rowsi.Cells1.Value = dr.GetString(1);this.dataGridView1.Rowsi.Cells2.Value = dr.GetValue(2).ToString();this.dataGridView1.Rowsi.Cells3.Value = dr.GetValue(3).ToString();this.dataGridView1.Rowsi.Cells4.Value = dr.GetValue(4).ToString();this.dataGridView1.Rowsi.Cells5.Value = dr.GetValue(5).ToString(); 以上的查询可以根据学号,姓名,宿舍号,楼号查询,实现多功能查询。方便用户使用。学生入住和添加功能一样,就不介绍了。下面就是【显示全部】,双击【显示全部】,进行代码添加,具体代码如下: private void btQuery_Click(object sender, System.EventArgs e)oleConnection1.Open();ds = new DataSet();string sql=select dormID as 宿舍号,CDate as 检查日期,CState as 检查情况CRemark as 备注CheckID as 检查编号 from checkinfo;if (textDormID.Text.Trim()=)sql=sql;elsesql=sql+ where dormID=+textDormID.Text.Trim()+; OleDbDataAdapter adp = new OleDbDataAdapter(sql,oleConnection1); d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林芝市中石化2025秋招笔试模拟题含答案炼化装置操作岗
- 2025年法院辅警招聘真题及答案
- 中国联通哈密市2025秋招市场与服务类专业追问清单及参考回答
- 西安市中石油2025秋招面试半结构化模拟题及答案市场营销与国际贸易岗
- 东莞市中石油2025秋招面试半结构化模拟题及答案油品分析质检岗
- 中国移动岳阳市2025秋招笔试行测题库及答案供应链采购类
- 丹东市中石化2025秋招面试半结构化模拟题及答案新材料与新能源岗
- 白城市中石化2025秋招笔试模拟题含答案油田工程技术岗
- 漯河市中石油2025秋招网申填写模板含开放题范文
- 2025年船厂挂钩考试题及答案
- 建设工程各方安全管理制度清单及法规依据
- 医疗设备备品备件保障方案
- 小红书种草营销师(初级)认证考试真题试题库(含答案)
- 人教版数学四年级上册-第五单元《平行四边形和梯形》练习题(含答案)
- 零工市场(驿站)运营管理 投标方案(技术方案)
- 新《全面质量管理(习题集)》考试题库(含答案)
- 农村建房的邻居协议书模板
- 水杨酸软膏剂的制备
- 《铁皮石斛的介绍》课件
- JCT478.2-2013 建筑石灰试验方法 第2部分 化学分析方法
- 大数据、智慧城市与智慧交通(上)
评论
0/150
提交评论