1、毕业论文小区物业管理系统设计与实现一、 引言(一) 问题背景及提出的必要性生活小区的物业管理是物业公司都必须切实面对的工作,但一直以来人们使用传统的人工方式管理,这种管理方式存在着许多缺点,如:效率低且较为烦琐,另外随着物业管理项目的增加,工作量也将大大增加,这必然增加物业管理者的工作量和劳动强度,这将给物业管理信息的查找、更新和维护都带来了很多困难。经过我们详细的调查,目前我国有相当一部分物业管理公司还停留在人工管理的基础上,这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多的人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。物业管理
2、系统作为计算机应用的一个分支,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高物业管理的效率。因此,开发一套能够为用户提供规范化的事务管理、充足的信息和快捷的查询手段的物业管理系统,是非常必要的,也是十分及时的。因此可以把物业管理作为毕业设计的题目,正好可以充分利用几年在校所学的各种专业知识开发一个小区物业管理系统帮助相关部门进行有效的管理。(二) 开发工具简介:(Delphi简介)Delphi是由Borland公司推出的快速、可视化的开发工具。作为一种Windows系统下的可视化开发工具,它使用Object Pasc
3、al语言,利用它所提供的可视“控件”来创建“对象”。自Borland公司1995年3月推出Delphi 1.0以来,它就以优秀的集成开发环境、可视化的面向对象编程、良好的数据库应用支持、功能齐全的VCL组件库和高效的编译器,为程序开发人员提供了在基于Object Pascal语言的可视化开发平台上快速开发遵循Windows标准的应用程序的开发工具,得到了广大Windows程序开发人员的喜爱。在Windows环境下编程,传统的编程方法已经难以胜任,由于传统的编程方法使用的是面向过程、按顺序进行的机制,它使得在写程序的过程中始终要关心什么时候发生什么事情,面对Windows事件驱动的工作方式,处理
4、各种事件及其可能的组合将有惊人的工作量。面向对象的程序设计(Object-Oriented Programming,简称OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中,使得复杂的工作条理清晰、编写容易。一些早期的具有OOP性能的程序语言如C+,Pascal,Smalltalk等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差,仍然要编写大量的代码。Delphi使用“可视化”的编程方法,程序员不必自己建立对象,利用Delphi提供的可视
5、“控件”,只要在提供的程序框架中加入完成功能的代码,而不必考虑按精确次序执行的每个步骤。在这种机制下,必编写一个大型的程序,而是建立一个由若干微小程序组成的应用程序,这些微小程序可以由用户启动的事件来激发。这样就可以快速创建强大的应用程序而毋需涉及不必要的细节。Delphi 7作为Delphi家庭中新版本不但可以作为新一代商务系统的快速开发工具,也可以作为客户机/服务器和Web方式的应用程序开发工具。以下是Delphi的常用概念:类(Class):面向对象编程的基础,对一具体事物、概念的抽象。Delphi中定义的类五一般均以大写字母“T”开头。组件(Component):Delphi应用程序开
6、发的基础,实际上是指完成一定功能的类。对象(Object):在面向对象的程序设计中,对象是类的实例。属性(Preperty):对象的静态属性,表示状态信息。方法(Method):对象的动态属性,表示对象能够执行的功能。事件(Event):在Windows系统中,事件就是消息。事件可能是由用户执行了某些操作(如鼠标单击等)引起的,也可能是由程序内部触发的(如定时器等)。事件处理程序(Event Handler):当事件触发时,应用程序执行的命令集。二、 需求分析小区物业管理系统主要针对生活小区的物业管理公司作为使用对象而开发的,管理人员的日常工作范围主要是生活小区的楼盘、居住在小区里的住户、住户
7、的各种收费、住户的报修、住户的投诉以及住户的停车等信息。管理人员应用本系统应能很方便地对以上信息进行登记和查询管理。(一) 功能需求小区物业管理系统主要应具有以下功能: 系统用户管理:管理使用该系统的用户信息,包括系统用户添加、修改、删除、查询。 楼盘信息管理:管理小区中楼盘的各种信息,包括楼盘信息的添加、修改、删除、查询。 住户信息管理:管理小区住户的各种信息,包括住户信息的添加、修改、删除、查询。 停车场管理:管理停车场的各种信息,包括停车场信息的添加、修改、删除、查询。 物业收费管理:管理小区的各种收费项目,包括收费项目的添加、修改、删除、查询。 住户报修管理:管理住户报修信息,包括住户
8、报修信息的添加、修改、删除、查询。 住户投诉管理:管理住户投诉信息,包括住户投诉信息的添加、修改、删除、查询。再进行详细调查,绘制出数据流图,如图1所示:图1:系统数据流图(二) 开发与运行环境本系统开发与运行环境如下:开发环境:Windows XP开发工具:Delphi 7数据库管理系统:Microsoft Access 2003运行环境:Windows 98/2000/XP(三) 系统实现过程分析首先根据系统功能分析设计出数据库,包括各个数据表和数据表关系图的详细结构。实现功能模块时,采用先模块化,后集成的方式。即对各个功能模块分别独立设计和调试,在创建系统主窗体时将各个功能模块通过主窗体
9、的菜单系统集成到一起,最后进行系统整体设计调试。在访问数据库时,采用公用数据模块存放访问数据库需要的对象。该模块在各个功能模块中被直接调用,避免数据库的反复连接,并可减少代码编写,从而提高系统开发效率。三、 系统设计(一) 设计原则1. 实用性原则:要求满足实际工作的需要,用户接口和操作界面设计尽可能做到界面美观大方,操作简便实用。2. 可扩展性原则:为适应将来的发展,系统应具有良好的可扩展性和可维护性,软件设计尽可能模块化、组件化,使系统可灵活配置,适应不同的情况。3. 安全性原则:软件与数据库的设计要做到安全可靠,防止非法用户的入侵。4. 用户界面设计原则:用户界面的设计应符合Window
10、s规范的图形用户界面,做到美观大方。用户界面应当直观、明了、条理清晰。实现“傻瓜型”管理易学、易用、易管理。5. 数据库设计原则:要求数据具有一致性、完整性、安全性和可伸缩性原则。(二) 系统模块设计根据系统功能分析,得到如图2所示的系统功能模块结构图。图2:系统功能模块结构图(三) 数据库设计1. 数据字典根据系统功能模块结构图和管理工作流程,以及一般小区物业管理系统的需要,总结出如下的数据字典: 系统用户数据:包括的数据项有系统用户名、登录口令、身份。 楼盘数据:包含的数据项有门牌号、户型、出售否、出租否、户主姓名、产权证编号、土地使用证编号、面积等。 住户数据:包含的数据项有门牌号、户主
11、姓名、户型、常住人口、联系电话、备注等。 停车数据:包含的数据项有车位编号、状态、金额、入场时间、离场时间等。 车位状态:包含的数据项有车位编号和状态。 收费项目数据:包括的数据项有项目编号、门牌号、水费、电费、气费、物管费、其他费、收费时间等。 报修项目数据:包含的数据项有项目编号、门牌号、报修人、内容、时间、维修否、维修人、备注等。 投诉项目数据:包含的数据项有项目编号、门牌号、内容、时间、投诉人、负责人等。2. 数据库结构设计根据系统需求,分析出实体-关系图,如图3所示:图3:实体关系图根据实体-关系图和数据字典设计出各个数据表,根据系统用户使用要求得到系统用户数据表,根据楼盘、停车场、
12、住户实体得到楼盘数据表、住户数据表停车场数据表,根据投诉、收费、报修关系得到收费项目数据表、投诉项目数据表、报修项目数据表。数据表名称与结构如下:系统用户数据表:表名“user1”,结构见表1。表1 user1表结构列名数据类型字节数索引Name文本15是id自动编号长整型Passwd文本10role文本50楼盘数据表:表名“lpb”,结构见表2。表2lpb表结构字段名数据类型字节数索引说明id自动编号长整型是Mph文本15门牌号Hz文本10户主Hx文本30户型Cz是/否出租否Cs是/否出售否Cqh文本30产权证号Tdh文本30土地证号Mj数字双精度型面积住户数据表:表名“zhb”,结构见表3
13、。表3zhb表结构字段名数据类型字节数索引说明Mph文本15是门牌号Hz文本10户主Hx文本30户型Czr文本50常住人口Dh文本20电话Bz文本100备注停车数据表:表名“tcb”,结构见表4。表4tcb表结构字段名数据类型字节数索引说明Id自动编号长整型是编号BH文本3车位编号Zt文本1状态Je文本双精度型金额Rcsj文本入场时间Lcsj文本离场时间停车位状态表:表名“tc”,结构见表5。表5tc表结构字段名数据类型字节数索引说明Id自动编号长整型是编号cwbh文本3车位编号Zt文本1状态收费项目数据表:表名“sfb”,结构见表6。表6sfb表结构字段名数据类型字节数索引说明Id自动编号长
14、整型是Bh文本6编号Mph文本15门牌号Sf数字双精度型水费Df数字双精度型电费Qf数字双精度型气费Wgf数字双精度型物管费Qtf数字双精度型其它费Sfsj日期/时间收费时间hj数字双精度型合计报修项目数据表:表名“bxb”,结构见表7。表7bxb表结构字段名数据类型字节数索引说明Id自动编号长整型是mph文本50门牌号Name文本15姓名Rq日期/时间60日期Wxr文本15维修人Wxf是/否维修否Bz文本100备注xm文本100内容投诉项目数据表:表名“tsb”,结构见表8。表8tsb表结构字段名数据类型字节数索引说明Id自动编号长整型是mph文本50门牌号Name文本15姓名Rq日期/时间
15、60日期Fzr文本15负责人Bz文本100备注四、 关键技术本系统设计使用Tquery组件访问数据库。在delphi里Tquery组件和Ttable组件同样具有连接访问数据库的功能,两者在使用上很相似,Ttable处理一个表很方便,不能进行处理多表,而且处理过程中占用内存效大。但Tquery组件可以对同一数据库中的一张或多张数据表格进行处理,因为Tquery组件可以使用SQL语法作为获取数据源的根据,Tquery组件的核心是SQL语言,它通过执行SQL语句来实现程序功能。Tquery组件可以与本地数据库连接或远程数据库服务器连接,通过使用SQL语言,程序可以对数据库进行比较复杂的查询,且占用内
16、存较少,这是Tquery组件较Ttable组件的优点,但是对于本地数据表格的处理Tquery组件可能比Ttable组件要慢。以下是Tquery组件在程序中使用SQL语句的一些要点: 清除SQL中赋值内容:添加SQL内容前,应使用SQL.Clear清除赋值内容。 如:Query1.SQL.Ccleear; 添加SQL内容:清除数据后,可以使用ADD方法来赋值。query1.SQL.Add(select * from lpb); 如果要赋值的语句过长,可以使用ADD方法分批赋值。如将楼盘表里id为输入的记录找出来。query1.SQL.Add(select * from lpb);query1.S
17、QL.Add( where id=+edit7.Text); 运行SQL:添加SQL内容后,还要运行SQL。方法有两种,Open和Execsql:Open:对于返回数据集的语法(SELECT语法,不包括DELETE、INSERT、UPDATE等语法),Tquery组件提供了Open方法运行SQL,相当于将Tquery组件的Active属性设置为True。query1.SQL.Add(select * from lpb);query1.Open;Execsql:对于不返回数据集的语法(DELETE、INSERT、UPDATE等语法),使用Execsql方法。query3.Close;query3
18、.SQL.Clear;query3.SQL.Add(insert into tcb(bh,zt,rcsj) );query3.SQL.Add(values(+cwbh+,使用中,+datetimetostr(now)+);query3.ExecSQL;本系统设计还用到了一个第三方控件:Vclskin控件,它使每个Form 显示的都是自己的Caption ,包括所有的对话框和提示信息。使得系统界面看起来非常友好!这是在加入此控件前delphi无法做到的。五、 系统实现实现功能模块时,采用先模块化,后集成的方式。首先对系统各个功能模块分别独立设计和调试,在创建系统主窗体时将各个功能模块通过主窗体的
19、菜单系统集成到一起,最后进行系统整体设计调试。在访问数据库时,采用公用数据模块存放访问数据库需要的对象。该模块在各个功能模块中被直接调用,避免数据库的反复连接,并可减少代码编写,从而提高系统开发效率。(一) 建立数据库本系统数据库的类型采用Microsoft Access, 数据库名为xqwy.mdb.建立的数据表有:系统用户数据表user、用户权限表qxb、系统菜单功能表cdx、楼盘数据表lpb、住户数据表zhb、停车场数据表txb、收费项目数据表sfb、报修项目数据表bxb、投诉项目数据表tsb。(二) 建立连接使用ODBC数据源连接数据库,设计数据源名为:xqwy,设置步骤如下:1. 添
20、加新数据源,选择Microsoft Access Driver(*.mdb)连接,如图4所示图42. 单击“完成”按钮,设置Access连接,如图5所示输入数据源名。图53. 单击“选择”按钮,选择xqwy.mdb数据库,如图6所示:图64. 单击“确定”按钮后ODBC管理器将显示新建的“xqwy”名称,如7图所示。图7(三) 程序设计1. 主窗体界面设置(1) 实现目标程序启动后,在“系统登录”界面验证操作员密码后,将进入主程序界面。主程序界面主要实现如下功能: 主菜单快速选取项目,调用相应子程序。 根据操作员设定菜单和工具栏权限,操作具有权限的业务。 显示系统日期、时间、登录的用户名。 通
21、过主界面退出程序。主程序界面如图8所示:图8:主界面(2) 实现过程1) 添加新窗体,设置窗体name属性为 mainForm,设置窗体caption属性为“小区物业管理系统”,保存窗体为main.pas。2) 向窗体中添加mainmenu、database、imagelist、statusbar、timer、coolbar、toolbar、speedbutton等控件,并设置相应属性。Database1: AliasName = xqwy Connected = True DatabaseName = xqwy LoginPrompt = FalseSessionName = Default
22、Timer1: OnTimer = Timer1TimerStatusBar1: (Panels) Alignment = taCenterCoolBar1: AutoSize = True (Bands) Control = ToolBar1 ImageIndex = -1(3) 程序代码(见附录)2. 登录窗体设置 (1) 实现目标 系统启动后,用户登录系统,首先进入“用户登录”界面,主要实现功能:用户凭用户名和密码进入系统,用户名或密码错误提示。登录界面如图9所示:图9:登录界面(2) 实现过程:1) 添加新窗体,设置窗体name属性为loginForm,设置窗体caption属性为“用
23、户登录”,保存窗体为login.pas.2) 向窗体中添加一个Bevel、两个label、两个edit和两个button控件。并设置相应属性。控件对象属性如下:LoginForm: BorderIcons = biSystemMenu BorderStyle = bsSingle Caption = 用户登录 FormStyle = fsMDIChild OldCreateOrder = FalseLabel1: Caption = 用户名 Label2: Caption = 密 码Button1: Caption = 确 定Button2: Caption = 取 消Edit1: Text=
24、 name=Name_EditEdit2: PasswordChar = * Text= name=PassWord_Edit(3) 程序代码(见附录)3. 用户管理窗体设置(1) 实现目标:系统启动后,调用“系统”下的“用户管理”项,将打开系统用户管理窗口。主要实现用户信息的添加、修改、删除和查询功能。用户管理界面如图10所示:图10:用户管理界面(2) 实现过程:1) 添加新窗体,设置窗体name属性为user_Form,设置窗体caption属性为“系统用户管理”,保存窗体为user.pas.2) 向窗体中添加一个Coolbar、一个Toolbar、四个Speed Button、一个DB
25、Grid、一个Query、一个DataSource、一个GroupBox、四个label、三个edit、一个ComboBox和两个button控件。并设置相应属性。主要控件对象属性如下:CoolBar1: AutoSize = TrueBands = ToolBar1: AutoSize = True Caption = ToolBar1SpeedButton3: Caption = 新增用户 SpeedButton2: Caption = 修改用户 SpeedButton4: Caption = 删除用户SpeedButton1: Caption = 刷新SpeedButton6: Capt
26、ion = 退出DBGrid1: DataSource = DataSource1 GroupBox1: Caption = 新增用户资料 Enabled = FalseLabel1: Caption = 用户名Label2: Caption = 密 码Label3: Caption = 确认密码Label4: Caption = 权 限Edit2: PasswordChar = *Edit3: PasswordChar = *ComboBox1: AutoComplete = False Style = csDropDownList Text = 普通用户 Items.Strings = (
27、 普通用户 系统管理员)BitBtn1: Caption = 确认BitBtn2: Caption = 取消Query1: DatabaseName = xqwy SessionName = DefaultRequestLive = TrueDataSource1: DataSet = Query1(3) 程序代码:(见附录)4. 修改密码窗体设置(1) 实现目标:为保证系统的安全性,同时减少系统管理员的工作量,应该使用户登录后可以自己修改个人密码。修改密码窗体界面如图11所示:图11:修改密码界面(2) 实现过程:添加新窗体,设置窗体name属性为password_Form,设置窗体capt
28、ion属性为“修改密码”,保存窗体为password.pas.向窗体中添加三个labeledit和两个button控件.控件主要属性如下:password_Form: BorderIcons = biSystemMenu, biHelp BorderStyle = bsSingle Caption = 修改密码 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所示:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1