基于Web的物业管理系统设计报告.doc

上传人:精*** 文档编号:828642 上传时间:2023-09-06 格式:DOC 页数:29 大小:425.17KB
下载 相关 举报
基于Web的物业管理系统设计报告.doc_第1页
第1页 / 共29页
基于Web的物业管理系统设计报告.doc_第2页
第2页 / 共29页
基于Web的物业管理系统设计报告.doc_第3页
第3页 / 共29页
基于Web的物业管理系统设计报告.doc_第4页
第4页 / 共29页
基于Web的物业管理系统设计报告.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、 目 录第一章 系统概述11.1 系统开发的背景11.2 系统开发的意义11.3 系统开发的目标1第二章 系统分析22.1 系统可行性分析22.1.1 技术可行性22.1.2 经济可行性22.1.3 管理可行性22.2系统需求分析32.2.1 功能需求分析32.2.2 性能需求分析32.3 数据流图32.4 数据字典52.5 系统E-R图102.5.1 总E-R图102.5.2关系模式122.5.3 关系模式规范化说明12第三章 系统设计133.1 系统总体设计133.1.1 系统功能模块图设计133.1.2 数据库设计143.2 系统详细设计153.2.1 程序流程图153.2.2 界面设计

2、16第四章 系统实现194.1 系统主界面设计代码194.2 普通用户界面设计代码194.3 管理员界面设计代码224.4 建立ODBC数据源的代码25总 结26感 谢27参考文献28第一章 系统概述1.1 系统开发的背景经过十几年的发展,中国房地产业逐步走向成熟,物业管理也由新生到发展再到深入,面临着蓬勃发展的局面。随着我国经济发展和城市开发,住宅小区越来越成为居住的主流,物业管理系统是针对当代社会这一市场需要应运而生的。 由于物业管理涉及的管理范围较为广泛,管理内容繁杂,加上政策性的变动因素,日常工作需要耗费大量人力和物力,而在电子计算机技术发展日新月异的今天,计算机软件的应用早已深入到了

3、各行各业,所以为了顺应时代的变化,计算机技术也应该应用到物业管理中。而在物业管理中最麻烦的就是租房管理,本物业管理系统主要就是针对租房管理,它提供对房子主人、租房、水电、交款管理。1.2 系统开发的意义一个管理系统中最重要的就是合理的管理数据库,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。本物业管理系统是在操作系统下安装数据库系统和建立房子主人、租房信息、水电费及交款信息四个数据库。然后在操作系统下用Java编写不同的系统

4、用户界面,后来在Web平台上实现服务器上数据库和前端界面的连接。连接成功后,将Java编写的用户界面移植到客户端的操作系统下,并用这个界面试图实现与服务器上操作系统下的数据库连接。以达到在不同的操作系统下可以互相调用的目的,实现Java的重要特性:可移植性。1.3 系统开发的目标 该系统开发是为了方便管理员管理小区内的各种信息及普通用户能够很快的查到他们自己所需的信息。管理员将房子主人的信息,租房信息,水电费及交款信息整合,然后分类管理,以方便普通用户进入系统查询。普通用户可以查询自己需要的信息,以帮助自己很好的了解小区有关信息。第二章 系统分析2.1 系统可行性分析2.1.1 技术可行性该系

5、统采用的是Java语言编写的程序,该语言具有一下一些特点:简单性,面向对象,分布式特性,健壮性,安全性,结构中立性,可移植性,解释型语言,高效性,多线程性,动态性。因为应用语言是一种简单的语言,且Java语言让大多数程序员都感到很熟悉,这样程序员不需要经过长时间训练就能够学会使用这种新型的程序开发工具。而Java的源程序首先由编译器编译成字节码,之后再由解释器解释执行。Java解释器能直接在任何机器上执行Java字节码,因此在进行程序链接时节省了时间,这对于缩短程序的开发过程有极大的帮助。2.1.2 经济可行性 对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须

6、配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,将会给该企业带来前所未有的方便和快捷,减少不必要的中间环节以及不必要的开支,而且可以给其带来更大的利润。总之,这个系统的经济效益远远大于开发成本,而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。2.1.3 管理可行性随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。2.2

