毕业论文小区物业管理系统设计与实现doc.docx

上传人:b****5 文档编号:7963494 上传时间:2023-01-27 格式:DOCX 页数:40 大小:572.69KB
下载 相关 举报
毕业论文小区物业管理系统设计与实现doc.docx_第1页
第1页 / 共40页
毕业论文小区物业管理系统设计与实现doc.docx_第2页
第2页 / 共40页
毕业论文小区物业管理系统设计与实现doc.docx_第3页
第3页 / 共40页
毕业论文小区物业管理系统设计与实现doc.docx_第4页
第4页 / 共40页
毕业论文小区物业管理系统设计与实现doc.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

毕业论文小区物业管理系统设计与实现doc.docx

《毕业论文小区物业管理系统设计与实现doc.docx》由会员分享,可在线阅读,更多相关《毕业论文小区物业管理系统设计与实现doc.docx(40页珍藏版)》请在冰豆网上搜索。

毕业论文小区物业管理系统设计与实现doc.docx

毕业论文小区物业管理系统设计与实现doc

一、引言

(一)问题背景及提出的必要性

生活小区的物业管理是物业公司都必须切实面对的工作,但一直以来人们使用传统的人工方式管理,这种管理方式存在着许多缺点,如:

效率低且较为烦琐,另外随着物业管理项目的增加,工作量也将大大增加,这必然增加物业管理者的工作量和劳动强度,这将给物业管理信息的查找、更新和维护都带来了很多困难。

经过我们详细的调查,目前我国有相当一部分物业管理公司还停留在人工管理的基础上,这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多的人力和物力。

随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。

物业管理系统作为计算机应用的一个分支,有着手工管理所无法比拟的优点,如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高物业管理的效率。

因此,开发一套能够为用户提供规范化的事务管理、充足的信息和快捷的查询手段的物业管理系统,是非常必要的,也是十分及时的。

因此可以把物业管理作为毕业设计的题目,正好可以充分利用几年在校所学的各种专业知识开发一个小区物业管理系统帮助相关部门进行有效的管理。

(二)开发工具简介:

(Delphi简介)

Delphi是由Borland公司推出的快速、可视化的开发工具。

作为一种Windows系统下的可视化开发工具,它使用ObjectPascal语言,利用它所提供的可视“控件”来创建“对象”。

自Borland公司1995年3月推出Delphi1.0以来,它就以优秀的集成开发环境、可视化的面向对象编程、良好的数据库应用支持、功能齐全的VCL组件库和高效的编译器,为程序开发人员提供了在基于ObjectPascal语言的可视化开发平台上快速开发遵循Windows标准的应用程序的开发工具,得到了广大Windows程序开发人员的喜爱。

在Windows环境下编程,传统的编程方法已经难以胜任,由于传统的编程方法使用的是面向过程、按顺序进行的机制,它使得在写程序的过程中始终要关心什么时候发生什么事情,面对Windows事件驱动的工作方式,处理各种事件及其可能的组合将有惊人的工作量。

