当前位置:文档之家› 宿舍管理系统设计

宿舍管理系统设计

宿舍管理系统引论现在越来越越多的学生选择在学校居住,这不仅有利于学生的学习,也方便他们的生活。

所以学生宿舍管理系统相对一个学校来讲是无法替代的组成部分。

就现在来说大多学校仍然徘徊在手工纪录学生入住信息的原始阶段,鉴于此种情况不少学校开始建立信息管理系统。

无论义务教育还是高校,学生宿舍管理都是必不可少的组成部分,宿舍管理的信息化更是迫在眉睫。

目前好多学校仍在使用人员手工记录数据,这是计算机发展的初级阶段。

对于学生多,数据量大的高校,手工记录数据是不实现的,由于数据庞大,只能人工查找,工作效率低。

在二十一世纪的今天,在实际的、先进的、开放的、可靠的宿舍管理信息系统高度发展的今天,我们必将先进的办公自动化管理系统理念与教育管理解决方案的思想融入到该系统中,采用相应的数据驱动,分组管理设计的思想,将宿舍资源管理,学生管理,日常管理,宿舍检查管理结合起来,最终完成学校宿舍的自动化、方便化、智能化,高效化、信息化,达到数据共享、管理便捷的目的。

1 C#的主要特点C#语言具有如下主要特点:1、语法简洁2、更完美的人机对话机制3、与Web应用的紧密C#可以编写Windows应用程序、Web应用程序、Web服务,这些类型需要数据库访问,也可以通过.NET 框架的Active Date ()实现的。

C#意在设计成为一种“简单的、现代的、通用的”,以及面向对象的程序设计语言,这种语言的实现,开发工作提供好多的方便,可以给以后的系统编程、软件一定要做到强大、持久,并且具有较强编程能力。

这种在分布式环境下的计算机开发语言提供适用的组件开发应用程序。

由于源代码可移植性非常重要,所以对于程序员来说,接受这种语言是非常容易的,对已完全熟悉C++和C的程序人员来说,C#非常适应嵌入式和独立的应用程序创建。

从应用复杂的操作系统的大型系统到指定应用的小型系统同样应用。

宿舍信息管理:通过宿舍管理建立每个宿舍楼层房间的基本信息,包括每个宿舍的房间号、宿舍的电话号码、收费标准(500元/700元)、房间床位数、房间凳子数、房间桌子数以及一些备注信息。

对房间物品信息;提供按时间点查询宿舍信息,随时掌握宿舍剩余床位状况。

学生入住管理:学生的入住管理中我们可以依据宿舍的现有资源来分配学生的住所,比如:按照班级、院系来分配学生住所的或者是按照每个房间的床位数来分配的,最终以学号、姓名、宿舍号为过滤条件进行快速找到某学生的入住信息。

卫生检查管理信息:通过对宿舍的卫生检查可以学生的卫生状况,包括对记录宿舍号、检查的情况(优秀、良好、及格、不及格)、检查的日期以及增加一些备注信息。

或者根据宿舍号或检查日期快速查看想要查看的宿舍的卫生信息,以方便评优评先。

房屋报修管理信息:该功能主要记录每个宿舍的房屋报修问题,宿舍出现问题可以拨打报修电话请维修人员来修理,宿舍的管理人员就要记录维修师傅维修的宿舍号、报修日期、维修日期以及报修情况的信息。

还可以通过宿舍号、维修日期为条件快速查找维修的情况。

退宿管理:学生因毕业需要退宿或者其他原因需要更换宿舍的可以通过修改退宿功能实现退宿业务操作。

2 需求分析2.1 信息要求管理人员可以从数据库中提取宿舍的基本信息、学生的基本信息,以及与之相对应的宿舍信息表的信息,宿舍信息表中包括宿舍号、学生的姓名、学生的性别、所在班级,还可以在该表中进行添加学生、删除学生、修改学生信息以及学生的退宿功能;用户列表,对应的表为用户表中包含用户、密码、权限,该表可以登陆学生宿舍管理系统;检查卫生表:该表中记录各个寝室的卫生检查现象,为宿舍里面的卫生检查界面提供后台支持。

