课程设计基于Web的物业管理系统设计报告.docx

上传人:b****3 文档编号:12681213 上传时间:2023-04-21 格式:DOCX 页数:31 大小:300.80KB
下载 相关 举报
课程设计基于Web的物业管理系统设计报告.docx_第1页
第1页 / 共31页
课程设计基于Web的物业管理系统设计报告.docx_第2页
第2页 / 共31页
课程设计基于Web的物业管理系统设计报告.docx_第3页
第3页 / 共31页
课程设计基于Web的物业管理系统设计报告.docx_第4页
第4页 / 共31页
课程设计基于Web的物业管理系统设计报告.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

课程设计基于Web的物业管理系统设计报告.docx

《课程设计基于Web的物业管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《课程设计基于Web的物业管理系统设计报告.docx(31页珍藏版)》请在冰豆网上搜索。

课程设计基于Web的物业管理系统设计报告.docx

课程设计基于Web的物业管理系统设计报告

 

第一章系统概述

1.1系统开发的背景

经过十几年的发展,中国房地产业逐步走向成熟,物业管理也由新生到发展再到深入,面临着蓬勃发展的局面。

随着我国经济发展和城市开发,住宅小区越来越成为居住的主流,物业管理系统是针对当代社会这一市场需要应运而生的。

由于物业管理涉及的管理范围较为广泛,管理内容繁杂,加上政策性的变动因素,日常工作需要耗费大量人力和物力,而在电子计算机技术发展日新月异的今天,计算机软件的应用早已深入到了各行各业,所以为了顺应时代的变化,计算机技术也应该应用到物业管理中。

而在物业管理中最麻烦的就是租房管理,本物业管理系统主要就是针对租房管理,它提供对房子主人、租房、水电、交款管理。

1.2系统开发的意义

一个管理系统中最重要的就是合理的管理数据库,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。

合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。

本物业管理系统是在操作系统下安装数据库系统和建立房子主人、租房信息、水电费及交款信息四个数据库。

然后在操作系统下用Java编写不同的系统用户界面,后来在Web平台上实现服务器上数据库和前端界面的连接。

连接成功后,将Java编写的用户界面移植到客户端的操作系统下,并用这个界面试图实现与服务器上操作系统下的数据库连接。

以达到在不同的操作系统下可以互相调用的目的,实现Java的重要特性:

可移植性。

1.3系统开发的目标

该系统开发是为了方便管理员管理小区内的各种信息及普通用户能够很快的查到他们自己所需的信息。

管理员将房子主人的信息,租房信息,水电费及交款信息整合,然后分类管理,以方便普通用户进入系统查询。

普通用户可以查询自己需要的信息,以帮助自己很好的了解小区有关信息。

第二章系统分析

2.1系统可行性分析

2.1.1技术可行性

该系统采用的是Java语言编写的程序,该语言具有一下一些特点:

简单性,面向对象,分布式特性,健壮性,安全性,结构中立性,可移植性,解释型语言,高效性,多线程性,动态性。

因为应用语言是一种简单的语言,且Java语言让大多数程序员都感到很熟悉,这样程序员不需要经过长时间训练就能够学会使用这种新型的程序开发工具。

而Java的源程序首先由编译器编译成字节码,之后再由解释器解释执行。

Java解释器能直接在任何机器上执行Java字节码,因此在进行程序链接时节省了时间,这对于缩短程序的开发过程有极大的帮助。

2.1.2经济可行性

对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。

各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,将会给该企业带来前所未有的方便和快捷,减少不必要的中间环节以及不必要的开支,而且可以给其带来更大的利润。

总之,这个系统的经济效益远远大于开发成本,而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。

2.1.3管理可行性

随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。

同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。

 

2.2系统需求分析

2.2.1功能需求分析

该物业管理系统的主要功能

(1)普通用户查询系统:

用户进行注册后,可以对各种信息进行查询。

(2)管理员管理系统:

