目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 课题背景 1
1.2 课题目的和意义 1
1.3 开发设计思想 2
第2章 可行性分析 4
2.1 经济可行性 4
2.2 技术可行性 4
2.3 业务流程图 5
2.4 本章小结 6
第3章 需求分析 7
3.1 物业管理的发展成因 7
3.2 小区物业管理系统需求分析 8
3.2.1 数据流图 8
3.2.2 数据字典 9
3.3 本章小结 13
第4章 系统设计 14
4.1 系统功能设计 14
4.2 数据库设计 15
4.2.1 数据分析 15
4.3 数据库的详细设计 15
4.3.1 数据表的设计 16
4.3.2 数据库的E-R图设计 19
4.4 本章小结 21
第5章 系统实现 22
5.1 系统和数据库的配置 22
5.2 数据库逻辑模型 22
5.3 系统设计 23
5.3.1 用户登录的设计与实现 23
5.3.2 系统功能的设计与实现 23
5.4 本章小结 29
第6章 系统测试 30
6.1 软件测试的目的 30
6.2 软件测试的任务 30
6.3 测试环境 31
6.4 本系统测试 31
6.5 测试实例 31
6.6 本章小结 32
结 论 33
致 谢 34
参考文献 35
附录1 译文 36
附录2 英文参考资料 40
第4章 系统设计
4.1 系统功能设计
需求分析说明小区物业管理系统主要为了物业管理员与业主设计的,架构在web的内部服务器上面。管理员对业主以及缴费信息进行管理,业主可以查看或者提交投诉维修等信息。整个系统就是这样的一个组织结构模式。
依据上述功能的分析,系统中模块分别为:业主管理、用户管理、缴费管理、投诉管理、维修管理、房产管理。
各功能模块的具体功能如下:
1.业主管理:管理员对业主信息进行添加修改等功能。
2.用户管理:管理员对业主的用户信息是否停用进行控制,业主可以自己对自己所有用户进行密码修改等业务。
3.缴费管理:管理员添加以及处理缴费信息,业主查看自己所有已缴费和未缴费的信息详情。
4.投诉、维修管理:用户提交投诉、维修信息后,管理员查看到及时进行处理反馈结果,用户可以通过查看投诉、维修信息得知结果。具体如图4-1所示。
图 4-1系统功能模块图
该系统主要包括系统管理员与业主俩个界面,系统管理员与业主分别具有不同的功能,分为两个不同的界面,之间存在信息交互等操作。
4.2 数据库设计
直到现在,我们可以设计的数据库必然是有结构的数据, 譬如说,我们已经确定了许多张表。但为什么会得到引起结构呢? 答案很简单,在数据库设计时数据库的结构是确定的,然而,进行数据库的设计,可能非常复杂。为了开发一个系统满足该组织的信息需求,要求采取不同办法在文件系统中,那里的工作为个别部门推动了应用的需要。在方法中的这种改变被子称为模式转变。为了使系统可以被用户最终接受,数据库的设计活动是至关重要的。一个没设计好的数据库中会产生错误, 这可能造成严重后果的组织。另一方面,以有效的方式精心设计制作的数据库,可以提供正确的资料。
总之,在数据库开发中,设计的好坏是决定后续工作顺得与否的关键。
我们小区物业管理系统使用SQL Server数据库,在数据库中考虑到几大功能模块所需数据创建了房产、维修、投诉、缴费、业主、用户这六个表。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
if((model.User)session.getAttribute("user")==null){
response.sendRedirect("login.jsp");
return;
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>小区物业管理系统</title>
<link href="css/style.css" type="text/css" rel="stylesheet">
<link href="css/default.css" type="text/css" rel="stylesheet">
<script language="javascript" src="js/menu.js" type="text/javascript"></script>
</head>
<body onLoad="javascript:border_left('left_tab1','left_menu_cnt1');">
<form id="form1" runat="server">
<table id="indextablebody" cellpadding="0">
<thead>
<tr>
<th>
<span style="font-size: 20px;font-weight: bold;">
小区物业管理系统
</span>
</th>
<th>
<a style="color: #16547E">用户 :${user.username }</a> <a style="color: #16547E">
身份 :<c:if test="${user.role==1}">系统管理员</c:if>
<c:if test="${user.role==0}">普通用户</c:if> </a>
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="menu">
<ul class="bigbtu">
<li id="now01"><a title="安全退出" href="method!loginout">安全退出</a></li>
</ul>
</td>
<td class="tab">
<ul id="tabpage1">
</ul>
</td>
</tr>
<tr>
<td class="t1">
<div id="contents">
<table cellpadding="0">
<tr class="t1">
<td>
<div class="menu_top">
</div>
</td>
</tr>
<tr class="t2">
<td>
<div id="menu" class="menu">
<c:if test="${user.role==1}">
<ul class="tabpage2">
<li id="left_tab1" title="操作菜单" onClick="javascript:border_left('left_tab1','left_menu_cnt1');"><span>基本</span></li>
</ul>
<div id="left_menu_cnt1" class="left_menu_cnt">
<ul id="dleft_tab1">
<li id="now11"><a href="method!zhuhulist" target="content3"><span>业主信息管理</span></a></li>
<li id="now11"><a href="method!fangchanlist" target="content3"><span>房产信息管理</span></a></li>
<li id="now11"><a href="method!jiaofeilist" target="content3"><span>缴费信息管理</span></a></li>
</ul>
</div>
<div class="clear">
</div>
<ul class="tabpage2">
<li id="left_tab2" onClick="javascript:border_left('left_tab2','left_menu_cnt2');" title="操作菜单"><span>运营</span></li>
</ul>
<div id="left_menu_cnt2" class="left_menu_cnt">
<ul id="dleft_tab2">
<li id="now11"><a href="method!jiaofeilist2" target="content3"><span>收费管理</span></a></li>
<li id="now11"><a href="method!weixiulist2" target="content3"><span>维修管理</span></a></li>
<li id="now11"><a href="method!tousulist2" target="content3"><span>投诉管理</span></a></li>
</ul>
</div>
<div class="clear">
</div>
<ul class="tabpage2">
<li id="left_tab3" onClick="javascript:border_left('left_tab3','left_menu_cnt3');" title="操作菜单"><span>系统</span></li>
</ul>
<div id="left_menu_cnt3" class="left_menu_cnt">
<ul id="dleft_tab3">
<li id="now11"><a href="method!userlist" target="content3"><span>系统账号管理</span></a></li>
<li id="now11"><a href="method!changepwd" target="content3"><span>修改系统密码</span></a></li>
</ul>
</div>
<div class="clear">
</div>
</c:if>
<c:if test="${user.role==0}">
<ul class="tabpage2">
<li id="left_tab1" title="操作菜单" onClick="javascript:border_left('left_tab1','left_menu_cnt1');"><span>查询</span></li>
</ul>
<div id="left_menu_cnt1" class="left_menu_cnt">
<ul id="dleft_tab1">
<li id="now11"><a href="method!zhuhulist2" target="content3"><span>业主信息查询</span></a></li>
<li id="now11"><a href="method!fangchanlist2" target="content3"><span>房产信息查询</span></a></li>
<li id="now11"><a href="method!jiaofeilist3" target="content3"><span>缴费信息查询</span></a></li>
</ul>
</div>
<div class="clear">
</div>
<ul class="tabpage2">
<li id="left_tab2" onClick="javascript:border_left('left_tab2','left_menu_cnt2');" title="操作菜单"><span>业主</span></li>
</ul>
<div id="left_menu_cnt2" class="left_menu_cnt">
<ul id="dleft_tab2">
<li id="now11"><a href="method!weixiulist" target="content3"><span>维修管理</span></a></li>
<li id="now11"><a href="method!tousulist" target="content3"><span>投诉管理</span></a></li>
</ul>
</div>
<div class="clear">
</div>
<ul class="tabpage2">
<li id="left_tab3" onClick="javascript:border_left('left_tab3','left_menu_cnt3');" title="操作菜单"><span>系统</span></li>
</ul>
<div id="left_menu_cnt3" class="left_menu_cnt">
<ul id="dleft_tab3">
<li id="now11"><a href="method!userlist2" target="content3"><span>系统账号查询</span></a></li>
<li id="now11"><a href="method!changepwd" target="content3"><span>修改系统密码</span></a></li>
</ul>
</div>
<div class="clear">
</div>
</c:if>
</div>
<tr class="t3">
<td>
<div class="menu_end">
</div>
</td>
</tr>
</table>
</div>
</td>
<td class="t2">
<div id="cnt">
<div id="dtab1">
<iframe name="content3" src="main.jsp" frameborder="0"></iframe>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<script>
//修改标题
function show_title(str){
document.getElementById("spanTitle").innerHTML=str;
}
</script>
</form>
</body>
</html>