为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

智能小区物业管理系统的设计与实现

2019-01-25 28页 doc 186KB 59阅读

用户头像

is_511210

暂无简介

举报
智能小区物业管理系统的设计与实现智能小区物业管理系统的设计与实现 摘 要:近年来JAVA技术发展迅速,它使得WEB技术不在局限于单纯地提供信息服务,而是日益成为一个操作平台,为用户提供强大的服务功能。因此,基于B/S体系架构创建这个小区物业管理网站,紧跟行业发展,满足人们生活、学习的需要,进而实现信息网络化。 经过综合的分析,整个系统采用B/S结构,使用JAVA技术做开发语言,JSP做页面显示,TOMCAT 6.0做服务器端进行系统发布,MYSQL做后台数据库进行数据存储,在win7系统上安装JDK做运行与调试环境。 该系统可供登录者查询或发布信息,可通过...
智能小区物业管理系统的设计与实现
智能小区物业管理系统的设计与实现 摘 要:近年来JAVA技术发展迅速,它使得WEB技术不在局限于单纯地提供信息服务,而是日益成为一个操作平台,为用户提供强大的服务功能。因此,基于B/S体系架构创建这个小区物业管理网站,紧跟行业发展,满足人们生活、学习的需要,进而实现信息网络化。 经过综合的分析,整个系统采用B/S结构,使用JAVA技术做开发语言,JSP做页面显示,TOMCAT 6.0做服务器端进行系统发布,MYSQL做后台数据库进行数据存储,在win7系统上安装JDK做运行与调试环境。 该系统可供登录者查询或发布信息,可通过此系统了解小区物业管理情况,小区业主还能够查询各种收费。系统中管理员有特定的权限,可以对用户和各种信息进行添加,删除,修改等,方便网站的管理与维护,很好的解决了以前工作流程的繁杂性、多样化、收缴费用与设备维护繁琐的特征,大大提升了小区物业的管理水平,将计算机的强大功能与现代的管理思想相结合,建立现代的智能小区是物业管理发展的方向。 关键词:物业管理;B/S;JSP;MYSQL 1  课题背景 1.1  课题背景和意义 目前物业管理是一个新兴的服务行业,随着人们生活水平的提高,在选择住房时,必须要有好的物业管理做保证。这样要求小区管理者对物业管理进行宏观和微观的细致管理,这就为我们设计小区物业管理系统提供了市场需要。使用计算机对企业单位的各项信息进行管理,极大地提高工作的效率,也是企业的科学化、正规化管理。因此,开发这样一套小区物业管理系统软件成为很有必要的事情。 本次毕业设计主要就是为了设计一套小区物业管理系统,来满足现代物业管理的需要。主要工作为完成客户端,Web服务器端应用程序和数据库的制作,实现网上小区物业管理系统的创建,实现与完善整个基于B/S小区物业管理网站的组织建立和测试工作。 主要功能有按权限登录,分别获得各自权限以内的操作:系统管理员对管理员和物业信息进行添加,删除,修改等功能。业主可以通过系统发给报修、查询缴费清单等功能,方便管理者的同时也方便了业主。 1.2  毕业设计工作 通过查资料,获知随着市场经济的发展小区住宅比比皆是。住宅小区已经成为人们安家置业的首选,同时对物业小区的服务和管理也要求很高。同时查阅相关系统文档,总结一些系统所考虑不周之处,前期的需求为后期系统的开发做好了业务基础,这就为我们设计小区物业管理系统提供了市场需要。 作为计算机应用的一部分,使用计算机对企业单位的各项信息进行管理,具有着手人工管理所无法比拟的优点,通过资料,了解了java相关的一些技术并充分运用于此次系统开发中,不懂的向老师同学请教,一点点将代码写出来,逐步编写各个模块,实现模块中应有的功能,并且同步进行测试,由于时间紧迫,在需求上也有想不到的地方,进而会影响部分模块应有的功能不能很好的展现出来,当然已经开发出成型的代码中还有一些小的瑕疵,还有待于进一步的优化,从而将系统完整的展现出来。 2  技术论证 2.1  B/S模型的优点 几乎没有限制的客户端访问和极其简单化的应用程序部署和管理是B/S模型的优势所在。 解决了用户的并发请求数量这个限制,使得成千上万的用户可以被无顾虑地添加,我们最好选用三层模型B/S结构,即Browser/Server(浏览器/服务器)结构,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成三层结构,是一种全新的软件系统构造技术。 从图中可以看到这种结构的一个重要的特点是,用户可以完全不需要安装客户端软件,当然也不需要担心任何软件升级和不兼容等任何客户端所遇到的问题。相比之下,B/S模型的优点显而易见,更适合这个网站的构建,有利于网站的维护和扩充。 图2-1  B/S模型结构图 2.2  JSP技术发展背景 Web技术的迅猛发展正推动Internet上信息服务类的进步。WWW服务的基础是HTML语言。这个系统模块中用到的JSP技术是在HTML语言的基础上使用脚本语言对网页的对象模型进行编程。JSP全称Java Server Pages,它是由Sun Microsystems公司提出、许多公司参与建立的一种动态网页技术标准。 作为Java平台的一部分,JSP拥有Java编程语言“一次编写,到处运行”的特点。一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境,取代过去单一平台开发。 从开发人员的角度来看其区别在于:ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。 JSP标签可扩充性。JSP技术能够使用开发者扩展JSP标签,JSP开发者能定制标签库,减少对脚本语言的依赖 易于维护性。 基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。 如上的比较不难看出,JSP技术编写的程序运用要更加灵活,可扩展性更强。 2.3  HIBERNATE技术 Hibernate是一个开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从java类到数据库表之间的映射,也提供了数据查询和恢复。相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。另外Hibernate可以利用代理模式简化载入类的过程,这将大大减少利用Hql从数据库提取数据的代码编写量,从而节约开发时间和开发成本Hibernate可以和多种web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行数据库服务器 Hibernate技术本质上是一个提供数据库服务的中间件。Hibernate的工作原理,他是利用数据库以及其他一些配置文件如:Hibernate.properties,XML Mapping等来为应用程序提供数据持久化服务的。 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 Not null admin_name varchar Not null admin_sex varchar Not null admin_age int Not null admin_tel varchar Not null admin_phone varchar Not null admin_addr varchar Not null admin_memo varchar Not null       管理员账户表(admin_account) 表4-3 管理员账户表(admin_account) 字段名 类型 说明 admin_accountID int Not null admin_username varchar Not null admin_password varchar Not null       业主账户表(custom_account) 表4-4 业主账户表(custom_account) 字段名 类型 说明 custom_accountID int Not null custom_username varchar Not null custom_password varchar Not null custom_yezhuID int Not null       房产表(homes) 表4-5 房产表(homes) 字段名 类型 说明 homesID int Not null homes_number varchar Not null homes_lou varchar Not null homes_type varchar Not null homes_area int Not null homes_sell varchar Not null homes_danyuan varchar Not null homes_louceng varchar Not null homes_chaoxiang varchar Not null homes_memo varchar Not null       报修信息表(maintain) 表4-6 报修信息表(maintain) 字段名 类型 说明 maintainID int Not null maintain_thing varchar Not null maintain_status varchar Not null maintain_homesnumber varchar Not null maintain_sdate datetime Not null maintain_rdate datetime Not null maintain_tcost int Not null maintain_scost int Not null maintainer varchar Not null maintain_smemo varchar Not null       公告表(notify) 表4-7 公告表(notify) 字段名 类型 说明 notifyID int Not null notify_content varchar Not null notify_date date Not null notify_title double Not null notify_uper varchar Not null       巡查表(xuncha) 表4-8 巡查表(xuncha) 字段名 类型 说明 xunchaID int Not null xuncha_person varchar Not null xuncha_type varchar Not null xuncha_time datetime Not null xuncha_chuliren varchar Not null xuncha_dangshiren varchar Not null xuncha_result varchar Not null xuncha_memo varchar Not null       4.3  页面设计 4.3.1  主要页面如下 图4-9 index.jsp页面 这个页面为用户登录页面,浏览器访打开后默认选择的是管理员,页面上有账户和登录密码输入框、登录按钮、重置按钮,两个text框进行用户名和密码的输入,输入完成后点击登录在后台进行数据库的验证。 图4-10  admin_content.jsp页面 这个页面为管理员登录后的第一个页面,展现给用户的是一横排的功能选项,可以通过鼠标单击进入不同的系统功能模块,左侧是折叠栏点击后会展开。 图4-11 addHomes.jsp页面 这是物业管理的房产设置页面,在页面左边折叠栏有现在时间显示,这是使用javascrip来实现的,它可以显示与电脑系统时间同步的时间。管理员通过addHomes.jsp进行房产信息的登记,其中门牌号、房间面积、房屋描述三个选项为必填信息。填入门牌号、房间面积、房屋描述及选择其他选项后点击添加房产信息添加成功。房产管理中显示房产列表信息,可进行查看房产详细信息、登记入住、删除房产操作。业主查询中可通过业主姓名或门牌号查到业主,同时可进行删除业主操作。车辆管理中显示每户业主对应的的车辆信息。 图4-11 custom.jsp页面 这是业主登陆后的页面,上面一栏显示个人信息、报修登记、小区公告标题。点击个人信息进入个人信息栏目进行修改。点击报修登记可进行损坏物品报修单提交操作,在小区服务中还有一个报修查看,业主可查看自己以前报修的物品维护的情况。截图中上部还有页面头部,头部文件中含有动态效果。 5  系统实现 5.1  系统基本结构 图5-1  系统基本结构图 5.2  系统页面实现代码 5.2.1  研究内容 编写页面代码的过程中参考了《巧学巧用CSS JavaScript制作网页》,主要使用了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的驱动程序,配置文件将在下面做作具体介绍。 主要实现代码有: com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/houses root 123456 org.hibernate.dialect.MySQLDialect true true  UTF-8  2)数据库接口层houses.Dao.XxxService.java: 本层主要列出所有的对于页面的操作的函数定义,以便于服务层的调用。这样做的目的可以实现面向接口的开发,从而保证了代码的简化。 3)数据接口实现houses.Dao.XxxServiceImp.java: 在这次毕设中,主要使用的方法有对数据表的查询、插入、删除和更新操作,在实现的时候也主要使用hibernate中的Hql语句连接数据库层的函数来得以实现的。 public class Admin_account_serviceImpl implements Admin_account_service { private static SessionFactory sessionFactory; static{ try{ Configuration config = new Configuration().configure(); sessionFactory = config.buildSessionFactory(); }catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } public Boolean loginCheck(String username,String password) { Boolean r = false; Session session = sessionFactory.openSession(); Transaction tx = null; try{ tx = session.beginTransaction(); Query query = session.createQuery("from Admin_account a where a.admin_username =? and a.admin_password =?"); query.setParameter(0, username); query.setParameter(1, password); List userlist = query.list(); if(userlist.size()>0) r=true; tx.commit(); }catch (Exception e) { System.err.println(e); if(tx != null) { tx.rollback(); } }finally{ session.close(); } return r; } 此段代码就是其中一个管理员登录查询数据库的实现函数。主要就是通过调用houses.Dao层的数据库操作函数进行查询操作。用loginCheck()方法来判断查询结果是否为空。在这个编程中加入了抛异常的语句,目的是为了让代码更加健壮、安全。    4)动作方法实现: 这就是struts里面的action,它的作用主要是调用数据库层的函数,对于页面获取的数据进行处理和操作。 public  String checkLogin() {  Admin_account_serviceImpl admin_account_service= new     Admin_account_serviceImpl(); //验证管理员登录 if(this.check.equals("admin")&&admin_account_service.loginCheck(this.loginname, this.pwd)) {  request=ServletActionContext.getRequest(); HttpSession sess = request.getSession(); sess.setAttribute("username", this.loginname); String user = 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  软件测试 软件测试是在软件投入运行前,对软件需求分析、设计规格和编码的最终的复审,是软件质量保证的关键步骤。确切的说,软件测试就是为了发现错误而执行的过程。一般分为两个阶段:第一阶段是单元测试,第二阶段是综合测试。对于我的毕业设计系统也进行了测试,方法如下: 在设计的过程中,我会通过查询操作能否显示成功;增加操作能否在数据库里找到插入的值;修改操作是否让数据库的数据得到正确的相应改变;删除操作能否让数据库里面的数据被删除等最基本的系统使用要求来测试系统。 通过测试,发现了系统中有好多问题。比如:增加操作出现与数据库主键数据重复的情况,操作函数会执行,但是会得到不正确的结果,开发环境也会报错;还有在一些特殊查找的时候显示出问题;还有缴费项目的要求没有达到真正的用户缴费要求。这些问题都是在同学的测试过程中发现的,现在基本上都解决了。 通过最终测试得到,本系统能够基本完成最初设计的各大功能,并且能很好的适应各种严格条件下的使用,基本符合用户的需求。 7  总结 经过二个多月的调查、学习、研究和设计,系统的制作接近了尾声,在这里我将系统设计做如下总结。 本系统的功能已基本达到设计的要求系统中各个模块的功能基本实现,为整体系统的构建奠定了基础。经过测试得出本系统已基本符合用户需求。系统中模块划分明确,模块功能设计有较强的针对性。系统的设计遵循软件开发的全过程,使我对软件系统的开发过程有了更深刻的认识。感受到软件工程这门课的重要性。 设计体现出了所使用的编程技术的优点,本次使用了Struts框架,使编程变得简单。我从中也体会到了接口技术是怎样使用的,它都有什么优势。系统的设计中能够灵活运用JSP的对象技术,并且使用有效的SQL语言操作后台数据库。 在这段时间里,我受益匪浅,不仅将所学的知识运用到实践,而且更进一步学习了软件开发技术,增强了JSP开发技术的语法基础,能够将其比较灵活地使用。 参考文献 [1]孙卫琴,李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社,2003年6月. [2]于卉敏.物业管理工作细化执行与模板[M].北京:人民邮电出版社,2008.4. [3]张晶.高性能MySql(第2版)中文版[M].北京:电子工业出版社,2010.1. [4]赵强.精通JSP编程[M].电子工业出版社,2006年版. [5]孙鑫.Struts 2 深入详解[M].北京:电子工业出版社,2008.7. [6]沈应奎,曾凌.Java Web数据库系统应用开发与实例[M].北京:人民邮电出版社,2008.2. [7]申吉红,廖学峰,余健.JSP课程设计案例精编[M].北京:清华大学出版社,2007.2. [8]宋朝东.巧学HTML、CSS、JavaScript制作网页[M].北京:人民邮电出版社,2005.6. [9]佟伟光.软件测试[M].北京:人民邮电出版社,2008.5. The Design and Implementation of Residential Property Management System Tong liming (Department of Information Engineering, Weinan Normal University) JAVA technology has developed rapidly in recent years. It makes the WEB technology no longer limit to simply providing information services, and is gradually becoming an operation platform, to provide users with a powerful service function. Therefore, the residential property management website is created based on B/S architecture to realize the information network, and with it, people can keep pace with industry development, and meet their living and learning needs. After a comprehensive analysis, the whole system adopts B/S structure, using JAVA technology as the development language, the JSP as page displays, TOMCAT 6.0 as server side release system, MYSQL as backend database for data storage, the JDK installed on Windows 7 OS as running and debugging environment.. This system is available for the user logging on to search and release information. The administrator of the system has specific permissions: undertaking a variety of maintenance of owners’ and property information, solving the traditional workflow multifarious, collecting the property cost, and solving other complicated issues. Thus it greatly improved the level of residential property management. The powerful computer function combined with modern thinking of management, establishing modern intelligent residential district is the direction of property management. Key words: Property Management;B/S;JSP;MYSQL
/
本文档为【智能小区物业管理系统的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索