对各种信息进行整合和管理,以便普通用户进行查询。

(3)人员信息:

提供与房子有关的人员信息。

一般用户可以查询与房间有关的人员资料;物业主管可其进行增、删、改、插等操作

(4)租房信息:

对房产出租,退租以及租房面积调整。

其中物业主管可对其进行房租金额计算和收款操作,一般用户对其查询

(5)水电信息:

根据租房资料,结合当月水、电量进行分摊,完成应收水电费。

其中物业主管对其进行计算,其他用户进行查询

(6)交款信息:

提供收款和发票打印以及交款数据

2.2.2性能需求分析

该系统的性能需求有以下几个方面:

(1)该系统必须安全可靠,防止信息外泄。

如果将用户的信息外泄将会造成不可估量的损失,而用户也不会相信该公司了,那么该小区将不会再有用户将自己的信息登记在册了,那么将会使各方面的信息不能及时更新,导致许多不必要的麻烦。

(2)该系统要采用验证码技术,不论是管理员登录还是普通用户登录都要有自己特定的密码,这样才能保证用户的隐私以及管理员自己管理模块的安全。

(3)还要设置数据库的容量,可以满足多个用户同时在线访问。

如果不能满足多个用户同时访问,那么该系统将不会长久受到欢迎,慢慢地它就不会被使用了。

2.3数据流图

数据流程图是描述系统逻辑模型的主要工具,通过几个特定的符号,可以综合地反映出信息在系统中的使用、加工处理、传递、存储的整体情况。

数据

流程图是系统结构化分析行之有效的工具,它抽象地描述了系统数据处理的情况。

租房前:

D1租房合同

 

合同存档

D2D2房源信息

房源信息表

 

D3查询

D3出租房屋信息出租房屋信息表

图2.1租房前数据流图

租房后:

D4当月水

水电量统计单

电量

D5收款发票

D5发票台账

D6D6付款通知单

图2.2租房后数据流图

2.4数据字典

(一)数据流的描述

数据流编号:

D1

数据流名称:

租房合同

简述:

租户与物业公司签订的租房合同

数据流来源:

签租房合同模块

数据流去向:

租户代表、物业代表

数据流组成:

合同编号+合同双方+日期

数据流量:

10份/月

高峰流量:

20份/月

数据流编号:

D2

数据流名称:

房源信息

简述:

物业公司对小区里房子统计的信息

数据流来源:

录入房源信息模块

数据流去向:

房源信息表

数据流组成:

房子面积+房子月租+房子名称

数据流量:

100份/月

高峰流量:

200份/月

数据流编号:

D3

数据流名称:

出租房屋信息

简述:

出租房屋的详细资料

数据流来源:

租房处理模块

数据流去向:

出租房屋信息表

数据流组成:

房子面积+房子名称+月租+押金

数据流量:

50份/月

高峰流量:

100份/月

数据流编号:

D4

数据流名称:

当月水、电量

简述:

当月所用水、电量

数据流来源:

查水、电表模块

数据流去向:

计算当月水、电量模块

数据流组成:

日期+当月所用水、电量+用户房间号

数据流量:

50份/月

高峰流量:

100份/月

数据流编号:

D5

数据流名称:

收款发票

简述:

当月收款发票

数据流来源:

开收款发票模块

数据流去向:

发票台账

数据流组成:

日期+收款金额+收款人+发票号

数据流量:

50份/月

高峰流量:

100份/月

数据流编号:

D6

数据流名称:

付款通知单

简述:

当月该付款的通知单

数据流来源:

开付款通知单模块

数据流去向:

租户代表模块

数据流组成:

日期+该付金额+付款人

数据流量:

50份/月

高峰流量:

100份/月

(二)处理逻辑的描述

处理逻辑编号:

P1

处理逻辑名称:

签租房合同

简述:

物业公司与用户签合同

输入的数据流:

租房合同

处理:

物业公司与租户签定的租房合同

