小区物业管理系统的设计与实现_第1页
小区物业管理系统的设计与实现_第2页
小区物业管理系统的设计与实现_第3页
小区物业管理系统的设计与实现_第4页
小区物业管理系统的设计与实现_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南理工大学计算机科学与技术学院毕业设计论文题目小区物业管理系统的设计与实现系别计算机科学与技术学院姓名学号指导教师2015年5月29日1绪论1.1前言随着社会的不断进步,人们对生活的质量开始慢慢注重起来,智能化的小区也应运而生,住宅本身已经不在是一个单纯的房子,而是作为一个小区智能系统中的一个网络节点而存在。对于普通的上班族来说工作越来越忙,很多时候无暇去顾及生活上的小事,因此人们非常期盼能将这些琐碎的小事系统化、网络化、便捷化,小区物业管理系统的出现解决了人们在这方面的烦恼,同时也解决了物业管理人员的烦恼。小区物业管理系统在最近几年越来越被小区的物业管理者所青睐,原因是在于它的灵活型和方便性。因此,设计和实现一个小区物业管理系统是非常具有现实意义的。1.2系统的开发背景小区管理在手工操作时代,工作非常繁琐,需要大量的人力、物力和财力,极大的浪费了小区物业的资源,对于小区的管理人员来说,物业管理包括物业设备管理、停车场管理、住户的投诉管理、住户的报修管理、住户的设备维修管理等等。而这些项目在过去手工操作时代,需要手工记录这些事情,不但麻烦,还经常出错,给广大住户和管理人员带来很多不便。为了更好的为广大住户服务,决定开发一套小区物业管理系统,帮助小区管理人员从复杂的物业管理之中解放出来。几年前,各个小区的物业管理基本上都是靠手工进行的,随着社会的发展,小区物业的发展也是非常的迅速,而且每年都有不同的要求。由于小区内住户与工作人员的不断变更,其资料也随之发生经常性的更换,所涉及到的数据量就越来越大,有的小区不得不增加人力、物力来进行小区物业的管理,但手工管理具有效率低、工作量大、容易出错等不利条件,原来手工的管理模式就显得不合适了。所以想借本次毕业设计之际,开发一个适用于每个小区物业管理的系统。随着国内市场经济的快速发展和人们生活水平的不断提高,简单的社区服务已经不能满足人们的需求。如何利用先进的管理手段,提高物业管理水平,是当今社会所面临的一个重要课题。要想提高物业管理水平,必须全方位地提高物业管理意识。只有高标准、高质量的社区服务才能满足人们的需求。面对信息时代的挑战,利用高科技手段来提高物业管理无疑是一条行之有效的途径。在某种意义上,信息与科技在物业管理与现代化建设中显现出越来越重要的地位。物业管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。1.3系统选题目的及意义随着市场经济的发展和人们生活水平的提高,住宅小区已经成为人们安家置业的首选,几十万到几百万的小区住宅比比皆是。人们花的钱越多,不但对住宅的本身的美观、质量要求越来越高,同时对物业小区的服务和管理也要求比较高,诸如对小区的维修维护,甚至对各项投诉都要求小区管理者做得好,做的完善。这样要求小区管理者对物业管理进行宏观和微观的细致管理,其中最好的办法是用计算机操作的小区物业管理系统来实现对小区物业的管理,这就为我们设计小区物业管理系统提供了市场需要。而我们设计的小区物业管理系统在现代社会是最热门的行业,是最关切老百姓实际生活的设计,各种人性化的配置,使管理者和业主对住宅小区中的事物能更方便、更便捷、更满意的得到答复。伴随着小区规模的不断扩大和住户的不断增多,像小区中的汽车,小区附带设施,小区的各项维修、投诉等都越来越复杂,工作量也将越来越大。但一直以来人们使用传统人工的方式管理各项数据,这种管理方式存在着许多缺点,比如:效果低、保密性差,另外时间一长,将产生大量的文件和数据,这对查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已被人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对企业单位的各项信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性强、储存量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。因此,开发一套高效率、无差错的小区物业管理系统软件十分必要。本系统的主要目的是告别帐本,安全、快捷的保存数据信息。由于小区物业管理涉及到费用问题,为了增强系统的保密性,使业主利益不受损害,本系统具有仅管理员式的保密功能,还有查询、录入、修改、删除、以及对物业设备统计等功能,使业主能够对自家的物业费用和投诉等情况提供透明化、直观的了解。2开发工具及相关技术介绍2.1Java及MyEclipse相关介绍Java,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的Hotjava浏览器(支持Javaapplet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。Java分为三个体系JavaSE(Java2PlatformStandardEdition,java平台标准版),JavaEE(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(Java2PlatformMicroEdition,java平台微型版)。Java编程语言是一种优秀的编程语言。它最大的优点就是与平台无关,在Windows9x、WindowsNT、Solaris、Linux、MacOS以及其它平台上,都可以使用相同的代码。java认证与其他认证相比优势:(1)Java技术是一次开发、到处受益。西安达内java讲师表示,获取了微软、Cisco认证**(IT认证)的人在择业时,一般需要到应用相关产品的企业去,因为这些技术是与具体产品相关的。但掌握了Java技术的人士应用面却非常广,因为该技术可用于任何平台。我们知道,电视机、手机、冰箱、微波炉等各种家用电器在“蓝牙”技术应用于网络后均要上网,这些技术的程序实现均是采用Java,很快,Java技术将会无处不用,其人才自然会日见抢手。(2)市场价值高。据对欧、美地区的薪资调查结果来看,获得Java认证者的薪资要比未获认证者高出30%。(3)Java的专业性很强。2.2数据库MySQLServer5.5相关介绍MySQL由瑞迪的MySQLAB公司开发,属于Oracle公司,是一种关系型数据库管理系统,即将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样的特点是得数据库的速率增大并提高了灵活性。MySQL的SQL语言为访问数据库的的最常用标准化语言。MySQL由于其特性开源,且它的体积小、速度快、总体拥有成本低,同时,MySQL使用了多种编译器进行测试,保证了源代码的可移植性,提供多接口,广泛支持各种编程语言,兼容性良好,提高TCP/IP,ODBC,JDBC等多种数据库接入方式,同时也支持大型数据库,支持多种存储引擎,并有丰富的扩展功能。因此,一般中小型的网站,因其超高的性价比,往往会选择采用MySQL作为网站的数据库在本项目中,采用了MySqlServer5.5,同时为了开发便捷,采用了NvicatforMySQL软件。在5.5版本中,数据库的可扩展性、集成度以及查询性能都会得到提升。2.3服务器Tomcat6.0相关介绍Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5版本之后开始支持最新的Servlet2.4和JSP2.0规范。Tomcat技术先进、性能稳定,且是免费开放源代码的Web应用服务器,成为目前比较流行的Web应用服务器。目前最新版本是8.0。此外,Tomcat运行时占用系统资源少,且扩展性良好,支持WEB开发几乎所有的常用应用功能,且处于不断更新和进步之中,属于轻量级WEB应用服务器。2.4B/S结构相关介绍B/S结构(Browser/Server,浏览器/服务器模式)是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如NetscapeNavigator或InternetExplorer,服务器安装SQLServer、Oracle、MYSQL等数据库。浏览器通过WebServer同数据库进行数据交互。B/S结构主要是利用了不断成熟的Web浏览器技术:结合浏览器的多种脚本语言和ActiveX技术,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能,同时节约了开发成本。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。选择采用B/S开发模式的原因如下:(1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为桌面电脑操作系统不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。采用基于B/S架构几乎不需要培训,使用浏览器这种易于操作界面的产品,是开发这套系统最好、最明智的选择。HYPERLINK3系统分析及可行性研究3.1需求分析小区物业管理系统是面向小区的各项事务,包括物业管理,资料管理等业务处理工作,是利用计算机进行集中管理而开发的系统。经过调研与可行性分析,出于对人们生活住房考虑,设计了这套小区物业管理系统,该系统主要考虑到小区物业管理的普遍要求,具有以下几个部分的功能。(1)权限设置模块。本系统的用户身份分为两种,一是系统管理员,二是普通用户。每种身份的用户登陆本系统时都需要有自己的用户名与密码。系统管理员可对本系统做所有操作,而普通用户只能对本系统做一些基本操作,例如:对楼房信息、小区信息、停车场信息的浏览与查询,对报修信息、投诉信息的添加,对自身密码的修改。普通用户不能查看他人信息,每人登陆本系统时输入的用户名和密码都不能为空。只有输入正确的信息才能对本系统进行操作。(2)小区信息管理模块。主要实现用户对小区内停车场、楼房、宿舍地址进行精准查询基本操作。(3)住户信息管理模块。主要实现管理员对住户与小区工作人员信息的添加、查询、修改、删除等基本操作。(4)物业管理模块。主要实现用户在自己系统报修留言板界面上信息的添加,管理员在本身系统上报修信息的查看以及更改报修处理等基本操作。(5)停车位管理模块。主要实现对小区内停车位信息、车主信息的查询以及车位信息添加的基本操作。以上是对本信息管理系统进行的基本的需求分析,也就是本系统所要实现的基本功能。但是,这并不是整个系统的全部需求,对系统不断出现的新需求,需要系统在日后的使用中通过系统的更新与维护来实现。这样,才能使系统得到不断的完善,功能更加强大,与用户的交互性更强。3.2可行性研究可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。3.2.1技术的可行性小区物业管理系统采用了当前的主流计算结构模式进行开发,前台开发语言选用Java和Myeclipse开发平台,Java是一种面向对象的Windows开发语言,Java具有易用、通用和平台无关的特点。后台的数据库开发工具选用了Access2000,它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。这两种开发工具功能强大,有较好的接口,作为本系统开发工具是可行的。3.2.2经济可行性随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。21世纪是一个充满竞争和挑战的世纪。在这个世纪中,高效化、系统化、规范化、自动化已成为现代企业的代名词。做为我国支柱产业之一的房地产业在当今智能化小区的发展的驱动下,在当今信息时代的推动下,拥有自己的一套特色的小区物业管理系统是非常必要的,与小区内繁多的硬件设施相比较,传统的手工式的管理方式已经无法适合当今的庞大的数据处理和精确的运算需求,所以一套精美完善的小区物业管理系统是提高工作效率节省人力物力的有效解决方案。传统的管理方式,对物业管理人员要求数量多,耗资高,错误率高,工作人员流动和对新人的培训经费也是不小的开支。一套完善的小区物业管理系统可持续使用并能随着时代和工作的需求不断更新,一期投入终身受用,按长期的使用计算,开发系统的造价平均到每年与传统式的管理方式的年耗资本相对比,性价比是可行的。开发这套系统的经济可行性是很高的。3.2.3操作可行性操作可行性主要是分析系统的运行方式、操作规程在用户组织内是否可以有效、顺利实施等问题。在网络正在迅猛发展的今天,越来越多的人开始注重操作的简洁与方便于工作,随着科学技术的发展,知识量的增大,设计本系统代替了人工操作的不便,因此系统在实践上具备了可行性。该系统设计清晰,有良好的用户界面,操作简洁,信息用户只要经过简单的培训就可使用,因此操作方面可行。3.2.4社会可行性本系统在设计过程中,没有涉及到任何法律方面的问题,只是针对需求进行设计,因此在社会上是可行的。综上所述,本系统通过前台展示,并为小区人员操作提供方便。通过本系统增强了小区管理人员与住户之是的沟通,使小区管理人员能及时了解住户的需求,并帮助住户解决一系列的问题,从而提高了小区管理的效率。因此,开发本系统具有可行性。4系统概要设计4.1系统设计的目标在现代化物业管理中,为了加强对物业的管理,为了不断满足日益增加的住宅和服务的需求,充分发挥所管理的物业的各项人才、设备和信息优势,提高经济效益,以达到最大的投资回报率及用户满意率,需要规划一整套科学、严密、高效、实用的物业管理系统,对人员、设备、服务、信息、财务及个项活动实施全面管理。

本系统针对现代物业管理的最基本的要求而开发,通过对人员、设备、服务、信息及各项活动实施全面管理,不仅能使工作管理员准确地执行各项活动,减轻劳动强度,方便住户的各项生活需求,而且能够保证上层管理人员获得各种需要的信息,起到辅助决策的作用,从而达到完善物业管理的目的。该系统具有科学、严密、高效、实用的特点,使各类物业管理公司既能加强管理,充分发挥所管理物业的各项人才、设备和信息优势,又能广泛提高经济效益,以达到较大的投资回报率及用户满意率。一般而言,小区物业管理系统应满足以下几点基本要求:

(1)良好的人机界面。小区物业管理系统就具有良好的界面导航功能,能实现灵活的信息管理控制,使用户能方便快捷地获得所需要的内容和人机界面,保证用户在使用系统的时候不会茫然失措,迷失方向。

(2)较高的浏览速度。小区物业管理系统常常处于多用户并行工作的状态,为保证小区物业管理系统的用户浏览信息的速度,可求系统的程序有较快的执行速度,不能有明显的等待时间。

(3)较高的系统稳定性。小区物业管理系统的用户数量很多,如果系统不能有足够的稳定性,就不能保证系统正常运行。

(4)系统的安全性。小区物业管理系统需要记录小区内住宅、人员等相关重要信息,在传递信息中存在一些不能公开的资料,为保证小区日常管理工作的正常运行以及相关信息的保密性,因此要求系统有较高的安全性。

4.2系统功能分析

小区物业管理系统是为了对小区物业实行计算机化的管理,以提高工作效率,方便用户。主要功能有对住户信息、停车场、物业、投诉等进行管理和基本资料管理以及对系统自身的用户权限管理;住户报修通过留言板的方式进行统计,用户登录用户界面可在报修留言板上填写报修内容以及投诉内容,留言成功后管理员可在管理员界面查看到所有用户的物业投诉信息以此做出相应的处理;停车位采用一对一的方式可通过本人姓名或者身份证号进行精确查询;还包括对住户和楼房信息的管理。系统管理主要任务是提高系统安全性和对系统提供良好的维护,如用户权限可以为用户提供权限服务。4.3系统功能模块图系统管理员系统管理员权限设置管理权限设置管理普通用户普通用户房屋基本信息小区信息管理房屋基本信息小区信息管理新增用户退出系统停车位管理物业管理用户信息管理小区物业管理系统新增用户退出系统停车位管理物业管理用户信息管理小区物业管理系统显示所有用户显示所有用户删除/修改住户信息删除/修改住户信息住户信息查询住户信息查询住户报修信息管理住户报修信息管理停车位信息停车位信息查询车主信息查询车主信息添加车位信息添加车位信息图4-1小区物业管理系统模块图4.4系统功能介绍

4.4.1小区信息管理模块

该功能模块是小区信息基础资料,是一个小区物业管理中最基本的信息,包括楼房信息。(1)楼房信息。楼房信息主要记录的是楼房的各种信息,其中包括门牌号、楼房名称、房屋方位、房屋状态、住户编号、小区编号,实现对楼房信息的添加、删除、修改与查询的功能。

4.4.2用户信息管理模块

一个系统的建立,必须有人员的参与,该模块主要记录了参与本系统操作的人员的相关信息,包括小区内的用户信息与小区内的管理员的基本信息。

(1)用户信息。用户信息管理模块主要是记录小区内用户的各种信息,其中包括用户名称、性别、联系方式、用户地址、车位信息、实现对住户信息的添加、修改与查询的功能。

(2)管理员信息。管理员管理模块主要是记录工作人员的基本信息,管理员是系统的主要管理者,管理员不仅可对用户信息进行添加、删除、修改、查询等功能,而且可对物业报修投诉信息进行在线处理。4.4.3物业信息管理模块

该功能模块是小区物业管理过程中,如果小区中设备发现损坏或住户对管理中有意见时,则相应的就涉及到设备报修情况以及物业投诉等一系列工作。住户报修信息管理,主要通过用户在登录界面报修栏中填写物业报修投诉信息,由管理员在管理页面查看报修信息实现对住户报修信息的在线查看、处理基本操作。

4.4.4停车位管理模块

该模块主要实现对停车位信息的添加、修改、删除与查询等基本功能。每个住户对应一个停车位。用户可对停车位的基本信息进行添加,输入的内容为空时表示用户无车。用户可通过车牌号或者车牌编号精确快速查看自己的车位信息。4.4.5权限设置模块

该功能模块主要实现对系统使用者的添加、修改、删除、查询等操作,登录系统的人员为系统管理员和普通用户。普通用户只能登录自己的界面对自身信息进行查看、添加、修改等功能;管理员则可对小区内全部用户信息进行添加、删除、修改、查询功能,同时管理员也可对物业信息进行处理功能。4.5数据库设计

4.5.1系统总体设计通过对系统功能以及需求进行分析后,基本可以确定一个简单的实体关系图。实体对象主要有:人员、信息其中人员又可分为两种:管理员、普通用户信息可分为:用户信息、物业信息、小区信息、停车位信息、其他信息实体之间的联系主要由数据库来完成,定义该过程的名称为“处理”。小区物业管理系统简单实体图如4-2所示:房屋信息 N房屋信息管理员管理员用户信息处理 m N用户信息处理物业信息 N物业信息普通用户 m 普通用户停车位信息停车位信息 N图4-2小区物业管理系统简单实体图小区物业管理系统部分实体属性图如下所示:密码出生日期密码出生日期车牌号门牌号车牌号门牌号用户编号住户用户编号住户性别姓名性别姓名住址身份证号电话住址身份证号电话图4-3住户属性图车牌号车牌号占有车位车积占有车位车积类型 1 1颜色车位编号颜色车位编号图4-4车位属性图用户用户密码用户名密码用户名图4-5用户属性图报修报修报修单号报修单号报修内容报修内容报修日期门牌号报修日期门牌号图4-6报修属性图房屋房屋地址门牌号地址门牌号入住状况入住状况图4-7房屋属性图4.5.2数据库表设计(1)用户表用户表存放登陆系统所需要的用户名和密码,需要访问此表。用户信息表如表4-8所示:表4-8用户信息表字段名数据类型可否为空用户名Vachar(20)NOTNULL密码Vachar(20)(2)住户基本信息表住户表存放小区内所有的住户信息,这些信息也是小区物业管理的基本信息,在实现系统的各个功能中起真非常重要的作用,住户基本信息表如表4-9所示:表4-9住户基本信息表字段名说明数据类型可否为空Uname用户名VACHAR(20)NONULLUsernumber用户编号INTNONULLPassword用户密码VACHAR(20)NONULLsex性别VACHAR(20)NONULLuserid身份证号VACHAR(18)NONULLbirthdayDate出生日期VACHAR(20)Address住址VACHAR(20)rid门牌号VACHAR(10)Telnumber电话号码VARCHAR(20)Carnumber车牌号VARCHAR(10)(3)车位基本信息表车位基本信息表存放了住户车辆的各种信息。车位基本信息表如表4-10所示:表4-10车位基本信息表字段名说明数据类型可否为空Carnumber车牌号VARCHAR(100)NONULLType类型VARCHAR(100)NONULLColor颜色VARCHAR(20)NONULLCarid车位编号VARCHAR(10)(4)房屋基本信息表房屋信息表主要存放了住户房屋门牌号、地址、入住情况信息。房屋信息表如表4-11所示:表4-11房屋信息表字段名说明数据类型可否为空Rid门牌号VARCHAR(20)NONULLAddress地址VARCHAR(20)NONULLIso入住状况VARCGAR(20)NONULL(5)报修基本信息表住户报修基本信息表存放小区内住户的各种报修信息。报修单信息表如表4-12所示:表4-12报修单信息表字段名说明数据类型可否为空pid报修单号VACHAR(20)NONULLrid门牌号VACHAR(20)NONULLCheckdate报修日期DATE(20)NONULLtext保修内容VACHAR(20)NONULL5系统功能实现过程小区物业管理系统是现代居住小区不可缺少的一部分,一个构建完善的管理系统可以使小区内的日常管理工作更加的顺畅、方便。本系统是根据小区日常工作特点设计出的一个物业管理系统,系统以资料管理、维修管理、费用管理和设备管理为核心,并辅助以数据统计功能,实现小区内工作的系统化管理。经过以上的分析及建摸模,已经完成了数据库的后台工作。下面要完成的是人机交互的界面。本系统分为以下三部分:(1)用户(管理员和普通用户)登陆;(2)系统主体平台;(3)通过主体平台调用的功能模块;接下来即对各部分作详细介绍。5.1系统登陆模块登录该系统的用户角色分为两种,一是普通用户,一是系统管理员。普通用户只能对本系统做一些基本的操作,而系统管理员则可以进行全部操作。在本系统时用户必须拥有自己的用户名与口令才能进入本系统,对没有用户名与密码的用户需要系统管理员先添加用户,对用户权限进行设置,然后再进行登录。图5-1管理员登陆页面//管理员登录的servlet类publicclassLoginServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ this.doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Stringuserid=request.getParameter("userid");//登录名 Stringpassword=request.getParameter("password");//登录密码 System.out.println(userid+password);//在控制台查看登录信息 UserDaodao=newUserDao();//调用dao层登录方法 Useruser=dao.login(userid,password); if(user!=null){//登录成功 response.sendRedirect("User/success.jsp");//请求转发跳转至成功界面}else{//登录失败 response.sendRedirect("User/fail.jsp");//失败界面 } }}图5-2用户登陆页面//用户登陆的servlet类publicclassAloginServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); }publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{Stringadminid=request.getParameter("adminid"); Stringpwd=request.getParameter("pwd"); Admindaodao=newAdmindao(); Adminadmin=dao.login(adminid,pwd); if(admin!=null){//登录成功 response.sendRedirect("exception/aloginsuccess.jsp"); }else{ response.sendRedirect("exception/aloginfail.jsp"); } }5.2主界面

该模块的设计便于操作系统,用户可根据界面的相应链接做相应的操作。在此界面中,是由三个页面组成的框架组合,分成上框架,右框架和左框架。在上面的页面放置系统设计的标题,左边放置系统相关操作的链接,并显示登录系统的人员姓名与身份。右边放置主页面。在该界面中,右页面中是通过执行一个Jsp文件,获得用户登录本系统时的当前系统时间。图5-3系统主界面5.3住户信息管理模块

主要实现对小区内的住户信息基本操作。在此模块中,可实现对住户基本信息的添加、删除、查询与修改等基本功能。当需要添加住户基本信息时,单击导航菜单中“新增用户”按钮对住户的基本信息进行添加,并且将添加的数据保存到数据库中。当需要修改住户信息时,可单击删除/修改的链接,对要修改的内容进行操作,修改的结果保存到数据库中。单击删除可将此记录删除,在删除之前会进行确认,删除操作将影响数据库中的数据。新用户注册页面如图5-4所示图5-4新用户注册页面//用户注册功能publicclassAddUserServletextendsHttpServlet{//表现层//用户注册&添加用户 publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{this.doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{request.setCharacterEncoding("UTF-8");//设置编码格式,否则汉字会乱码 //获取页面上的用户信息 Stringuname=request.getParameter("uname"); Stringpassword=request.getParameter("password"); Stringsex=request.getParameter("sex"); Stringuserid=request.getParameter("userid"); StringbirthdayDate=request.getParameter("birthdayDate"); Stringaddress=request.getParameter("address"); Stringrid=request.getParameter("rid"); Stringtelnumber=request.getParameter("telnumber"); Stringcarnumber=request.getParameter("carnumber"); Useruser=newUser();//将获取的属性封装入user对象中 user.setUname(uname); user.setPassword(password); user.setSex(sex); user.setUserid(userid); user.setBirthdayDate(DateUtil.stringToDate(birthdayDate)); user.setAddress(address); user.setRid(rid); user.setTelnumber(telnumber); user.setCarnumber(carnumber); UserDaodao=newUserDao(); booleanflag=dao.insertUser(user);//调用dao层方法 if(flag){//判定结果并请求转发至下个页面 response.sendRedirect("User/success.jsp"); }else{ response.sendRedirect("User/fail.jsp"); } }}用户信息注册的javascript页面表单验证即约束用户信息格式,并将错误信息返回到span标签里<scripttype="text/javascript"> functiongenerateCode(){//使用java中的random方法,生成思维随机数字的验证码 varcode=parseInt(Math.random()*9000+1000); document.getElementById("randomCode").innerHTML=code; } functioncheckUserid(){ varreg=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ig;//正则表达式,约束身份证号必须是15或18位数字 checkField("userid",reg); } functioncheckUname(){ varreg=/^[\u4e00-\u9fa5]{2,6}$/ig;//正则表达式,约束用户名必须是2-6位汉字 checkField("uname",reg) } functioncheckPwd(){ varreg=/^\w{1,20}4/ig;//正则表达式,约束密码为20位以内的字母数字和字符 checkField("password",reg); } functioncheckPhone(){ varreg=/^1[3458]\d{9}$/ig;//正则表达式,约束用户联系方式必须为11位可用的手机号码 checkField("telnumber",reg); }functioncheckField(objId,reg){//获取表单域的varobj=document.getElementById(objId);//获取表单域的值 varval=obj.value;//获取表单域的描述 varalt=obj.alt;//获取span varspan=document.getElementById(objId+"Span"); //对表单值进行验证 if(val==null||val.length==0){ span.className="spanred"; span.innerHTML=alt+"不能为空"; }elseif(reg.test(val)){ span.className="spangreen"; span.innerHTML=alt+"可用"; }else{ span.className="spanred"; span.innerHTML=alt+"格式错误"; } } functioncheckCode(){//获取code varcode=document.getElementById("code"); varspan=document.getElementById("codeSpan"); } functioncheckCode(){//获取CODE varcode=document.getElementById("code"); varspan=document.getElementById("codeSpan");//验证长度 if(code.value.length==4&&code.value==globalCode){ span.className="spangreen"; span.innerHTML="ok"; returntrue; }else{ span.className="spanred"; span.innerHTML="验证码输入错误"; returnfalse; } } </script>图5-5通过门牌号查看住户人员信息页面//通过门牌号查看住户信息的servlet类publicclassFindUserByRidServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("UTF-8"); Stringrid=request.getParameter("rid"); UserDaodao=newUserDao(); List<User>list=dao.findUsersByRid(rid); System.out.println(""+list.get(0).toString()); System.out.println(""+list.get(1).toString()); request.setAttribute("list",list); request.getRequestDispatcher("crud/viewuser.jsp").forward(request,response); }}图5-6通过车牌号查看住户信息页面通过车牌号查看住户信息的servlet类publicclassFindUserServletByCarnumberextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{this.doPost(request,response); }publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{request.setCharacterEncoding("Utf-8"); Stringcarnumber=request.getParameter("carnumber"); CarDaodao=newCarDao(); List<User>list=dao.findUserByCarnumber(carnumber); request.setAttribute("list",list); request.getRequestDispatcher("car/viewuser.jsp").forward(request,response); }}图5-7住户所有信息页面//查询所有用户信息 publicList<User>ViewAllUser(){ List<User>list=newArrayList<User>(); Connectionconn=null;//声明JDBC链接 PreparedStatementps=null;//声明JDBC链接对性 ResultSetrs=null;//声明结果集 try{ conn=DBUtil.getConnection(); Stringsql="select*fromusers";//查询全体用户信息。PS:条件查询与此方法类似,更改SQL语句与应答层的Servlet获取用户输入条件类型即可 ps=conn.prepareStatement(sql); rs=ps.executeQuery();//执行SQL语句 while(rs.next()){//遍历结果集Useruser=newUser();//将查询获取到的属性封装到user对象中 user.setUid(rs.getInt("uid")); user.setUname(rs.getString("uname")); user.setSex(rs.getString("sex")); user.setUserid(rs.getString("userid")); user.setBirthdayDate(rs.getDate("birthdayDate")); user.setAddress(rs.getString("address")); user.setRid(rs.getString("rid")); user.setTelnumber(rs.getString("telnumber")); user.setCarnumber(rs.getString("carnumber")); list.add(user);//将user对象的信息依次存储到表中 } }catch(SQLExceptione){ e.printStackTrace(); }finally{ DBUtil.closeAll(conn,ps,rs);//释放数据库资源 } returnlist; }条件查询用户信息主要是区分重名用户的信息查询。条件查询用户信息页面如图5-8所示:图5-8条件查询用户信息页面//条件查询用户信息拼接的条件SQL语句//拼接SQL语句 privateStringgetSQL(Useruser){ StringBufferbuffer=newStringBuffer("select*fromuserswhere1=1"); if(user.getUname()!=null&&!"".equals(user.getUname())){ buffer.append("andunamelike'%").append(user.getUname()).append("%'"); } if(user.getUserid()!=null&&!"".equals(user.getUserid())){ buffer.append("anduserid='").append(user.getUserid()).append("'"); } if(user.getRid()!=null&&!"".equals(user.getRid())){ buffer.append("andRid='").append(user.getRid()).append("'"); } returnbuffer.toString(); }5.4小区信息管理模块

在此模块中,主要实现对小区内房屋基本信息的添加、删除、查询与修改等基本功能。该模块主要实现对房屋信息的基本操作,当要添加楼房信息时,可在录入楼房信息一栏中录入有关楼房的各项信息,当单击提交按钮时,可以要添加的信息进行处理。当单击修改时可对数据库中原有的楼房信息进行修改,并更新数据库中的数据。当需要删除有关该楼房信息的数据时,可单击删除按钮,管理员在日常生活中管理房屋信息时可通过查询门牌号查看是否有人居住,查看房屋入住情况页面如图5-9所示:图5-9查看房屋入住信息页面//管理房屋内信息publicclassFindUserByRidServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ }publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("UTF-8"); Stringrid=request.getParameter("rid");//获取用户输入的门牌号,以此作为查找条件显示统一房屋内居住的人员信息(也可通过地址进行用户查询) UserDaodao=newUserDao(); List<User>list=dao.findUsersByRid(rid);//调用dao层方法 System.out.println(""+list.get(0).toString());//调用超类的toString方法查看条件搜索的SQL语句 System.out.println(""+list.get(1).toString()); request.setAttribute("list",list); request.getRequestDispatcher("crud/viewuser.jsp").forward(request,response); }}5.5物业信息管理模块

该模块主要实现对住户报修信息的添加、查询、修改等基本功能。可以对报修信息进行录入,添加到数据数据库中,也可实现多个条件的查询。住户报修信息管理以留言板的形式在用户界面完成用户报修信息的添加,方便管理员在管理员界面对报修情况的查看和处理,从而更大程度上起到方便用户的作用,住户报修信息留言页面如图5-10所示:图5-10住户报修信息页面图5-11管理员报修信息处理页面//用户报修 publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{this.doPost(request,response); }publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{request.setCharacterEncoding("UTF-8"); Stringtext=request.getParameter("text");//获取用户输入的报修信息 Stringiso=request.getParameter("iso");//维修状况字段分三种情况,可以在管理员界面进行更改。未维修,正维修,已维修 Repairrepair=newRepair(); repair.setText(text); repair.setIso(iso); RepairDaodao=newRepairDao(); booleanflag=dao.insertRepair(repair); if(flag){response.sendRedirect("User/success.jsp"); }else{ response.sendRedirect("User/fail.jsp"); }}5.6车位信息管理模块

该模块主要实现对停车位信息的添加、修改、删除与查询等基本功能。每个住户对应一个停车位。用户可对停车位的基本信息进行添加,车位添加信息页面如图5-10所示,输入的内容为空时表示用户无车。要做修改与删除操作时,操作方法同上。如需查看车主信息可输入车主车位编号进行查询,车主信息查询页面如图5-11所示,车位信息查询修改页面如图5-12所示:图5-12添加车位图5-13车主信息查询页面图5-14车位信息页面//管理车位信息publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{request.setCharacterEncoding("UTF-8"); Stringcarnumber=request.getParameter("carnumber"); Stringtype=request.getParameter("type"); Stringcolor=request.getParameter("color"); Carcar=newCar(); car.setCarnumber(carnumber); car.setColor(color); car.setType(type); CarDaodao=newCarDao(); booleanflag=dao.insertCar(car); if(flag){ response.sendRedirect("exception/modifysucess.jsp"); }else{ response.sendRedirect("exception/modifyfail.jsp"); } }}5.7权限设置模块

系统用户分管理员以及普通用户,管理员可查看所有用户的信息,普通用户不可查看他人基本信息。用户登陆页面如图5-15所示:图5-15用户登陆页面

该模块的主要功能对当前登录系统的用户信息进行修改。任意一登录本系统的用户,都可以对自己的信息进行修改。修改用户信息页面如图5-16所示:图5-16修改用户信息网页//修改用户信息相关代码如下首先获取所要修改的用户信息,在页面显示。用过Form中的action触发响应的servlet动作,完成信息修改publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{this.doPost(request,response); }publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{Stringuserid=request.getParameter("userid"); UserDaodao=newUserDao(); List<User>list=dao.findUserByUserId(userid);//通过身份证号检索所要修改的用户信息 request.setAttribute("list",list); request.getRequestDispatcher("User/modifyuser.jsp").forward(request,response);//通过请求重定向转跳页面将用户信息以表单方式呈现}}publicvoiddoGet(H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论