在线小区物业管理系统的设计与实现.docx
《在线小区物业管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《在线小区物业管理系统的设计与实现.docx(27页珍藏版)》请在冰豆网上搜索。
![在线小区物业管理系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-11/28/35f56f71-d3f4-4df0-af8e-8410d2d60dd9/35f56f71-d3f4-4df0-af8e-8410d2d60dd91.gif)
在线小区物业管理系统的设计与实现
诚信承诺书
郑重承诺:
所呈交的论文是作者个人在导师指导下进行的研究工作及取得的研究成果。
除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。
与作者一同工作的同志对本研究所做的任何奉献均已在论文中作了明确的说明并表示了谢意。
作者签名:
日期:
导师签名:
日期:
院长签名:
日期:
论文使用授权说明
本人完全了解安阳师范学院有关保存、使用学位论文的规定,即:
学校有权保存送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或局部内容,可以采用影印、缩印或其他复制手段保存论文。
保密论文在解密后遵守此规定。
作者签名:
导师签名:
日期:
在线小区物业管理系统的设计与实现
摘要:
随着城镇人口居住的集中化加剧,传统人工小区管理模式逐渐跟不上时代的潮流。
这就要求我们提供一个专门的管理系统。
来提高物业的工作效率、为住户提供更好的效劳。
本系统方便了小区业主与物业之间的交流,业主可以实时了解小区动态,了解自己各项收费信息等等;物业管理员可以实现与业主的交流,可以及时回复业主的留言和保修信息,对小区的费用楼盘进行管理等。
本系统前台主要使用JSP作为开发语言,后台使用MySQL作为数据库管理系统,开发环境是MyEclipse,效劳器采用tomcat,开发出的一个基于Web技术的B/S结构的物业管理系统。
关键词:
物业管理;JSP;B/S结构
前言
物业管理系统运用现代化的计算机管理手段,使物业的硬件管理结合软件管理,为物业管理走向现代化,制度化与标准化创造条件。
系统的主要功能包括:
业户信息管理、小区概况管理、报修信息模块、收费信息管理、信息发布模块、新闻资讯管理、系统留言板等功能。
1绪论
1.1课题背景
随着经济的开展和人们生活水平的提高,小区已经成为人们安家置业的首选,原始的小区管理系统已经不能满足人们需求。
小区管理在手工操作时代,工作非常繁琐,需要大量的人力、物理和财力,极大的浪费了小区物业的资源;使用计算机对小区物业各项进行管理,具有检索迅速、查找方便、保密性好、本钱低等优势。
目前小区物业管理的范围主要包括以下几个方面:
常规性的公共效劳;针对性的专项效劳;委托性的特约效劳。
本物业管理系统的开发,加强了业主与物业管理人员的沟通,提高了小区物业的效劳质量,方便物业人员对小区进行管理,为物业管理部门提供一套高效、快捷的应用软件。
1.2目的和意义
物业管理公司作为房地产开发公司的附属单位,担负着整个小区的各项效劳。
由于物业管理业务的复杂性,物业管理逐步趋于信息化高效化。
只有高标准、高质量的社区效劳才能满足人们的需求。
面对信息时代的挑战,就要利用现有的信息根底设施,重点开发和推广应用于各类科技、经济等数据库和网络资源效劳系统,争取取得巨大的社会效益和经济效益。
小区物业管理系统,是针对当代社会这一市场需要应运而生的。
从技术上方便小区业主的生活,可以直接在小区管理系统中查询住户所需要的相关信息,足不出户就能了解小区的动态。
同时大大提高了小区管理的工作人员工作效率,降低了效劳本钱,提高了效劳水平,增强了物业效劳的扩张力。
综合上述各个方面的优点,开发这样一套小区物业管理系统成为了很必要的事情。
1.3开发工具及技术
1.3.1开发工具
此次设计主要采用MyEclipse加Tomcat后台效劳器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和MySQL数据库进行简要介绍。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,支持代码编写、配置、测试以及除错。
MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。
MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能[1,2]。
可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
Tomcat是一个Java程序,设置好几个环境变量再用命令行的方式运行,为开发组提供了一些脚本使启动和关闭Tomcat提供了轻松的环境。
它在中小型系统中被普遍使用,是开发和调试JSP程序的首选[10]。
Tomcat作为一个servlet容器,其应用前景是非常好的,如果与jboss结合起来,那么可以实现sun的j2ee标准[3,4]。
TOMCAT是一个基于组件的效劳器,它的构成组件都是可配置的,其中最外层的给件是CATALINASERVLET容器,其他的组件按照一定的格式要求配置在这个顶层容器中。
MySQL数据库软件是一种客户端/效劳器系统,它使用C和C++编写,并使用了多种编译器进行测试,能够保证源代码的可移植性,它提供用于管理、检查、优化数据库操作的管理工具。
并且为多种编程语言提供了API,优化的SQL查询算法,有效地提高查询速度[6]。
十余年来,MySQL数据库一直是数据库应用的核心,拥有不断增长的客户群。
在LAMP架构(Linux,Apache,MySQL,PHP/Perl/Python)中代表M的MySQL经历了大交易处理应用、T级数据仓库和高流量网站的严苛测试,证明了其在开源数据库中的领先地位。
MySQL 是全世界最流行的开源数据库软件,问世已超过15年,因其代码自由、最终用户可免费使用,首先在互联网行业得到应用,MySQL 在全球普及,用户遍布互联网、电信、能源、交通、高科技、设备制造、科研和军事领域。
1.3.2JSP技术
JSP是由SunMicrosystems公司倡导的,现在JSP已经成为Java效劳器编程的非常重要的组成局部,并与许多公司一起参与建立的一种动态网页技术标准,该技术是在Servlet技术根底上开展而来的。
它虽然还未成型,但是它必将和J2EE(Java2EnterpriseEdition)一起开展。
JSP它基于强大的Java语言,所以不仅可以沿用Java强大的API功能,而且不管是在何种平台下,只要效劳器支持JSP,就可以运行JSP开发的Web应用程序,这表达了它的跨平台、跨效劳器的特点[5]。
在数据库操作中,因为JDBC同样是独立于平台的,所以在JSP试用装的JavaAPI中提供的JDBC来连接数据库,就不用担忧平台变更时的代码移植问题。
JSP在执行以前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释的效率高;效劳器上还有字节码的Cache机制,能提高字节码的访问效率。
第一次调用JSP网页可能稍慢,因为它被编译成Cache,以后就快得多了。
同时,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中。
总的来说,JSP已经成为目前主流的动态网页开发技术之一。
1.3.3JavaScript
JavaScript最早是工作于Netscape〔网景公司〕的BrendanEich为即将在1995年发行的NetscapeNavigator2.0〔NN2.0〕开发的,当时叫做LiveScript。
由于当时是和非常热门的Sun公司合作的,为了赶上当时的潮流——Java语言,这门语言被命名为JavaScript。
JavaScript是一种轻量级的编程语言,可插入HTML页面,由JavaScript是一种弱类型的语言。
JavaScript脚本像其他编程语言一样,每个变量都有数据类型,但在声明变量时不需显式地指定其数据类型,变量的数据类型将根据变量的具体内容推导出来,并根据变量内容的改变而自动更改[7,8]。
这是强类型语言无法做到的。
由于JavaScript由Java集成而来,因此它是一种面向对象的程序设计语言。
它包含的对象有两个组成局部,即变量和函数,也称为属性和方法[9]。
JavaScript是一种宽松类型的语言。
事实上JavaScript更进一步,无法在JavaScript中明确地定义数据类型。
此外,在大多数情况下,JavaScript会根据需要自动进行转换。
1.4软硬件需求
硬件需求:
CPU:
Pentium以上计算机
内存:
512M以上
软件需求:
操作系统版本:
WindowsXP/vista/Win7
开发工具:
MyEclipse8.5
后台效劳器:
ApacheTomcat6.0
开发语言:
Java
浏览器:
IE6.0
2需求分析
2.1需求调研
在工程的开始是需求调研,本小区物业管理系统的设计思想符合物业管理标准工作流程,在本系统中,住户可以浏览小区的根本信息,看到小区的新闻资讯,阅读小区的公告动态。
业主可以用自己个人信息登录进入系统,可对小区物业系统进行留言,同时登录个人主页,可以查询修改自己个人信息,查看个人费用信息,也可以添加自己的报修信息。
小区物业工作人员登录本系统,可以管理业主信息,增添小区概况,回复小区业主留言,发布新闻公告等。
因此,本系统简化了物业管理员工作流程的繁杂性,方便小区业主的生活,方便了业主和管理员的交流沟通。
2.2可行性分析
可行研究的目的不是解决问题,而是确定问题是否值得去解决。
可行性分析是在系统调查的根底上,针对新系统的开发是否具备必要性和可能性,以防止投资的失误,保证新系统开发成功。
下面就技术、经济、操作和法律四个方面来介绍。
2.2.1技术可行性
技术可行性分析主要是分析技术条件是否能顺利完成开发工作,硬、软件是否能满足开发者的需要等。
本系统开发工具是MyEclipse和MySQL数据库,用JSP开发语言进行前台界面的设计、与后台数据库的连接、录入。
作为软件学院的毕业生,掌握了数据库原理及应用,在一定程度上具备了开发该系统的能力。
加以指导老师的帮助可以得到许多技术支持。
因此,完本钱系统在技术上是完全具有可行性的。
2.2.2经济可行性
经济可行性主要是对工程的经济效益进行分析,由于选择的开发工具和效劳器几乎全部为免费的开源软件,并不需要资金投入,只需要个人电脑一台,并且由于是开发本钱较低的基于Web的B/S模式,所以从经济上来讲是可行的。
2.2.3操作可行性
操作可行性主要是分析系统的运行方式、操作规程在用户组织内是否可以有效、顺利实施等问题。
本系统设计清晰,操作简单,对操作人员的要求很低,只需要对Windows操作熟练,对本系统稍作熟悉即可使用。
2.2.4法律可行性
本系统在设计过程中,没有涉及到任何法律方面的问题,只针对需求进行设计。
开发这个系统不同于普通开发的系统软件,不存在侵权等问题。
因此法律上是可行的。
通过上述对技术可行性,经济可行性,操作可行性,法律可行性的研究,我们可以看出开发一个物业管理系统与原有的物业管理方法相比更加快捷,操作更加准确,因此,建立这个物业管理系统是必要可行的。
2.3系统用户用例图
管理员用例图
管理员是系统的核心用户,涉及到八大功能模块,能够及时动态的掌握小区收费及投诉信息的各项情况。
如图1所示
图1管理员用例图
业主用例图
业主通过已有的账号和密码登陆系统后,实现我的收费查询、报修信息等操作。
如图2所示
图2业主用户用例图
2.4系统功能模块图
如图3、图4所示
图3管理员用户功能模块图
图4业主用户功能模块图
2.5性能需求
首先是系统的平安性。
物业管理系统在管理权限上要严格进行控制,想登录物业管理系统进行操作,住户必须使用身份证信息和密码登陆,管理员需要固定的管理员账号密码登陆,以确保系统的严密性和平安性。
数据的完整性。
首先要求各种记录信息的完整性,信息记录内容不能为空,还要做到个信息之间相互联系的正确性。
2.6界面需求
客户端页面是用户和效劳器之间进行人机交互的一个介质,对它制作要求简洁大方,色彩搭配要协调。
用户界面是指软件系统与用户交互的接口,在本系统中主页面包括标题栏,日历,小区动态,新闻资讯,留言板和用户登录。
页面设计简单大方,日历实用方便。
3系统分析与设计
计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。
在本系统中,用户的需求具体表现在各种信息的提供、保存、更新和查询方面。
数据库的设计一般经过规划。
需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护6个步骤。
3.1数据库的分析与设计
通过系统功能分析,针对本物业管理系统,总结出如下的需求信息:
用户分业主和管理员,登陆方法不一致。
业主登陆需要管理员提前添加业主信息,利用业主身份证才能登陆,业主可以自己更改密码。
业主登陆后可以更改个人信息,查询费用,进行报修,添加留言信息。
管理员登陆后,可以就小区业主信息进行增添,删除。
回复业主报修信息和留言信息。
随时添加小区动态和公告等。
3.2数据库的概念结构设计
概念设计是整个数据库设计的关键,它对用户要求描述的现实世界,通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。
所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。
数据库的概念结构设计采用实体—联系〔E-R〕模型设计方法。
E-R模型法的组成元素有:
实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性那么是对实体特性的描述。
根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。
业主信息实体E-R图如图5所示
图5业主信息实体E-R图
信息发布实体E-R图如图6所示
图6信息发布实体E-R图
报修信息实体E-R图如图7所示
图7报修信息实体E-R图
收费信息实体E-R图如图8所示
图8收费信息实体E-R图
新闻资讯信息E-R图如图9所示
图9新闻资讯信息实体E-R图
管理员信息E-R图如图10所示
图10管理员信息实体E-R图
3.3数据库的逻辑结构设计
逻辑结构设计是根据已经建立的概念数据模型,以及所采用的某个数据库管理系统软件的数据模型特性,按照一定的转换规那么,把概念模型转换为这个数据库管理系统所能够接受的逻辑数据模型。
不同的数据库管理系统提供了不同的逻辑数据模型,如层次模型、网状模型、关系模型等。
需要根据具体使用的数据库管理系统的特点进行转换。
即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循以下原那么:
每一个实体要转换成一个关系;所有的主键必须定义非空〔NOTNULL〕;对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。
根据E-R模型,物业管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。
业主信息表主要是记录了注册业主根本信息,表结构如表1所示
表1业主信息表(t_zhuhu)
字段名称
数据类型
主键
是否为空
说明
id
int
Y
N
编号
louId
int
N
N
楼盘
danyuan
varchar(50)
N
N
单元
menpail
varchar(50)
N
N
门牌
xingming
varchar(50)
N
N
姓名
shengfenzheng
varchar(50)
N
N
身份证号
dianhua
varchar(50)
N
N
loginpw
varchar(50)
N
N
密码
信息发布表主要记录了发布的一些通告信息,表结构如表2所示
表2信息发布表(t_gonggao)
字段名称
数据类型
主键
是否为空
说明
gonggao_id
int
Y
N
自动递增
gonggao_title
varchar(50)
N
N
信息标题
gonggao_content
varchar(50)
N
N
信息内容
gonggao_data
varchar(50)
N
N
发布时间
报修信息表主要是记录了业主报修的根本信息,表结构如表3所示
表3报修信息表(t_baoxiu)
字段名称
数据类型
主键
是否为空
说明
baoxiu_Id
int
Y
N
编号
zhuhu_id
int
N
N
业主信息
baoxiu_shijian
varchar(50)
N
N
报修时间
baoxiu_beizhu
varchar(50)
N
N
报修原因
baoxiu_zhuangtai
varchar(50)
N
N
受理状态
收费信息表主要是记录了业主收费情况的根本信息,表结构如表4所示
表4收费信息表(t_shoufei)
字段名称
数据类型
主键
是否为空
说明
shoufei_Id
int
Y
N
自动编号
zhuhu_id
int
N
N
业主ID
shoufei_shijian
varchar(50)
N
N
收费时间
shoufei_xiangmu
varchar(50)
N
N
收费工程
shoufei_jine
int
N
N
收费金额
新闻资讯信息表主要是记录了管理员发布的新闻信息,表结构如表5所示
表5新闻资讯信息表(t_news)
字段名称
数据类型
主键
是否为空
说明
news_id
int
Y
N
自动编号
news_title
varchar(50)
N
N
新闻标题
news_content
varchar(50)
N
N
新闻内容
fujian
int
N
N
图片
news_date
varchar(50)
N
N
发布时间
fujianyuanshiming
varchar(50)
N
N
附件
管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表6所示
表6管理员信息表(t_admin)
字段名称
数据类型
主键
是否为空
说明
userId
int
Y
N
编号
userName
varchar(50)
N
N
用户名
userPw
varchar(50)
N
N
密码
3.4数据库的连接原理
采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection〔〕方法就可以创立一个数据库连接。
程序采用的是DAO模式来操作数据库,DAO(DataAccessObject,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的根底知识,基于分层次式的软件架构来实现对数据库的访问操作。
它应用在数据层那块,用于访问数据库,对数据库进行操作的类。
DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法,它的优点是提供应用户的接口只有DAO的接口,所以如果用户想添加数据,只需要调用create函数即可,不需要数据库的操作。
其思想如图11所示
封装
使用
创立/使用
获取/修改
图11DAO模式类图
图中BussinessObject是业务对象,是使用DAO模式的客户端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataAccesObject数据输入/输出对象封装了对数据源的一些根本操作;DataSource指的是数据源。
可以从图中看出,DAO模式别离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。
在程序需要连接数据库的地方,只需要生成一个DBConnet的对象,就可以对数据库进行连接并操作。
4系统功能实现
一个构建完善的管理系统可以使小区内的日常管理工作更加的顺畅、方便。
本系统是根据小区日常工作特点设计出的一个物业管理系统,实现小区内工作的系统化管理。
在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。
下面将展示系统的各个功能的实现。
4.1登陆页面实现
为了保证系统的平安性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。
接下来展示的是管理员登陆页面,程序运行效果图如图12所示
图12系统登陆页面设计
在登陆页面输入用户名和密码,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:
publicStringlogin(StringuserName,StringuserPw,intuserType)
{
Stringresult="no";
if(userType==0)//系统管理员登陆
{//使用用户名和密码查询数据库
Stringsql="fromTAdminwhereuserName=?
anduserPw=?
";
Object[]con={userName,userPw};
ListadminList=adminDAO.getHibernateTemplate().find(sql,con);
//查不到,登陆失败
if(adminList.size()==0)
{
result="no";
}
else
{//查到了,在会话里保存用户名,用户类型,result标志为成功
WebContextctx=WebContextFactory.get();
HttpSessionsession=ctx.getSession();
TAdminadmin=(TAdmin)adminList.get(0);
session.setAttribute("userType",0);
session.setAttribute("admin",admin);
result="yes";
}
}
if(userType==1)
{
Stringsql="fromTZhuhuwhereuserName=?
anduserPw=?
anddel='no'";
Object[]con={userName,userPw};
ListzhuhuList=zhuhuDAO.getHibernateTemplate().find(sql,con);
if(zhuhuList.size()==0)
{
result="no";
}
els