加电表:记录各个寝室的用电情况,也为电量提供后台支持。

2.2 处理要求管理员用户登陆宿舍管理系统后可以进行系统管理、宿舍信息、学生入住、卫生检查、水电收费、房屋报修功能的添加、删除、修改、查询,每个功能下又有不同的子功能以实现系统的应用。

功能模块图如下:2.3 安全性和完整性要求本系统只为管理员用户使用,管理员用户可以对本系统的任何信息进行添加、修改、删除和查询,其他人无权对系统中的信息进行添加、修改、删除和查询。

3 概念结构设计(1)系统管理功能下又有四个子功能,点击每个功能可弹出来相应的对话框:添加用户,修改密码,重新登陆,退出,即管理者对系统的管理。

点击“添加用户”则弹出来一个“添加子用户”的子窗口,该子窗口的功能可以添加新的用户并设置密码信息,还可以重置密码信息;点击“修改密码”则弹出来一个“修改密码”的子窗口,在这个子窗口中可以修改以前的密码,可以输入旧的密码然后在输入一个新的密码,可以实现修改和重置的功能;点击“重新登录”功能就会返回登录系统的主界面,再次输入用户名和密码,然后确定或重置;最后一个是“退出”功能,自然点击“退出”菜单项则退出了当前的系统。

(2)宿舍信息菜单有两个子窗口:添加宿舍和查询宿舍两个功能。

添加宿舍的基本信息就是添加一个宿舍的最基本信息,比如宿舍号、宿舍的电话号码、宿舍住宿费用、宿舍桌子数、宿舍椅子数等等,另外还可以添加一些备注信息,添加宿舍的功能就是等待接受学生的信息,填写完正确的信息后可以点击“添加”按钮或者“重置”按钮将先前填写的宿舍基本信息重置,而查询宿舍功能则按条件进行快速查找,可以根据宿舍号作为查询的条件进行查询也可以直接点击查询按钮进行查询,输入宿舍号就会出现相应的宿舍信息,而查询按钮查出来的信息是全部备案的宿舍信息。

在下面还有三个按钮,分别是“修改”、“删除”和“取消”,根据实际情况进行宿舍信息的修改、删除功能。

(3)学生入住下拉菜单有两个窗口:添加学生和查找学生。

添加学生写的是住宿学生的基本信息,如学号、姓名、宿舍号、班级、性别等,在添加学生入住的信息时必须完整以上信息,并结合下面的两个“添加”和“重置”按钮配合使用。

而查找学生同样为快速查找提供方便,可以根据学生的学号、宿舍号、姓名快速查找,或者点击查询按钮查询全部学生的全部信息。

最下方的三个按钮修改按钮可以根据查询出来的学生修改他们的基本信息,“退宿”可以是学生毕业或者特殊情况下退出宿舍。

(4)卫生检查菜单也有两个窗口:添加检查和查询检查。

添加检查主要添加些基本的检查信息,宿舍号、检查情况、检查日期、备注。

下面的有两个添加和重置的按钮以完成其功能。

查询卫生则是根据条件进行卫生检查情况的说明,可以依据宿舍号或者查询日期进行宿舍的卫生检查,也可以直接点击查询按钮查询全部的信息。

并配合修改删除、修改、取消的使用。

(5)水电收费下拉菜单也有两个窗口:添加收费和查询收费。

添加收费的功能是添加些宿舍号、购买人、购买数量、总价、缴费日期,查询功能同样提供快捷操作。

查询收费可以根据条件进行查询,根据宿舍号或者添加水电日期进行查询,并伴随修改、删除、取消按钮的配合使用。