7、系统需求分析2.2.1 功能需求分析该物业管理系统的主要功能(1)普通用户查询系统:用户进行注册后,可以对各种信息进行查询。(2)管理员管理系统:对各种信息进行整合和管理,以便普通用户进行查询。(3)人员信息:提供与房子有关的人员信息。一般用户可以查询与房间有关的人员资料;物业主管可其进行增、删、改、插等操作(4)租房信息:对房产出租,退租以及租房面积调整。其中物业主管可对其进行房租金额计算和收款操作,一般用户对其查询(5)水电信息:根据租房资料,结合当月水、电量进行分摊,完成应收水电费。其中物业主管对其进行计算,其他用户进行查询(6)交款信息:提供收款和发票打印以及交款数据2.2.2 性能需

8、求分析 该系统的性能需求有以下几个方面:(1)该系统必须安全可靠,防止信息外泄。如果将用户的信息外泄将会造成不可估量的损失,而用户也不会相信该公司了,那么该小区将不会再有用户将自己的信息登记在册了,那么将会使各方面的信息不能及时更新,导致许多不必要的麻烦。(2)该系统要采用验证码技术,不论是管理员登录还是普通用户登录都要有自己特定的密码,这样才能保证用户的隐私以及管理员自己管理模块的安全。(3)还要设置数据库的容量,可以满足多个用户同时在线访问。如果不能满足多个用户同时访问,那么该系统将不会长久受到欢迎,慢慢地它就不会被使用了。 2.3 数据流图数据流程图是描述系统逻辑模型的主要工具,通过几个

9、特定的符号,可以综合地反映出信息在系统中的使用、加工处理、传递、存储的整体情况。 数据流程图是系统结构化分析行之有效的工具,它抽象地描述了系统数据处理的情况。租房前:P1签租房合同 D1 租房合同P10F5 合同处理S2租户代表合同存档P2S1物业代表录入房源信息F1 D2D2 房源信息P4房源信息表更新处理P3租房处理D3查询F2 D3 出租房屋信息 出租房屋信息表 图2.1 租房前数据流图租房后:F3 P5P6D4 当月水查水、电表计算当月水、电量水电量统计单电量租户代表查询处理P9P7物业代表F4开收款发票D5 收款发票 D5发票台账P8开付款通知单 D6D6 付款通知单 图2.2 租房

10、后数据流图2.4 数据字典(一)数据流的描述 数据流编号:D1 数据流名称:租房合同 简 述:租户与物业公司签订的租房合同 数据流来源:签租房合同模块 数据流去向:租户代表、物业代表 数据流组成:合同编号+合同双方+日期 数据流量:10份/月 高峰流量:20份/月 数据流编号:D2 数据流名称:房源信息 简 述:物业公司对小区里房子统计的信息 数据流来源:录入房源信息模块 数据流去向:房源信息表 数据流组成:房子面积+房子月租+房子名称 数据流量:100份/月 高峰流量:200份/月数据流编号:D3 数据流名称:出租房屋信息 简 述:出租房屋的详细资料 数据流来源:租房处理模块 数据流去向:出

11、租房屋信息表 数据流组成:房子面积+房子名称+月租+押金 数据流量:50份/月 高峰流量:100份/月数据流编号:D4 数据流名称:当月水、电量 简 述:当月所用水、电量 数据流来源:查水、电表模块 数据流去向:计算当月水、电量模块 数据流组成:日期+当月所用水、电量+用户房间号 数据流量:50份/月 高峰流量:100份/月 数据流编号:D5 数据流名称:收款发票 简 述:当月收款发票 数据流来源:开收款发票模块 数据流去向:发票台账 数据流组成:日期+收款金额+收款人+发票号 数据流量:50份/月 高峰流量:100份/月数据流编号:D6 数据流名称:付款通知单 简 述:当月该付款的通知单 数

12、据流来源:开付款通知单模块 数据流去向:租户代表模块 数据流组成:日期+该付金额+付款人 数据流量:50份/月 高峰流量:100份/月 (二)处理逻辑的描述 处理逻辑编号:P1 处理逻辑名称:签租房合同 简 述:物业公司与用户签合同 输入的数据流:租房合同 处 理:物业公司与租户签定的租房合同 输出的数据流:租房合同 处 理 频 率:10份/月 处理逻辑编号:P2 处理逻辑名称:录入房源信息 简 述:录入小区房间的有关资料 输入的数据流:房源信息 处 理:对小区房间的相关资料进行统计 输出的数据流:房源信息 处 理 频 率:100份/月 处理逻辑编号:P3 处理逻辑名称:租房处理 简 述:对出

