毕业论文(设计)小区物业管理系统的设计与实现Word文件下载.docx
《毕业论文(设计)小区物业管理系统的设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《毕业论文(设计)小区物业管理系统的设计与实现Word文件下载.docx(31页珍藏版)》请在冰点文库上搜索。
2.9MyBatis 3
3系统需求分析 3
4系统设计 5
4.1功能模块 5
4.2数据库设计 6
5系统实现 9
5.1系统架构 9
5.2系统结构 9
5.3详细实现 10
5.3.1住户前台申请维修页面 10
5.3.2住户查看维修进度 14
5.3.3系统管理员进行派工 15
5.3.4住户再次查看维修申请进度 19
5.3.5住户点击维修完成 19
5.3.6系统管理员查看维修记录 22
5.3.7导出维修记录 23
6系统测试 23
6.1查询住房测试 23
6.2派工测试 23
6.3导出维修记录测试 24
7系统开发总结 24
参考文献 25
致 谢 26
1引言
1.1开发背景
在科技飞速发展的今天,信息化已经与人们的生活融合在一起,社会上到处都能看到信息化发展给人们生活带来的改变。
随着农村城镇化,农村的人们也开始搬到小区中,因而物业管理也变得越来越重要。
在现代社会中,物业管理也要不断的跟着时代一起发展,向着信息化的方向发展。
这不仅仅可以很大程度上方便物业的管理,提高办事效率,也能够让小区居民方便的了解到小区的最新动态和与自己相关的信息。
在现在的网络技术中,基于B/S(浏览器/服务器)架构的模式越来越多,使得系统能够快速方便的通过网络的方式传递出去。
人们也能够在第一时间了解到这些资讯。
本系统是为了方便物业对小区各种事情进行管理而设计开发的,在系统开发中涉及到很多内容,比如有MySQL和Java以及MyBatis,这个系统开发能够很好的锻炼到个人的软件开发技术。
为以后的软件开发打下了扎实的基础。
1.2开发概述
在实际工作开发环境中,越来越多的企业通过框架来开发,所以本系统也使用了框架,所使用的框架为SSM,这也是现在实际开发中用到比较多的框架。
本框架能够很好的体现出MVC的设计思想。
表现层使用JSP和JQuery来实现,向用户展现页面;
控制层中Controller负责接收从页面上传过来的数据交给
Service来处理,在调用完成后交给页面渲染或是直接返回一个JSON对象;
模型层通过MyBatis对数据库进行映射,从而完成数据持久化。
本系统分为用于展示的前台和用于管理的后台两部分,系统管理员在登录进入后台后的操作可以在前台反映出来。
1.3开发内容
小区物业管理系统是为方便小区物业处理小区各项事情而开发的系统,该系统提供了对房产、人员、费用、维修以及新闻信息查询的功能,也提供了修改图片、导出户主名单和导出维修记录等功能。
第0页,共26页
1.4开发目的
小区物业管理系统把方便小区物业管理作为主要目的,以此来提高管理效率,真正实现高效的物业管理。
2开发工具与相关技术
2.1Eclipse
Eclipse是免费的、使用率很高的开发工具。
就Eclipse本身而言,它只是一个框架,开发人员可以通过插件钻进构建开发环境[1]。
2.2Java
Java是目前较为流行的编程语言,与C语言不同的是,Java是面向对象的编程语言,它具有通用性、高效性、平台移植性和安全性的特点,也正是这些特点使得Java能被大家认可所使用[2]。
2.3MySQL
MySQL数据库在市面上一直有较高的使用率。
MySQL同Oracle相比较而言,MySQL较小,没有像Oracle那样严格的权限管理机制,而且它是开源免费的[3]。
2.4Tomcat
Tomcat服务器是一个使用广泛的web服务器。
它是免费的,开源的。
2.5JavaScript
JavaScript属于前端开发的一种技术。
它是脚本语言,现在被广泛用于Web
应用开发,可以用来为网页添加各种动态的效果,给用户带来更好的的用户体验,增强了系统与用户之间的交互性[4]。
2.6SSM框架
SSM是由Spring、SpringMVC以及MyBatis三个框架整合而成,用于进行
Web项目的开发,这也是现在常用的框架技术。
SpringMVC负责处理接收请求和视图管理,Spring负责业务逻辑,MyBatis负责数据的存储和修改[5]。
第26页,共26页
2.7Spring
Spring是一个开源的轻量级框架。
Spring提供了AOP的功能,这就可以进行切面编程,另外Spring也提供的事务管理机制,这些使得Spring成为系统开发的主流框架之一[6]。
2.8SpringMVC
SpringMVC是Spring中自带的一个开发框架,该框架体现了MVC的设计思想。
SpringMVC将控制器、模型对象、分派器以及处理程序对象分离开来,这使得系统更加清晰。
通过在XML文件中进行配置后就会根据请求跳转到相应的视图[7]。
2.9MyBatis
MyBatis是apache的一个开源项目。
是目前较为流行的持久层框架,
MyBatis通过XML或注解来完成配置和原始映射,将接口和Java对象映射成数据库中的记录[8]。
3系统需求分析
需求分析是分析系统应该要具有什么样的功能。
在需求分析确定下来后就基本不会再有什么变动。
需求分析为后续的开发指明了方向。
所以需求分析显得尤为重要。
下面就对本系统的功能需求进行分析。
本系统主要是给小区的物业公司和小区居民提供一个平台,使得物业公司
可以方便高效的对所管理的小区进行管理以及一些信息的发布,小区居民也可以通过该系统了解到与自己相关的信息。
本系统分为两部分:
前台、后台。
1.前台
前台为该小区的展示页面,页面上面展示的是该小区的一些信息,小区居民在通过登陆后查看自己的基本信息和自己申请维修的记录情况。
居民用户能做的如图3-1所示:
1)小区居民能够查看自己的信息;
2)小区居民能够申请维修;
3)小区居民能够查看申请维修单的进度;
4)小区居民能够查看过往的维修记录。
2.后台
图3-1居民用例图
后台为本系统的管理端,系统管理员可以在后台管理小区的各项事情,对小区的日常进行高效、便捷的管理,系统管理员在通过前台的登录界面进行登录后,就可进入到后台页面。
系统管理员所能做的如图3-2所示:
1)系统管理员能够查看和修改小区住房信息;
2)系统管理员能够查看和修改小区车位信息;
3)系统管理员能够添加、删除、修改和查看小区住户信息;
4)系统管理员能够导出小区住户信息,生成Excel表格;
5)系统管理员能够添加和删除维修人员信息;
6)系统管理员能够添加小区住户各项费用使用情况;
7)系统管理员能够查看小区住户过往各项费用的使用情况;
8)系统管理员能够对居民提出的维修申请进行派工处理;
9)系统管理员能够查看和导出维修记录;
10)系统管理员能够发布小区新闻。
图3-2管理员用例图
4系统设计
4.1功能模块
小区物业管理系统分为前台和后台:
小区居民能够使用前台,后台只有系统管理员能够使用,小区物业管理系统的功能模块如图4-1所示。
图4-1小区物业管理功能模块图
4.2数据库设计
数据库设计在开发过程中属于一项重要工作,如果数据库在系统设计初期考虑的比较周全的话会方便之后系统的开发和以后的系统的维护。
按照需求分析对数据库进行设计,系统中涉及到的每个表的详细信息如下:
1)T_HOUSE:
小区住房信息表,用于存放小区住房的详细信息,如表4-1
所示:
表4-1T_HOUSE表
名称
类型
主键
备注
能否为空
h_id
int
√
住房ID
×
h_o_id
住房所对应的户主ID
h_area_name
varchar(255)
小区名字
h_unite
小区单元号
h_height
住房所在楼层
h_no
门牌号
h_area
float
住房面积
h_type
住房户型
h_desc
住房描述
h_price
房价
h_state
住房状态
h_img
照片
2)T_PARK:
车位信息表,用于存放小区所有车位的详细信息,如表4-2
表4-2T_PARK表
p_id
车位ID
p_o_id
车位所对应的户主ID
p_area_name
p_no
车位号
p_car_no
车牌号
p_state
车位状态
p_username
车位户主的名字
p_price
价格
3)T_OWNER:
户主信息表,用于存放户主的详细信息,如表4-3所示
表4-3T_OWNER表
o_id
住户ID
o_name
名字
o_age
年龄
o_gender
性别
o_personId
身份证号
o_tel
电话
o_img
头像
o_birth
出生日期
o_nation
民族
o_checkin
入住时间
o_state
住户状态
4)T_REPAIRMAN:
维修人员信息表,用于存放维修人员详细信息,如表
4-4所示:
表4-4T_REPAIRMAN表
r_id
维修员ID
r_name
r_gender
r_age
r_personId
r_tel
r_state
维修员状态
5)T_COST:
费用信息表,用于存放住户各项费用的详细信息,如表4-5
表4-5T_COST表
c_id
费用ID
c_o_id
费用所对应的户主ID
c_time
收费时间
cw_amount
使用水费总量
cw_price
水费价格
ce_amount
使用电费总量
ce_price
电费价格
cp_price
物业费价格
6)T_REPAIR_SQ:
维修申请信息表,用于存放维修申请的详细信息,如表
4-6所示:
表4-6T_REPAIR_SQ表
rsq_id
申请ID
rsq_o_id
申请维修单所对应的户主
ID
rsq_name
姓名
rsq_areaname
小区名
rsq_unite
单元号
rsq_hno
rsq_content
维修内容
rsq_tel
rsq_s_time
申请时间
res_state
状态
7)T_REPAIR:
维修记录信息表,用于存放维修记录的详细信息,如表4-
7所示:
表4-7T_REPAIR表
维修记录ID
rm_id
维修记录多对应的维修
人员ID
r_o_id
维修记录多对应的户主
r_content
r_s_time
维修申请时间
r_e_time
维修结束时间
8)T_INFO:
公告信息表,用于存放社区新闻的详细信息,如表4-8所示:
表4-8T_INFO表
i_id
新闻ID
i_title
新闻标题
i_content
新闻内容
i_pub_time
发布时间
续4-8T_INFO表
i_author
作者
i_state
i_view_times
浏览次数
9)T_USER_PASS:
注册信息表,用于存放用户注册的详细信息,如表4-9
表4-9T_USER_PASS表
up_id
注册ID
up_nick
昵称
up_username
注册手机号
up_password
密码
up_character
角色
up_o_id
所对应的户主ID
up_state
5系统实现
5.1系统架构
本系统使用SSM的框架,能够很好的体现出MVC三层架构思想,其中表现层使用JSP来实现,控制层通过Controller调用相应的方法来实现[9],模型层使用MyBatis的映射文件来将数据保存到数据库中[10]。
5.2系统结构
系统结构如图5-1所示,property是本系统的项目名,src下的包里面有业务逻辑类,数据访问映射文件,控制器和实体类等,WebRoot目录下有
JSP、JS、CSS、图片等文件和目录, web.xml是本系统的配置文件。
其中
controller包里是控制器,用来接收各种请求名并且在调用相应的方法后返回相应的页面或是返回JSON对象,DAO包是对数据库的操作调用的方法存放在
mapper包下,entity包存放的是项目中的实体类,mapperxml下存放的是对数据库操作的SQL语句,pojo下面存放的是实体类这些实体类里面的属性来自不同表中的字段,service包下存放的是调用DAO中的方法,utils包下存放的是工
具类,有图片上传工具类,MD5加密工具类,生成Excel表格的工具类。
jdbc.properties里写的是连接数据库时driverClassName, url,username以及
password。
图5-1系统包图
5.3详细实现
5.3.1住户前台申请维修页面
1.用户登录后点击首页上的申请维修,点完后会跳转到填写维修单页面,页面上填写户主姓名,户主地址,维修内容以及户主的联系电话,页面如图5-
2所示
图5-2前台维修申请页面
functionaddRepairSQ(){
$.ajax({
type:
"
GET"
url:
../../cms/home/addRepairSQ"
dataType:
json"
data:
{
rsq_o_id:
rsq_o_id,rsq_name:
rsq_name,rsq_areaname:
rsq_areaname,rsq_unite:
rsq_unite,rsq_hno:
rsq_hno,rsq_content:
rsq_content,rsq_tel:
},
success:
function(data){if(data.success){
alert("
添加成功"
);
}else{
添加失败"
}
});
2.当用户填写完申请单后,点击申请,就能完成维修申请,在代码方面会发送一个ajax请求,请求名为”../../cms/home/addRepairSQ”,请求参数有rsq_o_id,rsq_name,rsq_areaname,rsq_unite,rsq_hno,rsq_contennt,rsq_tel,也就是之前在页面上输入的户主姓名,户主地址,维修内容以及户主的联系电话,下面是ajax代码
3.在Controller中有RequestMapping这个注解,