(6)房屋报修的两个窗口:添加报修和查找报修。

添加些宿舍号、报修者本人、报修的时间、修理日期以及具体的报修情况,并配合添加按钮和重置按钮的使用。

而查询报修的功能则是根据查询条件进行查找,查询条件有宿舍号和报修日期,还可以点击“查询”按钮进行全部报修宿舍的查询信息,以便查询,并配合“修改”、“删除”、“取消”等按钮的使用。

4 逻辑结构图管理者修改密码的主界面:宿舍信息的添加宿舍信息:宿舍信息的添加宿舍信息:学生入住里的添加学生:学生入住里的查询学生:卫生检查里的添加卫生:卫生检查里的查询卫生:水电收费里的添加收费信息:水电收费里的添加查询收费信息:房屋报修里的添加报修信息:房屋报修里的添加报修信息:5模块设计及其代码一个大型的框架,一定是有多个单独的子系统或子模块组成的。

此宿舍管理系统主要由管理员登陆窗口、管理员密码修改窗口、添加学生窗口、修改学生入住信息窗口、卫生检查窗口、房屋报修窗口、所有重置窗口等组成。

具体的实现方式如下:5.1管理员登陆的代码private void btOk_Click(object sender, EventArgs e){if (name.Text.Trim() == "" || password.Text == "")MESSAGEBOX.SHOU("请输入用户名或密码信息!", "提示");else{sqlConnection1.Open();SqlCommand cmd = new SqlCommand("",sqlConnection1);mandText = sql;if (null != cmd.ExecuteScalar()){this.Visible = false;Main main = new Main();main.Tag = this.FindForm();SqlDataReader dr;mandText = sql;dr = cmd.ExecuteReader();dr.Read();main.toolStripStatusLabel2.Text = name.Text.Trim();main.ShowDialog();}elseMessageBox.Show("用户名或密码不正确!","警告");}sqlConnection1.Close();}5.2管理员修改密码的代码private void btOk_Click(object sender, EventArgs){if (yonghuming.Text.Trim() == "" || jiumima.Text == "" || xinmima.Text == "" || mimaok.Text == ""){}else{sqlConnection1.Open();SqlCommand cmd = new SqlCommand("",sqlConnection1);Text.Trim()+"'and pwd='"+jiumima.Text+"'";mandText = sql;if (null != cmd.ExecuteScalar()){= mimaok.Text)MessageBox.Show;else{"' where uid='" + yonghuming.Text + "'";mandText = sql;cmd.ExecuteNonQuery();MessageBox.Showthis.Close();}}elseMessageBox.Show();sqlConnection1.Close();}}5.3添加学生入住代码private void btOk_Click(object sender, EventArgs e){try{if (sid.Text.Trim() == "" || dormid.Text.Trim() == "" || name.Text.Trim() == "" || banji.Text.Trim() == "")MessageBox.Show("请输入完整的学生信息!", "提示");else{sqlConnection1.Open();string sql = "select * from dorm where dormid ='" + dormid.Text.Trim() + "' ";SqlCommand cmd = new SqlCommand(sql, sqlConnection1);if (null == cmd.ExecuteScalar())MessageBox.Show("没有该宿舍号,请重新输入!", "提示");else{Text.Trim() + "') from dorm where dormid ='" + dormid.Text.Trim() + "'";mandText = sql;if (Convert. = 0)MessageBox.Show(");else{+ sid.Text.Trim() + "' ";mandText = sql;else{mandText = sql;cmd.ExecuteNonQuery();MessageBox.Show("添加学生成功!", "提示");//sid.Text = "";//dormid.Text = "";//name.Text = "";//sex.Text = "";//banji.Text = "";}}sqlConnection1.Close();}}}5.4修改学生入住代码private void btOk_Click(object sender, EventArgs e){if (sid.Text.Trim() == "" || dormid.Text.Trim() == "" ||)else{sqlConnection1.Open();SqlCommand cmd = new SqlCommand(sql,sqlConnection1);if (null == cmd.ExecuteScalar())else{.Text.Trim() + "',sname='" + name.Text.Trim() + "',ssex='" + sex.Text.Trim() + "'," +"class='" + banji.Text.Trim() + "' where sid='" + sid.Text.Trim() + "'";mandText = sql;cmd.ExecuteNonQuery();this.Close();}sqlConnection1.Close();}}5.5 卫生检查的代码private void btQuery_Click(object sender, EventArgs e){sqlConnection1.Open();ds = new DataSet();string sql;if (dormid.Text.Trim() == "").Value.Date.ToString()+"'";elseSqlDataAdapter adp = new SqlDataAdapter(sql, sqlConnection1);adp.Fill(ds, "checkinfo");DataTable dt = ds.Tables[0];dt.Columns["checkid"].;dt.Columns["dormid"].;dt.Columns["cdate"].;dt.Columns["cstate"].;dt.Columns["cremark"].;dataGridView1.DataSource = dt;for (int i = 0; i < this.){this.dataGridView1.Rows[i].DefaultCellStyle.BackColor = System.Drawing.Color.LightBlue;i += 2;}sqlConnection1.Close();}5.7 查询收费的代码private void btQuery_Click(object sender, EventArgs e){sqlConnection1.Open();ds = new DataSet();string sql;if (dormid.Text.Trim() == "")date.Value.Date.ToString() + "'";elsedormid.Text.Trim() + "'";SqlDataAdapter adp = new SqlDataAdapter(sql, sqlConnection1);DataTable dt = ds.Tables[0];dt.Columns["chargeid"].;dt.Columns["dormid"].;dt.Columns["shoufeidate"].;dt.Columns["ebuy"];dt.Columns["cperson"];dt.Columns["cmoney"].;dataGridView1.DataSource = dt;for (int i = 0; i < this.dataGridView1.Rows.Count; ){this.dataGridView1.Rows[i].DefaultCellStyle.BackColor =System.Drawing.Color.LightBlue;i += 2;}sqlConnection1.Close();}5.8 房屋报修的代码private void btQuery_Click(object sender, EventArgs e){sqlConnection1.Open();ds = new DataSet();string sql;if (dormid.Text.Trim() == "")elseSqlDataAdapter adp = new SqlDataAdapter(sql, sqlConnection1);adp.Fill(ds, "repairinfo");DataTable dt = ds.Tables[0];dt.Columns["repairid"].dt.Columns["dormid"].;dt.Columns["datein"];dt.Columns["daterepair"].;dt.Columns["rperson"].;dt.Columns["rstate"].;dataGridView1.DataSource = dt;for (int i = 0; i < this.; ){this.dataGridView1.Rows[i].DefaultCellStyle.BackColor = System.Drawing.Color.LightBlue;i += 2;}sqlConnection1.Close();}5.9 所有重置的代码private void btChongZhi_Click(object sender, EventArgs e){dormid.Text= "";person.Text = "";baoxiu.Text = "";}private void btOk_Click(object sender, EventArgs e){try{if (dormid.Text.Trim() == "" ||baoxiu.Text.Trim() == "" )else{sqlConnection1.Open();.Text.Trim() + "'";SqlCommand cmd = new SqlCommand(sql, sqlConnection1);if (null == cmd.ExecuteScalar())MessageBox.Show("没有该宿舍号,请重新输入!", "提示");else{sql = "insert into repairinfo(dormid,datein,daterepair,rperson,rstate) values('" + dormid.Text.Trim() + "','" + datein.Value.Date.ToString() + "','" +daterepair.Value.Date.ToString() + "','" + person.Text.Trim() + "','" + baoxiu.Text.Trim() + "')";mandText = sql;cmd.ExecuteNonQuery();MessageBox.Show("成功", "提示");}sqlConnection1.Close();}}。

相关主题