输出的数据流:

租房合同

处理频率:

10份/月

处理逻辑编号:

P2

处理逻辑名称:

录入房源信息

简述:

录入小区房间的有关资料

输入的数据流:

房源信息

处理:

对小区房间的相关资料进行统计

输出的数据流:

房源信息

处理频率:

100份/月

处理逻辑编号:

P3

处理逻辑名称:

租房处理

简述:

对出租房子进行处理

输入的数据流:

出租房屋信息

处理:

对出租房子进行统计

输出的数据流:

出租房屋信息

处理频率:

50份/月

处理逻辑编号:

P4

处理逻辑名称:

更新处理

简述:

更新各种信息表

输入的数据流:

处理:

随时对房源信息表和出租房屋信息表进行更新

输出的数据流:

更新信息表

处理频率:

150份/月

处理逻辑编号:

P5

处理逻辑名称:

计算当月水、电量

简述:

将用户当月所用水、电量计算出来

输入的数据流:

当月水、电量

处理:

计算各用户当月所用水、电量并进行统计

输出的数据流:

当月水、电量

处理频率:

50份/月

处理逻辑编号:

P6

处理逻辑名称:

查水、电表

简述:

查询水、电表

输入的数据流:

当月水、电量

处理:

查询当月水、电表并进行统计

输出的数据流:

当月水、电量

处理频率:

50份/月

处理逻辑编号:

P7

处理逻辑名称:

开收款发票

简述:

收款处开的收款发票

输入的数据流:

收款发票

处理:

物业公司收款处开出的收款证明

输出的数据流:

收款发票

处理频率:

50份/月

处理逻辑编号:

P8

处理逻辑名称:

开付款通知单

简述:

物业公司开出的付款通知单

输入的数据流:

付款通知单

处理:

物业公司给用户开出的付款通知单

输出的数据流:

付款通知单

处理频率:

50份/月

(三)数据存储的描述

数据存储编号:

F1

数据存储名称:

房源信息表

简述:

存放小区房子信息

数据存储组成:

房间名称+房间面积+房间月租

关键字:

房间名称

相关联的处理:

P2、P4

数据存储编号:

F2

数据存储名称:

出租房屋信息表

简述:

存放出租房子信息

数据存储组成:

房间名称+房间面积+房间月租+押金

关键字:

房间名称+押金

相关联的处理:

P3、P4

数据存储编号:

F3

数据存储名称:

水电统计单

简述:

统计当月水电量

数据存储组成:

水电量+用户

关键字:

水电量

相关联的处理:

P5、P9

数据存储编号:

F4

数据存储名称:

发票台账

简述:

存放发票

数据存储组成:

发票号+日期

关键字:

发票号

相关联的处理:

P7、P9

数据存储编号:

F5

数据存储名称:

合同存档

简述:

存放合同

数据存储组成:

合同编号+合同双方+日期

关键字:

合同编号

相关联的处理:

P10

(四)外部实体的描述

外部实体编号:

S1

外部实体名称:

物业代表

简述:

物业公司的代表

输入的数据流:

D1、D4、D9

输出的数据流:

D1、D2、D3、D4、D5、D6

外部实体编号:

S2

外部实体名称:

租户代表

简述:

租房子用户代表

输入的数据流:

D1、D6

输出的数据流:

D1、D9

2.5系统E-R图

2.5.1总E-R图

 

n

 

1

1n

1

n

 

图2.4总E-R图

 

2.5.2 关系模式

系统用户(用户名,密码)

租户资料(姓名,房号,入住日期,电话)

水电表(表号,上月电表数,下月电表数,上月水表数,下月水表数)

租费收取信息(房号,押金,月租,收租日期,本期收租,租费到期)

房间信息(房号,基本押金,基本租金,配置,房间状态)

2.5.3关系模式规范化说明

a)租户资料表的主属性是房号,其他非主属性完全依赖于主码,并且不存在传递依赖关系,因此该租户资料表符合第三范式。