13、租房子进行处理 输入的数据流:出租房屋信息 处 理:对出租房子进行统计 输出的数据流:出租房屋信息 处 理 频 率:50份/月处理逻辑编号:P4 处理逻辑名称:更新处理 简 述:更新各种信息表 输入的数据流:无 处 理:随时对房源信息表和出租房屋信息表进行更新 输出的数据流:更新信息表 处 理 频 率:150份/月 处理逻辑编号:P5 处理逻辑名称:计算当月水、电量 简 述:将用户当月所用水、电量计算出来 输入的数据流:当月水、电量 处 理:计算各用户当月所用水、电量并进行统计 输出的数据流:当月水、电量 处 理 频 率:50份/月处理逻辑编号:P6 处理逻辑名称:查水、电表 简 述:查询水、

14、电表 输入的数据流:当月水、电量 处 理:查询当月水、电表并进行统计 输出的数据流:当月水、电量 处 理 频 率:50份/月 处理逻辑编号:P7 处理逻辑名称:开收款发票 简 述:收款处开的收款发票 输入的数据流:收款发票 处 理:物业公司收款处开出的收款证明 输出的数据流:收款发票 处 理 频 率:50份/月 处理逻辑编号:P8 处理逻辑名称:开付款通知单 简 述:物业公司开出的付款通知单 输入的数据流:付款通知单 处 理:物业公司给用户开出的付款通知单 输出的数据流:付款通知单 处 理 频 率:50份/月(三)数据存储的描述数据存储编号:F1 数据存储名称:房源信息表 简 述:存放小区房子

15、信息 数据存储组成:房间名称+房间面积+房间月租 关 键 字:房间名称 相关联的处理:P2、P4数据存储编号:F2 数据存储名称:出租房屋信息表 简 述:存放出租房子信息 数据存储组成:房间名称+房间面积+房间月租+押金 关 键 字:房间名称+押金 相关联的处理:P3、P4数据存储编号:F3 数据存储名称:水电统计单 简 述:统计当月水电量 数据存储组成:水电量+用户 关 键 字:水电量 相关联的处理:P5、P9数据存储编号:F4 数据存储名称:发票台账 简 述:存放发票 数据存储组成:发票号+日期 关 键 字:发票号 相关联的处理:P7、P9数据存储编号:F5 数据存储名称:合同存档 简 述

16、:存放合同 数据存储组成:合同编号+合同双方+日期 关 键 字:合同编号 相关联的处理:P10(四)外部实体的描述 外部实体编号:S1 外部实体名称:物业代表 简 述:物业公司的代表 输入的数据流:D1、D4、D9 输出的数据流:D1、D2、D3、D4、D5、D6 外部实体编号:S2 外部实体名称:租户代表 简 述:租房子用户代表 输入的数据流:D1、D6输出的数据流:D1、D92.5 系统E-R图2.5.1 总E-R图上月水表数 下月电表数上月电表数下月水表数表号水电表 n抄表日期姓名抄录用户名房号电话入住日期1密码租户登记系统用户 1n收租日期1房号交租 费n本期收租租费到期押金月租图2.

17、4 总E-R图2.5.2关系模式系统用户(用户名,密码)租户资料(姓名,房号,入住日期,电话)水电表(表号,上月电表数,下月电表数,上月水表数,下月水表数)租费收取信息(房号,押金,月租,收租日期,本期收租,租费到期)房间信息(房号,基本押金,基本租金,配置,房间状态)2.5.3 关系模式规范化说明 a)租户资料表的主属性是房号,其他非主属性完全依赖于主码,并且不存在传递依赖关系,因此该租户资料表符合第三范式。 b)水电表的主属性是房号,其他非主属性完全依赖于主码,并且不存在传递依赖关系,因此该水电表符合第三范式。c)租费收取信息表的主属性是房号,其他非主属性完全依赖于主码,并且不存在传递依赖

