《毕业论文_小区物业管理系统设计及实现》由会员分享,可在线阅读,更多相关《毕业论文_小区物业管理系统设计及实现(41页珍藏版)》请在金锄头文库上搜索。
1、1 一、 引言 (一) 问题背景及提出的必要性 生活小区的物业管理是物业公司都必须切实面对的工作,但一直以来人们使用传统的人工方式管 理,这种管理方式存在着许多缺点,如:效率低且较为烦琐,另外随着物业管理项目的增加,工作量也 将大大增加,这必然增加物业管理者的工作量和劳动强度,这将给物业管理信息的查找、更新和维护都 带来了很多困难。 经过我们详细的调查, 目前我国有相当一部分物业管理公司还停留在人工管理的基础上, 这样的管 理机制已经不能适应时代的发展,其管理方法将浪费许多的人力和物力。随着科学技术的不断提高,这 种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。 物业管理系统作为
2、计算机应用的一个分支,有着手工管理所无法比拟的优点,如:检索迅速、查找 方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高物业管理的效率。 因此,开发一套能够为用户提供规范化的事务管理、充足的信息和快捷的查询手段的物业管理系统,是 非常必要的,也是十分及时的。因此可以把物业管理作为毕业设计的题目,正好可以充分利用几年在校 所学的各种专业知识开发一个小区物业管理系统帮助相关部门进行有效的管理。 (二) 开发工具简介: (Delphi 简介) Delphi 是由 Borland 公司推出的快速、 可视化的开发工具。 作为一种 Windows 系统下的可视化开发 工具,它使
3、用 Object Pascal 语言,利用它所提供的可视“控件”来创建“对象” 。自 Borland 公司 1995 年 3 月推出 Delphi 1.0 以来,它就以优秀的集成开发环境、可视化的面向对象编程、良好的数据库应用 支持、功能齐全的 VCL 组件库和高效的编译器,为程序开发人员提供了在基于 Object Pascal 语言的可 视化开发平台上快速开发遵循 Windows 标准的应用程序的开发工具,得到了广大 Windows 程序开发人 员的喜爱。在 Windows 环境下编程,传统的编程方法已经难以胜任,由于传统的编程方法使用的是面 向过程、 按顺序进行的机制, 它使得在写程序的过
4、程中始终要关心什么时候发生什么事情, 面对 Windows 事件驱动的工作方式,处理各种事件及其可能的组合将有惊人的工作量。面向对象的程序设计 (Object-Oriented Programming,简称 OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的 能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进 Windows 编程所必需的“对象”中,使得复杂的工作条理清晰、编写容易。一些早期的具有 OOP 性能 的程序语言如 C+,Pascal,Smalltalk 等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与 用户交互能力较差,仍然
5、要编写大量的代码。Delphi 使用“可视化”的编程方法,程序员不必自己建立 2 对象,利用 Delphi 提供的可视“控件” ,只要在提供的程序框架中加入完成功能的代码,而不必考虑按 精确次序执行的每个步骤。在这种机制下,必编写一个大型的程序,而是建立一个由若干微小程序组成 的应用程序, 这些微小程序可以由用户启动的事件来激发。 这样就可以快速创建强大的应用程序而毋需 涉及不必要的细节。Delphi 7 作为 Delphi 家庭中新版本不但可以作为新一代商务系统的快速开发工具, 也可以作为客户机/服务器和 Web 方式的应用程序开发工具。以下是 Delphi 的常用概念: 类(Class)
6、:面向对象编程的基础,对一具体事物、概念的抽象。Delphi 中定义的类五一般均以大 写字母“T”开头。 组件(Component) :Delphi 应用程序开发的基础,实际上是指完成一定功能的类。 对象(Object) :在面向对象的程序设计中,对象是类的实例。 属性(Preperty) :对象的静态属性,表示状态信息。 方法(Method) :对象的动态属性,表示对象能够执行的功能。 事件(Event) :在 Windows 系统中,事件就是消息。事件可能是由用户执行了某些操作(如鼠标 单击等)引起的,也可能是由程序内部触发的(如定时器等) 。 事件处理程序(Event Handler)
7、:当事件触发时,应用程序执行的命令集。 二、 需求分析 小区物业管理系统主要针对生活小区的物业管理公司作为使用对象而开发的, 管理人员的日常工作 范围主要是生活小区的楼盘、居住在小区里的住户、住户的各种收费、住户的报修、住户的投诉以及住 户的停车等信息。管理人员应用本系统应能很方便地对以上信息进行登记和查询管理。 (一) 功能需求 小区物业管理系统主要应具有以下功能: 系统用户管理:管理使用该系统的用户信息,包括系统用户添加、修改、删除、查询。 楼盘信息管理:管理小区中楼盘的各种信息,包括楼盘信息的添加、修改、删除、查询。 住户信息管理:管理小区住户的各种信息,包括住户信息的添加、修改、删除、
8、查询。 停车场管理:管理停车场的各种信息,包括停车场信息的添加、修改、删除、查询。 物业收费管理:管理小区的各种收费项目,包括收费项目的添加、修改、删除、查询。 3 住户报修管理:管理住户报修信息,包括住户报修信息的添加、修改、删除、查询。 住户投诉管理:管理住户投诉信息,包括住户投诉信息的添加、修改、删除、查询。 再进行详细调查,绘制出数据流图,如图 1 所示: 图 1:系统数据流图 (二) 开发与运行环境 本系统开发与运行环境如下: 开发环境:Windows XP 开发工具:Delphi 7 数据库管理系统:MicrosoftAccess 2003 运行环境:Windows 98/2000
9、/XP (三) 系统实现过程分析 首先根据系统功能分析设计出数据库,包括各个数据表和数据表关系图的详细结构。 实现功能模块时,采用先模块化,后集成的方式。即对各个功能模块分别独立设计和调试,在创建 系统主窗体时将各个功能模块通过主窗体的菜单系统集成到一起,最后进行系统整体设计调试。 4 在访问数据库时, 采用公用数据模块存放访问数据库需要的对象。 该模块在各个功能模块中被直接 调用,避免数据库的反复连接,并可减少代码编写,从而提高系统开发效率。 三、 系统设计 (一) 设计原则 1.实用性原则:要求满足实际工作的需要,用户接口和操作界面设计尽可能做到界面美观大方, 操作简便实用。 2.可扩展性
10、原则:为适应将来的发展,系统应具有良好的可扩展性和可维护性,软件设计尽可能 模块化、组件化,使系统可灵活配置,适应不同的情况。 3.安全性原则:软件与数据库的设计要做到安全可靠,防止非法用户的入侵。 4.用户界面设计原则:用户界面的设计应符合 Windows 规范的图形用户界面,做到美观大方。用 户界面应当直观、明了、条理清晰。实现“傻瓜型”管理易学、易用、易管理。 5.数据库设计原则:要求数据具有一致性、完整性、安全性和可伸缩性原则。 (二) 系统模块设计 根据系统功能分析,得到如图 2 所示的系统功能模块结构图。 5 图 2:系统功能模块结构图 6 (三) 数据库设计 1.数据字典 根据系
11、统功能模块结构图和管理工作流程, 以及一般小区物业管理系统的需要, 总结出如下的 数据字典: 系统用户数据:包括的数据项有系统用户名、登录口令、身份。 楼盘数据:包含的数据项有门牌号、户型、出售否、出租否、户主姓名、产权证编号、土 地使用证编号、面积等。 住户数据:包含的数据项有门牌号、户主姓名、户型、常住人口、联系电话、备注等。 停车数据:包含的数据项有车位编号、状态、金额、入场时间、离场时间等。 车位状态:包含的数据项有车位编号和状态。 收费项目数据:包括的数据项有项目编号、门牌号、水费、电费、气费、物管费、其他费、 收费时间等。 报修项目数据:包含的数据项有项目编号、门牌号、报修人、内容
12、、时间、维修否、维修 人、备注等。 投诉项目数据:包含的数据项有项目编号、门牌号、内容、时间、投诉人、负责人等。 2.数据库结构设计 根据系统需求,分析出实体-关系图,如图 3 所示: 图 3:实体关系图 7 根据实体-关系图和数据字典设计出各个数据表,根据系统用户使用要求得到系统用户数据表,根 据楼盘、停车场、住户实体得到楼盘数据表、住户数据表停车场数据表,根据投诉、收费、报修关系得 到收费项目数据表、投诉项目数据表、报修项目数据表。数据表名称与结构如下: 系统用户数据表:表名“user1” ,结构见表 1。 表 1 user1 表结构 列名数据类型字节数索引 Name文本15是 id自动编
13、号长整型 Passwd文本10 role文本50 楼盘数据表:表名“lpb”,结构见表 2。 表 2 lpb 表结构 字段名数据类型字节数索引说明 id自动编号长整型是 Mph文本15门牌号 Hz文本10户主 Hx文本30户型 Cz是/否出租否 Cs是/否出售否 Cqh文本30产权证号 Tdh文本30土地证号 Mj数字双精度型面积 8 住户数据表:表名“zhb”,结构见表 3。 表 3 zhb 表结构 字段名数据类型字节数索引说明 Mph文本15是门牌号 Hz文本10户主 Hx文本30户型 Czr文本50常住人口 Dh文本20电话 Bz文本100备注 停车数据表:表名“tcb”,结构见表 4。
14、 表 4 tcb 表结构 字段名数据类型字节数索引说明 Id自动编号长整型是编号 BH文本3车位编号 Zt文本1状态 Je文本双精度型金额 Rcsj文本入场时间 Lcsj文本离场时间 停车位状态表:表名“tc”,结构见表 5。 表 5 tc 表结构 字段名数据类型字节数索引说明 Id自动编号长整型是编号 cwbh文本3车位编号 Zt文本1状态 9 收费项目数据表:表名“sfb”,结构见表 6。 表 6 sfb 表结构 字段名数据类型字节数索引说明 Id自动编号长整型是 Bh文本6编号 Mph文本15门牌号 Sf数字双精度型水费 Df数字双精度型电费 Qf数字双精度型气费 Wgf数字双精度型物管
15、费 Qtf数字双精度型其它费 Sfsj日期/时间收费时间 hj数字双精度型合计 报修项目数据表:表名“bxb”,结构见表 7。 表 7 bxb 表结构 字段名数据类型字节数索引说明 Id自动编号长整型是 mph文本50门牌号 Name文本15姓名 Rq日期/时间60日期 Wxr文本15维修人 Wxf是/否维修否 Bz文本100备注 xm文本100内容 10 投诉项目数据表:表名“tsb”,结构见表 8。 表 8 tsb 表结构 字段名数据类型字节数索引说明 Id自动编号长整型是 mph文本50门牌号 Name文本15姓名 Rq日期/时间60日期 Fzr文本15负责人 Bz文本100备注 四、
16、关键技术 本系统设计使用 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; 添加