物业管理系统论文 | 您所在的位置:网站首页 › 物业财务论文 › 物业管理系统论文 |
源码下载 http://www.byamd.xyz/hui-zong-1/
内容摘要
近年来,随着网络技术的迅猛发展,高速流通的时代,计算机的普及以及计算机网络技术的应用,让大量普通人能够有机会接触到比以往更多的知识。作为一个以传播知识为主要职能的机构——学校,建立一个网校管理系统是十分必要的事情,这不仅能使更多的人享用宝贵的教育资料源,同时也对于提升学校自身的知名度,提高学生自学能力,有相当大的帮助。 随着互联网技术的飞速发展,利用网络进行辅助教学已经成为时代发展的必然趋势,建立网校管理系统,尽可能提高优质教学的利用率,对实现人才培养,促进社会经济发展都能起到十分重要的作用。也可以引导用户主动年该学习,提高学习效率,更为教学双方提供一个信息共享与信息交流的平台。 针对以上问题,前台主要使用JavaScript作为开发语言,后台使用MySQL作为数据库管理系统,设计开发了物业管理系统。 关键词: 物业管理,WEB,数据库,vue 一、绪论 (一)选题背景简介随着互联网技术的飞速发展,利用网络进行辅助教学已经成为时代发展的必然趋势,建立网校管理系统,尽可能提高优质教学的利用率,对实现人才培养,促进社会经济发展都能起到十分重要的作用。也可以引导用户主动年该学习,提高学习效率,更为教学双方提供一个进行写作学习和交流的平台。 人口多而教育资源缺乏影响着我国受过高等教育的人在人口比例中所占的比重,这严重的制约了我国社会的发展与进步,这对于提高我国国民的文化科学素养十分不利。怎样才能让更多的人享有少部分人拥有的精品教育资源呢?对于这个问题,前人已经做了大量的研究。随着计算机技术以及计算机网络技术的飞速发展,人们终于找到了一条实现这种梦想的捷径,那就是寄希望于把各种教育资源移置到互联网上去,使得各地方的人都能够方便的获取到各种自己想要的知识,打破传统教育资源分配不均的限制,使得更多的人能够有机会获取到知识。 近年来,学校学生的数量逐渐增加,人工书写教学的方式已经不能满足如此庞大的数据。为了更好的适应信息时代的高效性,一个利用计算机来实现网校管理工作的系统将必然诞生。基于这一点,设计了一个网校管理系统以便在最短的时间内,高效准确的完成整个教学过程。 (二)目的和意义与传统的教育相比,网校管理系统是一种全新的教育模式,它可以突破时间和空间的限制,让更多的学习者共享优秀的教育资源。网校管理系统既具有开放性、交互性、协作性和自主性等特点,有具有异步性、实时性、生动性、集成性和大容量等优势。因此在网校管理系统的建设中,单纯地构建各种功能单一的系统并不能完全满足网校管理系统建设的要求,只有那些对数据和信息进行有效组织,整合了多种业务,为用户提供个性化服务的系统才能充分地发挥网校管理系统的作用。 建设网校管理系统的根本目的是利用现代化的教育信息技术手段将网校管理系统的相关内容上网并免费开放,以实现优质教学资源共享,提高高等学校教学质量和人才培养质量。 二 技术简介 (一) HTML5技术简介HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准。HTML 的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。 (二)ES6简介ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,于2015年6月批准通过。ECMAScript6的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。让代码更加准确,更易于阅读。 ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现(ES是规范,JS是实现)。在日常场合,这两个词是可以互换的。 (三)Vue-cli 3.0Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统 (四)Koa2Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。 (五)VuexVuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。 (六)iViewiView 是一套基于 Vue.js 的开源 UI 组件库,主要服务于 PC 界面的中后台产品。 (七)MySQLMysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 在本教程中,会让大家快速掌握Mysql的基本知识,并轻松使用Mysql数据库。 (八)NavicatNavicat 是一套能帮助你快速直观地构建精确模型的图形化工具,使各个层面的用户都能轻松地创建高品质的数据模型。它能为专业人士提供适合其特殊需要的复杂功能,但是对数据模型的新手来说又相当容易上手。 创建一个优良的数据模型可以是很困难的。我们将一切保持简单方便,让你专注于你的数据库设计,而不会令得它变得更复杂。 为了让你无需花费时间学习,便能对你的模型有一个简单而精确的了解,Navicat 拥有难以置信的迅速反应和简洁美观的设计,大大增强了其性能和可用性。 再加上准确的字段类型预测功能和无限次的撤消或重做功能,它就能减省开发所需的时间并提供一个快捷高效的方式来创建和编辑你的表或视图结构。 无论你是想从一个数据模型创建新的数据库,或者从现有数据库导入数据模型。Navicat Data Modeler 就是你所需要的工具。 (九)VScodeVisual Studio Code(以下简称vscode)是一个轻量且强大的代码编辑器,支持Windows,OS X和Linux。内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来支持C++、C#、Python、PHP等其他语言。 据vscode的作者介绍,这款产品可能是微软第一款支持Linux的产品。 微软对于vscode的定位如下图,位于编辑器与IDE之间,但是更像一个编辑器。有人说是披着编辑器外衣的IDE,我觉得是披着IDE外衣的编辑器。 深入了解了vscode之后发现了vscode很贴心地内置了很多功能,让我觉得我可以很快适应到vscode的使用。 三、系统概要设计系统的设计主要前台和后台两个部分 前台客户端是展现给用户的,包括登录注册、查看个人房间信息、查看家庭报修信息、报修故障、撤销报修、在线缴费、查看家庭成员、审核家庭成员、删除家庭成员、查看与编辑个人信息。 后台管理端是物业管理人员使用的,包括管理员登入与登出、修改个人信息、查看与筛选房间信息、新增业主、 系统需求分析物业管理端 1. 登录/登出 2. 房间管理 (1) 为房间添加业主信息 (2) 条件筛选房间 3. 业主管理 (1) 编辑/删除业主信息 (2) 编辑/删除家庭成员信息 4. 报修管理 (1) 查看报修列表 (2) 报修状态筛选 (3) 查看具体报修内容 (4) 更改报修进度:已联系、已派修、已维修(更改为已维修时录入维修费用)、已缴费 5. 零件管理 (1) 对零件增删改查,出库 (2) 对零件类型增删改查 6. 管理员管理 (1) 新增/查看管理员 业主端 1. 登录/登出(判断是否为业主,若为业主添加审核家庭成员权限) 2. 注册(注册成功后须业主审核后才可登录) 3. 修改个人信息 4. 业主查看家庭报修列表 5. 普通用户查看个人报修列表 6. 支付维修费用 (二)可行性分析这里讲的可行性分析的任务是从技术上、经济上分析需解决的问题是否存在可行性。其目的是在尽可能短的时间内用尽可能小的代价确定问题是否有解。 1.技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。 本系统前端设计主要由Vue.js实现,vue 的开发体验是非常令人感到愉悦的。Vue在数据交互,组件化开发方面有非常大的优势,每个组件都是一个.vue文件,可以把页面拆成很多组件,方便开发与维护,使用时只需引入组件即可,通过vue-router实现路由跳转,可以很容易地创建单页面应用程序,只需要把vue-router添加到vue工程中,将组件(components)映射到路由(routes),然后告诉 vue-router 在哪里渲染它们。 本系统数据库使用的MySQL,MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的关系型数据库,轻量、开源、简便易用,使用Navicat Premium 12做数据库图形化管理更高效率进行前后端开发 2.经济可行性如今是信息化时代,信息化管理可以使物业的管理工作更加系统化、快速化、全面化。这样可以为社会带来较高的工作效益和经济效益,本系统对计算机配置的要求不高,普通私人电脑都可以完全满足需要,本系统作为一个设计,其开发目的是为巩固所学知识,无需开发经费,因此在经济上也是可行的。 综上所述,本系统的开发目标已经明确,且在技术和经济上都是可行的,因此系统的开发是完全可行的。 3.操作可行性该系统如投入使用,预期作到界面友好,管理方便,使用简单,管理人员经过培训,也是完全能够使用本系统管理相关信息的。 综上所述,本系统的开发目标已经明确,且在技术和经济上都是可行的,因此系统的开发是完全可行的。 (五) 网站模型 (六)Server端模型请求数据库操作 数据库 请求数据 Koa服务器 客户端 返回数据 返回数据库操作结果 图3.1系统基本结构 利用Koa服务器,用于连接客户端和数据库服务器。对于客户端发出的需要对数据库进行访问的请求,Koa服务器负责客户端与数据库服务器的网络通信,并将相关数据嵌入返回给客户端的页面;对于客户端发出的不需要对数据库进行访问的请求,Koa服务器将直接处理这些请求,并将最终生成的数据发往客户端浏览器。 四、数据库设计 (一)数据概念结构设计E-R模型是数据进行第一层抽象的表示方法。它的主要成分包括:实体、联系和属性。我们可以用E-R图将内容表达出来,辅助设计的实现[6]。 (二)数据库关系设计该网络学校系统数据库关系图如下所示: 图4.14数据库前端关系 图4.15数据库后台关系图 (三)数据字典 字段类型主键允许空值备注idint(11)P否自动递增namevarchar(255)否passwordvarchar(255)否roleint(1)否1:超级管理员 2:管理员isDelint(1)否默认0管理员表(admin_user) 字段类型主键允许空值备注idint(11)P否自动递增tokenvarchar(255)否deadlinebigint(13)否时间戳admin_idint(11)否管理员token表(admin_token) 字段类型主键允许空值备注idint(11)P否自动递增namevarchar(255)否nick_namevarchar(255)是passwordvarchar(255)否sexint(1)否0:男 1:女room_idint(11)roleint(1)否0:未审核 1:家庭成员 2:业主isDelint(1)否默认0telvarchar(255)用户表(user) 字段类型主键允许空值备注idint(11)P否自动递增tokenvarchar(255)否deadlinebigint(13)否时间戳user_idint(11)否用户token表(user_token) 字段类型主键允许空值备注idint(11)P否自动递增titlevarchar(255)否statusint(1)否0:已撤消 1:已报修 2:已联系 3:已派修 4:已维修 5:已缴费phototext是JSON字符串pricefloat(10, 2)是user_idint(11)否create_timevarchar(13)否创建时间的时间戳appointment_timevarchar(13)否派修时间的时间戳pay_timevarchar(13)否支付时间的时间戳报修表(repair_list) 字段类型主键允许空值备注idint(11)P否自动递增room_numvarchar(255)否buildingvarchar(255)否areafloat(255, 0)否房间表(room) 字段类型主键允许空值备注idint(11)P否自动递增part_namevarchar(255)否pricefloat(10, 2)否type_idint(11)否isDelint(11)否默认0countint(11)否零件表(part) 字段类型主键允许空值备注idint(11)P否自动递增type_namevarchar(255)否isDelint(11)否默认0零件类型表(part_type) 字段类型主键允许空值备注idint(11)P否自动递增repair_idint(11)否part_idint(11)否countint(11)零件出库表(part_order) 五、 前端部分 (一)管理端部分 1. 登录部分登录页面 用户输入用户名密码,密码使用md5加密,点击登录向后台发送,若匹配失败,返回’用户名或密码错误’并弹出提示消息;若匹配成功,向前端返回一个token令牌,前端储存在cookie中,并弹出登录成功的提示,后跳转入main路由。 登录成功后,进入main路由,此时将cookie中的token取出并发送给后台,后台匹配token是否存在且未过期(七天),若匹配失败,则跳转回login路由;若成功,则将用户信息发送至前端,前端将信息存在vuex的state中。 当用户点击退出登录时,清除cookie中的token并跳转回login路由。 2. 管理员个人信息个人信息页面显示管理员的用户名、角色、密码,点击密码显示修改密码对话框 若要修改密码,需要在原密码处输入正确密码并点击验证,验证通过后,可在后两个输入框中输入新密码 重置密码部分均做了正则表达式校验 3. 房间管理房间管理页面获取管辖内所有房间数据,可根据楼号进行筛选 每个房间显示对应的业主和电话号码,没有业主的房间可点击新增按钮新增业主 新增业主处也均做了正则表达式的表单校验 4. 业主管理业主管理可以查看辖区内所有业主信息,并做了分页处理,减少浏览器和服务器压力 删除业主时,会联动删除此业主所在家庭的所有家庭成员 5. 家庭成员管理家庭成员管理中可以查看所有家庭成员,并可将某一普通家庭成员设置为业主,同时原业主将变为家庭成员 5. 报修管理报修管理部分,可以通过关键词检索标题搜索对应数据 由于该部分字段过多,这里将报修编号和标题这两列固定,方便查看表格内容 可以根据不同的状态对数据进行筛选 可以根据创建时间、派修时间、支付时间对数据进行排序 点击图片按钮可以查看报修照片 点击后面操作按钮,可以将报修流程进行至下一步,状态为已撤销、已维修与已缴费时无法点击,状态为已报修时,点击变为已维修须输入报价 当前端用户支付成功后,此处可以显示支付时间 6. 零件类型管理此处编辑,新增,删除零件类型 新增与编辑时须输入类型名称 删除类型时,会联动删除类型下所有零件 7. 零件管理此处显示零件列表,可根据单价与剩余量排序,可根据类型筛选。 可编辑,新增与删除,并在获取列表时做了分页处理。 点击出库,可对库存不为0的零件进行出库,输入标题关键字选择为哪个报修进行出库。 由于零件的消耗量不与报修成绝对关系,在此处做手动出库处理。 8. 管理员管理此处可对管理员进行增删改,仅有超级管理员可进入此路由,并且只可编辑与删除普通管理员 而普通管理员是看不到此tab页的,若在url上输入此路由地址,则跳转入401页面 9. 404当用户访问不存在的页面时,跳转入404 no found页面 客户端部分客户端部分为H5应用通过Hbuilder打包成的APP应用 登录点击登录按钮匹配数据库,若匹配失败,返回用户名或密码错误,若成功,返回token令牌,将token存入cookie并跳转入main路由,之后将token发送至后台验证是否有效,若无效则跳转入login,若有效,则返回用户信息并在页面回显 注册用户注册页面,选项均做了表单校验,用户名、密码与手机号做了正则表达式的校验,刚刚注册的用户在后台存角色为0,只有当选择房间的业主审核后才可变为1(家庭成员) 房屋信息进入此路由页,请求当前用户所在的room信息,返回后回显到页面 报修信息此路由页显示报修列表,做了分页处理,每页10条数据,当滚动到底部时会自动加载下一页的数据,若报修未上传照片,则会用默认照片替代。 输入标题,可选择是否上传照片,提交后,将图片转为base64代码发送给后台,后台重命名处理存为png文件后,将地址发送至前端,前端将图片地址与标题发送给后台并存库。 点击缴费,会提示是否进行缴费,点击确认,此处可添加支付宝与微信的接口,跳转入对应应用,支付成功后回调,发送支付成功的请求,完成缴费 上部搜索框可以进行关键字检索,搜索无结果时会显示无数据页面 家庭成员信息这里可以查看家庭成员列表,后面显示家庭成员的角色,点击他人信息进入详情,点击自己信息进入个人信息tab页 点击用户可以查看用户详情,业主可删除其他家庭成员,而普通家庭成员无此权限 业主可审核新注册的用户,通过审核的用户会变为当前家庭的家庭成员 个人信息此处可以编辑个人信息,仅可直接修改昵称及手机号,点击右上角更改按钮提交更改 修改密码须输入原密码,验证通过后输入新密码 六、后台部分 (一)路由RESTful架构遵循统一接口原则,访问同一资源时均使用相同路由,根据不同请求方式进行数据操作。 使用koa-router中间件对路由进行处理。 (二) 数据库操作首先根据配置文件(数据库用户名、端口号、密码等)建立数据库连接池 连接池创建好后,当请求发送至后台,为这一请求建立数据库连接成功后,进行数据库操作,再将结果返回出去,之后释放资源,断开连接。 跨域跨域是前后端联调开发中经常会遇到的问题,由于浏览器有同源策略,用来防止CSRF攻击,当前端发出请求的时候,请求的协议名,地址,端口号与当前的有一个不同,就会引发浏览器拒绝跨域请求,解决跨域问题的方法有很多,比如jsonp,服务器代理,document.domain + iframe等等方式解决跨域问题,我选择了在服务端,允许前端跨域发出PUT, POST, GET, DELETE, OPTIONS请求,成功地解决了ajax跨域问题 koa2中提供了cors中间件,允许接受跨域请求,直接use即可。 图片处理首先使用nodejs中的os.networkInterfaces()获取到网络(Windows系统中为WLAN,MAC中为en0),将本机ip+3000端口号作为主机名。 在接收到前端传的base64图片后,先将url的头过滤掉,将其转换为buffer对象,使用随机字符串算法进行重命名,保证存储中不会有重名文件,再将其写入文件,将路径发送至前端。 结论1) 系统的特点 本系统是一个网校管理系统,采用ASP.NET+SQL的模式来开发。本系统从功能上来说,比较完备。系统以Web界面与用户交互,为用户提供信息并接受其操作,同时通过数据库管理系统来存储信息数据。系统实现了对信息数据的浏览、查询、编辑和管理等基本数据库操作,系统采用了模块化设计方法,根据用户的需求及程序的应用与维护的易用性,将各个部分置于不同的模块当中,方便了程序的扩展与维护,同时建立了程序功能复用的基础。 2) 系统的不足和改进 本系统基本上满足了网校管理系统关于信息管理方面的需要。实现了网校管理系统所需的功能。在界面上力求做到美观、在操作方面尽量避免由于用户操作不当带来系统的出错现象。但由于时间仓促,本系统还存在一些不足之处,界面不够美观,需要进一步修饰和美化;对数据库操作的性能有待进一步优化,虽然本系统优化了不少,但要达到理想状态还有一段距离,如部分功能程序代码过长,如果后台数据库过大将会影响运行速度;部分数据库表的设计存在一定的冗余,有待进一步优化。根据系统的不足,继续改进和完善本系统。提高审美观点,可使用photoshop、fireworks等图片处理工具修饰图片,力求给用户提供美观友好的界面;简化程序代码,可使不同界面之间能共享一些方法、函数和变量,对于相同的功能模块可生成程序包供其它界面引用,这样就会提高系统的运行速度;使用数据库连接池技术提高数据库操作的性能;数据库的关系模式可以进一步规范化,减少冗余现象。 3) 设计收获与心得 毕业设计是最能体现我们所学知识的时候,是对我们大学四年所学理论知识的一次巩固和提高。设计本系统的过程不仅是对我学过的知识的一次应用,更是对我综合处理问题、解决实际问题能力的培养和锻炼。通过本次毕业设计使我对系统开发有了深入的了解,我的编程能力也有了较大的提高。我在设计过程中也遇到了很多困难,但是通过指导老师和同学的帮助以及自己的努力,最终还是顺利地完成了毕业设计。 虽然,毕业设计只有短暂的几个月,但却使我充分认识到自身还存在很多不足的地方,还需要不断的努力来充实自己、完善自己,只有这样才能学无止境,以求得更大的发展。 参 考 文 献[1] Jeff Atwood, 《The Principle of Least Power》 ,2007年7月17日。 [2] [3] [4] [5] 致 谢首先非常感谢老师能给我一次重新学习开发工具的机会,也感谢老师的指导和鼓励!给了我更快更好地完成设计任务以无穷的动力,使我通过这次论文的设计,才真正感受到了这几年学习生涯中最大的收获。在此次论文的设计中,我阅读了大量有关ASP.NET以及SQL-Server相关的书籍。从开题的论证到软件系统功能的实现,直至最后的论文撰写,整个过程使我逐渐学到了很多,受益匪浅。 经过将近四个月的学习、设计和开发,系统基本开发完成。有些时候会出现很多问题,在老师与同学们的帮助下,已逐步完善。但是该系统还有许多不尽如人意的地方,如用户界面不够美观,系统缺乏防病毒侵袭功能,用户登录安全性验证不很完善等多方面问题。这些都有待进一步改善。 在即将结束的大学生活之际,我要感谢某某系的老师们。从他们身上我学到了许多宝贵的知识和做人的道理。他们在学业上对我的悉心指导,以及孜孜不倦、严谨细致的科研态度,更令我受益非浅。 同时还要感谢某某系的领导对我的培养和支持,是他们为我提供了良好的学习环境和机会。 再次感谢所有给予我帮助和支持的人们,最后,向各位评审的老师们致意。我会继续学习,不断提升! 感谢各位专家和评委耐心审阅我的论文,他们提出了许多宝贵的意见和建议。 恳请老师不吝赐教、批评指正! |
CopyRight 2018-2019 实验室设备网 版权所有 |