1、河 南 科 技 学 院 2016 届本科毕业论文(设计) 论文(设计)题目:大学生宿舍管理系统的设计与实现 学生姓名: xxxxx 所在院系: 信息工程学院 所学专业: 计算机科学与技术 导师姓名: 完成时间: 2016-05-08 1大学生宿舍管理系统的设计与实现摘要宿舍管理系统最初的管理方式是采用人工的方式,而这种方式费时、费力、效果不佳,效率极低,容易出现错误(学生有名字重复的),随着计算机的飞速发展,各大高校都采用宿舍管理系统来管理学生。本学生管理系统主要包括两部分:前台用户界面的开发和后台数据库的开发,前台管理主要有系统管理、宿舍信息、学生入住、卫生检查、水电收费、房屋保修、外来人员
2、登记、附加等模块。学生宿舍管理系统采用C#为开发工具,用Microsoft SQL Server 作为数据库开发工具。通过对数据库操作,来完成前台数据的增删改查,经测试本系统实现了宿舍管理的基本功能,本系统实现了数据库备份和恢复,还能保存成Excel表格。关键词:宿舍管理,数据库,C#THE DESIGN AND IMPLEMENTATION OF UNIVERSITY STUDENT DORMITORY MANAGEMENT SYSTEMABSTRACTDormitory management system initial management is the use of artificia
3、l way, and this way time-consuming, laborious, ineffective, inefficient, error-prone (students have duplicate names), with the rapid development of computers, major colleges and universities dormitory management systems are been used to manage student. The student management system mainly consists o
4、f two parts: development, front desk management frontend user interface development and back-end database of the main system management, dormitory information, the students stay, health inspection, water and electricity charges, Home warranty, migrant workers registration, additional modules. Dormit
5、ory management system using C# development tools, with Microsoft SQL Server as a database development tool. By operation of the database, to complete the additions and deletions to change search reception of data, tested the system to achieve the basic functions of the dormitory management system to
6、 achieve the database backup and recovery, but also can to save Excel spreadsheets.Key words: Dormitory management, database, C#目录1.绪论11.1 系统开发背景11.2 系统开发意义11.3 前景与展望12.开发系统简介22.1 .NET平台概述22.2 C#语言22.3 数据库SQL特征33.系统需求分析33.1 系统功能设计33.2 概念结构设计43.3 表/字段及表间关系设计74.系统详细设计与实现84.1 登录设计84.2 主界面功能的设计94.3 系统管理
7、界面的设计94.4 宿舍信息功能管理模块104.4.1 添加宿舍功能114.4.2 查询宿舍功能114.5 学生入住功能模块设计114.5.1 学生入住功能124.5.2 学生查询功能134.6 卫生检查功能模块设计144.6.1 添加检查功能144.6.2 检查查询功能164.7 水电收费功能模块设计164.7.1 水电缴费功能164.7.2 数据统计功能184.8 房屋报修功能模块设计184.9 外来人员登记功能模块设计204.10 附加功能模块设计215.结论24参考文献25致谢261.绪论1.1 系统开发背景21世纪是互联网飞速发展的时代,具有广阔的前景和无限的潜力,已经成为势不可挡的
8、时代潮流。计算机的最大好处在于管理信息工作效率高,安全性能高,计算机最大的优势在于计算速度快、准确无误,这也是学生宿舍管理系统所必须的。学生宿舍是学生在学校,待的最多的地方之一,其中有许多信息需要处理和管理。现今,学生宿舍管理系统并没有应用在每个学校中,有些还没有使用计算机进行信息处理。根据调查结果显示,原来学校宿舍对信息管理的主要方式是使用文本、表格等方式,运用人工手抄进行管理,数据信息处理工作量很大,容易出错;而且数据繁多,容易丢失,不便查找。综上来看,原来的宿舍管理缺乏系统规范的管理方法,这时学生宿舍管理系统应运而生。为了规范宿舍管理系统,提高信息处理的速度和准确性,能够快速、准确、有效
9、的查询和修改宿舍情况,设计了宿舍管理系统,来帮助管理员更好的管理宿舍,保障了学生信息和个人的安全。1.2 系统开发意义随着计算机的普及和网络技术的高速发展,越来越多的学校采用了计算机对宿舍的日常工作进行管理。随着高校办学规模的逐步扩大,给学生管理工作带来新的烦恼。获取信息缓慢,查阅困难,准确性较差,很难适应高水平管理,同时管理工作也要符合时代的新要求,树立新的办学形象,提高工作效率。虽然目前很多大学已经有了一套比较完善的管理系统,但是在一些规模小的学校里面,大部分工作仍需由手工完成,工作起来效率比较低,管理员不能及时了解学生的住宿情况,所以不能对突发情况进行控制和管理,为了更好地适应时代的发展
10、,学校正在逐步向计算机信息化管理转变。本系统由于优越的性能和简单的操作,大大节省了人力、物力和财力,能为高校管理人员提供实时的宿舍人员信息,流动人员信息,以及后期的查询,信息准确无误,节省了大部分时间,由此来说意义十分深远。1.3 前景与展望宿舍管理系统未来的发展为面向简单、方便、快捷,现在是通过在电脑上操作,可以再发展成用手机客户端或者平板上直接操作,只要是有网络的地方,管理员登陆,就可以查看学生的信息,学生也可以进入学生端,查看自己宿舍情况,包括新生能提前查看宿舍图片和设施情况,未来发展前景特别的好。2.开发系统简介2.1 .NET平台概述Internet的出现与普及改变了人们原有的行为方
11、式和思维方式。当人们遇到问题时,首先想到的就是从Internet上获取想要的答案。促进开发人员不断地推出更加简单、易用的Internet服务。但是这些软件所基于的技术是在早期形成的,已无法满足人们日益增长的对互联网的需求。人们迫切需要一种全新观念的开发平台,在这样的背景下,Microsoft公司推出了全新的.NET平台。首先.NET是一个环境。那时微软的构想是“不再关注单个网站、单个设备,而是要让所有的计算机群、相关设备和服务协同工作”的网络计算环境。总的来说,互联网提供的服务,要达到的是更高程度的自动化处理。未来的互联网,应该以一个整体服务的形式展现在最终用户面前,用户只需要知道自己想要什么
12、,而不需要知道怎么样得到自己想要的,其中包括网络搜索、推理判断、择优选择等功能。.NET的最终目的就是让用户能在任何地方、任何时间,以及利用任何设备都能够获取需要的信息、文件和程序。而用户不需要知道这些东西存放在什么地方,甚至连如何获取等具体细节都不需要知道。他们只需要发出请求,就能找到自己想要的结果,而所有的后台操作是被完全屏蔽起来的,用户是完全看不到的。用户不需要担心后天是怎么运行的,就能得到自己想要的结果。微软中国网站给出了.NET平台更确切的解释:Microsoft.NET是Microsoft XML Web Services 平台。XML Web Services允许应用程序通过In
13、ternet进行通信和共享数据,可以应用于各种操作系统、设备和编程语言。Microsoft.NET平台提供、创建XML Web Services,并将这些服务集成在一起。更进一步的说,Microsoft正在从五个方面诠释.NET平台,即工具、服务器、服务、客户端和.NET体验。2.2 C#语言C#是针对.NET平台而设计的。是由C、C+ 语言发展而来的,继承了C、C+语言的功能,使C#变得相对简单。C#中没有宏,没有模板,不允许多重继承,不再强调使用指针,解决了用户对于多重继承和指针的使用等不容易理解的问题。C#在语法、思维方面也与Java有着很大的相似性。总体来说,C#具有以下优点:易于掌握
14、面向对象设计与Web紧密结合完整的安全性与错误处理版本管理技术灵活性与兼容性2.3 数据库SQL特征数据库是指按一定的数据结构,组织、存储在计算机中的一组相关数据的集合。它能够为各种用户提供共享资源,同时又具有最小的冗余度。数据间相互联系,而又具有较高的冗余性和独立性。数据库系统随着计算机的不断发展,在一定的历史时期、用户需求环境下产生的,因此,计算机在数据管理方面经历了由复杂到简单的发展过程。计算机数据管理是随着计算机软件、硬件技术和计算机应用范围的发展而不断发展的,经历了3个阶段,即人工管理阶段、文件系统阶段和数据库系统阶段。数据库具有的主要特点:实现数据共享减少数据冗余度数据的独立性数据
15、实现集中控制数据的一致性和可维护性3.系统需求分析学生宿舍管理是当代学校中重要的组成部分,在信息化飞速发展的今天,它的出现已经成了一种时代潮流,本文将从宿舍管理系统的悠久历史和现状进行分析,以使本系统的设计具有使用的价值,跟上时代的要求,做出一个质量高、安全性好、实用性强的宿舍管理系统,使其能满足学校现在和将来一段时间内的需求。而现在高效的管理系统不多,所以本系统是需求量很大的而高效的宿舍管理系统。3.1 系统功能设计主要实现的是管理员更加方便的对学生宿舍进行管理,贴近用户便于用户操作。主要用8大模块,分别有系统管理、宿舍信息、学生入住、卫生检查、水电收费、房屋报修、外来人员登记、附加等功能,
16、包括了学生的生活的各个方面,系统在实现上具有如下功能:系统要求用户输入正确的账号和密码才能顺利进入系统。系统提供了宿舍信息管理,可以增加、查询、修改和删除宿舍。系统提供了学生入住的具体情况,可以添加、查询、修改、删除学生。系统提供了水电收费情况,包括添加、查询和数据统计,统计从2000年到当前时间的水电情况。系统提供了房屋报修情况,包括添加、查询和数据统计,其中统计从2000年到当前时间的报修情况。系统提供了外来人员登记情况,也包括添加、查询和数据统计。系统提供了附加功能,包括数据备份、数据还原和生成excel,方便管理员用于保存数据。系统的功能模块图是对于系统的各个功能模块的说明,实现了各个
17、模块之间的调用。首先对系统功能模块图的建立,见图1-1所示:学生宿舍管理系统宿 舍 信 息系 统 管 理学 生 入 住卫 生 检 查房 屋 报 修外 来 人 员 登 记水 电 收 费图 1-1 系统功能模块图附 加3.2 概念结构设计概念设计的目的是对现实世界中各部分的信息结构、信息流动情况、信息间的互相制约关系以及对信息储存、查询和加工等的操作。主要以E-R图的形式来表现,如下图所示:学号学生信息班级姓名性别宿舍号图 3-1 学生信息实体图学生信息实体图,如图3-1所示:宿舍信息实体图,如图3-2所示:宿舍信息住宿费椅子数备注电话宿舍号桌子数床位号图 3-2 宿舍信息实体图检查信息实体图,如
18、图3-3所示:宿舍号图 3-3 检查信息实体图检查信息备注检查日期检查状态来访信息实体图,如图3-4所示:来访信息备注被访人宿舍号离开日期来访人访问日期图 3-4来访信息实体图水电缴费实体图,如图3-5所示:水电缴费电量价格总价宿舍号购买日期水量价格图 3-5 水电缴费实体图水量购买人购买电量缴费查询实体图,如图3-6所示:缴费查询日期宿舍号缴费类型图 3-6 缴费查询实体图报修信息实体图,如图3-7所示:报修信息报修日期宿舍号报修人图 3-7 报修信息实体图报修情况修理日期3.3 表/字段及表间关系设计(1)学生信息表,如表3.1所示:表3.1 学生信息表字段名数据类型数据长度是否为空条件K
19、eySIDnchar100NP_KSNamenchar100NSSexnchar2N男或女dassnchar100NdormIDVarchar20N(2)宿舍信息表,如表3.2所示:表3.2 宿舍信息表字段名数据类型数据长度是否为空条件KeydormIDnchar10NP_KphoneintNDMoneyfloatNbedNumnchar10NchairNumintNdeskNumintNDRemarkNchar10N(3)水电缴费表,如表3.3所示:表3.3 水电缴费表字段名数据类型数据长度是否为空条件KeydormIDnchar10NCPersonnchar10NEBuyfloatNWbu
20、yfloatNMDatedateNCMoneyfloatN(4)缴费查询表,如表3.4所示:表3.4 缴费查询表字段名数据类型数据长度是否为空条件KeydormIDnchar10NCDatedateNCStatenchar10NCRemarknchar10N(5) 外来人员表,如表3.5所示:字段名数据类型数据长度是否为空条件KeydormIDnchar10NP_KPComenchar10NDateComedateNDateLeavedateNPLooknchar10NRemarknchar10N表3.5 外来人员表(6)报修信息表,如表3.6所示:表3.6 报修信息表字段名数据类型数据长度是
21、否为空条件KeydormIDnchar100Npersonnchar100NDateIndateNDateRepairdate100Nrepairnchar100N(7)用户信息表,如表3.7所示:表3.7用户信息表字段名数据类型数据长度是否为空条件KeyUNamenchar10NPWDnchar10N4.系统详细设计与实现4.1 登录设计用户登陆界面,是学生宿舍管理系统的登陆窗口。用户登陆模块设计的好坏,也是开发的软件使用便捷的标志之一。用户登录模块的主要功能是:检验用户名和密码是否配套,其中任意一项不符合将不能登录成功,也是为系统做了一个很好的安全措施。主要是管理员的登录,还有其他用户的登
22、录,当使用的不是管理员的用户名或密码时,系统会自动提示用户名或密码错误,当输入正确,就直接进入系统中,登录界面的设计如图4-1所示:图4-1 登录信息表4.2 主界面功能的设计主界面主要包括系统管理、宿舍信息、学生入住、卫生检查、水电收费、房屋报修、外来人员登记、附加等操作选项。主界面包括了用户操作的所有功能,用户可以按照自己的需要进行操作,放在最高的一行,让用户可以快速的找到,节约时间。在操作按钮下还设置了宿舍、入住、卫生、水电、报修、登记等方便添加的快捷按键,即使用户初次使用时,也能快速的找到需要的操作,界面新颖,给人一种轻松感,主界面的设计如图4-2所示图4-2 主界面表4.3 系统管理
23、界面的设计系统管理界面中主要是对用户的操作,其中包括添加用户、修改密码和退出系统,添加用户包括输入用户名和密码,密码以$的形式显示,保护用户的安全,按钮采用的是图片的形式,左边为确定按钮,右边为取消按钮,系统管理界面的设计如图4-3、4-4所示:9图4-3 添加用户表图4-4 修改密码表4.4 宿舍信息功能管理模块宿舍信息主要是为了方便管理员对宿舍进行的操作,新学期学生的增加,调换专业转入本学院宿舍的学生,以及毕业生的离开,其中的功能包括增加宿舍、查询宿舍、修改宿舍、删除宿舍。添加宿舍界面设计如图4-5所示:图4-5 添加宿舍表1 4.4.1 添加宿舍功能当用户添加信息时,必须输入宿舍号,否则
24、不能添加成功,添加的过程是管理员输入宿舍号、电话、住宿费、床位号、椅子数、桌子数、备注等信息,点击保存时,就会存入后台数据库中,以便下次查看,添加宿舍的主要代码如下: / 添加宿舍 private void btn_Add_Click(object sender, EventArgs e) if (string.IsNullOrEmpty(NO) BaseClass.Message(请输入宿舍号, 提示); else string sql = string.Format(INSERT INTO dorm(dormID,phone,DMoney,bedNum,chairNum,deskNum,D
25、Remark)VALUES(0,1,2,3,4,5,6),NO,phone,money,bed,chair,table,remark); BaseClass.InsertData(sql); this.Close(); 4.4.2 查询宿舍功能用户可以输入宿舍号进行查询,查询的结果将显示在列表框中,查询宿舍界面如图6-6所示:图4-6 查询宿舍表4.5 学生入住功能模块设计主要是在校学生入住的信息,包括宿舍号、学号、姓名、班级、性别,主要的功能是添加学生、查询学生、修改学生、删除学生等,对学生进行一系列的操作。学生入住界面如图4-7所示:图4-7 学生入住表 4.5.1 学生入住功能当有新生入
26、住时,宿舍管理员需要添加学生进入宿舍管理系统,其中的宿舍号、学号、姓名、性别、班级信息必须输入完整,否则有相应的提示,当相同的学号输入不同的宿舍号时,也会有提示学号重复,一个房间人数满时也会提示,当查询、修改、删除学生时,先调用后台数据库中的数据,再进行用户需要的操作,学生入住的主要代码如下:SqlConnection conn = BaseClass.DBCon(); private void btn_Add_Click(object sender, EventArgs e) if (string.IsNullOrEmpty(no) | string.IsNullOrEmpty(stuno)
27、 | string.IsNullOrEmpty(name) | string.IsNullOrEmpty(stuclass) BaseClass.Message(请填写完整, 提示); else conn.Open(); string sql = string.Format(SELECT * FROM dorm WHERE dormID=0, no); SqlCommand cmd = new SqlCommand(sql, conn); if (null = cmd.ExecuteScalar() BaseClass.Message(没有该宿舍号, 提示); else sql = strin
28、g.Format(SELECT bedNum - (SELECT COUNT(*) FROM student WHERE dormID=0) FROM dorm WHERE dormID=1, no, no); cmd.CommandText = sql; if (Convert.ToInt16(cmd.ExecuteScalar().ToString().Trim() = 0) BaseClass.Message(该宿舍已住满,请重新输入, 提示); else sql = string.Format(SELECT * FROM student WHERE SID=0, stuno); cmd
29、.CommandText = sql; if (null != cmd.ExecuteScalar() BaseClass.Message(学号重复,请核实后重新输入, 提示); else sql = string.Format(INSERT INTO student(SID,SName,SSex,class,dormID) VALUES(0,1,2,3,4), stuno, name, sex, stuclass, no); cmd.CommandText = sql; cmd.ExecuteNonQuery(); BaseClass.Message(入住成功, 提示); txt_Class
30、.Text = ; txt_DormNO.Text = ; txt_Name.Text = ; txt_StuNo.Text = ; conn.Close(); 4.5.2 学生查询功能用户可以通过学号、姓名或者宿舍号进行查询,其中的任意一项都可以作为查询的条件,从数据库中调取用户需要的信息,当输入的不符合查询的条件时又有相应的提示,将找不到结果。学生查询界面如图4-8所示;图4-8 学生查询表4.6 卫生检查功能模块设计主要是对宿舍卫生进行检查,包括宿舍号、检查的日期、检查的状态,主要的功能是添加检查、修改检查、查询检查。界面如图4-9所示;图4-9 添加检查表 4.6.1 添加检查功能用户
31、输入宿舍号,选择检查日期,检查的情况,当单击保存时就会存入后台数据库,添加检查的主要代码如下: / 添加检查 private void btn_Add_Click(object sender, EventArgs e) string dorNO = txt_DormNO.Text.Trim(); string date = dt_Date.Value.ToShortDateString(); string remark = txt_Remark.Text; string CState = ; /定义个空字符串 if (rbtn_A.Checked) CState = rbtn_A.Text.T
32、rim(); /如果选择优秀,则将优秀赋给CState else if (rbtn_B.Checked) CState = rbtn_B.Text.Trim(); /如果选择良好,则将良好赋给CState else CState = rbtn_C.Text.Trim(); /如果选择不及格,则将不及格赋给CState if (string.IsNullOrEmpty(dorNO) BaseClass.Message(请输入宿舍号, 提示); else /检查输入的是否为不存在的宿舍号 conn.Open(); string sql = string.Format(SELECT * FROM d
33、orm WHERE dormID=0, dorNO); SqlCommand cmd = new SqlCommand(sql, conn); if (null = cmd.ExecuteScalar() BaseClass.Message(没有该宿舍号, 提示); txt_DormNO.Text = ; conn.Close(); else string sql1 = string.Format(INSERT INTO checkinfo(dormID,CDate,CState,CRemark) /插入检查记录VALUES(0,1,2,3),dorNO,date,CState,remark)
34、; BaseClass.InsertData(sql1); GetInfo(); /重新获取检查信息 4.6.2 检查查询功能管理员可以通过宿舍号,来查询每个宿舍的报修情况,界面设计如图4-10所示:图4-10 检查查询表4.7 水电收费功能模块设计水电收费主要是对宿舍的用水用电进行记录,包括哪个宿舍购买了水电,购买的量,购买的日期,数据统计能够统计一段时间内水电的用量等等,主要功能有添加收费、查询收费、数据统计,水电缴费界面设计如图4-11所示:图4-11 水电缴费表 4.7.1 水电缴费功能当用户购买水电量时,宿舍管理员可以在水电缴费界面中添加,也可以查看每个宿舍的水电费的用量,通过一个统
35、计图来显示哪个阶段水电费的使用是最高峰,以便对以后的工作做出更好的规划,水电缴费的主要代码如下: / 缴费 private void btn_Add_Click(object sender, EventArgs e) string dorNO = txt_DormNO.Text.Trim(); string Name = txt_Name.Text.Trim(); double elect = Convert.ToDouble(txt_Electric.Text.Trim(); /转换成double类型 double water = Convert.ToDouble(txt_Water.Tex
36、t.Trim(); /同上 string date = dt_Date.Value.ToShortDateString(); string price = txt_Tol.Text.Trim(); if (string.IsNullOrEmpty(dorNO) & string.IsNullOrEmpty(Name) BaseClass.Message(请填写完整信息, 提示); else conn.Open(); string sql = string.Format(SELECT * FROM dorm WHERE dormID=0, dorNO); /查询宿舍号 SqlCommand cmd = new SqlCommand(sql, conn); /没有该宿舍号 if (null = cmd.ExecuteScalar() BaseClass.Message(没有该宿舍号, 提示); txt_DormNO.Text = ; conn.Close(); else if (string.IsNullOrEmpty(water.ToString() /只交电费 插入记录 string sql1 = string.Format(INSERT INTO charge(dormID,CPerson,EBuy,CMoney,Typ