b)水电表的主属性是房号,其他非主属性完全依赖于主码,并且不存在传递依赖关系,因此该水电表符合第三范式。

c)租费收取信息表的主属性是房号,其他非主属性完全依赖于主码,并且不存在传递依赖关系,因此该租费收取信息表符合第三范式。

d)房间信息表的主属性是房号,其他非主属性完全依赖于主码,并且不存在传递依赖关系,因此该房间信息表符合第三范式。

f)系统用户表是全码,所以符合第三范式。

 

第三章系统设计

3.1系统总体设计

3.1.1系统功能模块图设计

该物业管理系统主要包括两大系统普通用户查询系统和管理员管理系统,其中普通用户查询系统是用户进行注册后,可以对各种信息进行查询。

管理员管理系统是对各种信息进行整合和管理,以便普通用户进行查询。

而这两个系统都包括以下四个信息:

(1)人员信息:

提供与房子有关的人员信息。

一般用户可以查询与房间有关的人员资料;物业主管可其进行增、删、改、插等操作

(2)租房信息:

对房产出租,退租以及租房面积调整。

其中物业主管可对其进行房租金额计算和收款操作,一般用户对其查询

(3)水电信息:

根据租房资料,结合当月水、电量进行分摊,完成应收水电费。

其中物业主管对其进行计算,其他用户进行查询

(4)交款信息:

提供收款和发票打印以及交款数据

系统功能模块图如下图所示:

图3.1系统功能模块图

3.1.2数据库设计

1.系统用户表

字段名

字段数据类型

对应中文名

Name

Char(20)

用户名

Password

Char(20)

密码

2.人员信息表

字段名

字段数据类型

对应中文名

Name

Char(20)

姓名

Roomid

Char(20)

房号

Arrdate

Datetime

入住日期

Phone

Char(20)

电话

3.水电表

字段名

字段数据类型

对应中文名

Roomid

Char(20)

表号

Sdbs

Char(10)

上月电表数

Xdbs

Char(10)

下月电表数

Ssbs

Char(10)

上月水表数

Xsbs

Char(10)

下月水表数

4.租费收取信息表

字段名

字段数据类型

对应中文名

Roomid

Char(20)

房号

C-deposit

Int

押金

C-rent

Int

月租

Rent-date

Datetime

收租日期

Cur-money

Float

本期收租

Due-date

Datetime

租费到期

 

5.房间信息表

字段名

字段数据类型

对应中文名

Roomid

Char(20)

房号

Deposit

Int

基本押金

Rent

Int

基本租金

Equip

Char(20)

配置

State

Int

房间状态

3.2系统详细设计

系统详细设计包括两部分内容是程序流程图和界面设计,在这个过程根据总体设计中每个模块的功能要求来进行设计。

程序流程图是根据每个模块所需要实现的功能来进行设计的,就相当于做每一件事要经过的流程,程序流程图是根据整个系统的实现过程整体设计的,所以在设计程序流程图的时候需要纵观全局,将每个需要的步骤都包括在流程图内。

而界面设计就是根据每个模块所需的功能来设计代码,使代码可以运行出所需的功能,要做到不漏一个功能,使以后的工作好做,就如系统的进入主界面,就必须包括选择身份进入系统,因为这个系统包括两大界面,包括管理员界面和普通用户界面。

这两个界面是以不同身份进入的,那么它们所包括的功能也就不同,管理员界面是需要密码验证的,而普通用户就不需要。

因为普通用户只是进行查询信息操作,而管理员则需要进行管理工作,那么管理员界面就需要使用验证码技术进行保护,使信息不至于外漏,造成损失。

这些设计时都需要考虑到,在界面设计时就必须让界面有这些功能。

3.2.1程序流程图

图3.2程序流程图

 

3.2.2界面设计

系统详细设计是根据总体设计的每个功能模块的要求,利用相应的开发工具设计出应用系统的过程。

