基于C#环境下的物业管理系统.docx
《基于C#环境下的物业管理系统.docx》由会员分享,可在线阅读,更多相关《基于C#环境下的物业管理系统.docx(42页珍藏版)》请在冰豆网上搜索。
基于C#环境下的物业管理系统
基于C#环境下的物业管理系统
成都信息工程学院银杏酒店管理学院
本科生毕业论文(设计)
题目明珠苑小区物业管理系统的设计与实现
系别电子商务与信息管理系
专业信息管理与信息系统
学生姓名彭秋月
学号2011561281年级2011级
指导教师倪铉珣
教务处制表
二Ο一年月日
明珠苑小区物业管理系统设计与实现
1引言
随着科学技术快速发展,以计算机为基础的信息科学在社会各个方面的应用也越来越广泛,尤其在信息管理方面,计算机已是不可或缺的管理工具。
对于一个小区物业管理来说,其工作流程具有多样化、复杂性、收缴费用与设备维护的繁琐性。
利用计算机来管理小区物业工作是绰绰有余的,而且计算机管理能更加快捷、高效、准确、方便、清晰、透明。
这将给项目查询和管理带来很大的方便,从而给物业管理工作带来更高的效率,这也是物业管理正规化、现代化、无纸化的重要标志。
本论文对于明珠苑小区物业管理系统该课题进行了系统完整的论述,深入阐述了设计过程。
以下是本论文大致结构:
第一章是问题的定义,简要介绍物业管理系统的概况;第二章为可行性研究;第三章为系统分析,主要是系统需求分析以及各板块系统功能分析;第四章为系统总体设计,即主要是对数据库的设计分析和系统总体结构的设计分析;第五章为详细设计,具体的设计出每个模块的功能实现及部分代码;第七章为系统测试,按顺序对测试项目做出说明,证实软件能力和无错误;最后是结束语和参考书目。
整个设计过程力求按软件工程教学中软件开发的步骤进行,一步一步来。
系统程序经过多次反复调试,证明是正确的,是可行的。
2系统概述
2.1系统背景
明珠苑小区位于重庆市合川区锦城路,属于典型的老式住户小区。
明珠苑小区分为三个区,分别为A、B、C区,共有房屋十余栋、健身器材三套。
明珠苑小区物业管理范围及:
小区保安室、收发室和基础的环卫管理。
因为小区内没有专业的物业管理公司,该小区内所有的维修、缴费等问题都是靠小区住户自行解决,安全隐患不能及时排查。
小区住户会因为对物业管理费用的不了解和小区物业服务而产生纠纷,而且住户之间的纠纷、投诉也没有专人解决,对邻里和睦有很大的负面影响。
缺乏专业的物业管理,是老式住宅小区普遍存在的问题。
基于以上种种原因,明珠苑小区着实需要有专业的物业管理系统,这将大大得提高办公效率、减少办公压力、保障小区住户资料安全、规范物业管理、减少安全隐患和纠纷等不和谐因素,建设一个和谐发展的小区。
2.2开发本系统的研究意义
经过调查,由于明珠苑小区是个老式小区,然而小区范围、面积都不算小,且小区内没有一个完整的物业管理体系,因此开发本系统是非常有必要的。
有了本系统的管理,才能全方位提高小区物业管理人员管理意识,以此帮助明珠苑小区管理者更好的管理小区。
开发本系统的意义就在于不仅让小区住户住上美观、舒适的住宅里,同时也能让小区用户感受到小区物业的服务。
充分利用科技技术来管理小区,实现高标准,高效率,高质量得管理小区。
2.3系统目标
本管理系统将在明珠苑小区物业管理起着非常重要的作用,本系统目标就是告别手工账簿记载小区房屋,住户资料,小屋住户投诉、报修,物业管理费用等信息,使得小区物业管理者能对小区更高效、便捷、安全的管理,从而让物业管理者更轻松得管理小区,完成小区物业一系列工作,同时让小区住户住得放心,安心,舒心。
明珠苑小区物业管理系统的目标是:
(1)对整个小区房屋信息、小区住户信息准确的记载。
通过系统管理,更安全、全面的记载小区房屋信息。
(2)对小区用户维修、投诉信息的及时记载。
方便小区工作人员实时的对这些信息的处理。
(3)对小区已缴费的详细、准确的记载以及通过水电气的用量来计算未来物业管理费用。
对未缴物业管理费用以及某住户某个月的物业费用都能有一个很好的了解。
(4)对小区所有信息的检索,通过住址或姓名查询,可以了解房屋信息和住户详细信息。
2.4开发工具简介
本小区物业管理系统前台开发工具选用MicrosoftVisualC#2008,后台的数据库开发工具选用了SQL Server2008。
这两种开发工具功能强大,有较好的接口,作为本系统开发工具是可行的。
2.4.1MicrosoftVisualC#2008的简介:
MicrosoftVisualC#(简称C#)是微软开发的一种面向对象的编程语言,是微软.NET开发环境的重要组成部分。
而MicrosoftVisualC#2008是微软开发的C#编程集成开发环境(同种产品还有Borland公司的C#Builder),它是为生成在.NETFramework上运行的多种应用程序而设计的。
C#简单、功能强大、类型安全,而且是面向对象的。
C#凭借它的许多创新,在保持C样式语言的表示形式和优美的同时,实现了应用程序的快速开发。
VisualStudio包含VisualC#,这是通过功能齐全的代码编辑器、项目模板、设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。
通过.NETFramework类库,可以访问多种操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期。
总的来说,C#具有以下特点:
(1)面向对象
(2)支持可视化图形界面
(3)开发效率高
(4)易用性
(5)通用性
2.4.2SQLServer2008的简介
SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
其特点如下:
(1)强大的处理能力:
它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。
(2)可信任的:
使得公司可以以很高的安全性、可靠性和可扩展性来运行最关键任务的应用程序。
(3)高效的:
使得公司可以降低开发和管理数据基础设施的时间和成本。
(4)智能的:
提供了一个全面的平台,可以在你的用户需要的时候给它发送观察和信息。
3可行性研究
可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
3.1技术可行性
本设计要做的只是针对小区的真实的物业管理工作来开发出适用的物业管理系统,面向Windows操作系统,以Microsoft Visual C#2008作为前台开发工具,再以SQLServer2008作为后台数据库,并从数据库的应用和开发的实效性角度出发,在之前做过的课程设计中,完成的系统都是通过这两种开发工具来实现的,因此在技术上不存在问题。
3.2 经济可行性
本系统对经济没过多要求,只要有一台计算机及相应的运行软件即可。
开发项目成功后,系统对于输入输出的规范,提高了数据可用性,增强了数据安全系数,能够更便捷、简单、快速地查询房屋、户主各个方面的信息,方便快捷的缴费,登记、排查所有的安全隐患,所有的票据、协议的生成、打印等,对提高小区物业管理水平有一定的现实意义。
3.3操作可行性
系统对操作人员的要求不高,只要会电脑的基本操作,加上在使用前,会有开发并能熟练操作本系统的工程人员对用户群进行专业系统的培训。
培训内容应包括,熟练掌握系统的各个功能和简单的系统维护,在开发设计程序的过程中直观的界面和控件的文字解释完全能使得用户充分理解起功能和意义。
由于系统本身可视性好,所以本系统的操作是完全可行的。
3.4管理可行性
本系统的功能是对物业公司组织机构、组织机构、业务项目流程等做了一定的调查后,根据租住机构和管理职能来进行设置的。
新的系统不会对组织机构有太大的变化,同时物业管理公司也迫切需要实现信息现代化管理和数据现代化管理。
基于以上分析可知,开发社区物业管理系统是完全可行的。
4系统分析
4.1需求分析
小区物业管理系统,是以明珠苑小区的实际工作为原型,并对一些不合理的流程进行优化,一些不足的流程进行完善,信息化的管理在现有的人工管理的基础上更加完善、更加合理。
传统物业管理是手工管理来实现的,无论是添加、修改、查询房屋和户主的信息,还是水电费的缴纳都很不方便,缴费票据等都是人工书写,效率低,不规范。
本系统主要涉及到四大部分:
系统管理,基本信息管理,日常管理,物业费用。
其中系统管理主要包括对系统登录用户操作,如添加系统登录用户信息、修改登录用户信息、删除登录用户信息等;基本信息管理主要包括房屋信息管理和小区住户信息管理,主要详细记载房屋详细信息以及住户详细资料;日常管理包括报修信息管理和投诉信息管理,主要包括小区住户的报修信息、投诉信息的一个及时记载与实时处理;物业费用管理包括费用管理和抄表录入,抄表录入即对水表、电表、气表度数的一个详细记录。
4.2系统需求功能概括
经过调研与可行性分析,出于对人们住房考虑,设计了这套小区物业管理系统,本系统主要考虑到小区物业管理的普遍要求,小区物业管理系统主要包括:
(1)对系统用户的操作,主要包括对密码的修改,新用户的添加等。
(2)对小区所有房屋资料的录入和增、删、改、查询等功能实现,在基于这些小区的房产资源对小区进行管理。
(3)对小区内住户的详细资料的管理,包括增、删、改、查询等功能的实现,小区住户与小区房屋资料息息相关,因此物业管理是针对小区住户而言的。
(4)对小区用户的日常投诉、报修信息的管理,包括实时登记用户投诉、报修信息以及工作人员对这些信息的及时处理情况。
这些是小区用户的基本需要,也是一个物业公司服务好的体现。
(5)在具有了所有的基本资料信息后,需要实现实质性的物业管理。
及物业费用的管理。
主要将小区住户水电气用量的详细准确的记载、并通过水电气用量的多少来计算物业管理费用,对未缴物业管理费用的及时收费等。
当然想要了解某住户某时间的物业费用这也是完全可行的。
5系统总体设计
5.1数据库设计
5.1.1E-R图
小区物业管理系统部分实体E-R图如下:
图1系统用户信息实体E-R图
图2房屋信息实体E-R图
图3住户信息实体E-R图
图4报修信息实体E-R图
图5投诉信息实体E-R图
图6水表实体E-R图
图7电表实体E-R图
图8气表实体E-R图
图9物业费用信息实体E-R图
5.1.2数据库物理设计
系统用户表存放登录系统所需要的用户名和密码,如表1所示:
表1系统用户表
字段名
数据类型
主键
可否为空
编号
int
是
NOTNULL
用户名
nchar(10)
NOTNULL
密码
char(6)
NOTNULL
住户表存放小区内所有住户相关信息,整个小区物业都围绕小区用户,小区用户是整个小区的核心。
如表2所示:
表2住户信息表
字段名
数据类型
主键
可否为空
住户编号
int
是
NOTNULL
住址
nvarchar(50)
NOTNULL
户主姓名
nvarchar(20)
NOTNULL
联系电话
nvarchar(20)
NOTNULL
身份证号码
char(18)
NOTNULL
入住时间
datetime
NOTNULL
房屋信息表存放小区内所有住房的相关信息。
如表3所示:
表3房屋信息表
字段名
数据类型
主键
可否为空
房屋编号
int
是
NOTNULL
住址
nvarchar(50)
NOTNULL
户主姓名
nvarchar(20)
NOTNULL
面积
nvarchar(20)
NOTNULL
结构
nvarchar(50)
NOTNULL
设备
nvarchar(50)
NOTNULL
出售信息
nchar(10)
NOTNULL
报修表存放小区用户对小区内的设施设备的报修状况,以及记录物业工作人员是否处理。
如表4所示:
表4报修信息表
字段名
数据类型
主键
可否为空
报修编号
int
是
NOTNULL
住址
nvarchar(50)
NOTNULL
报修人
nvarchar(20)
NULL
报修内容
nvarchar(MAX)
NOTNULL
报修时间
datetime
NOTNULL
处理时间
datetime
NULL
状态
nchar(10)
NOTNULL
投诉信息表存放小区用户自己对小区周围环境的投诉与建议,如表5所示:
表5投诉信息表
字段名
数据类型
主键
可否为空
投诉编号
int
是
NOTNULL
住址
nvarchar(50)
NULL
投诉人
nvarchar(20)
NULL
投诉内容
nvarchar(MAX)
NOTNULL
投诉时间
datetime
NOTNULL
处理时间
datetime
NULL
状态
nchar(10)
NOTNULL
水表主要记载小区用户某月水的用量,详细准确的记载有利于物业费用的计算以及便捷得生成物业费用账单,如表6所示:
表6水表
字段名
数据类型
主键
可否为空
水表编号
int
是
NOTNULL
住址
nvarchar(50)
NOTNULL
起数
float
NOTNULL
止数
float
NOTNULL
日期
datetime
NOTNULL
电表主要记载小区用户某月电的用量,详细准确的记载有利于物业费用的计算以及便捷得生成物业费用账单,如表7所示:
表7电表
字段名
数据类型
主键
可否为空
电表编号
int
是
NOTNULL
住址
nvarchar(50)
NOTNULL
起数
float
NOTNULL
止数
float
NOTNULL
日期
datetime
NOTNULL
气表主要记载小区用户某月天然气的用量,详细准确的记载有利于物业费用的计算以及便捷得生成物业费用账单,如表8所示:
表8气表
字段名
数据类型
主键
可否为空
气表编号
int
是
NOTNULL
住址
nvarchar(50)
NOTNULL
起数
float
NOTNULL
止数
float
NOTNULL
日期
datetime
NOTNULL
物业费用表存放的是小区用户所耗费的相关物业费用,如表9所示:
表9物业费用表
字段名
数据类型
主键
可否为空
费用编号
int
是
NOTNULL
住址
nvarchar(50)
NOTNULL
水费
nchar(10)
NOTNULL
电费
nchar(10)
NOTNULL
气费
nchar(10)
NOTNULL
垃圾清理费
nchar(10)
NOTNULL
物业管理费
nchar(10)
NOTNULL
日期
datetime
NOTNULL
状态
nchar(10)
NOTNULL
5.2系统模块设计
5.2.1功能模块设计
根据上面的需求分析以及对明珠苑小区的调查,初步设计适合本小区的功能如下:
(1)系统主界面
首先在系统主界面可以通过地址或户主查询房屋信息和住户详细资料,其次可以直观清晰的看到未缴费账单、未处理维修记录、未处理投诉记录的详细情况,并打印详情。
等待处理后再由工作人员更改其状态。
(2)系统管理
系统管理主要用户管理,即系统用户的添加、删除、密码的修改,密码对于信息安全是很有保障的。
(3)基本信息管理
基本信息管理里面主要分为两个板块:
住户信息管理和房屋信息管理。
住户信息管理详细记录住户姓名,电话,地址,入住时间,身份证号码,以及对住户资料进行添加,修改,删除,以及通过住址或姓名对住户信息的查询等;房屋信息管理详细记录住址,住户姓名,面积,结构,设备,租售等信息,以及对房屋信息进行添加、修改、删除和通过住址或姓名对房屋信息的查询等。
(4)日常管理
日常管理里面主要包括报修信息管理和投诉信息管理。
报修信息管理即对报修信息的增加、修改、删除等操作,包括报修人、住址、报修时间、处理时间、状态、报修内容等。
报修信息管理实时的记录用户报修信息,为住户提供及时维修服务;投诉信息管理主要对用户的投诉进行记录,修改、删除,包括投诉人、住址、投诉时间、处理时间、状态、投诉内容,投诉信息管理实时的记录投诉信息,未住户及时提供服务,处理问题。
(5)物业费用管理
物业费用管的来源是根据水费、电费、气费、固定的垃圾清理费和根据房屋面积而来的物业管理费用,因此物业费用管理分为两大模块,一是费用管理、而是抄表录入。
费用管理模块又分为三个小的模块,费用查询、应收管理、收费处理。
费用查询即实现根据住址或日期或这地址和日期的查询功能;应收管理主要是通过地址和日期的查询,计算出物业费用详单,即水费,电费,气费,垃圾清理费,物业管理费。
而且通过一个查询可以得到此条记录是否缴费或者物业管理表中是否存在该记录。
如果表中不存在此记录则添加此条信息到物业费用表中;收费处理主要是对未缴费的记录确认缴费的操作。
抄表录入主要详细记载水表、电表、气表等信息,再根据地址的查询得到最近时间该地址水表、气表、电表的止数,此数据则为此次跟新数据的起数。
应注意的是查询得到的最近时间应小于选择的日期。
5.2.2系统功能结构图
本系统分为四个功能模块:
系统管理、基本信息管理、日常管理、物业费用管理。
系统功能结构图如图10所示:
图10系统功能结构图
6系统详细设计
6.1界面设计与功能
经过以上的分析,已经完成了数据库的后台工作,本系统分为以下三部分:
(1) 用户登陆;
(2) 系统主体平台;
(3) 通过主体平台调用的功能模块。
接下来即对各部分作详细介绍:
6.2窗口设计与编码
6.2.1用户登录设计
启动系统程序后,首先进入系统登陆界面,在登陆进入主体平台的时候,系统会要求用户输入有效用户名、正确的密码,为了防止非用户在使用,输入正常信息后便可以使用本系统。
用户登录界面如图11所示。
图11用户登录界面
其中“登录”按钮代码如下 :
if(this.textBox1.Text=="")
{MessageBox.Show("请输入用户名!
!
!
");}
else
{stringsql="select密码from系统用户表where用户名='"+this.textBox1.Text.Trim()+"'";
Class1a=newClass1();
a.getinfor(sql);
if(a.ds.Tables[0].Rows.Count==0)
{MessageBox.Show("该账户不存在!
!
!
");
this.textBox1.Text="";
this.textBox2.Text="";
this.textBox1.Focus();
return;
}else{
if(this.textBox2.Text.Trim()!
=a.ds.Tables[0].Rows[0][0].ToString())
{MessageBox.Show("密码错误!
!
");
this.textBox2.Text="";
this.textBox2.Focus();
return;}
else{系统主界面b=new系统主界面();
b.yh=this.textBox1.Text;
b.Show();
this.Hide();}}
6.2.2用户管理模块
用户管理即系统用户的添加、删除、密码的修改,用户管理界面如图12所示。
图12用户管理界面
其中部分代码如下:
privatevoidbutton5_Click(objectsender,EventArgse)
{if(this.textBox1.Text=="")
{MessageBox.Show("请输入用户名!
");
}else{
stringsql1="select*from系统用户表where用户名='"+this.textBox1.Text.Trim()+"'";
Class1b=newClass1();
b.getinfor(sql1);
if(b.ds.Tables[0].Rows.Count!
=0)
{this.textBox2.Text=this.textBox1.Text.Trim();
this.textBox3.Text=b.ds.Tables[0].Rows[0][2].ToString();
this.textBox4.Text=b.ds.Tables[0].Rows[0][3].ToString();
}
else
{MessageBox.Show("该用户不存在!
");}}}
privatevoidbutton6_Click_1(objectsender,EventArgse)
{if(this.textBox2.Text!
=""){
stringsql="update系统用户表set用户名='"+this.textBox2.Text.Trim()+"',密码='"+this.textBox3.Text.Trim()+"',身份='"+this.textBox4.Text.Trim()+"'where用户名='"+this.textBox2.Text.Trim()+"'";
Class1d=newClass1();
d.ExecuteNonQuery(sql);
MessageBox.Show("修改成功!
");
this.textBox1.Text="";
this.textBox2.Text="";
this.textBox3.Text="";
this.textBox4.Text="";}else
{MessageBox.Show("该用户不存在");}}
privatevoidbutton7_Click_1(objectsender,EventArgse)
{if(this.textBox2.Text!
="")
{stringsql="deletefrom系统用户表where用户名='"+this.textBox2.Text+"'";
Class1c=newClass1();
c.Execu