小区业主信息管理系统的设计与实现Word格式.docx
- 文档编号:18081753
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:26
- 大小:2.75MB
小区业主信息管理系统的设计与实现Word格式.docx
《小区业主信息管理系统的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《小区业主信息管理系统的设计与实现Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
2技术背景
2.1SH框架
所谓SH框架,S:
Struts,H:
Hibernate。
Struts和Hibernate功能强大,Struts把获得的参数用javabean传递给Hibernate,Hibernate作出相应反馈到JSP,从而把数据展示到页面中。
Struts是Apache软件基金会赞助的软件项目。
通过采用了JavaServlet/JSP相关技术,实现了JavaEE应用中符合MVC模式的应用框架。
通过ActionForm,JavaBean,JavaServerPages(Java服务器页面,JSP),Servlet技术对Model,View,Controller都提供了相应的组件支持。
Hibernate通过对JDBC进行了轻量级的对象封装,是一种对象关系映射框架,极大程度上简化了对数据库访问的复杂性。
通过使用Hibernate,Web应用开发人员可按照面向对象的思维对数据库进行操控,方便快捷地完成数据持久化等任务[4,5]。
Hibernate还有一个方便的地方就是不用自己手动创建数据表,在对应的实体加上@Entity@Table等注解,然后在Hibernate的核心配置文件中配个<
mapping/>
之后就Hibernate就会帮你创建数据表,这又为开发人员减轻了工作量。
2.2基于B/S模式的结构体系的简介
B/S(Browser/Server)模式,即浏览器/服务器结构[6]。
B/S模式在之前的两重C/S模式的基础上获得演变和成长,从而进化为此刻的B/S模式布局。
采用了这种结构后,网络客端是直接通过与Web服务器发生作用,而不是与与相关的服务器相联系,通过这种作用再使其与数据库的服务器相联系,通过这种作用将请求直接通过web作为中间媒介,使其服务器将处理结果转化为页面,再直接联系用户[7]。
B/S的三层结构分别是:
数据库服务器、应用服务器和客户端。
这类布局可以或许下降客户端的工作量,削减了体系计划、保护和运行开消。
B/S三层结构如下图2-1所示:
图2-1B/S三层结构
以目前的技术形势下,流行使用采用基于B/S结构的多层结构,这种结构利用应用服务器作为中间件,将应用逻辑全部集中到了中间层,提升了系统的开放性、同时也确保了整个系统的安全性和稳定性,使系统开发周期很短、可扩展性强。
2.3MySQL
MySQL全称是MySQLRDBMS,是一个开源的关系型数据库管理系统(RelationalDatabaseManagementSystem),目前属于Oracle公司。
关系数据库是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL使用的SQL语言是用于访问数据库的最经常使用标准化语言,用起来便捷[8]。
且MySQL软件采用了双授权政策,分为社区版和商业版,体积小、速度快、总体拥有成本,功能的不断完善,性能不断提高,尤其是开放源码这一特点,越来越多的企业都选择使用MySQL,而放弃商收费的Oracle[13]。
3系统分析
3.1系统功能需求分析
目前国内修建的很多住宅小区,大部分都没有采用现代化的物业管理系统,急切需要提高当前管理水平、管理效率与管理方式,来改变改变现状。
开发本系统可能需要一次性投入较大的成本,以及后续产生的维护成本,但从长远来看,能够提高物业管理效率,减少人工工作时间,人力资源需求,减少在人员上面的开销,在较长的使用周期中具有较好地投入产出比[12]。
本系统采用的数据库为免费的MySQL,具有低成本、速度快、体积小的特性,适合作为中小型网站的数据库。
本系统有以下需求:
(1)登录管理需求
物业管理员或者小区居民登录本系统时进行认证,判断是否合法。
(2)公告信息管理需求
公告信息管理需求是管理员利用本系统发布公告,发布本小区内的新鲜事或者重要事情。
(3)居民信息管理需求
居民信息管理需求是管理人员通过本系统对小区里面的住户信息进行维护。
(4)楼房信息管理需求
楼房信息管理需求是管理人员通过本系统对小区里面的楼房信息进行操作。
(5)报修信息管理需求
报修管理需求是小区住户添加填写,管理人员收到之后进行处理。
(6)投诉管信息理需求
物业投诉信息管理模块需求是小区业主进行将自己的不满投诉给物业信息管理人员。
(7)收费信息管理需求
收费信息管理模块需求小区也住登陆系统进行生活缴费。
(8)个人信息管理需求
个人信息管理模块是各个登录系统的人,检查自己的注册信息,如果有误可以更改。
4系统设计
4.1功能设计
根据需求分析得到的功能需要。
其中,收费信息管理包括物管人员进行收费项目设置、分配人员去上门查表、账单生成、派单缴费功能。
公告信息管理包括查看公告、点击公告发布进入新建公告页面进行填写需要发布公告的内容,发布公告这个功能只有物业管理权才可发布,公告删除功能就是点击页面上的删除按钮删除公告。
楼房信息管理包括楼宇信息查看、户型信息管理,楼宇信息查看就是页面上一个页面用图标的形式展现各栋楼有多少层,非常直观,另外一个功能就是添加楼房。
投诉信息管理包括投诉登记、投诉处理、查看投诉、投诉反馈功能,此功能是由普通居民登录系统进入投诉信息模块进行发起投诉,物业管理人员看到了业主的投诉信息就会对其进行处理。
报修信息管理包括居民物业报修登记、查看报修、报修处理功能,报修的具体实现细节跟投诉信息管理基本一致,这里就不重复说明了。
居民信息管理包括查看居民列表、修改居民信息、新增小区居民功能,居民列表。
个人信息模块,主要是查看自己的个人信息。
整体如图4-1所示:
图4-1系统功能
4.2数据库设计
4.2.1数据库实体设计
(1)用户实体
每一个用户实体对应到小区物业管理系统每个登陆账号,可以是物业管理员用户,也可以是小区居民用户。
所以需要用不同的类型来标识。
如图4-2所示:
图4-2用户实体模型
(2)楼房实体
楼房是小区内重要的单元,记录楼房的主要信息,如图4-3所示:
图4-3楼房实体模型
(3)收费账单实体
收费账单实体对应住民的各项收费信息,记录每一个产生账单的时候,以便催缴欠费住民,如图4-4所示:
图4-4缴费实体模型
(4)投诉信息实体
投诉信息实体对应居民日常生活中的每项投诉,如图4-5所示:
图4-5投诉实体模型
(5)报修信息实体
报修实体代表居民的每次报修,记录小区居民的联系方式,预订一个上门的时刻,便于及时联系,如图4-6所示:
图4-6报修实体模型
(6)公告实体
公告实体是由小区物业管理员发布公告,各个住民可以登录系统及时查看,如图4-7所示:
图4-7公告实体模型
4.2.2数据库表设计
本系统使用的MYSQL5.5,设计了用户表、投诉表、缴费表等六张表,表中字段具体设计如下:
(1)用户实体对应的表设计:
字段名
数据类型
说明
是否可为空
关键字
uid
bigint
用户编号
不可为空
否
uemail
varchar
邮箱
upwd
密码
utype
Int
类型
可为空
ugender
性别
uidcard
Bigint
身份证
Bid
楼房
Phone
手机
表4.1用户表
(2)楼房实体对应的表设计如下:
表4.2楼房表
编号
Blayer
层数
Bduty
负责人
Btime
Varchar
建成时间
Bcount
单元数
(3)缴费实体对应的表设计如下:
表4.3缴费表
Id
Uid
用户id
Money
Decimal
缴费金额
Type
缴费类型
Is_pay
是否缴费
(4)投诉实体对应的表设计如下:
表4.4投诉表
Content
投诉内容
联系方式
是否解决
投诉人id
(5)报修实体对应的表设计如下:
表4.5报修表
Time
预约时间
Address
地址
Dealtime
Datetime
处理时间
进度
(6)公告实体对应的表设计如下:
表4.6公告表
发布时间
内容
Name
发布人姓名
Title
标题
5系统实现与测试
5.1用户登录
首先打开系统,想要进入系统第一步就是身份验证,需要登录之后根据角分配不同权限,在首页看到的页面功能也会有差距,登陆界面效果如图5-1所示:
图5-1登录界面
本系统的登录账号是通过物业管理员录入的邮箱为用户名。
登录界面实现代码如下:
<
formaction="
user_login"
method="
post"
>
<
divclass="
form-group"
<
label>
用户名<
/label>
input-group"
inputtype="
text"
class="
form-control"
name="
uemail"
id="
email"
spanclass="
input-group-addon"
<
glyphiconglyphicon-envelope"
/span>
/div>
密码<
password"
upwd"
glyphiconglyphicon-lock"
submit"
btnbtn-primary"
value="
登录"
系统登录认证,认证通过之后将用户的登录信息存在session中,以便于页面中的使用,主要实现代码如下:
Useru=userService.getUserlogin(user.getUemail(),user.getUpwd());
request.setAttribute("
user"
u);
request.getSession().setAttribute("
loginError"
null);
returnSUCCESS;
}
5.2INDEX页面展示
登录已后进入业主信息管理系统的首页,首页上列出了不同角色所看到的不同功能。
界面效果如图5-2所示:
图5-2首页
5.3楼房信息
楼房信息这个模块包含两个功能,新增楼房跟楼层统计图。
新增楼房页面效果如图5-3所示:
图5-3新增楼盘
建成时间这里使用了一个插件,可以让页面看起来更美观,插件效果如图5-4所示:
图5-4时间插件
新增楼房页面代码如下:
<
${pageContext.request.contextPath}/building_add"
h3>
新增楼盘<
/h3>
hr/>
row"
col-xs-3"
<
form-groupform-inline"
<
楼盘名称<
bname"
/>
col-xs-1"
总层数<
bLayer"
>
hr/>
col-xs-5"
单元数<
bunitCount"
楼房负责人<
bduty"
/>
建成时间<
form-controldatetimepicker_dark"
btime"
添加"
reset"
重置"
btnbtn-default"
/form>
<
hr>
另外一个是查看楼层统计图,页面效果如图5-5所示:
图5-5楼层统计图
页面是经由过程进入页面以后发送一个ajax,返回的数据模型应该是json模型。
此外,页面图表展示用到了echarts插件,实现代码如下:
scripttype="
text/javascript"
$(function(){
getData();
})
functiongetData(){
$.ajax({
url:
"
${pageContext.request.contextPath}/building_show"
dataType:
json"
type:
success:
function(data){
option.xAxis.data=data.name;
option.series[0].data=data.count;
myChart.setOption(option);
},
error:
function(){
alert("
服务器异常"
)
}
})}
后台在实现返回数据为json的时候现在Action里面定义一个HashMap并给其对应的get和set方法:
privateMap<
String,Object>
jsonMap=newHashMap<
();
publicMap<
getJsonMap(){
returnjsonMap;
}
publicvoidsetJsonMap(Map<
jsonMap){
this.jsonMap=jsonMap;
}
然后将从数据库里面统计出来的结果放进这个map里面:
publicStringshow(){
List<
String>
list=service.getName();
list1=service.getCount();
jsonMap.put("
name"
list);
count"
list1);
return"
show"
;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小区业主 信息管理 系统 设计 实现