摘 要
随着社会的发展,计算机的优势和普及使得物业管理系统的开发成为必需。物业管理系统主要是借助计算机,通过对个人资料(个人信息、修改密码)、公共管理(轮播图、公告栏)、业主管理(管理员、业主业主)、信息管理(房屋资讯、资讯分类)、房屋信息、楼栋管理、单元管理、入住记录、缴费信息、维修上报、投诉建议、车位信息、车位申请等信息进行管理。减少管理员的工作,同时也方便广大业主对物业信息的及时查询以及管理。
本系统采用的数据库是Mysql,使用node.js的koa技术技术构建的一个管理系统,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对物业管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现物业管理系统和部署运行使用它。
在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
关键词:物业管理系统,Mysql数据库,node.js的koa技术
Abstract
With the development of society, the advantages and popularity of computers make the development of property management system necessary. The property management system mainly uses computers to manage personal data (personal information, password modification), public management (broadcast map, bulletin board), user management (administrator, owner user), information management (housing information, information classification), housing information, building management, unit management, occupancy records, payment information, maintenance reports, complaints and suggestions, parking space information, parking space complaints and other information. Reduce the work of the administrator, and at the same time facilitate the owners to query and manage the property information in time.
The database used in this system is MySQL. A management system is built using the koa technology of node.js, which realizes all the functions of this system. This report first analyzes the background, role and significance of the research, laying a foundation for the rationality of the research work. This paper analyzes the requirements and technical problems of the property management system, proves the necessity and technical feasibility of the system, and then makes a basic introduction to the technical software and design ideas needed to design the system, and finally realizes the property management system and deploys and uses it.
In the design process, the system code is fully guaranteed to be readable, practical, extensible, universal, easy to maintain, easy to operate and concise.
Key words: Property management system, MySQL database, koa technology of node.js
第1章 前 言
1.1 研究背景
传统的物业管理系统方式是在线下实体进行的,由于物业信息构造的差异,业主需要到线下进行实际的体验,有很大的空间和时间限制。而随着物业管理信息种类的不断普及,其性能、模块的透明化,越来越多的人群也开始出于各种各样的理由而热衷网上消费,传统的管理模式已经无法满足人的需求了。
互联网的产生,带来了网络的再次高速发展,人们的生活得到了翻天覆地的变化。人们可以随时随地的享受互联网带来的方便快捷,在生活工作中的方方面面的需要都能在网络上实现,比如学习、消费等等。也就是说网络成了人们目前最直接、最方便、最轻松的接入口。
在当今世界,互联网快速发展的现在,如何利用互联网创造更简单高效的生活,这是我们首要讨论的。需要物业信息管理相关网站,一方面使得管理员可以对物业的信息进行及时更新和信息化的管理,可以较为容易的获取各物业信息的管理情况。另一方面业主可以利用互联网更直观的查看物业管理系统的相关信息。与传统的管理方式相比,业主消费的方式更加轻松,系统的操作更加的准确,这是一种潜在趋势,或许可以有效加快物业管理系统的普及情况。
1.2 研究现状
经过调查,目前现代人的生活节奏加快,生活压力也在逐渐的增加,人们可以使用智能产品的功能给人们带来的便利,随着人们的网上消费不断的增加,越来越多的人们开始加入了网上消费的大潮中,但是我国对于物业管理信息管理效果低下,而且出错率也很高。因此大家都在寻找一款更加专业化的物业管理系统。
随着物业管理系统的不断出现,业主需求的不断增多,物业管理系统也不断的得到壮大,本系统主要根据业主和管理人员的实际需要,方便业主利用互联网实现对物业管理系统的了解、对比,甚至是交易。同时让管理者可以通过这个系统对业主实际需求以及各物业信息的所有了解和管理情况进行管理。设计该系统主要目的是为了方便人们的对各种类型的物业管理系统信息的横向对比,帮助人们节省时间,而且减少管理者资金的投入。
1.3 系统开发目标
对于网站的前台设计,要保证主界面的整洁有序,能够抓住人的眼球,不会产生视觉疲劳,更重要的是,带给人容易操作的直观感受,这样才能留住业主去进行使用,增加三分热度的延续期。在系统的后台设计上,要采取非常简洁有效的技术,开发方便的同时,便于以后的维护。我们不但要确保所有的功能都能够满足业主的需求,业主还要能自己主动通过网站去实现想要的操作,而管理者的简单通过网站对业主的需求情况进行了解和管理。为达到这一目的,提出以下目标:
(1)业主可以实时查看最新的物业管理系统信息,以及相关资讯;
(2)业主可以对比各大物业管理系统信息,选择自己较为满意的物业管理系统信息;
(3)业主可以通过论坛互相交流消费物业管理系统信息心得;
(4)管理员可以在后台方便管理前台网页的各种信息;
(5)管理员可以方便查询、汇总业主的使用状态。
第2章 相关技术
2.1 koa框架
Node.js是一个异步的世界,官方API支持的都是callback形式的异步编程模型,这会带来许多问题,例如:1、callback嵌套问题;2、异步函数中可能同步调用callback返回数据,带来不一致性。为了解决以上问题Koa出现了。
koa是由Express原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的Web框架。使用koa编写web应用,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。koa不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写Web应用变得得心应手。开发思路和express差不多,最大的特点就是可以避免异步嵌套。
阿里内部就在使用Koa框架,并在Koa基础上面做了一些扩展和封装。并且基于koa开发了一个开源框架egg。
2.2 Vue.js 主要功能:
Vue.js是一套构建业主界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
2.3 MVVM模式介绍:
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.4 B/S体系工作原理:
B/S架构采取浏览器请求,服务器响应的工作模式。
业主可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给业主。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,业主是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
2.5 MySQL数据库
Mysql的语言是非结构化的,业主可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。
Mysql数据库在编程过程中的作用是很广泛的,为业主进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
第3章 需求分析
3.1 需求分析
开发系统的过程中,去调查业主的功能诉求,对需要存在的功能进行需求分析是特别重要的,且对于系统的开发有着实际的意义,设计物业管理系统通过对业主的需求进行分析,结合实际情况进行开发研究,对业主的所有需求做出一个完整的基本的框架,然后一步一步的完成、实现。需求分析可以为系统的开发提供一个目标,只有按照这个目标进行开发设计,才能进行完整的开发,这样设计出的系统才有使用的意义,才能在竞争激烈的软件市场中生存,才能真正的帮助人们解决问题,提高实际的效率。
3.2 系统可行性分析
3.2.1 技术可行性
本系统采取的是目前应用最广泛的程序进行技术的支持,主要的技术支持是node.js开发语言,他作为一个相当成熟的语言程序,在众多的软件开发中起着很大作用。而且用node.js开发语言编辑出来程序可以直接运行,不需要借助其他的翻译器进行翻译。所以在技术方面是完全可以行的。
3.2.2 经济可行性
本项目开发的初衷就是为了节约,因为系统开发的所有过程都是我自己开发的我,而且在开发过程使用到的技术也都是市面上常见的容易操作的,所以不需要请专业的人士花资金来进行系统的开发,而且在项目开发的过程中我也学到了更多的知识。开发的这个软件可以在网络中进行免费的下载,对计算机的软硬件没有很高的要求,因此这个项目是非常实惠的,在经济方面是完全可性的。
3.2.3 操作可行性
操作可行性也就是系统的可用性,一个系统的操作是否容易决定着这个系统的使用度,在系统的操作方面的设计我都是采取简洁易懂的方式,操作的整个菜单界面整齐有序,所有的功能都有序的排列,不会出现重叠或者需要转换的现象,业主想要哪方面的操作都可以直接进行操作,所以该系统任何人都可以进行操作,不需要有相关专业的技术这样业主在操作起来就容易很多。
3.3 项目设计目标与原则
1、关于物业管理系统的基本要求
(1)功能要求:管理员可以对所有的物业管理系统进行查看管理,可以对系统进行管理,可以及时的查看管理的情况,还可以对留言进行查看和管理等功能模块。
(2)性能:因为物业管理系统管理中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。
(3)安全与保密要求:业主都必须通过管理员审核才能进入系统。
(4)环境要求:支持Windows系列、Vista系统等多种操作系统使用。
2、开发目标
物业管理系统的主要开发目标如下:
(1)业主可以实时查看最新的物业管理系统信息,以及相关资讯;
(2)业主可以对比各大物业管理系统信息,选择自己较为满意的物业管理系统信息;
(3)业主可以通过留言互相交流消费物业管理系统信息心得;
(4)管理员可以在后台方便管理前台网页的各种信息;
3、设计原则
本物业管理系统采用koa技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
(1)系统响应效率:由于是物业管理系统,因此就需要系统的响应效率是非常高的,并且可以支持很多人同时进行系统的使用。
(2)界面简洁清晰:系统界面要简单有序,所有的功能一目了然。
(3)储存性高:因为是物业管理系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。
(4)易学性:系统的设计一定要简单,使得人们使用起来非常好的顺手。
(5)稳定性需求:该系统在使用过程中必须保持稳定,不要出现卡顿、模糊等情况。
(6)稳定性:由于是物业管理系统,因此系统运行必须要十分的稳定。
3.4 系统流程分析
业主需要拥有属于自己的账号和密码,且必须正确,这样才能顺利登录到系统中。进入网站后,业主可以自行查询各种物业管理系统信息,在自己满意的物业管理系统信息的详情页面的最后,可以直接选择消费操作。具体流程如下图3-1所示:
图3-1 业主操作流程图
为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。其具体登录流程图如图3-2所示:
图3-2 系统操作流程图
第4章 架构设计
4.1 系统体系结构
物业管理系统的结构图4-1所示:
图4-1 系统结构
登录系统结构图,如图4-2所示:
图4-2 登录结构图
系统结构图,如图4-3所示:
图4-3 系统结构图
4.2 数据库实体设计
数据库的功能就是对系统中所有的数据进行存储和管理。所有的数据可以在数据库中产时间的进行存储,方便业主的使用。而且所有的数据库中的数据也应该具有一定的共享性,任何的系统可以对一些数据进行使用,同时还应该保持一定的独立性,每一个数据库中的数据都有很强的安全性,可以被很好的存放到数据库,没有进行身份的验证是不能对这些数据进行查看和使用的。数据库的设计需要明确每一个实体之间的联系,系统的E-R图如下图所示::
业主信息实体主要存储管理信息包括索引、用户性别、昵称、业主姓名、密码、门牌号、联系电话、邮箱、详细地址属性。业主信息属性图如图4-4所示。
图4-4业主信息实体属性图
房屋资讯管理主要包括引擎、图片、标题、标签、分类、描述等属性,房屋资讯管理属性图如图4-5所示。
图4-5房屋资讯管理实体属性图
维修上报管理实体属性主要包括索引、标题名称、用户信息、用户姓名、手机号码、内容详情、审核状态、审核回复等属性。维修上报管理实体属性图如图4-6所示。
图4-6维修上报管理实体属性图
4.3 数据库表设计
当物业管理系统在运行的时候,数据库要能确保自己的独立性,想要哪部分的数据就选择相应的设置选项,对应的数据就会以表格的形式展现出来。当对这一个功能进行设置,他就会与数据库进行连接,会在对话框中弹出相应的数据源。
building_management | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
building_management_id | int | 11 | 是 | 主键 | 楼栋管理ID |
building_name | varchar | 64 | 否 |
| 楼栋名称 |
building_remarks | text | 0 | 否 |
| 楼栋备注 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
check_in_record | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
check_in_record_id | int | 11 | 是 | 主键 | 入住记录ID |
house_no | varchar | 64 | 否 |
| 房屋编号 |
unit_name | varchar | 64 | 否 |
| 单元名称 |
building_name | varchar | 64 | 否 |
| 楼栋名称 |
house_name | varchar | 64 | 否 |
| 房屋名称 |
house_area | varchar | 64 | 否 |
| 房屋面积 |
house_type | varchar | 64 | 否 |
| 房屋房型 |
user_information | int | 11 | 否 |
| 用户信息 |
user_name | varchar | 64 | 否 |
| 用户姓名 |
contact_number | varchar | 16 | 否 |
| 联系电话 |
check_in_date | date | 0 | 否 |
| 入住日期 |
check_in_remarks | text | 0 | 否 |
| 入住备注 |
examine_state | varchar | 16 | 是 |
| 审核状态 |
examine_reply | varchar | 16 | 否 |
| 审核回复 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
collect | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
collect_id | int | 10 | 是 | 主键 | 收藏ID: |
user_id | int | 10 | 是 |
| 收藏人ID: |
source_table | varchar | 255 | 否 |
| 来源表: |
source_field | varchar | 255 | 否 |
| 来源字段: |
source_id | int | 10 | 是 |
| 来源ID: |
title | varchar | 255 | 否 |
| 标题: |
img | varchar | 255 | 否 |
| 封面: |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
comment | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
comment_id | int | 11 | 是 | 主键 | 评论ID: |
user_id | int | 11 | 是 |
| 评论人ID: |
reply_to_id | int | 11 | 是 |
| 回复评论ID:空为0 |
content | longtext | 0 | 否 |
| 内容: |
nickname | varchar | 255 | 否 |
| 昵称: |
avatar | varchar | 255 | 否 |
| 头像地址:[0,255] |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
source_table | varchar | 255 | 否 |
| 来源表: |
source_field | varchar | 255 | 否 |
| 来源字段: |
source_id | int | 10 | 是 |
| 来源ID: |
complaints_and_suggestions | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
complaints_and_suggestions_id | int | 11 | 是 | 主键 | 投诉建议ID |
title_name | varchar | 64 | 否 |
| 标题名称 |
user_information | int | 11 | 否 |
| 用户信息 |
user_name | varchar | 64 | 否 |
| 用户姓名 |
contact_number | varchar | 16 | 否 |
| 联系电话 |
content_details | text | 0 | 否 |
| 内容详情 |
examine_state | varchar | 16 | 是 |
| 审核状态 |
examine_reply | varchar | 16 | 否 |
| 审核回复 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
house_information | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
house_information_id | int | 11 | 是 | 主键 | 房屋信息ID |
house_no | varchar | 64 | 否 |
| 房屋编号 |
unit_name | varchar | 64 | 否 |
| 单元名称 |
building_name | varchar | 64 | 否 |
| 楼栋名称 |
house_name | varchar | 64 | 否 |
| 房屋名称 |
house_status | varchar | 64 | 否 |
| 房屋状态 |
user_information | int | 11 | 否 |
| 用户信息 |
house_area | varchar | 64 | 否 |
| 房屋面积 |
house_type | varchar | 64 | 否 |
| 房屋房型 |
house_pictures | varchar | 255 | 否 |
| 房屋图片 |
house_address | varchar | 64 | 否 |
| 房屋地址 |
house_introduction | longtext | 0 | 否 |
| 房屋简介 |
hits | int | 11 | 是 |
| 点击数 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
maintenance_report | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
maintenance_report_id | int | 11 | 是 | 主键 | 维修上报ID |
title_name | varchar | 64 | 否 |
| 标题名称 |
user_information | int | 11 | 否 |
| 用户信息 |
user_name | varchar | 64 | 否 |
| 用户姓名 |
contact_number | varchar | 16 | 否 |
| 联系电话 |
content_details | text | 0 | 否 |
| 内容详情 |
examine_state | varchar | 16 | 是 |
| 审核状态 |
examine_reply | varchar | 16 | 否 |
| 审核回复 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
notice | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
notice_id | mediumint | 8 | 是 | 主键 | 公告id: |
title | varchar | 125 | 是 |
| 标题: |
content | longtext | 0 | 否 |
| 正文: |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
owner_user | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
owner_user_id | int | 11 | 是 | 主键 | 业主用户ID |
user_name | varchar | 64 | 否 |
| 用户姓名 |
user_gender | varchar | 64 | 否 |
| 用户性别 |
examine_state | varchar | 16 | 是 |
| 审核状态 |
recommend | int | 11 | 是 |
| 智能推荐 |
user_id | int | 11 | 是 |
| 用户ID |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
parking_space_application | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
parking_space_application_id | int | 11 | 是 | 主键 | 车位申请ID |
parking_space_no | varchar | 64 | 否 |
| 车位编号 |
name_of_parking_space | varchar | 64 | 否 |
| 车位名称 |
user_information | int | 11 | 否 |
| 用户信息 |
user_name | varchar | 64 | 否 |
| 用户姓名 |
contact_number | varchar | 16 | 否 |
| 联系电话 |
application_remarks | text | 0 | 否 |
| 申请备注 |
examine_state | varchar | 16 | 是 |
| 审核状态 |
examine_reply | varchar | 16 | 否 |
| 审核回复 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
parking_space_information | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
parking_space_information_id | int | 11 | 是 | 主键 | 车位信息ID |
parking_space_no | varchar | 64 | 否 |
| 车位编号 |
name_of_parking_space | varchar | 64 | 否 |
| 车位名称 |
parking_space_status | varchar | 64 | 否 |
| 车位状态 |
duration | varchar | 64 | 否 |
| 使用时长 |
user_information | int | 11 | 否 |
| 用户信息 |
parking_space_picture | varchar | 255 | 否 |
| 车位图片 |
parking_position | varchar | 64 | 否 |
| 车位位置 |
parking_space_introduction | longtext | 0 | 否 |
| 车位简介 |
hits | int | 11 | 是 |
| 点击数 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
payment_information | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
payment_information_id | int | 11 | 是 | 主键 | 缴费信息ID |
user_information | int | 11 | 否 |
| 用户信息 |
payment_type | varchar | 64 | 否 |
| 缴费类型 |
payment_month | varchar | 64 | 否 |
| 缴费月份 |
payment_fee | varchar | 64 | 否 |
| 缴费费用 |
fee_details | text | 0 | 否 |
| 费用详情 |
pay_state | varchar | 16 | 是 |
| 支付状态 |
pay_type | varchar | 16 | 否 |
| 支付类型: 微信、支付宝、网银 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
praise | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
praise_id | int | 10 | 是 | 主键 | 点赞ID: |
user_id | int | 11 | 是 |
| 点赞人: |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
source_table | varchar | 255 | 否 |
| 来源表: |
source_field | varchar | 255 | 否 |
| 来源字段: |
source_id | int | 10 | 是 |
| 来源ID: |
status | tinyint | 1 | 是 |
| 点赞状态:1为点赞,0已取消 |
slides | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
slides_id | int | 10 | 是 | 主键 | 轮播图ID: |
title | varchar | 64 | 否 |
| 标题: |
content | varchar | 255 | 否 |
| 内容: |
url | varchar | 255 | 否 |
| 链接: |
img | varchar | 255 | 否 |
| 轮播图: |
hits | int | 10 | 是 |
| 点击量: |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
unit_management | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
unit_management_id | int | 11 | 是 | 主键 | 单元管理ID |
unit_name | varchar | 64 | 否 |
| 单元名称 |
unit_remarks | varchar | 64 | 否 |
| 单元备注 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
第5章 系统实现
5.1 系统功能模块
物业管理系统,在系统的首页可以查看首页、公告消息、房屋资讯、房屋信息、维修上报、投诉建议、车位信息、我的等信息,如图5-1所示。
图5-1系统首页界面图
业主注册,在业主注册页面中通过填写业主账号、设置密码、确认密码、昵称、邮箱、手机号、身份、用户姓名、用户性别等信息完成注册,如图5-2所示。
图5-2业主注册界面图
房屋信息,在房屋信息页面中通过填写房屋编号、单元名称、楼栋名称、房屋名称、房屋面积、房屋房型、用户信息、用户名称、联系电话、入住日期、入住备注等信息并提交,如图5-3所示。
图5-3房屋信息界面图
车辆信息,在车辆信息页面通过填写车位编号、车位名称、车位状态、用户信息、车位位置等信息并申请收藏,如图5-4所示。
图5-4车位信息界面图
5.2 管理员功能模块
管理员登录,管理员通过输入界面上显示的信息然后移动滑块就能登录到系统进行系统的使用了,如图5-5所示。
图5-5管理员登录界面图
管理员登录进入物业管理系统之后,就可以对所有的信息进行查看,可以查看到首页、个人资料(个人信息、修改密码)、公共管理(轮播图、公告栏)、用户管理(管理员、业主用户)、信息管理(房屋资讯、资讯分类)、房屋信息、楼栋管理、单元管理、入住记录、缴费信息、维修上报、投诉建议、车位信息、车位申请等,并且还可以对其进行相应的操作管理,如图5-6所示。
图5-6管理员功能界面图
个人信息管理,在个人信息管理页面中可以查看索引、图片、用户名、昵称、用户组、手机号码、状态、邮箱等信息,还可以根据需要进行修改或删除等详细操作,如图5-7所示。
图5-7个人信息管理界面图
楼栋管理,在楼栋管理页面中通过填写楼栋名称、楼栋备注等信息,还可以根据需要进行修改或删除等详细操作,如图5-8所示。
图5-8楼栋管理界面图
入住记录管理,在入住记录管理页面中可以查看房屋编号、单元名称、楼栋名称、房屋名称、房屋面积、房屋房型、用户信息、用户姓名、手机号码、入住日期、入住备注、审核状态、审核回复等信息,还可以根据需要进行修改或删除等详细操作,如下图5-9所示。
图5-9入住记录管理界面图
缴费信息管理,在缴费信息管理页面中可以查看用户信息、缴费类型、缴费月份、缴费费用、费用详情等信息,还可以根据需要进行修改或删除等详细操作,如图5-10所示。
图5-10缴费信息管理界面图
5.2 业主后台功能模块
业主登录系统后台可以查看首页、个人资料(个人信息、修改密码)、入住记录、缴费信息、维修上报、投诉建议、车位信息、车位申请管理等,并且还可以对其进行相应的操作管理,如图5-11所示。
图5-11业主后台界面图
投诉建议管理,在投诉建议管理页面中可以查看索引、标题名称、用户姓名、用户信息、联系电话、内容详情等信息,还可以根据需要进行修改或删除等详细操作如图5-12所示。
图5-12投诉建议管理界面图
车位申请管理,在车位申请管理页面中可以查看索引、车位名称、用户姓名、车位编号、用户信息、联系电话、申请备注、审核状态、审核回复等信息,还可以根据需要进行修改或删除等详细操作,如图5-13所示。
图5-13车位申请管理界面图
第6章 系统测试
6.1 测试目的
随着互联网不断的发展,目前各大领域都利用互联网进行了信息的管理,因此产品能否存货,质量问题是很重要的标准,也决定着是否有更多的人使用。所以软件的质量我们必须要把关,必须要把软件做好,做到位,少出不必要的问题,这样才能有更多的业主使用,并且得到更多的推广。所以,我们在开发完系统后,需要进行大量的测试,以确保系统的稳定性和可使用性,并要确定系统的质量能否做到满足不同人的需求。这是系统在开发设计中非常重要的环节,测试的结果直接关系到系统的好坏。
集成测试:在系统测试当中会出现很多的问题,我们要及时的进行标注并且在进行测试的时候要采取自动化的测试,这样即准确又快速,而且不会出现疲劳,手动的测试很容易出现疲劳期,而且测试的结果也有时候会出错,所以在测试的时候才去自动测试时最好的测试方法。
在测试的过程中及时的发现问题,并且进行问题的解决,这样设计出的系统可以正常稳定的运行,不会出现重大的问题。我所进行的软件测试参照以下三个步骤进行测试:
(1)模块测试:对系统中的每一项都进行针对的测试,发现并找到问题。
(2)系统测试:让系统长时间进行各种情况下的运行,反馈运行期间的稳定性问题并解决。
(3)验收测试:其他测试完成后,最后检测阶段,确保软件准备就绪。
6.2 测试方法
在对系统进行测试的时候我们主要应用到两种测试的方法,通过测试我们就能找出可能存在的问题保证系统成功运行。
从软件的内部构造和具体实施是否有关系的观点来看:黑盒测试和白盒测试。
1)黑盒测试:测试系统功能,当业主进行相应的操作时,系统是否能够及时且准确的反馈数据,并执行相应功能。需要对功能以及使用方法进行详细的测试,保证所有的操作信息都能够完整的输出输入。
2)白盒测试:主要是对系统的结构进行测试,了解系统在运行过程中是否可以正常的工作。
物业管理系统的测试也会从下面几方面进行:
(1)窗体测试:例如业主登录界面,在业主名和密码输入时,需要界面窗口弹出,给予业主反馈,我对窗口的设计进行了测试,确保每一个窗口在业主进行相应操作后,能够及时的弹出。
(2)数据跟踪:进行数据跟踪,我们就能知道系统功能是否在顺利的执行当中。将数据库中的相关的信息进行调动,弹出我们需要的相对应的数据信息。同时,在追踪过程中,我们也更容易的发现系统的问题所在,便于解决问题和维护系统。
(3)综合测试:完成上述测试后,需要对系统进行由内而外的重新检测,来宏观的发现系统中存在的问题,并且及时的进行解决,系统的设计要结合实际的使用情况有针对性的进行开发,可以满足不同人的需求。
6.3 功能测试
本物业管理系统设计基本达到我理想的开发状态,在各个功能的运行方面,表现较为良好,基本满足业主的使用需求,及时矫正了较多的错误信息。总体说来,软件通过了相应的测试。
表6-1:业主登录测试表
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
登录模块 | 业主名:admin 密码:123 | 弹出错误提示,提示密码错误 | 弹出错误提示,提示密码错误 | 通过 |
登录模块 | 业主名:123 密码:admin | 弹出错误提示,提示业主名错误 | 弹出错误提示,提示业主名错误 | 通过 |
登录模块 | 业主名:admin 密码:admin | 管理员登录成功 | 管理员登录成功 | 通过 |
表6-2:修改密码测试表
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
修改密码模块 | 原密码:666 新密码:123 确认密码:123 | 弹出错误提示,提示原密码错误 | 弹出错误提示,提示原密码错误 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:333 | 弹出错误提示,提示确认密码不一致 | 弹出错误提示,提示确认密码不一致 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:123 | 密码修改成功 | 密码修改成功 | 通过 |
6.4 测试结论
测试的过程要按照指定好的计划一步一步的实行,测试时候一定不要着急,并且将测试的结果进行详细的记录,我们在进行测试的时候做好选择自动化的测试,这样更加的准确也更快捷,如果采用人工测试的方法就不会这么的方便,很可能会出现一些问题,而且极其测试不会疲劳也不会出现问题。在测试的时候一定要非常专注,时刻关注着测试的结果,一旦发现异常及时进行修改,;最后,测试完之后的文档应该保存下来,方便以后测试时用到。
通过测试,我们也可以直观的感受到,在我们最开始进行系统设计的时候,先把思路理清楚,才能有机会把代码写好。有好的逻辑性的代码在后期的测试中才能避免出现问题,也可以给我们节省很多的时间和不必要的操作。
第7章 结 论
物业管理系统为业主提供了公平的、相互包容的、操作方便的使用系统,基本满足了业主的使用需要,以及我最初的开发目标和方向。node.js开发语言、MySQL数据库等技术时是我开发的基础,这些技术都有各自的优点,学好这些技术,至关重要。通过这些优点设计出来的系统能够正常稳定的运行,并且可以满足人们的所有需求,在对系统的需求以及各个模块进行了详细的分析后,有针对性的进行设计,最后通过测试,系统能够正常的运行,该物业管理系统设计完成。
本次开发过程中使用的是koa技术,该技术具有代码编写简单方便,对平台没有要求对技术方面也没有要求,并且有很好的面像对象性,所以在技术方面是相当成熟的。利用koa技术作为系统主要的技术支持可以使得系统能够正常的运行并且实现相应的功能。
通过本次设计,让我学到了更多的知识,而且在设计中会有一些问题出现,最后通过查阅资料和在老师和同学的帮助下完成了系统的设计和开发,使得这次系统的开发非常的有意义。同时通过这次系统的设计也让我明白了自己在哪方面有不足,以后加以学习争取可以开发住更多有用的适用的系统软件
参考文献
[1]唐清华.小区智慧物业管理系统的设计及应用[J].中阿科技论坛(中英文),2022(10):134-139.
[2]宋东翔,马伽洛伦,袁铭举,王怡然.基于协同过滤和NodeJS的电影推荐系统研究[J].信息与电脑(理论版),2022,34(12):143-145.
[3]Li Jinqiu,Zou Yuyou,Li Mingqiu. Synergetic evolution of the regional intellectual property management systems in China based on logistic model[J]. Managerial and Decision Economics,2022,43(8).
[4]刘萍,范蕤.智慧物业管理系统的设计与实现[J].电子元器件与信息技术,2022,6(03):201-203.DOI:10.19772/j.cnki.2096-4455.2022.3.071.
[5]. Ooma Boosts Hotel Guest Experiences and Employee Productivity Through Expanded Integration with Property Management Systems[J]. Manufacturing Close - Up,2022.
[6]. Ooma Expands Integration with Property Management Systems[J]. Telecomworldwire,2022.
[7]刘玉贞.基于WEB的社区物业管理系统的设计与实现[J].科技风,2022(06):77-79.DOI:10.19392/j.cnki.1671-7341.202206025.
[8]Pant Piyush,Rajawat Anand Singh,Goyal S.B.,Bedi Pradeep,Verma Chaman,Raboaca Maria Simona,Enescu Florentina Magda. Authentication and Authorization in Modern Web Apps for Data Security Using Nodejs and Role of Dark Web[J]. Procedia Computer Science,2022,215.
[9]周蓉,何泓位.智慧物业管理系统设计方案研究[J].内江科技,2021,42(10):39-40.
[10]张驰.基于5G物联网技术的物业管理系统研究[J].数字技术与应用,2021,39(04):31-33.DOI:10.19695/j.cnki.cn12-1369.2021.04.11.
[11]刘雷.基于J2EE的智能小区物业管理系统的设计与实现[J].技术与市场,2020,27(11):61-62.
[12]卢任强. 基于微服务架构的智慧小区系统的设计与实现[D].华中科技大学,2020.DOI:10.27157/d.cnki.ghzku.2020.006728.
[13]张贵强,王美玲.基于NodeJS的企业网站的设计与实现[J].信息技术与信息化,2019(12):58-60.
[14]何锡浩,单玉刚.基于nodejs的校园智能视频监控系统设计和实现[J].电脑知识与技术,2019,15(36):198-200.DOI:10.14004/j.cnki.ckt.2019.4344.
[15]吴燎.基于HTML5+Nodejs+百度人脸识别音乐播放器的设计与实现[J].科技风,2019(19):7.DOI:10.19392/j.cnki.1671-7341.201919007.
致 谢
光阴似箭,一晃大学生活即将过去了。一直以严谨的态度和积极的热情投身于学习和工作中,虽然有竞争,也有泪水,但是通过我不断学习和奋斗不断的完善自己,不仅很好的完成了我的学业而且也让我的各方面得到了发展,取得了很大的进步。
大学的生活也即将结束,虽然也有许多的不舍,但是终究是要告别的。回想大学的学习生活,有泪水也有汗水。在此期间我严格要求自己,凭着对知识的强烈追求,刻苦钻研,勤奋好学,态度端正,目标明确,牢固的掌握了一些专业知识和技能,做到了理论联系实际。除了专业知识的学习外,我还不断的扩展我的知识面,从不同的领域以不同的方式来获得新的知识。争取成为一名各方面都很合格的大学生。
这次的毕业设计,是我独自完成周期最长,也是耗力最大的一个项目。值得庆幸的是,在我毕业设计完成的过程当中,有许多帮助我的同学和老师。在几个月的开发过程中,我遇到了大大小小无数个问题。是我的舍友和老师,不断地帮助鼓励。
我的指导老师,在自身工作十分繁忙的情况下,依然能做到及时恢复我们发去的问题邮件,并抽时间对我们进行线下的辅导。指出我们设计上的失误,逻辑错误以及产品力规划问题,可以说没有导师的帮助,我的毕设会陷入死胡同,是导师为我指点了迷津,像迷雾中的路灯,为我指明方向!
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