面向对象的程序设计(Object-OrientedProgramming,简称OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。

它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中,使得复杂的工作条理清晰、编写容易。

一些早期的具有OOP性能的程序语言如C++,Pascal,Smalltalk等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差,仍然要编写大量的代码。

Delphi使用“可视化”的编程方法,程序员不必自己建立对象,利用 Delphi提供的可视“控件”,只要在提供的程序框架中加入完成功能的代码,而不必考虑按精确次序执行的每个步骤。

在这种机制下,必编写一个大型的程序,而是建立一个由若干微小程序组成的应用程序,这些微小程序可以由用户启动的事件来激发。

这样就可以快速创建强大的应用程序而毋需涉及不必要的细节。

Delphi7作为Delphi家庭中新版本不但可以作为新一代商务系统的快速开发工具,也可以作为客户机/服务器和Web方式的应用程序开发工具。

以下是Delphi的常用概念:

类(Class):

面向对象编程的基础,对一具体事物、概念的抽象。

Delphi中定义的类五一般均以大写字母“T”开头。

组件(Component):

Delphi应用程序开发的基础,实际上是指完成一定功能的类。

对象(Object):

在面向对象的程序设计中,对象是类的实例。

属性(Preperty):

对象的静态属性,表示状态信息。

方法(Method):

对象的动态属性,表示对象能够执行的功能。

事件(Event):

在Windows系统中,事件就是消息。

事件可能是由用户执行了某些操作(如鼠标单击等)引起的,也可能是由程序内部触发的(如定时器等)。

事件处理程序(EventHandler):

当事件触发时,应用程序执行的命令集。

 

二、需求分析

小区物业管理系统主要针对生活小区的物业管理公司作为使用对象而开发的,管理人员的日常工作范围主要是生活小区的楼盘、居住在小区里的住户、住户的各种收费、住户的报修、住户的投诉以及住户的停车等信息。

管理人员应用本系统应能很方便地对以上信息进行登记和查询管理。

(一)功能需求

小区物业管理系统主要应具有以下功能:

●系统用户管理:

管理使用该系统的用户信息,包括系统用户添加、修改、删除、查询。

●楼盘信息管理:

管理小区中楼盘的各种信息,包括楼盘信息的添加、修改、删除、查询。

●住户信息管理:

管理小区住户的各种信息,包括住户信息的添加、修改、删除、查询。

●停车场管理:

管理停车场的各种信息,包括停车场信息的添加、修改、删除、查询。

●物业收费管理:

管理小区的各种收费项目,包括收费项目的添加、修改、删除、查询。

●住户报修管理:

管理住户报修信息,包括住户报修信息的添加、修改、删除、查询。

●住户投诉管理:

管理住户投诉信息,包括住户投诉信息的添加、修改、删除、查询。

再进行详细调查,绘制出数据流图,如图1所示:

图1:

系统数据流图

(二)开发与运行环境

本系统开发与运行环境如下:

开发环境:

WindowsXP

开发工具:

Delphi7

数据库管理系统:

MicrosoftAccess2003

运行环境:

Windows98/2000/XP

(三)系统实现过程分析

首先根据系统功能分析设计出数据库,包括各个数据表和数据表关系图的详细结构。

实现功能模块时,采用先模块化,后集成的方式。

即对各个功能模块分别独立设计和调试,在创建系统主窗体时将各个功能模块通过主窗体的菜单系统集成到一起,最后进行系统整体设计调试。

在访问数据库时,采用公用数据模块存放访问数据库需要的对象。

该模块在各个功能模块中被直接调用,避免数据库的反复连接,并可减少代码编写,从而提高系统开发效率。

 

三、系统设计

(一)设计原则

1.实用性原则:

要求满足实际工作的需要,用户接口和操作界面设计尽可能做到界面美观大方,操作简便实用。

2.可扩展性原则:

为适应将来的发展,系统应具有良好的可扩展性和可维护性,软件设计尽可能模块化、组件化,使系统可灵活配置,适应不同的情况。

3.安全性原则:

软件与数据库的设计要做到安全可靠,防止非法用户的入侵。

4.用户界面设计原则:

用户界面的设计应符合Windows规范的图形用户界面,做到美观大方。

用户界面应当直观、明了、条理清晰。

实现“傻瓜型”管理——易学、易用、易管理。

5.数据库设计原则:

要求数据具有一致性、完整性、安全性和可伸缩性原则。

(二)系统模块设计

根据系统功能分析,得到如图2所示的系统功能模块结构图。

图2:

系统功能模块结构图

(三)数据库设计

1.数据字典

根据系统功能模块结构图和管理工作流程,以及一般小区物业管理系统的需要,总结出如下的数据字典:

●系统用户数据:

包括的数据项有系统用户名、登录口令、身份。

●楼盘数据:

包含的数据项有门牌号、户型、出售否、出租否、户主姓名、产权证编号、土地使用证编号、面积等。

●住户数据:

包含的数据项有门牌号、户主姓名、户型、常住人口、联系电话、备注等。

●停车数据:

包含的数据项有车位编号、状态、金额、入场时间、离场时间等。

●车位状态:

包含的数据项有车位编号和状态。

●收费项目数据:

包括的数据项有项目编号、门牌号、水费、电费、气费、物管费、其他费、收费时间等。

●报修项目数据:

包含的数据项有项目编号、门牌号、报修人、内容、时间、维修否、维修人、备注等。

●投诉项目数据:

包含的数据项有项目编号、门牌号、内容、时间、投诉人、负责人等。

2.数据库结构设计

根据系统需求,分析出实体-关系图,如图3所示:

图3:

实体关系图

根据实体-关系图和数据字典设计出各个数据表,根据系统用户使用要求得到系统用户数据表,根据楼盘、停车场、住户实体得到楼盘数据表、住户数据表停车场数据表,根据投诉、收费、报修关系得到收费项目数据表、投诉项目数据表、报修项目数据表。

数据表名称与结构如下:

 

系统用户数据表:

表名“user1”,结构见表1。

表1

user1表结构

列名

数据类型

字节数

索引

Name

文本

15

id

自动编号

长整型

Passwd

文本

10

 

role

文本

50

楼盘数据表:

表名“lpb”,结构见表2。

表2

lpb表结构

字段名

数据类型

字节数

索引

说明

id

自动编号

长整型

Mph

文本

15

门牌号

Hz

文本

10

 

户主

Hx

文本

30

 

户型

Cz

是/否

 

 

出租否

Cs

是/否

 

 

出售否

Cqh

文本

30

 

产权证号

Tdh

文本

30

 

土地证号

Mj

数字

双精度型

 

面积

 

住户数据表:

表名“zhb”,结构见表3。

表3

zhb表结构

字段名

数据类型

字节数

索引

说明

Mph

文本

15

门牌号

Hz

文本

10

 

户主

Hx

文本

30

 

户型

Czr

文本

50

 

常住人口

Dh

文本

20

 

电话

Bz

文本

100

 

备注

 

停车数据表:

表名“tcb”,结构见表4。

表4

 tcb表结构

字段名

数据类型

字节数

索引

说明

Id

自动编号

长整型

编号

BH

文本

3

车位编号

Zt

文本

1

 

状态

Je

文本

双精度型

 

金额

Rcsj

文本

 

 

入场时间

Lcsj

文本

 

 

离场时间

停车位状态表:

表名“tc”,结构见表5。

表5

tc表结构

字段名

数据类型

字节数

索引

说明

Id

自动编号

长整型

编号

cwbh

文本

3

车位编号

Zt

文本

1

 

状态

收费项目数据表:

表名“sfb”,结构见表6。

表6

 sfb表结构

字段名

数据类型

字节数

索引

说明

Id

自动编号

长整型

 

Bh

文本

6

 

编号

Mph

文本

15

 

门牌号

Sf

数字

双精度型

 

水费

Df

数字

双精度型

 

电费

Qf

数字

双精度型

 

气费

Wgf

数字

双精度型

 

物管费

Qtf

数字

双精度型

 

其它费

Sfsj

日期/时间

 

 

收费时间

hj

数字

双精度型

合计

报修项目数据表:

表名“bxb”,结构见表7。

表7

bxb表结构

字段名

数据类型

字节数

索引

说明

Id

自动编号

长整型

 

mph

文本

50

门牌号

Name

文本

15

 

姓名

Rq

日期/时间

60

 

日期

Wxr

文本

15

 

维修人

Wxf

是/否

维修否

Bz

文本

100

 

备注

xm

文本

100

内容

投诉项目数据表:

表名“tsb”,结构见表8。

表8

tsb表结构

字段名

数据类型

字节数

索引

说明

Id

自动编号

长整型

 

mph

文本

50

门牌号

Name

文本

15

 

姓名

Rq

日期/时间

60

 

日期

Fzr

文本

15

 

负责人

Bz

文本

100

 

备注

 

四、关键技术

本系统设计使用Tquery组件访问数据库。

在delphi里Tquery组件和Ttable组件同样具有连接访问数据库的功能,两者在使用上很相似,Ttable处理一个表很方便,不能进行处理多表,而且处理过程中占用内存效大。

但Tquery组件可以对同一数据库中的一张或多张数据表格进行处理,因为Tquery组件可以使用SQL语法作为获取数据源的根据,Tquery组件的核心是SQL语言,它通过执行SQL语句来实现程序功能。

Tquery组件可以与本地数据库连接或远程数据库服务器连接,通过使用SQL语言,程序可以对数据库进行比较复杂的查询,且占用内存较少,这是Tquery组件较Ttable组件的优点,但是对于本地数据表格的处理Tquery组件可能比Ttable组件要慢。

以下是Tquery组件在程序中使用SQL语句的一些要点:

●清除SQL中赋值内容:

添加SQL内容前,应使用SQL.Clear清除赋值内容。

如:

Query1.SQL.Ccleear;

●添加SQL内容:

清除数据后,可以使用ADD方法来赋值。

query1.SQL.Add('select*fromlpb');

如果要赋值的语句过长,可以使用ADD方法分批赋值。

如将楼盘表里id为输入的记录找出来。

query1.SQL.Add('select*fromlpb');

query1.SQL.Add('whereid='+edit7.Text);

●运行SQL:

添加SQL内容后,还要运行SQL。

方法有两种,Open和Execsql:

Open:

对于返回数据集的语法(SELECT语法,不包括DELETE、INSERT、UPDATE等语法),

Tquery组件提供了Open方法运行SQL,相当于将Tquery组件的Active属性设置为True。

query1.SQL.Add('select*fromlpb');

query1.Open;

Execsql:

对于不返回数据集的语法(DELETE、INSERT、UPDATE等语法),使用Execsql方法。

query3.Close;

query3.SQL.Clear;

query3.SQL.Add('insertintotcb(bh,zt,rcsj)');

query3.SQL.Add('values('''+cwbh+''',''使用中'','''+datetimetostr(now)+''')');

query3.ExecSQL;

本系统设计还用到了一个第三方控件:

Vclskin控件,它使每个Form显示的都是自己的Caption,包括所有的对话框和提示信息。

使得系统界面看起来非常友好!

这是在加入此控件前delphi无法做到的。

 

五、系统实现

实现功能模块时,采用先模块化,后集成的方式。

首先对系统各个功能模块分别独立设计和调试,在创建系统主窗体时将各个功能模块通过主窗体的菜单系统集成到一起,最后进行系统整体设计调试。

在访问数据库时,采用公用数据模块存放访问数据库需要的对象。

该模块在各个功能模块中被直接调用,避免数据库的反复连接,并可减少代码编写,从而提高系统开发效率。

(一)建立数据库

本系统数据库的类型采用MicrosoftAccess,数据库名为xqwy.mdb.建立的数据表有:

系统用户数据表user、用户权限表qxb、系统菜单功能表cdx、楼盘数据表lpb、住户数据表zhb、停车场数据表txb、收费项目数据表sfb、报修项目数据表bxb、投诉项目数据表tsb。

(二)建立连接

使用ODBC数据源连接数据库,设计数据源名为:

xqwy,设置步骤如下:

1.添加新数据源,选择MicrosoftAccessDriver(*.mdb)连接,如图4所示

图4

2.单击“完成”按钮,设置Access连接,如图5所示输入数据源名。

图5

3.单击“选择”按钮,选择xqwy.mdb数据库,如图6所示:

图6

4.单击“确定”按钮后ODBC管理器将显示新建的“xqwy”名称,如7图所示。

图7

(三)程序设计

1.主窗体界面设置

(1)实现目标

程序启动后,在“系统登录”界面验证操作员密码后,将进入主程序界面。

主程序界面主要实现如下功能:

●主菜单快速选取项目,调用相应子程序。

●根据操作员设定菜单和工具栏权限,操作具有权限的业务。

●显示系统日期、时间、登录的用户名。

●通过主界面退出程序。

主程序界面如图8所示:

图8:

主界面

(2)实现过程

1)添加新窗体,设置窗体name属性为mainForm,设置窗体caption属性为“小区物业管理系统”,保存窗体为main.pas。

2)向窗体中添加mainmenu、database、imagelist、statusbar、timer、coolbar、toolbar、speedbutton等控件,并设置相应属性。

Database1:

AliasName='xqwy'Connected=TrueDatabaseName='xqwy'LoginPrompt=FalseSessionName='Default'

Timer1:

OnTimer=Timer1Timer

StatusBar1:

(Panels)Alignment=taCenter

CoolBar1:

AutoSize=True(Bands)Control=ToolBar1ImageIndex=-1

(3)程序代码(见附录)

2.登录窗体设置

(1)实现目标

系统启动后,用户登录系统,首先进入“用户登录”界面,主要实现功能:

用户凭用户名和密码进入系统,用户名或密码错误提示。

登录界面如图9所示:

图9:

登录界面

(2)实现过程:

1)添加新窗体,设置窗体name属性为loginForm,设置窗体caption属性为“用户登录”,保存窗体为login.pas.

2)向窗体中添加一个Bevel、两个label、两个edit和两个button控件。

并设置相应属性。

控件对象属性如下:

LoginForm:

BorderIcons=[biSystemMenu]BorderStyle=bsSingle

Caption='用户登录'FormStyle=fsMDIChildOldCreateOrder=False

Label1:

Caption='用户名'

Label2:

Caption='密码'

Button1:

Caption='确定'

Button2:

Caption='取消'

Edit1:

Text=’’name=Name_Edit

Edit2:

PasswordChar='*'Text=’’name=PassWord_Edit

(3)程序代码(见附录)

3.用户管理窗体设置

(1)实现目标:

系统启动后,调用“系统”下的“用户管理”项,将打开系统用户管理窗口。

主要实现用户信息的添加、修改、删除和查询功能。

用户管理界面如图10所示:

图10:

用户管理界面

(2)实现过程:

1)添加新窗体,设置窗体name属性为user_Form,设置窗体caption属性为“系统用户管理”,保存窗体为user.pas.

2)向窗体中添加一个Coolbar、一个Toolbar、四个SpeedButton、一个DBGrid、一个Query、一个DataSource、一个GroupBox、四个label、三个edit、一个ComboBox和两个button控件。

并设置相应属性。

主要控件对象属性如下:

CoolBar1:

AutoSize=True

Bands=

ToolBar1:

AutoSize=TrueCaption='ToolBar1'

SpeedButton3:

Caption='新增用户'

SpeedButton2:

Caption='修改用户'

SpeedButton4:

Caption='删除用户

SpeedButton1:

Caption='刷新'

SpeedButton6:

Caption='退出'

DBGrid1:

DataSource=DataSource1

GroupBox1:

Caption='新增用户资料'Enabled=False

Label1:

Caption='用户名'

Label2:

Caption='密码'

Label3:

Caption='确认密码'

Label4:

Caption='权限'

Edit2:

PasswordChar='*'

Edit3:

PasswordChar='*'

ComboBox1:

AutoComplete=FalseStyle=csDropDownList

Text='普通用户'Items.Strings=('普通用户''系统管理员')

BitBtn1:

Caption='确认'

BitBtn2:

Caption='取消'

Query1:

DatabaseName='xqwy'SessionName='Default'

RequestLive=True

DataSource1:

DataSet=Query1

(3)程序代码:

(见附录)

4.修改密码窗体设置

(1)实现目标:

为保证系统的安全性,同时减少系统管理员的工作量,应该使用户登录后可以自己修改个人密码。

修改密码窗体界面如图11所示:

图11:

修改密码界面

(2)实现过程:

添加新窗体,设置窗体name属性为password_Form,设置窗体caption属性为“修改密码”,保存窗体为password.pas.向窗体中添加三个labeledit和两个button控件.控件主要属性如下:

password_Form:

BorderIcons=[biSystemMenu,biHelp]BorderStyle=bsSingleCaption='修改密码'Visible=True

omm_LEdit:

EditLabel.Caption='原密码PasswordChar='#'

nmm_LEdit:

EditLabel.Caption='新密码(3-20个字符)’PasswordChar='#'

qmm_LEdit:

EditLabel.Caption='确认密码(3-20个字符)'PasswordChar='#'

cmdok:

Caption='确定'

cmdclose:

Caption='取消'。

(3)程序代码(见附录)

5.楼盘信息管理窗体设置

(1)实现目标

用户登录后,调用“楼盘信息管理”窗体,可以进行楼盘信息的管理工作。

主要功能如下:

1)输入查询项目和关键字,进行楼盘信息查询。

2)通过输入,添加楼盘信息。

3)选择楼盘信息,进行修改。

4)删除楼盘信息。

楼盘管理窗体界面如图12所示:

图12:

楼盘管理界面

(2)实现过程

添加新窗体,设置窗体name属性为lpgl_Form,设置窗体caption属性为

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

当前位置:首页 > 农林牧渔 > 林学

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

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