文档库 最新最全的文档下载
当前位置:文档库 › 学生公寓管理系统设计与发现毕业论文

学生公寓管理系统设计与发现毕业论文

学生公寓管理系统设

计与发现毕业论文

目录

1引言............................................... 错误!未定义书签。

1.1 开发背景与现状 (3)

1.2开发设计的意义 (3)

2 开发工具 (4)

2.1Visual studio2008简介 (4)

2.2数据库SQL Sever简介 (4)

3系统分析 (5)

3.1 可行性分析 (5)

3.2需求规划 (5)

3.2.1对功能的规定 (5)

3.2.2系统主要功能 (6)

3.3对性能的规定 (7)

3.3.1 精度 (7)

3.3.2 操作方式 (7)

3.3.3运行环境 (7)

3.4开发环境 (7)

4 系统设计 (7)

4.1系统功能结构设计 (8)

5数据库设计 (8)

5.1 数据库的引入 (8)

5.2数据库结构设计 (9)

5.2.1逻辑结构设计........................... 错误!未定义书签。

5.2.2数据库物理结构设计 (15)

6系统的功能实现 (15)

6.1.报修管理 (16)

6.1.1报修管理模块界面的设计 (16)

6.1.2报修管理模块图控件的设 (16)

6.2卫生检查管理 (21)

6.2.1卫生检查模块的界面 (21)

6.2.2卫生检查模块界面控件的代码实现 (21)

6.3用户注册模块的设计 (24)

6.3.1用户注册模块的界面 (24)

6.3.2用户注册模块界面的代码实现 (25)

6.4外来人员登记模块的设计 (27)

6.4.1外来人员登记模块界面系统 (27)

6.4.2外来人员登记模块控件的代码实现 (28)

6.5就寝管理模块的设计 (27)

6.4.1就寝管理模块界面系统 (27)

6.4.2就寝管理模块界面的代码实现 (276)

6.6用户身份模块的设计 (27)

6.6.1用户身份管理模块界面系统 (27)

6.6.2用户身份管理模块界面的代码实现 (277)

6.7宿舍信息管理模块的设计 (27)

6.7.1宿舍信息管理模块界面系统 (27)

6.7.2宿舍信息管理模块界面的代码实现 (278)

6.8学生入住管理模块的设计 (27)

6.8.1学生入住管理模块界面系统 (27)

6.8.2学生入住管理模块界面的代码实现 (279)

总结 (58)

参考文献 (581)

致谢 (59)

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是一种基于客户机/服务器的关系型数据库管理系统,用来对存放在计算机中的数据库进行组织、管理和检索,它使用Transact—SQL 语言在服务器和客户机之间传送请求。

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:https://www.wendangku.net/doc/5311135524.html,erinfo

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.Tables[0].DefaultView;

}

private void bntDelete_Click(object sender, EventArgs e)

{

if(dataGridView1.DataSource != null&& dataGridView1.CurrentRow.Index >= 0)

{

con.Repairdelete(ds.Tables[0].Rows[dataGridView1.CurrentRow.Index][0].ToString().Trim() );

MessageBox.Show("删除成功");

ds = con.Repairquery(txtDormID.Text);

dataGridView1.DataSource = ds.Tables[0].DefaultView;

}

private void btnModify_Click(object sender, EventArgs e) {

RepairModify repairmodify = new RepairModify();

repairmodify.txtdormID.Text =

ds.Tables[0].Rows[dataGridView1.CurrentRow.Index][1].ToString().Trim();

repairmodify.dateTimePicker1.Text =

ds.Tables[0].Rows[dataGridView1.CurrentRow.Index][2].ToString().Trim();

repairmodify.dateTimePicker2.Text =

ds.Tables[0].Rows[dataGridView1.CurrentRow.Index][3].ToString().Trim();

repairmodify.txtperson.Text =

ds.Tables[0].Rows[dataGridView1.CurrentRow.Index][4].ToString().Trim();

repairmodify.txtrepair.Text =

ds.Tables[0].Rows[dataGridView1.CurrentRow.Index][5].ToString().Trim();

repairmodify.Tag =

ds.Tables[0].Rows[dataGridView1.CurrentRow.Index][0].ToString().Trim();

repairmodify.ShowDialog();

ds = con.Repairquery(txtDormID.Text);

dataGridView1.DataSource = ds.Tables[0].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();

}

}

}

相关文档