也就是我们常说的界面设计。

1.系统的进入界面:

2.普通用户界面:

3.人员信息查询界面:

4.管理员界面:

5.管理员进入系统验证界面:

6.后台数据库建立界面:

启动MicrosoftSQLServer7.0的EnterpriseManager,建立wuye数据库。

然后打开数据库,建立各种表。

 

第四章系统实现

4.1系统主界面设计代码

用户看到的是系统的主界面(JFraml),即系统的进入界面,主要有三个按钮控件组成。

一、普通用户进入系统按钮的代码如下:

privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt)

{

zc.face.userInterface2jf3=newzc.face.userInterface2();

jf3.setVisible(true);

setVisible(false);

}

管理员用户进入系统按钮的代码与普通用户进入系统按钮的代码相似。

二、退出系统按钮的代码如下:

privatevoidjButton3ActionPerformed(java.awt.event.ActionEventevt){

javax.swing.JFramef=newjavax.swing.JFrame("ConfirmDialog");

intreturnValue=javax.swing.JOptionPane.CANCEL_OPTION;

returnValue=javax.swing.JOptionPane.showConfirmDialog(f,"Areyousuretoquit?

","ask",javax.swing.JOptionPane.OK_CANCEL_OPTION);

if(returnValue==javax.swing.JOptionPane.OK_OPTION){

System.exit(0);

}

elsef.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

}

4.2普通用户界面设计代码

用户选择进入普通用户系统,系统弹出普通用户界面(userInterface)。

在人员信息中有两种:

sql查询

填充查询

一、sql查询代码如下:

privatevoidjMenuItem2ActionPerformed(java.awt.event.ActionEventevt){

Stringinput=null;

javax.swing.JFramef=newjavax.swing.JFrame();

input=javax.swing.JOptionPane.showInputDialog(f,"请输入sql叙述如select*fromrenyuan","Input",javax.swing.JOptionPane.QUESTION_MESSAGE);

System.out.println("数据查询.........");

if((input!

=null)&&(input.length()!

=0)){

System.out.println(input);

//进行数据库查询

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundExceptionce){

System.out.println("SQLException:

"+ce.getMessage());

}

try{

Connectioncon=DriverManager.getConnection("jdbc:

odbc:

houqin");

Statementstmt=con.createStatement();

ResultSetrs=stmt.executeQuery(input);

System.out.println(zc.face.MySqlUnit.printMetaData(rs));

System.out.println(zc.face.MySqlUnit.printResultSet(rs));

stmt.close();

con.close();

}

catch(SQLExceptione){

System.out.println("SQLException:

"+e.getMessage());

}

catch(IOExceptione2){

System.out.println("IOException:

"+e2.getMessage());

}

}

else

System.out.println("输入正确的查询语句.");

}

二、填充查询代码如下:

privatevoidjMenuItem1ActionPerformed(java.awt.event.ActionEventevt){

zc.face.renyuan1jf=newzc.face.renyuan1();

jf.setVisible(true);

setVisible(false);

}

三、查询按钮的代码如下:

privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundExceptionce){

System.out.println("SQLException:

"+ce.getMessage());

}

try

{

if(!

jTextField4.getText().equals(""))

{

Connectioncon=DriverManager.getConnection("jdbc:

odbc:

houqin");

System.out.println("链接成功");

System.out.println("sql查询:

");

Stringquery="select*fromrenyuan"+"where姓名='"+jTextField4.getText()+"'";

System.out.println(query);

Statementstmt=con.createStatement();

ResultSetrs=stmt.executeQuery(query);

System.out.println(zc.face.MySqlUnit.printResultSet(rs));

stmt.close();

con.close();

}

else

System.out.println("请输入正确的姓名后按查询按钮");

}

catch(SQLExceptione){

System.out.println("SQLException:

"+e.getMessage());

}

catch(IOExceptione2){

System.out.println("IOException

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1