学生公寓管理系统设计与发现毕业论文.doc_第1页
学生公寓管理系统设计与发现毕业论文.doc_第2页
学生公寓管理系统设计与发现毕业论文.doc_第3页
学生公寓管理系统设计与发现毕业论文.doc_第4页
学生公寓管理系统设计与发现毕业论文.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

学生公寓管理系统设计与发现毕业论文目录1引言41.1 开发背景与现状41.2开发设计的意义52 开发工具52.1Visual studio2008简介52.2数据库SQL Sever简介63系统分析63.1 可行性分析63.2需求规划73.2.1对功能的规定73.2.2系统主要功能73.3对性能的规定73.3.1 精度73.3.2 操作方式83.3.3运行环境83.4开发环境84 系统设计84.1系统功能结构设计85数据库设计95.1 数据库的引入95.2数据库结构设计105.2.1逻辑结构设计105.2.2数据库物理结构设计116系统的功能实现116.1.报修管理126.1.1报修管理模块界面的设计126.1.2报修管理模块图控件的设126.2卫生检查管理136.2.1卫生检查模块的界面136.2.2卫生检查模块界面控件的代码实现136.3用户注册模块的设计146.3.1用户注册模块的界面146.3.2用户注册模块界面的代码实现146.4外来人员登记模块的设计156.4.1外来人员登记模块界面系统156.4.2外来人员登记模块控件的代码实现156.5就寝管理模块的设计166.4.1就寝管理模块界面系统166.4.2就寝管理模块界面的代码实现166.6用户身份模块的设计176.6.1用户身份管理模块界面系统176.6.2用户身份管理模块界面的代码实现176.7宿舍信息管理模块的设计186.7.1宿舍信息管理模块界面系统186.7.2宿舍信息管理模块界面的代码实现186.8学生入住管理模块的设计196.8.1学生入住管理模块界面系统196.8.2学生入住管理模块界面的代码实现19总结20参考文献21致谢2259 1引言1.1 开发背景与现状 随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。目前各行各业广泛使用专用系统,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个专用系统对一个机构(或部门)的发展十分重要。近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。 对于学校而言,学生公寓管理是必不可少的组成部分。目前仍然存在有学校停留在宿舍管理部门人员手工记录数据的阶段,手工记录对于规模小的学校来说勉强可以接受;但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的,而且当查找某条记录时,由于数据量庞大,只能依靠人工去一条一条地查找,这样不但麻烦而且浪费许多时间,工作效率比较低。采用计算机来管理公寓宿舍和学生的信息,大大提高了查询的速度,节约了人力和物力资源,达到了预期的要求。今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源; 第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全。1.2开发设计的意义 为了实现提高高校学生公寓宿管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便公寓管理部门的工作人员全面地掌握学生住宿情况等目的;为公寓管理部门,开发设计专用系统-高校学生宿舍信息管理系统来进行管理学生信息,使学生公寓信息实现标准化的管理和规范化的制度是十分必要的。专用系统是一个信息管理系统MIS(Management Information System)(以下就称信息管理系统),它将实现检索迅速和查找方便;信息的录入,修改和删除功能;以及对新入校学生进行宿舍安排等功能,学生可以在系统前台以舍长长身份进行查看和发布宿舍的信息。 2 开发工具2.1Visual studio2008简介Visual studio2012引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio2012可以高效提高开发Windows应用程序。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio2008支持项目模板、调试器和部署程序。Visual Studio2012可以高效开发Web应用,它还可以高效开发office应用和Mobile应用。语言更简洁。使用Visual Studio2012可以更快更高效的完成学生公寓信息系统。2.2数据库SQL Sever简介SQL Server12是数据库管理系统,具备了通常数据库管理系统最基本的功能。SQL Server2012是微软公司开发的一款软件产品,2012是其版本号。Microsoft SQL Server是一种基于客户机/服务器的关系型数据库管理系统,用来对存放在计算机中的数据库进行组织、管理和检索,它使用TransactSQL语言在服务器和客户机之间传送请求。SQL是结构化查询语言。SQL是一种介于关系代数与关系演算之间的结构化查询语言,是一个综合的、通用的、功能极强的关系数据库语言。SQL利用表、索引、关键字、行和列等来确定存储位置,它有数据定义、行和列等来确定存储位置,它有数据定义、数据操作、数据管理、存取保护以及处理控制等多种功能。SQL语言本身不是一个很完整的编程语言,如它不支持界面编程等。一般它与其他编程语言综合来使用。Microsoft SQL Server2012 是用于大规模联机事务处理、数据仓库和电子商务应用的数据库和数据分析平台等。 3系统分析3.1 可行性分析 经济的可行性:主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以运转起来。从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给宿舍里的管理提高一个层次。 技术上的可行性:技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,做为计算机系软件技术专业的毕业生,数据库设计方面我们做的比较熟悉,在宿舍里生活了两年,对这个管理模试应该比较的熟。先写需求分析在写代码。通过以上两点的分析,编写或开发这个宿舍管理系统是可行的,只要这个系统能实现对学生数据的增加、修改、删除、与查询就可以了。如果技术方面可行,浏览与查询方面的功能应该编写得强大一点,再好有条件组合的查询,可以实现按男女生分类查询,也可以按专业、寝室号等分类查询,以便学校方面管理人员可以很方便的查询想要的数据,以便进行统一管理,统一安排。 3.2需求规划3.2.1对功能的规定 学生公寓信息管理系统个人信息管理宿舍信息管理保修管理退出系统宿舍卫生检查公寓管理外来人员登记管理用户身份管理系统管理3.2.2系统主要功能(1)报修管理:实现了宿舍物品报修管理。(2)卫生检查:实现了对学生宿舍卫生的检查。(3)用户注册:实现了对新用户的注册功能。(4)外来人员登记:对学生公寓管外来人员的登记。(5)就寝管理:实现对每个学生的就寝管理。(6)用户身份管理:实现对不同的身份管理。(7)宿舍信息管理:实现对每个宿舍的信息管理。(8)学生入住管理:实现对学生入住的管理。3.3对性能的规定3.3.1 精度(1) 输入输出的数据确保完整不漏。(2) 在读取信息的时候,不会出现因为系统的原因导致操作失败,也不会发生重复罗列数据。(3) 在执行增删数据操作的时候,不会因为系统的原因发生多删除、多增加,增删失败的情况。(4) 进行修改操作之后要求保持对应列表的一致性。(5) 系统应该保证稳定运行,在连续运行过程中不出现重大失误。 (6)系统操作界面应该简单易懂,方便用户使用。3.3.2 操作方式 系统在通常的应用环境下使用鼠标和键盘进行输入和输出操作,对于执行按钮,通常使用鼠标的点击完成,但是,界面要求有相应键盘的定位操作。3.3.3运行环境系统在通常的条件下,在Wndows7上安装运行,但是还要求能够在Windows8及后续的操作系统上运行。3.4开发环境 开发平台:Microsoft Visual Studio 2012开发语言:C#数据库:SQL SERVER 2012 4 系统设计4.1系统功能结构设计学生公寓管理系统的主要对象是公寓在日常所发生的活动数据,通过分析,学生公寓管理系统从功能上分为登陆模块和主程序模块两大部分。 登陆模块主要用于登陆学生公寓管理系统,是进入系统的第一步,主要涉及用户类别、登录号、密码的检测判断和软件验证。 主程序模块是整个系统的操作界面,包括报修管理、卫生检查、用户注册、外来人员登记、就寝管理、用户身份管理、宿舍信息管理、学生入住管理。下面分别介绍这些模块的功能:(1)报修管理模块包括添加信息、宿舍变更、报修的类别、报修的日期、查询条件、查询值、删除记录和退出等功能。(2) 卫生检查模块包括查询以往记录、添加查询记录、删除查询记录等功能。(3)用户注册模块包括查询已经有的用户、添加新的用户的功能。(4)外来人员登记模块包括查询外来人员记录、外来人员登记时间、外来人员找寻的对象的功能(5)就寝管理模块包括查询学生的就寝记录、添加学生的就寝记录、删除学生的就寝记录和退出的功能。(6)用户身份管理模块包括查询登录的用户是管理员还是一般用的功能。(7)宿舍信息管理模块包括查询每个宿舍的信息、床铺数量、桌子数量、椅子数量、宿舍人员信息、班级姓名学号的功能(8)学生入住功能模块包括添加入住学生信息的功能。 5数据库设计5.1 数据库的引入 数据库技术从60年代中期至今只有不到40年的历史,但其发展速度之快是其它技术所不及的。它已由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的数据库,即第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的广泛应用。 数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。 数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。 一个真正的、完整的站点是离不开数据库的,因为少量的数据,如网页访问人数等完全可以存储在文本文件中,但实际应用中,需要保存的数据远不止这一点点,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。可以说一个动态网站的建设是离不开一个设计最优的数据库的。我们现在可以使用的数据库有很多种,如:Fox数据库(.dbf)、Access数据库(.mdb)、DB2、Informix、Oracle和SQL Server等等,在本次设计中,选择了SQL Server作为后台数据库工具,因为它功能远比Access强大,并提供了许多标准的关系数据库管理功能的支持。他的各种关系数据库管理系统适应于各种硬件平台,包括Unix,PC和主机系统。 5.2数据库结构设计5.2.1逻辑结构设计 表5-2-1至表5-2-8 为数据库各表的结构, 表5-2-1:dbo.charge 表5-2-2:dbo.checkInfo 表5-2-3:dbo.CheckRest 表5-2-4:dbo.dorm 表5-2-5:dbo.DormBeds 表5-2-5:dbo.person 表5-2-6:dbo.register 表5-2-7:dbo.repair 表5-2-8:dbo.student 表5-2-9:dbo.userinfo 5.2.2数据库物理结构设计数据库Departmentmanage的物理结构符合SQL Server 2005关于数据文件、卷、页的分配和分配规则。数据库Departmentmanage的日志文件初始大小为10MB,按照超过最大容量后10%的增长速率进行增长,不限制日志文件的最大尺寸,逻辑名称为Departmentmanage_log, 物理名称为C:Departmentmanage.ldf。 6系统的功能实现6.1.报修管理6.1.1报修管理模块界面的设计6.1.2报修管理模块的代码设计 /添加报修 public void addRepair(string _dormid, string _datein, string _daterepair, string _person, string _perair) string sql = insert into repair (dormID,DateIn,DateRepair,Person,Repair) values( + _dormid.Trim() + , + _datein.Trim() + , + _daterepair.Trim() + , + _person.Trim() + , + _perair.Trim() + ); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); /报修查询 public DataSet Repairquery(string _dormid) string sql = select RepairID as 保修编号,dormID as 宿舍号,DateIn as 报修日期, DateRepair as 维修日期 , Person as 报修人,Repair as 保修情况 from repair; if (_dormid.Trim() != ) sql += where dormID = + _dormid.Trim() + ; conn.Open(); DataSet ds = new DataSet(); SqlDataAdapter adp = new SqlDataAdapter(sql, conn); adp.Fill(ds, repair); conn.Close(); return ds; /报修修改 public void RepairModify(string _repairid, string _dormid, string _datein, string _daterepair, string _person, string _perair) string sql = update repair set dormID= + _dormid.Trim() + ,DateIn= + _datein.Trim() + ,DateRepair= + _daterepair.Trim() + ,Person= + _person.Trim() + ,Repair= + _perair.Trim() + where RepairID= + _repairid.Trim(); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); /报修删除 public void Repairdelete(string _repairid) string sql = delete from repair where RepairID= + _repairid.Trim(); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); public partial class RepairQuery : Form public RepairQuery() InitializeComponent(); DataSet ds = new DataSet(); SqlHelper con = new SqlHelper(); private void btnQuery_Click(object sender, EventArgs e) ds = con.Repairquery(txtDormID.Text); dataGridView1.DataSource = ds.Tables0.DefaultView; private void bntDelete_Click(object sender, EventArgs e) if (dataGridView1.DataSource != null & dataGridView1.CurrentRow.Index = 0) con.Repairdelete(ds.Tables0.RowsdataGridView1.CurrentRow.Index0.ToString().Trim(); MessageBox.Show(删除成功); ds = con.Repairquery(txtDormID.Text); dataGridView1.DataSource = ds.Tables0.DefaultView; private void btnModify_Click(object sender, EventArgs e) RepairModify repairmodify = new RepairModify(); repairmodify.txtdormID.Text = ds.Tables0.RowsdataGridView1.CurrentRow.Index1.ToString().Trim(); repairmodify.dateTimePicker1.Text = ds.Tables0.RowsdataGridView1.CurrentRow.Index2.ToString().Trim(); repairmodify.dateTimePicker2.Text = ds.Tables0.RowsdataGridView1.CurrentRow.Index3.ToString().Trim(); repairmodify.txtperson.Text = ds.Tables0.RowsdataGridView1.CurrentRow.Index4.ToString().Trim(); repairmodify.txtrepair.Text = ds.Tables0.RowsdataGridView1.CurrentRow.Index5.ToString().Trim(); repairmodify.Tag = ds.Tables0.RowsdataGridView1.CurrentRow.Index0.ToString().Trim(); repairmodify.ShowDialog(); ds = con.Repairquery(txtDormID.Text); dataGridView1.DataSource = ds.Tables0.DefaultView; private void btnCancel_Click(object sender, EventArgs e) this.Close(); public partial class AddRepair : Form public AddRepair() InitializeComponent(); SqlHelper con = new SqlHelper(); private void btnadd_Click(object sender, EventArgs e) if (txtdormID.Text = | txtrepair.Text = ) MessageBox.Show(请填写完整信息, 提示); else if (con.checkDorm(txtdormID.Text) = false) MessageBox.Show(该宿舍不存在); else con.addRepair(txtdormID.Text, dateTimePicker1.Text, dateTimePicker2.Text, txtperson.Text, txtrepair.Text); MessageBox.Show(添加成功, 恭喜); clear(); private void clear() txtdormID.Text = ; txtperson.Text = ; txtrepair.Text = ; private void btncancel_Click(object sender, EventArgs e) this.Close(); 6.2卫生检查6.2.1卫生检查模块的界面6.2.2卫生检查模块代码的实现 public void AddCheck(string _dormid, string _state,string _date, string _remark) string sql = insert into checkInfo(dormID,CDate,CState,CRemark) values( + _dormid.Trim() + , + _date.Trim() + , + _state.Trim() + , + _remark.Trim() + ); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); /卫生检查查询 public DataSet checkQuery(string _dormid) DataSet ds = new DataSet(); string sql = select dormID as 宿舍号,CDate as 检查日期,CState as 检查结果,CheckID as 检查编号,CRemark as 备注 from checkInfo; if (_dormid.Trim() != ) sql += where dormID= + _dormid.Trim() + ; conn.Open(); SqlDataAdapter adp = new SqlDataAdapter(sql, conn); adp.Fill(ds, check); conn.Close(); return ds; /检查修改 public void CheckModify(string _checkid, string _dormid, string _cdate, string _cstate, string _cremark) string sql = update checkInfo set dormID = + _dormid.Trim() + ,CDate= + _cdate.Trim() + , CState= + _cstate.Trim() + ,CRemark = + _cremark.Trim() + where CheckID= + _checkid.Trim(); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); /检查删除 public void Checkdelete(string _checkid) string sql = delete from checkInfo where CheckID = + _checkid.Trim(); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); public partial class QueryCheckClean : Form public QueryCheckClean() InitializeComponent(); SqlHelper con = new SqlHelper(); DataSet ds = new DataSet(); private void btnQuery_Click(object sender, EventArgs e) ds = con.checkQuery(txtDormID.Text); dataGridView1.DataSource = ds.Tables0.DefaultView; private void btnModify_Click(object sender, EventArgs e) CheckModify checkmodify = new CheckModify(); checkmodify.txtDormid.Text = ds.Tables0.RowsdataGridView1.CurrentRow.Index0.ToString().Trim(); checkmodify.dateTimePicker1.Text = ds.Tables0.RowsdataGridView1.CurrentRow.Index1.ToString().Trim(); state.Text = ds.Tables0.RowsdataGridView1.CurrentRow.Index2.ToString().Trim(); checkmodify.txtRemark.Text = ds.Tables0.RowsdataGridView1.CurrentRow.Index4.ToString().Trim(); checkmodify.Tag = ds.Tables0.RowsdataGridView1.CurrentRow.Index3.ToString().Trim(); checkmodify.ShowDialog(); ds = con.checkQuery(txtDormID.Text); dataGridView1.DataSource = ds.Tables0.DefaultView; private void bntDelete_Click(object sender, EventArgs e) con.Checkdelete(ds.Tables0.RowsdataGridView1.CurrentRow.Index3.ToString().Trim(); MessageBox.Show(删除成功, 提示); ds = con.checkQuery(txtDormID.Text); dataGridView1.DataSource = ds.Tables0.DefaultView; private void btnCancel_Click(object sender, EventArgs e) this.Close(); 6.3用户注册模块的设计6.3.1用户注册模块的界面6.3.2用户注册模块代码实现(检测用户是否已经存在) public bool checkUser(string _username) conn.Open(); string sql = select * from userinfo where UName = + _username.Trim() + ; SqlCommand cmd = new SqlCommand(sql, conn); if (cmd.ExecuteScalar() != null) conn.Close(); return true; else conn.Close(); return false; public void Adduser(string _username, string _userpwd) conn.Open(); string sql = insert into userinfo(UName,PWD) values( + _username.Trim() + , + _userpwd.Trim() + ); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); public partial class AddUser : Form public AddUser() InitializeComponent(); private void btnAdd_Click(object sender, EventArgs e) if (txtusername.Text.Trim()=|txtpwd.Text.Trim()=|txtrpwd.Text.Trim()=) MessageBox.Show(请输入完整信息!,提示); else if (txtpwd.Text.Trim()!=txtpwd.Text.Trim() MessageBox.Show(两次密码输入的不一致,请重新输入!,警告); else SqlHelper con = new SqlHelper(); if (con.checkUser(txtusername.Text)=true) MessageBox.Show(用户名重复,请重新输入!,提示); else con.Adduser(txtusername.Text,txtpwd.Text); MessageBox.Show(添加成功!,恭喜); private void btnCancle_Click(object sender, EventArgs e) this.Close(); 6.4外来人员登记模块的设计6.4.1外来人员登记模块界面系统6.4.2外来人员登记模块控件的代码实现 /添加登记 public void addRegister(string _pcome, string _datecome, string _plook, string _dormid, string _dateleave, string _remark) string sql = insert into register(PCome,DateCome,PLook,DormID,DateLeave,Remark) values( + _pcome.Trim() + , + _datecome.Trim() + , + _plook.Trim() + , + _dormid.Trim() + , + _dateleave.Trim() + , + _remark.Trim() + ); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close

温馨提示

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

评论

0/150

提交评论