18、关系,因此该租费收取信息表符合第三范式。d)房间信息表的主属性是房号,其他非主属性完全依赖于主码,并且不存在传递依赖关系,因此该房间信息表符合第三范式。f)系统用户表是全码,所以符合第三范式。第三章 系统设计3.1 系统总体设计3.1.1 系统功能模块图设计 该物业管理系统主要包括两大系统普通用户查询系统和管理员管理系统,其中普通用户查询系统是用户进行注册后,可以对各种信息进行查询。管理员管理系统是对各种信息进行整合和管理,以便普通用户进行查询。而这两个系统都包括以下四个信息:(1)人员信息:提供与房子有关的人员信息。一般用户可以查询与房间有关的人员资料;物业主管可其进行增、删、改、插等操作(

19、2)租房信息:对房产出租,退租以及租房面积调整。其中物业主管可对其进行房租金额计算和收款操作,一般用户对其查询(3)水电信息:根据租房资料,结合当月水、电量进行分摊,完成应收水电费。其中物业主管对其进行计算,其他用户进行查询(4)交款信息:提供收款和发票打印以及交款数据系统功能模块图如下图所示:图3.1 系统功能模块图3.1.2 数据库设计1.系统用户表字段名字段数据类型对应中文名NameChar(20)用户名PasswordChar(20)密码2.人员信息表字段名字段数据类型对应中文名NameChar(20)姓名RoomidChar(20)房号ArrdateDate time入住日期Phon

20、eChar(20)电话3.水电表字段名字段数据类型对应中文名RoomidChar(20)表号SdbsChar(10)上月电表数XdbsChar(10)下月电表数SsbsChar(10)上月水表数XsbsChar(10)下月水表数4.租费收取信息表字段名字段数据类型对应中文名RoomidChar(20)房号C-depositInt押金C-rentInt月租Rent-dateDate time收租日期Cur-moneyFloat本期收租Due-dateDate time租费到期5.房间信息表字段名字段数据类型对应中文名RoomidChar(20)房号DepositInt基本押金RentInt基本租

21、金EquipChar(20)配置StateInt房间状态3.2 系统详细设计 系统详细设计包括两部分内容是程序流程图和界面设计,在这个过程根据总体设计中每个模块的功能要求来进行设计。程序流程图是根据每个模块所需要实现的功能来进行设计的,就相当于做每一件事要经过的流程,程序流程图是根据整个系统的实现过程整体设计的,所以在设计程序流程图的时候需要纵观全局,将每个需要的步骤都包括在流程图内。而界面设计就是根据每个模块所需的功能来设计代码,使代码可以运行出所需的功能,要做到不漏一个功能,使以后的工作好做,就如系统的进入主界面,就必须包括选择身份进入系统,因为这个系统包括两大界面,包括管理员界面和普通用

22、户界面。这两个界面是以不同身份进入的,那么它们所包括的功能也就不同,管理员界面是需要密码验证的,而普通用户就不需要。因为普通用户只是进行查询信息操作,而管理员则需要进行管理工作,那么管理员界面就需要使用验证码技术进行保护,使信息不至于外漏,造成损失。这些设计时都需要考虑到,在界面设计时就必须让界面有这些功能。3.2.1 程序流程图图3.2 程序流程图3.2.2 界面设计 系统详细设计是根据总体设计的每个功能模块的要求,利用相应的开发工具设计出应用系统的过程。也就是我们常说的界面设计。1.系统的进入界面:2.普通用户界面:3.人员信息查询界面:4.管理员界面:5.管理员进入系统验证界面:6.后台

23、数据库建立界面:启动Microsoft SQL Server 7.0的Enterprise Manager,建立wuye数据库。然后打开数据库,建立各种表。第四章 系统实现4.1 系统主界面设计代码用户看到的是系统的主界面(JFraml),即系统的进入界面,主要有三个按钮控件组成。一、普通用户进入系统按钮的代码如下:private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) zc.face.userInterface2 jf3=new zc.face.userInterface2(); jf3.setVisible(

24、true); setVisible(false); 管理员用户进入系统按钮的代码与普通用户进入系统按钮的代码相似。二、退出系统按钮的代码如下:private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) javax.swing.JFrame f=new javax.swing.JFrame(ConfirmDialog); int returnValue=javax.swing.JOptionPane.CANCEL_OPTION; returnValue=javax.swing.JOptionPane.showConfi

25、rmDialog(f,Are you sure to quit?,ask,javax.swing.JOptionPane.OK_CANCEL_OPTION); if(returnValue=javax.swing.JOptionPane.OK_OPTION) System.exit(0); else f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); 4.2 普通用户界面设计代码 用户选择进入普通用户系统,系统弹出普通用户界面(userInterface)。在人员信息中有两种:sql查询 填充查询一、sql查询代码如下:

