引 言
Internet 技术的快速发展给人们的工作和生活带来了极大的便利,信息化建设已经成为节约运维成本、提高工作效率的首选.当前,国内许多小区依旧采用传统的物业管理方式,伴随着小区规模的不断扩大,这种管理方式突显出诸多缺点[1].例如效率低、保密性差,且不易于管理.如何应用先进的信息技术开展物业管理是一个备受关注的问题,因此,有必要开发一套物业管理系统.
1 SSH 框架
SSH 是一个轻量级组合框架,能够更好的实现MVC 模式,充分发挥了各自的优势[2].三层框架的整合形成一个结构良好、功能强大,层次清晰的框架体系.
1.1 Struts
Struts 是一个独立的 MVC 模式框架,很好的实现了显示处理和业务处理逻辑之间的低耦合性[3].但Struts 主要是针对表示层设计的,对业务逻辑方面的支持不是很强,比如事务管理、安全检查等本属于系统层面的,实现代码也穿插在整个业务逻辑中,降低了代码的可维护性,而 Spring 则可以很好地解决这些问题.
1.2 Spring
Spring 也是独立的 MVC 模式框架,通过 IoC 技术,降低各组件之间的依赖,而 Spring 提供的面向切面编程(Aspect Oriented Programming,AOP)技术,在事务管理上具有独特优势[4].Spring 框架不仅能有效地服务中间层对象,而且易于同其他层框架进行无缝集成,使各层之间相互独立,实现了在架构上各框架间的低耦合性.
1.3 Hibernate
Hibernate 作为一个优秀的持久化工具,通过对象关系映射(Object Relational Mapping,ORM)架起了Java 对象与关系数据库间的桥梁,很好的协调对象与数据库的交互,提供数据查询和恢复机制,实现了与底层数据库的分离.
2 MyEclipse 开发工具
MyEclipse(MyEclipse Enterprise Workbench,简称My- Eclipse)企业级开发平台是对 Eclipse 的扩展,利用它用户可以在数据库和 J2EE 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率.它是功能丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML、Struts、JSP、CSS、JavaScript、SQL 以及 Hibernate 等.所以本系统的开发工具采用 MyEclipse,提高开发效率.
3 物业管理系统需求分析
功能需求是指系统必须提供的功能.通过需求分析来划分系统必须具备的功能,即要分清系统中的角色,并且要理清每个角色拥有的功能权限[5].
3.1 系统功能描述
物业管理系统的基本功能是物业管理的自动化、网络化,经过调查分析,小区日常办公和管理中涉及的主要业务包括:车辆管理、业主信息管理、投诉管理、公告管理、缴费信息管理、报修管理等.具体分析如下:
(1)车位辆管理:实现对车位的快速查询和管理.
(2)业主信息管理:对业主信息进行管理.
(3)投诉管理:对业主提出的投诉信息进行管理.
(4)公告管理:发布公告信息,便于用户快速获取相关信息.
(5)缴费信息管理:对业主的各类缴费信息进行管理.
(6)报修管理:对业主提出的报修信息进行管理.
系统功能如图 1 所示.
3.2 系统用例描述
通过对系统进行分析,系统角色分为:物业管理员和小区业主.
物业管理员可以对公告信息、人员信息、报修信息、投诉信息、缴费信息、环境信息、留言信息、车位信息进行管理. 物业管理员用例图如图 2 所示.
业主可以对小区系统内的公告进行查看、修改登录密码、查看或添加投诉信息、查看或添加报修信息、查看业主的缴费情况、查看环境信息、查看或添加留言信息、查看或申请车位等操作.业主用例图如图 3所示.
4 系统设计与实现
4.1 系统架构设计
系统采用轻量级 SSH 三层框架来实现 MVC 模式.MVC 是一种设计模式,它的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性,可扩展性,可移植性和组件的可复用性[6].
它的主要思想是将应用程序分成 3 个部分:模型(Model),视图(View),控制器(Controller).系统架构如图 4 所示.
4.2 系统功能设计与实现
4.2.1 用户登录
用户登录窗口是对系统用户登录系统的身份确认和权限的控制,已注册用户只需填写好用户名和密码同时选择角色就可以点击登录,然后系统对用户的账号密码以及角色进行验证,如果验证通过即可跳转至该用户所属角色的系统页面,如果验证不通过则不允许进入系统.未注册的业主可以点击注册,填写好相应的信息之后点击提交,等待物业管理员审核通过之后,业主即可登录该系统.用户登录功能序列图如图 5 所示.
系统登录界面如图 6 所示。
4.2.2 业主信息管理
业主信息管理功能包括添加、修改、删除业主信息、按条件查找业主、业主信息审核等功能,审核通过的业主将可以登陆物业管理系统;在添加业主信息时,如果数据库已存在同名数据,给出提示信息;删除时要给出确定删除提示,尽可能避免误删;业主信息审核通过时要跳转至业主信息列表.业主审核界面如图 7 所示.
4.3 关键问题解决办法
系统中有物业管理员和业主两类角色,为了控制不同角色的访问权限,因此,加入了权限控制功能.
以下介绍权限控制的思路和实现方法.
(1)将系统资源分为 3 类,公共资源,业主访问资源和物业管理员访问的资源,然后建立 3 个文本文件分别存储这三类资源.
(2)编写一个过滤器类,并在 web.xml 文件中进行配置,使得该过滤器在服务器启动时就进行加载.
(3)在该过滤器初始化时,读取这 3 个权限资源文本,分别存放在 3 个集合中,然后拦截系统的每个访问链接,判断该链接所在需要的权限.当访问公共资源时直接放行;如果需要访问权限,判断当前系统有没有登录用户,如果没有,就不放行;如果有取出该用户,判断该用户是否有权限,有则放行,否则禁止放行.从而达到权限控制的目的,更好地保证了系统的安全性.
5 结束语
本系统在分析某物业公司的工作业务的基础上,结合 B/S 软件开发的特点,应用 Struts、Hibernate 和Spring(SSH)三层架构技术,设计并实现了一套物业管理系统.系统的实现,有效的提高了物业管理的效率,具有较强的推广价值.由于时间所限,系统在数据库安全方面还存在一定的缺陷,在以后的工作中,将进一步完善系统.
参考文献:
[1] 段淑娟,任晓芳.城市新建住宅小区物业管理发展现状与原因分析[J].生产力研究,2012(1):148-149.
[2] 王 明,陆正球.基于 MVC 科研管理系统的研究与实现[J].微计算机应用,2009(1):78-79.
[3] 李 刚.轻量级 JavaEE 企业应用实战 Struts2+Spring+Hib-ernate 整合开发[M].北京.电子工业出版社,2008.
[4] 魏宗仪.基于.NET 的小区物业管理系统设计与实现 [D].济南:山东大学,2009.
[5] 欧阳宏基,马广平,葛 萌.基于 Struts 框架的 Web 应用研究与实现[J].计算机与数字工程,2010(3):63-65.
[6] 傅冬绵,陈细浓.小区物业管理系统的设计与实现[J].华侨大学学报(自然科学版),2007,28(2):139-142.