基于jsp的小区物业管理系统.docx
《基于jsp的小区物业管理系统.docx》由会员分享,可在线阅读,更多相关《基于jsp的小区物业管理系统.docx(20页珍藏版)》请在冰点文库上搜索。
基于jsp的小区物业管理系统
课程设计
小区物业信息管理系统
姓名张桐
课程名称JavaEE程序设计
专业软件外包
年级12级01班
学号20122213288
任课教师张振兴
2014年12月30日
数据库分析11
小区物业管理信息系统
张桐
(信息与电气工程学院,软件外包专业,2012级软件1班,20122213288)
摘要:
小区物业管理系统在现代社会中是非常热门的软件,是最关切群众实际生活的。
它的使用使物业管理者和业主对住宅小区中的事物能更方便、更快捷、更满意的得到答复。
伴随着小区的规模不断扩大和住户的不断增多,工作量也将越来越大。
但一直以来人们使用传统人工的方式管理各种数据,这种管理方式存在着许多缺点:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着市场经济的发展和人们生活水平的提高,大量的住宅小区已遍布城区,人们对于居住环境的要求也越来越高,住宅小区的物业管理工作也变得更加繁重,利用物业管理信息系统来实现对小区物业管理工作的信息化正成为人们的共识。
关键词:
物业;信息管理系统;JSP
1引言
随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对企业单位的各项信息进行管理,具有手工管理所无法比拟的优点。
这些优点能够极大地提高工作效率,也是企业的科学化、正规化管理与世界接轨的重要条件。
因此,开发这样一套小区物业管理信息系统成为很有必要的事情,在下面的各章中我将就本次毕业设计所开发的小区物业管理系统,谈谈其开发过程和所涉及到的问题及解决方法。
2系统分析
此系统分为两个部分,分别为管理员登录和普通业主登录,不同人员有不同的管理权限。
管理员有权对各部分进行增删改查,普通业主只能进行查询。
管理员部分可分为五个模块,分别为业主信息管理,房屋信息管理,缴欠费信息管理,报修信息管理,及用户权限管理;普通业主部分可分为四个模块,分别为业主信息查询,房屋信息查询,缴欠费信息查询,及报修信息管理。
1.1系统分析
此系统要求实现社区物业最大程度的信息化,物业公司和业主将可以借用本管理系统来完成信息管理及信息查询。
本系统要求实现功能如下:
现有社区物业管理网站要求:
系统要求采用B/S模式进行架构,分为前台浏览器端和后台服务器端两个部分。
浏览器段主要功能有:
◆用户登陆(普通业主和管理员):
判断用户身份。
◆用户信息管理:
自己信息添加查询、密码修改系统将会把修改结果保存到物业社区用户信息数据库中)。
◆物业费信息管理:
各项相关费用明细(查看、添加、修改、删除)(系统将最终结果保存到社区物业用户数据库中)。
◆业务信息管理:
业主业务办理,更新数据库以及数据录入与维护,数据处理统计与查询等。
◆缴欠费信息管理:
业主使用的水电气,缴费和欠费清单,费用催缴。
1.2.1普通用户
普通用户就是该社区的业主,用户们可以通过自己的帐号和自己设置的对应的密码来进入管理系统,用户可以查询自己的信息,看自己的房产资源及所用的的水电气等费用,添加自己不完整的信息资料、修改自己的密码。
1.2.2管理员用户
管理员用户就是该社区的物业管理人员,管理员也有自己的帐号和密码来进入社区物业用户的管理系统,管理员可以查看、修改用户的信息,还可以根据用户的具体某项信息来决定要不要这个信息,可以修改管理系统的任何信息。
1.3可行性研究
可行性研究的目的不是解决问题,而是确定问题是否值得去解决。
怎样达到这个目的呢,当然不能凭主观猜想而只能靠客观分析。
必须分析几种主要的可能解决方案的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。
因此,可行性研究实质上时要进行一次大大压缩简化了的系统分析和设计的过程。
2.系统设计
2.1系统功能划分
小区物业管理系统是物业部门用来对住宅小区内的建筑、住户、设备、人员等信息进行综合管理的一个信息管理系统。
根据客户要求,系统要能对小区内建筑、公共设备、住户等基本信息实现录入、修改、查询和删除等操作,并且还要实现包括水、电、煤气费在内的各项物业管理费用的统计、查询和报表生成。
因此,实现该物业管理系统功能模块图如下:
2.1.1用户功能
当用户登录时,可以进行业主信息查询,房屋信息查询,缴欠费信息查询,及报修请求,具体功能如下图1所示:
图1用户功能图
2.2系统流程图
通过对系统的分析,可知系统流程图如下图2所示:
本系统的系统用例图如下图3
图3系统用例图
2.3系统框架
系统框架描述了系统的基本结构和模块之间的调用关系,下面一系列的图反映了整个系统的模块间的关系,同样他也揭示了与此系统相关的各个角色的使用权限。
如:
普通用户只能查看社区物业用户系统里面的社区通告信息、自己的相关信息;管理员用户可以查看所有社区用户的信息、还可以删除此人、能上传用户的信息资料。
同样他也揭示了与此系统相关的各个角色的使用权限。
如:
普通用户只能查看社区物业用户系统里面的社区通告信息、自己的相关信息;管理员用户可以查看所有社区用户的信息、还可以删除此人、能上传用户的信息资料。
基本结构和模块之间的调用关系,下面一系列的图反映了整个系统的模块间的关系,同样他也揭示了与此系统相关的各个角色的使用权限。
如:
普通用户只能查看社区物业用户系统里面的社区通告信息、自己的相关信息;管理员用户可以查看所有社区用户的信息、还可以删除此人、能上传用户的信息资料。
普通用户只能查看社区物业用户系统里面的社区通告信息、自己的相关信息;管理员用户可以查看所有社区用户的信息。
3.数据库设计
3.1数据库分析
由于涉及到业主信息、缴费、欠费等相关信息,小区物业管理信息系统对于数据的安全性及完整性要求比较高,并且为了增加程序的及时更新,还要确保系统可以拥有存储足够多数据的能力,来保证管理员对数据库的正常维护。
MySQL是目前小型应用开发中比较流行的数据库,且从5.0开始支持事务,保证了数据的完整性与安全性。
综上所述,本系统采用Mysql数据库。
3.2概念结构设计
数据库概念结构设计阶段是在需求分析的基础上而进行的,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
3.3数据库表说明
为改进管理手段,可以将原来由手工完成的登记、验收等工作由计算机来完成,实现办公自动化智能化,这将大大改进管理手段,提高和改进管理信息服务质量。
使用管理信息系统后,统计报表。
根据上图所示的实体属性图和实体总体E-R图可得到如下的数据库表:
表3.1admininfo表结构
字段名
属性
长度
是否主键
备注
Aname
字符
20
否
用户名
表3.2user表结构
字段名
属性
长度
是否主键
备注
userId
字符
20
是
业主编号
houseId
字符
20
否
房屋编号
name
字符
4
否
业主名
sex
字符
20
否
性别
profession
字符
20
否
职业
telephone
字符
20
否
电话
cometime
时间
20
否
入住时间
livenumber
整型
20
否
入住人数
3.1.1系统登录
图3.1登陆界面
登陆页面为管理员登陆,如图3.1所示。
本系统管理员默认为admin,用户可以通过管理员进行添加。
由于添加了访问限制,只有数据库中的管理员才能对该系统进行访问和操作,无效的用户直接登录会登录失败,无法进入主页,代码下所示。
核心代码:
useBeanid="userBean"class="wyf.zrk.UserBean"scope="session"/>
小区物业管理系统 |
bgcolor="black">
业主姓名 | 性别 | 职业 | 电话 | 入住时间 | 入住人口 | 房屋地址 | 查看/修改 | 删除 | <%
//获取WebApplicationContext
WebApplicationContextwac=
WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
DButildb=(DButil)wac.getBean("DButil");
inti=0;
for(userInfouser:
userlist){
StringuserId=user.getUserId();
StringhouseId=user.getHouseId();
HouseInfohouseInfo=(HouseInfo)db.getObject("house",houseId);
Stringname=user.getName();
Stringsex=user.getSex();
Stringprofession=user.getProfession();
Stringtelephone=user.getTelephone();
Datecometime=user.getCometime();
intlivenumber=user.getLivenumber();
}
图15登陆主界面
核心代码:
useBeanid="userBean"class="wyf.zrk.UserBean"scope="session"/>
3.1.2主信息管理 3.1.2业主登录主页面 图3.2登录页面 核心代码: if(action.equals("login")){//动作为登陆时 Stringaname=request.getParameter("uname").trim();//得到用户名 Stringapwd=request.getParameter("upwd").trim();//得到密码 StringleveString=request.getParameter("select"); System.out.println(aname+"\t"+apwd); 核心代码 Stringhql="fromAdminInfoasp"+//hql语句 "wherep.aname='"+aname+"'andp.apwd='"+apwd+"'andp.alevel='"+leveString+"'"; Listlist=(List)db.getInfo(hql); Stringurl="";//记录提示信息 if(! list.isEmpty()){ AdminInfoai=list.get(0); //将管理员名存入session session.setAttribute("admin",aname); session.setAttribute("alevel",ai.getAlevel());//将管理员级别存入session if(ai.getAlevel().equals("超级")) url="/superindex.jsp";
业主姓名 |
| 性别 | 职业 | 电话 | 入住时间 | 入住人口 | 房屋地址 | 查看/修改 | 删除 |
---|
<%
//获取WebApplicationContext
WebApplicationContextwac=
WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
DButildb=(DButil)wac.getBean("DButil");
inti=0;
for(userInfouser:
userlist){
StringuserId=user.getUserId();
StringhouseId=user.getHouseId();
HouseInfohouseInfo=(HouseInfo)db.getObject("house",houseId);
Stringname=user.getName();
Stringsex=user.getSex();
Stringprofession=user.getProfession();
Stringtelephone=user.getTelephone();
Datecometime=user.getCometime();
intlivenumber=user.getLivenumber();
}
管理员用户就是该社区的物业管理人员,管理员也有自己的帐号和密码来进入社区物业用户的管理系统,管理员可以查看、修改用户的信息,还可以根据用户的具体某项信息来决定要不要这个信息,可以修改管理系统的任何信息。
3.1.3业主登陆界面
图3.3业主登陆界面
业主登录后可以对各种信息进行查询,还可以报修,申请处理,并更改查询信息
核心代码:
<%
else{%>
查看/修改 | 删除 | <%
//获取WebApplicationContext
WebApplicationContextwac=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
DButildb=(DButil)wac.getBean("DButil");
inti=0;
for(userInfouser:
userlist){
StringuserId=user.getUserId();
StringhouseId=user.getHouseId();
HouseInfohouseInfo=(HouseInfo)db.getObject("house",houseId);
Stringname=user.getName();
Stringsex=user.getSex();
Stringprofession=user.getProfession();
Stringtelephone=user.getTelephone();
Datecometime=user.getCometime();
intlivenumber=user.getLivenumber();
}
onclick="check(document.all.B,document.all.BB)">基本信息
black"> action=search&key=&type=userInfo" 结论 3.1.4房屋信息管理 管理员可以对小区的房屋信息进行增、删、改、查,也可以按房屋编号进行查询,具体概况如图3.4所示: 核心代码: <% inti=0; for(HouseInfogci: list){ if(i%2==0){ i++; out.println(""); } else{ i++; out.println(""); } %> <%=gci.getHouseId()%> |
| <%=gci.getAddress()%> | <%=gci.getSquare()%> | action=lookHouse&gcid=<%=gci.getHouseId()%>">查看/修改 delete_sure('ManageServlet? action=deleteHouse&houseId=<%=gci.getHouseId()%>')">删除 inti=0; for(userInfouser: userlist){ StringuserId=user.getUserId(); StringhouseId=user.getHouseId(); HouseInfohouseInfo=(HouseInfo)db.getObject("house",houseId); Stringname=user.getName(); Stringsex=user.getSex(); Stringprofession=user.getProfession(); Stringtelephone=user.getTelephone(); Datecometime=user.getCometime(); intlivenumber=user.getLivenumber(); } 要实现对已经入住的住户进行费用(物业管理费、水费、电费和煤气费)缴纳的各方面管理,具体包括以下几个部分: 收费类别设置、收费项目设置、计量单位设置、表设置、用户抄表、应收款和收款单等 3.1.5房屋信息管理 管理员可以对各用户的权限进行修改,如图3.5所示 主要实现对已经入住的住户进行费用(物业管理费、水费、电费和煤气费)缴纳的各方面管理,具体包括以下几个部分: 收费类别设置、收费项目设置、计量单位设置、表设置、用户抄表、应收款和收款单等。 核心代码:
用户名 |
密码 |
权限 | 删除 |
---|
<% inti=0; for(AdminInfogci: list){ if(i%2==0){ i++; out.println(""); } else{ i++; out.println(""); | <%=gci.getSquare()%> | action=lookHouse&gcid=<%=gci.getHouseId()%>">查看/修改
delete_sure('ManageServlet?
action=deleteHouse&houseId=<%=gci.getHouseId()%>')">删除
inti=0;
for(userInfouser:
userlist){
StringuserId=user.getUserId();
StringhouseId=user.getHouseId();
HouseInfohouseInfo=(HouseInfo)db.getObject("house",houseId);
Stringname=user.getName();
St
展开阅读全文
相关搜索
资源标签