26、private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) String input=null; javax.swing.JFrame f=new javax.swing.JFrame(); input=javax.swing.JOptionPane.showInputDialog(f,请输入sql叙述如select*from renyuan,Input,javax.swing.JOptionPane.QUESTION_MESSAGE); System.out.println(数据查询.); if(input!=

27、null)&(input.length()!=0) System.out.println(input); /进行数据库查询 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException ce) System.out.println(SQLException:+ce.getMessage(); try Connection con=DriverManager.getConnection(jdbc:odbc:houqin); Statement stmt=con.createStatement(); Re

28、sultSet rs=stmt.executeQuery(input);System.out.println(zc.face.MySqlUnit.printMetaData(rs); System.out.println(zc.face.MySqlUnit.printResultSet(rs); stmt.close(); con.close(); catch(SQLException e) System.out.println(SQLException:+e.getMessage(); catch(IOException e2) System.out.println(IOException:

29、+e2.getMessage(); else System.out.println(输入正确的查询语句.); 二、填充查询代码如下:private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) zc.face.renyuan1 jf=new zc.face.renyuan1( ); jf.setVisible(true); setVisible(false); 三、查询按钮的代码如下: private void jButton1ActionPerformed(java.awt.event.ActionEvent e

30、vt) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException ce) System.out.println(SQLException:+ce.getMessage(); try if(!jTextField4.getText( ).equals( ) Connection con=DriverManager.getConnection(jdbc:odbc:houqin); System.out.println(链接成功); System.out.println(sql查询:); String

31、query=select * from renyuan+ where 姓名=+jTextField4.getText( )+; System.out.println(query); Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(query); System.out.println(zc.face.MySqlUnit.printResultSet(rs); stmt.close(); con.close(); else System.out.println(请输入正确的姓名后按查询按钮); catch(S

32、QLException e) System.out.println(SQLException:+e.getMessage(); catch(IOException e2) System.out.println(IOException:+e2.getMessage(); 四、继续查询按钮的代码如下:private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) jTextField4.setText( );: 五、取消按钮的代码如下:private void jButton2ActionPerformed(java.awt

33、.event.ActionEvent evt) zc.face.userInterface2 jf1=new zc.face.userInterface2(); jf1.setVisible(true); setVisible(false); 六、“帮助”菜单项的代码如下: private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt)String s 欢迎进入用户系统 n+ 用户在这里可以得到关于人员,住房,收费和房产方面的信息,n+系统功能使用说明如下:n+ 1。用户可以使用sql查询和填充查询两种查询方式,可

34、从菜n+单进行选择。n+ 2。sql查询是直接在对话框内输入select查询语句按确定按n+钮进行查询,适合于对数据库查询语句熟悉的用户。n+ 3。填充查询是根据用户从菜单所选中项的要求和提示在文本框n+内输入用户所知信息按查询按钮进行查询,适合于一般的查询用户。n+ 4。查询结果在输出框内显示。n+ 5。用户可通过帮助菜单的帮助项得到关于系统使用的说明。n;jTextArea1.setText(s);七、“返回”菜单项的代码如下:private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) zc.JFrame1

35、jf1=new zc.JFrame1(); jf1.setVisible(true); setVisible(false); 4.3 管理员界面设计代码一、“”按钮的代码如下:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) confirmPassword(); public void confirmPassword() String s1=,s2=,s=htf,password=270098; s1=jTextField1.getText(); s2=jPasswordField2.getText();

36、if(!(s1.equals(s)&(!(s2.equals(password) /用户名和密码都不正确 javax.swing.JFrame f=new javax.swing.JFrame(MessageDialog); javax.swing.JOptionPane.showMessageDialog(f,Wrong Administrator name and Wrong Administrator Password!,ConfirmMessage,javax.swing.JOptionPane.ERROR_MESSAGE); int returnValue=0; if(returnV

37、alue=javax.swing.JOptionPane.OK_OPTION) f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); else if(!(s1.equals(s) /用户名不正确; javax.swing.JFrame f=new javax.swing.JFrame(MessageDialog); javax.swing.JOptionPane.showMessageDialog(f,Wrong Administrator name!,ConfirmMessage,javax.swing.JOptionPane.ERROR_MESSAGE); /用户名正确,校验密码; else if(!(s2.equals(password) /密码不正确 javax.swing.

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 研究报告

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922