智能小区物业管理系统的设计与实现.docx
- 文档编号:27103332
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:20
- 大小:310.48KB
智能小区物业管理系统的设计与实现.docx
《智能小区物业管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《智能小区物业管理系统的设计与实现.docx(20页珍藏版)》请在冰豆网上搜索。
智能小区物业管理系统的设计与实现
智能小区物业管理系统的设计与实现
摘要:
近年来JAVA技术发展迅速,它使得WEB技术不在局限于单纯地提供信息服务,而是日益成为一个操作平台,为用户提供强大的服务功能。
因此,基于B/S体系架构创建这个小区物业管理网站,紧跟行业发展,满足人们生活、学习的需要,进而实现信息网络化.
经过综合的分析,整个系统采用B/S结构,使用JAVA技术做开发语言,JSP做页面显示,TOMCAT6。
0做服务器端进行系统发布,MYSQL做后台数据库进行数据存储,在win7系统上安装JDK做运行与调试环境。
该系统可供登录者查询或发布信息,可通过此系统了解小区物业管理情况,小区业主还能够查询各种收费.系统中管理员有特定的权限,可以对用户和各种信息进行添加,删除,修改等,方便网站的管理与维护,很好的解决了以前工作流程的繁杂性、多样化、收缴费用与设备维护繁琐的特征,大大提升了小区物业的管理水平,将计算机的强大功能与现代的管理思想相结合,建立现代的智能小区是物业管理发展的方向.
关键词:
物业管理;B/S;JSP;MYSQL
1课题背景
1。
1课题背景和意义
目前物业管理是一个新兴的服务行业,随着人们生活水平的提高,在选择住房时,必须要有好的物业管理做保证。
这样要求小区管理者对物业管理进行宏观和微观的细致管理,这就为我们设计小区物业管理系统提供了市场需要。
使用计算机对企业单位的各项信息进行管理,极大地提高工作的效率,也是企业的科学化、正规化管理.因此,开发这样一套小区物业管理系统软件成为很有必要的事情。
本次毕业设计主要就是为了设计一套小区物业管理系统,来满足现代物业管理的需要。
主要工作为完成客户端,Web服务器端应用程序和数据库的制作,实现网上小区物业管理系统的创建,实现与完善整个基于B/S小区物业管理网站的组织建立和测试工作。
主要功能有按权限登录,分别获得各自权限以内的操作:
系统管理员对管理员和物业信息进行添加,删除,修改等功能。
业主可以通过系统发给报修、查询缴费清单等功能,方便管理者的同时也方便了业主.
1。
2毕业设计工作
通过查资料,获知随着市场经济的发展小区住宅比比皆是。
住宅小区已经成为人们安家置业的首选,同时对物业小区的服务和管理也要求很高。
同时查阅相关系统文档,总结一些系统所考虑不周之处,前期的需求为后期系统的开发做好了业务基础,这就为我们设计小区物业管理系统提供了市场需要。
作为计算机应用的一部分,使用计算机对企业单位的各项信息进行管理,具有着手人工管理所无法比拟的优点,通过资料,了解了java相关的一些技术并充分运用于此次系统开发中,不懂的向老师同学请教,一点点将代码写出来,逐步编写各个模块,实现模块中应有的功能,并且同步进行测试,由于时间紧迫,在需求上也有想不到的地方,进而会影响部分模块应有的功能不能很好的展现出来,当然已经开发出成型的代码中还有一些小的瑕疵,还有待于进一步的优化,从而将系统完整的展现出来。
2技术方案论证
2.1B/S模型的优点
几乎没有限制的客户端访问和极其简单化的应用程序部署和管理是B/S模型的优势所在.
解决了用户的并发请求数量这个限制,使得成千上万的用户可以被无顾虑地添加,我们最好选用三层模型B/S结构,即Browser/Server(浏览器/服务器)结构,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成三层结构,是一种全新的软件系统构造技术。
从图中可以看到这种结构的一个重要的特点是,用户可以完全不需要安装客户端软件,当然也不需要担心任何软件升级和不兼容等任何客户端所遇到的问题。
相比之下,B/S模型的优点显而易见,更适合这个网站的构建,有利于网站的维护和扩充。
图2-1B/S模型结构图
2.2JSP技术发展背景
Web技术的迅猛发展正推动Internet上信息服务类的进步.WWW服务的基础是HTML语言。
这个系统模块中用到的JSP技术是在HTML语言的基础上使用脚本语言对网页的对象模型进行编程。
JSP全称JavaServerPages,它是由SunMicrosystems公司提出、许多公司参与建立的一种动态网页技术标准。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,到处运行”的特点。
一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境,取代过去单一平台开发。
从开发人员的角度来看其区别在于:
ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。
JSP标签可扩充性。
JSP技术能够使用开发者扩展JSP标签,JSP开发者能定制标签库,减少对脚本语言的依赖
易于维护性。
基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。
JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现.
如上的比较不难看出,JSP技术编写的程序运用要更加灵活,可扩展性更强。
2。
3HIBERNATE技术
Hibernate是一个开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
它不仅提供了从java类到数据库表之间的映射,也提供了数据查询和恢复机制。
相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。
另外Hibernate可以利用代理模式简化载入类的过程,这将大大减少利用Hql从数据库提取数据的代码编写量,从而节约开发时间和开发成本Hibernate可以和多种web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行数据库服务器
Hibernate技术本质上是一个提供数据库服务的中间件。
Hibernate的工作原理,他是利用数据库以及其他一些配置文件如:
Hibernate.properties,XMLMapping等来为应用程序提供数据持久化服务的。
3需求分析
3。
1系统综合要求
通过查资料,获知随着市场经济的发展小区住宅比比皆是。
住宅小区已经成为人们安家置业的首选,同时对物业小区的服务和管理也要求很高。
这样要求小区管理者对物业管理进行宏观的和微观的细致管理,这就为我们设计小区物业管理系统提供了市场需要。
作为计算机应用的一部分,使用计算机对企业单位的各项信息进行管理,具有着手人工管理所无法比拟的优点。
因此,设计一个小区物业管理系统是非常必要的.
通过调查访谈获知小区物业管理系统需要处理以下几个方面的问题:
1)用户登录管理:
这是系统的必要部分,通过它可以对登录信息进行管理。
实现对进入系统的人员进行分类管理,实现不同身份的用户能够获得相应功能的使用权限.
2)用户功能管理:
该模块需要对登录者的个人信息、公告管理进行管理操作,是物业管理产生的基础,物业管理是相对于该小区的所有住户而言的.
3)物业管理:
该模块主要就是对于房产和车辆信息进行基本的管理。
这是后勤保障所必须的部分,只有对工作人员的管理合理了,才能让后勤服务质量提高。
4)人事管理:
这个模块是对小区内物业管理人员人事登记、人事管理等一系列操作的记录
5)报修管理:
这个功能是业主进行申请报修物品,然后物业管理者对报修单进行处理,这个模块最能反应小区物业的服务水平.
6)费用管理:
这个功能是为缴费管理服务的,它可以规定好业主需要缴费的项目(如电费、物业费)。
7)系统管理:
该功能模块包括三部分内容。
有修改密码、重新登录、退出系统三个子项,方便管理员和业主对系统进行操作
8)小区公告:
该模块中,可以以管理员的身份去登录系统,进行公告的新增、删除、修改等操作;也可以业主的身份去登录,此时就只能查看公告
3.2实体-联系图
图3-1实体-联系图
4系统设计
4。
1系统的功能模块设计
图4—1系统功能模块图
由以上功能模块图可以看见,本小区物业管理总共分为2个部分,
第一部分为管理员对进入系统的管理,包括通过登录页面登录进行系统的管理。
系统管理员登录以后可以对对系统进行用户功能、物业管理、人事管理、报修管理、保卫绿化和费用管理。
其中用户管理包含个人信息和公告管理,可对登录人的信息进行修改,公告管理中可对小区公告进行增加、删除、修改、查看;物业管理中包含房产设置、房产管理、业主查询、车辆管理;人事管理中包含了人事登记和人事管理;报修管理中包含了报修登记、报修查询、安排维修、维修结果查看;保洁绿化包含了保安巡查、保洁绿化;费用管理中包含了物业费管理;
第二部分业主进入系统,分别对应四个小模块,包括小区服务、小区广告、信息查询、系统功能。
其中,小区服务由小区业主进行操作,可以进行报修登记,同时也可以查看或删除以前的报修信息。
小区公告主要是业主可以查看到物业管理员发出的小区公告信息。
信息查询中的个人信息主要是指业主可对自己的个人信息进行修改操作.系统功能修改密码、重新登录、退出系统的功能和管理员功能相同。
4。
2数据库设计
管理员个人信息表(admin)
表4-2管理员个人信息表(admin)
字段名
类型
说明
adminId
int
Notnull
admin_name
varchar
Notnull
admin_sex
varchar
Notnull
admin_age
int
Notnull
admin_tel
varchar
Notnull
admin_phone
varchar
Notnull
admin_addr
varchar
Notnull
admin_memo
varchar
Notnull
管理员账户表(admin_account)
表4-3管理员账户表(admin_account)
字段名
类型
说明
admin_accountID
int
Notnull
admin_username
varchar
Notnull
admin_password
varchar
Notnull
业主账户表(custom_account)
表4—4业主账户表(custom_account)
字段名
类型
说明
custom_accountID
int
Notnull
custom_username
varchar
Notnull
custom_password
varchar
Notnull
custom_yezhuID
int
Notnull
房产表(homes)
表4-5房产表(homes)
字段名
类型
说明
homesID
int
Notnull
homes_number
varchar
Notnull
homes_lou
varchar
Notnull
homes_type
varchar
Notnull
homes_area
int
Notnull
homes_sell
varchar
Notnull
homes_danyuan
varchar
Notnull
homes_louceng
varchar
Notnull
homes_chaoxiang
varchar
Notnull
homes_memo
varchar
Notnull
报修信息表(maintain)
表4-6报修信息表(maintain)
字段名
类型
说明
maintainID
int
Notnull
maintain_thing
varchar
Notnull
maintain_status
varchar
Notnull
maintain_homesnumber
varchar
Notnull
maintain_sdate
datetime
Notnull
maintain_rdate
datetime
Notnull
maintain_tcost
int
Notnull
maintain_scost
int
Notnull
maintainer
varchar
Notnull
maintain_smemo
varchar
Notnull
公告表(notify)
表4—7公告表(notify)
字段名
类型
说明
notifyID
int
Notnull
notify_content
varchar
Notnull
notify_date
date
Notnull
notify_title
double
Notnull
notify_uper
varchar
Notnull
巡查表(xuncha)
表4-8巡查表(xuncha)
字段名
类型
说明
xunchaID
int
Notnull
xuncha_person
varchar
Notnull
xuncha_type
varchar
Notnull
xuncha_time
datetime
Notnull
xuncha_chuliren
varchar
Notnull
xuncha_dangshiren
varchar
Notnull
xuncha_result
varchar
Notnull
xuncha_memo
varchar
Notnull
4.3页面设计
4。
3。
1主要页面如下
图4—9index。
jsp页面
这个页面为用户登录页面,浏览器访打开后默认选择的是管理员,页面上有账户和登录密码输入框、登录按钮、重置按钮,两个text框进行用户名和密码的输入,输入完成后点击登录在后台进行数据库的验证。
图4-10admin_content.jsp页面
这个页面为管理员登录后的第一个页面,展现给用户的是一横排的功能选项,可以通过鼠标单击进入不同的系统功能模块,左侧是折叠栏点击后会展开。
图4-11addHomes.jsp页面
这是物业管理的房产设置页面,在页面左边折叠栏有现在时间显示,这是使用javascrip来实现的,它可以显示与电脑系统时间同步的时间。
管理员通过addHomes.jsp进行房产信息的登记,其中门牌号、房间面积、房屋描述三个选项为必填信息。
填入门牌号、房间面积、房屋描述及选择其他选项后点击添加房产信息添加成功。
房产管理中显示房产列表信息,可进行查看房产详细信息、登记入住、删除房产操作。
业主查询中可通过业主姓名或门牌号查到业主,同时可进行删除业主操作。
车辆管理中显示每户业主对应的的车辆信息。
图4—11custom。
jsp页面
这是业主登陆后的页面,上面一栏显示个人信息、报修登记、小区公告标题。
点击个人信息进入个人信息栏目进行修改。
点击报修登记可进行损坏物品报修单提交操作,在小区服务中还有一个报修查看,业主可查看自己以前报修的物品维护的情况。
截图中上部还有页面头部,头部文件中含有动态效果。
5系统实现
5.1系统基本结构
图5—1系统基本结构图
5。
2系统页面实现代码
5。
2.1研究内容
编写页面代码的过程中参考了《巧学巧用CSSJavaScript制作网页》,主要使用了jsp的font等标签对文字进行了设定;用table标签对页面进行布局;还使用了form标签,通过其与后台处理函数通信实现系统的动态功能。
在设计页面的过程中配合着css的样式,美化页面.另外,为了让页面变得生动,在jsp代码里面嵌入javascript代码,实现动态显示时间等功能。
5.2。
2动作实现代码
1)连接数据库hibernate实现:
这里需要导入org.hibernate。
Session;org。
hibernate.SessionFactory;org。
hibernate。
Transaction;org.hibernate。
cfg.Configuration几个java包,详细内容见hibernate。
cfg。
xml文件还需要加入mysql的驱动程序,配置文件将在下面做作具体介绍。
主要实现代码有:
〈propertyname="hibernate.connection。 diver_class”>com.mysql.jdbc。 Driver〈/property〉 〈propertyname="hibernate.connection.url">jdbc: mysql: //localhost: 3306/houses〈/property〉 〈propertyname="hibernate.connection。 username”>root〈/property〉 password”>123456 〈propertyname="hibernate.dialect">org。 hibernate。 dialect.MySQLDialect 〈propertyname="hibernate。 show_sql”>true〈/property〉 〈propertyname="connection.characterEncoding”>UTF-8〈/property〉 hbm。 xml"/〉 〈mappingresource="houses/Base/Admin_account。 hbm.xml”/> 〈/session-factory> 2)数据库接口层houses。 Dao。 XxxService。 java: 本层主要列出所有的对于页面的操作的函数定义,以便于服务层的调用.这样做的目的可以实现面向接口的开发,从而保证了代码的简化。 3)数据接口方法实现houses。 Dao.XxxServiceImp.java: 在这次毕设中,主要使用的方法有对数据表的查询、插入、删除和更新操作,在实现的时候也主要使用hibernate中的Hql语句连接数据库层的函数来得以实现的。 publicclassAdmin_account_serviceImplimplementsAdmin_account_service{ privatestaticSessionFactorysessionFactory; static{ try{ Configurationconfig=newConfiguration().configure(); sessionFactory=config。 buildSessionFactory(); }catch(Exceptione){ //TODO: handleexception e。 printStackTrace(); } } publicBooleanloginCheck(Stringusername,Stringpassword){ Booleanr=false; Sessionsession=sessionFactory。 openSession(); Transactiontx=null; try{ tx=session.beginTransaction(); Queryquery=session.createQuery(”fromAdmin_accountawherea。 admin_username=? anda.admin_password=? "); query.setParameter(0,username); query.setParameter(1,password); Listuserlist=query。 list(); if(userlist。 size()〉0)r=true; tx。 commit(); }catch(Exceptione){ System。 err.println(e); if(tx! =null) { tx。 rollback(); } }finally{ session.close(); } returnr; } 此段代码就是其中一个管理员登录查询数据库的实现函数。 主要就是通过调用houses.Dao层的数据库操作函数进行查询操作.用loginCheck()方法来判断查询结果是否为空。 在这个编程中加入了抛异常的语句,目的是为了让代码更加健壮、安全。 4)动作方法实现: 这就是struts里面的action,它的作用主要是调用数据库层的函数,对于页面获取的数据进行处理和操作。 publicStringcheckLogin() { Admin_account_serviceImpladmin_account_service=newAdmin_account_serviceImpl(); //验证管理员登录 if(this。 check.equals("admin”)&&admin_account_service。 loginCheck(this.loginname,this。 pwd)) { request=ServletActionContext。 getRequest(); HttpSessionsess=request.getSession(); sess.setAttribute("username”,this。 loginname); Stringuser=admin_account_service.admin_name(this。 loginname); sess.setAttribute("user",user); //sess。 setAttribute("custom_user",null); return"admin"; } 这就是其中一个action方法的实现.它主要普通java类继承ActionSupport类,将页面中传过来的值注入到java类中,通过struts管理action类和页面请求动作,首先得到一个Httpsession对象,通过admin_account_service对象调用实现层方法,实现的是将页面数据在数据库中进行查表,得到一个user对象,然后将user放入session中,返回一个admin,admin是在struts中配置跳转路径,跳到相应的jsp页面,在页面中通过sess。 getAttribute("user")得到值,在页面上做相应的显示. 6软件测试 软件测试是在软件投入运行前,对软件需求分析、设计规格说明书和编码的最终的复审,是软件质量保证的关键步骤.确切的说,软件测试就是为了发现错误而执行的过程。 一般分为两个阶段: 第一阶段是单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 小区 物业管理 系统 设计 实现