第二章 相关技术介绍 2..1开发技术说明
本系统的前端部分是以 MVVM 模式来展开开发的,并且运用了 B/S 模式。后端部分则是基于特定的框架进行开发的。
前端框架选用了较为流行的渐进式框架 Vue.js。通过 Vue-和 Vuex 来达成动态路由以及全局状态管理,借助 Ajax 来实现前后端的通信。UI 组件库能够让页面快速成型,项目前端利用栅格布局实现了响应式,从而可以适应 PC 端、平板端、手机端等不同屏幕大小尺寸,展现出完美的布局效果。
后端部分:采用作为开发框架,同时集成等相关技术。
2.2 MVVM模式介绍
MVVM 是“View”的简写。它实际上是 MVC 的改进版本。MVVM 把其中 View 的状态和行为进行了抽象化,使我们能够将视图 UI 与业务逻辑分开。当然,这些事情已经被帮我们完成了,它能够取出数据并且帮忙处理 View 中因为需要展示内容而涉及的业务逻辑。微软的 WPF 带来了新的技术体验,其中包括音频、视频、3D、动画等。这使得软件的 UI 层更加细节化且可定制化。同时,在技术层面,WPF 带来了诸如新的布局方式、数据绑定机制、可视化树管理、渲染优化、资源管理等新特性。MVVM(-View-)框架的由来是 MVP(-View-)模式与 WPF 结合应用时发展演变而来的一种新型架构框架。它以原有 MVP 框架为基础,将 WPF 的新特性融合其中,以此来应对客户不断变得复杂的需求变化。
2.3 框架介绍
它是由高水准的编程语言驱动的开源模型和视图、控制器风格的 Web 应用程序框架,起源于开源社区。利用这种架构,程序员能便捷、快速地创建高品质、易维护且数据库驱动的应用程序。这就是其组件采用这种架构设计的主要缘由。并且,在该框架中,包含着许多功能强大的第三方插件,使其具有较强的可扩展性。项目起始于一个在线新闻的 Web 站点,在 2005 年以开源的方式被释放出来。框架的核心组件包含:
1.6.1 用于创建模型的对象关系映射;
1.6.2 为最终用户设计较好的管理界面;
1.6.3 URL 设计;
1.6.4 设计者友好的模板语言;
1.6.5 缓存系统。
发音为[`dʒæŋɡəʊ],它是用语言编写的开源 web 开发框架,名为 open web 。此框架鼓励快速开发,并且遵循 MVC 设计。它遵守 BSD 版权,在 2005 年 7 月初次发布,于 2008 年 9 月发布了第一个正式版本 1.0 。
由比利时的爵士音乐家命名,他身为吉普赛人,主要的演奏乐器是吉他,同时也演奏过小提琴等。
近年来发展迅速,应用日益广泛。它被著名 IT 开发杂志 SD 评选为 2013 SD 100,在“API、库和框架”分类中位列第 6 位,被视为该领域的佼佼者。
2.4 架构设计
它已成为 web 开发者的首选框架,此框架遵循 MVC 设计模式。MVC 是由 View 等三个单词简写而成,分别代表模型、视图、控制器。实际上它也是一个 MTV 的设计模式,MTV 由 、 、View 这三个单词简写组成,分别代表模型、模版、视图。但是在其中,框架会自行处理控制器接收用户输入的部分。因此,这里更注重的是模型、模板和视图,将其称为 MTV 模式。它们各自的职责分别如下:
层次
职责
模型(),即数据存取层
处理与数据相关的所有事务,包括如何进行存取,如何验证其有效性,包含哪些具体行为,以及数据之间的关系等。
模板(),即表现层
处理与表现相关的决定,包括如何在页面或其他类型文档中进行显示。
视图(View),即业务逻辑层
存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。
从上述表述能得知,视图不会处理用户输入,只是决定要向用户展示哪些数据,而模板仅仅决定怎样展现视图所指定的数据。也就是说,把 MVC 中的视图进一步划分成视图和模板这两个部分,各自决定“展示哪些数据”以及“如何展示”,这样模板就能够根据需求随时进行替换,而不是仅仅局限于内置的模板。
MVC 控制器部分由框架来实现。其机制是通过使用正则表达式去匹配 URL,接着调用恰当的函数。对于 URL 的规则不存在任何限制,你完全能够将其设计成任意的 URL 风格,无论是传统的那种,还是其他的,亦或是比较另类的。框架把控制层进行了封装,与数据交互这一层主要是对数据库表进行读、写、删除以及更新等操作。写程序时,调用相应方法即可,感觉十分方便。程序员将控制层的工作交给自动完成。只需编写极少的代码就能完成众多事情。因此,它比 MVC 框架考虑的问题更深入一步,因为我们程序员大多在写控制层程序。此工作交给框架后,只需编写少量调用代码,大大提升了工作效率。
2.5 工作机制
用.py 启动服务器时会载入同一目录下的.py 文件。这个文件包含了项目中的配置信息,像前面所讲的那些等。其中最为重要的配置是,它告知了哪个模块应被用作本站的,默认的是 urls.py
1.8.2.当访问url的时候,会根据的设置来装载。
然后按照顺序逐个去匹配里面的内容。如果找到了,就会调用与之相关联的视图函数,并且把对象作为第一个参数(通常情况下是这样)。
1.8.4.最后该view函数负责返回一个对象。
2.6 B/S体系工作原理
B/S架构采取浏览器请求,服务器响应的工作模式。
用户能够通过浏览器来访问由上的 Web 服务器所产生的信息,这些信息包括文本、数据、图片、动画、视频点播以及声音等。
每一个 Web 服务器都能够通过多种方式与数据库服务器相连接,众多的数据实际上是存放在数据库服务器里面的。
从 Web 服务器下载程序到本地执行,下载时若有与数据库相关的指令,Web 服务器会交给数据库服务器解释执行,然后返回给 Web 服务器,Web 服务器再返回给用户。在这种结构里,把众多网连接在一起,形成一个大网,也就是全球网。各个企业可以基于这种结构建立自己的网。
在 B/S 模式下,用户借助浏览器向分布在网络上的众多服务器发起请求并进行访问。浏览器的请求经由服务器进行处理,之后服务器会把处理结果以及相关信息反馈给浏览器。而其他的数据加工和请求工作,均由 Web 来完成。凭借该框架结构以及植入在操作系统内部的浏览器,这种结构已然成为当今软件应用的主流结构模式。
2.7 B/S体系结构介绍
B/S 结构,也就是浏览器/服务器模式,是在 WEB 兴起之后出现的一种网络结构模式。在这种模式中,WEB 浏览器是客户端最为主要的应用软件。它统一了客户端,把系统功能实现的核心部分都集中到了服务器上,这样就使得系统的开发、维护以及使用都变得更加简单了。在客户机上,只需要安装一个浏览器,比如 、Edge 或者 等;而在服务器上,则安装 SQL 、 等数据库。浏览器通过Web 同数据库进行数据交互。
第三章 系统分析 3.1 可行性分析
本系统的前端部分是以 MVVM 模式来展开开发的,并且运用了 B/S 模式。后端部分则是基于某一框架来进行开发的。总体的可行性主要包含以下三个方面。
3.1.1 技术可行性分析
所谓的技术可行性指的是在限定时间内,前期拟定的功能能否得到满足。在开发设计过程中是否会遇到无法解决的问题。做完的项目能否得到良好的应用。如果存在缺点,在后期维护上是否会存在很大的难度。对这个系统进行评估后,认定已有的技术能够达成目标。使用 JSP 技术能够实现动态的页面,将低依赖性的设计模式嵌入其中,同时搭配灵活的数据库,再配合稳定的服务器,这样一来,整个系统的运行效率得到了极大的提升。由此可以看出,在技术层面达成目标并非是不切实际的想法。
3.1.2经济可行性分析
项目使用的工具大多是当下流行且开源免费的。在开发前期,用于项目的经费会因工具的开源免费而大大降低,这样不会使开发该软件在项目启动期受到经费的影响,所以在经济上是可行的。可以用最少的花费满足用户需求,省下的经费可用于人工费和设备费用,从而能在无纸化、高效率的道路上持续前行。
3.1.3操作可行性分析
本系统实现功能的操作较为简便,普通电脑的常见配置便能运行本软件。只要对电脑使用有基本常识,就能流畅使用本软件。电脑具备连接互联网的能力且能正常访问系统,操作者无需具备高超能力,只需了解业务流程并按专业知识正确操作,所以房屋租赁管理网站具备操作可行性。
3.2 功能需求分析
在进行系统开发设计之前,需要对功能进行初步的设想。要明确这个管理系统包含哪些板块,每个板块又具备哪些功能,同时判断整体的设计能否满足使用者的需求。随后,要对所开发的系统功能进行详细的分析和总结,以此来设计出完整的系统并将其实现。通过用户和开发人员的交流分析,让双方达到最佳的理解程度,进而使系统功能达到最佳状态。
用户用例图如下所示。
图3-1 租客用例图
管理员用例图如下所示。
图3-1 管理员用例图
房东用例图如下所示。
房屋租赁系统在对需求进行解析之后,整个系统主要由两个部分构成:其一为管理员,其二为房东和用户。并且在每个模块之下,其分支功能各不相同。以下对功能作出如下说明:
租客模块:
账号注册。
账号登录认证。
管理个人资料信息,修改可修改的信息项。
房屋租赁,同时查看历史已租赁的记录。
房屋信息,同时查看历史房屋信息浏览的记录。
预约看房,填写预约信息提交系统等待房东审核。
房屋租赁,具体房屋信息,申请租赁提交等系统审核。
退房登记,填写退房原因,提交申请信息。
房东模块:
房屋信息发布,具体发布自己房屋的信息。
预约看房处理,处理租客提交的预约申请。
租赁合同,合同细则等。
退房登记,查看租客的退房信息等。
管理员模块:
对用户留下的评论数据进行维护,删除违规评论。
维护用户留下的留言数据,把违规留言删除掉,还可以给用户回复他们想要的留言。
维护用户以及房东资料,审核用户以及房东的账号。
可以发布房屋资讯,能够销毁某个房屋,还可以更新房屋数据,并且能够搜索房屋数据。
发布公告,搜索可以租赁房屋的数据等。
管理房屋租赁数据。
管理房东的租赁合同。
地区管理,房屋地区信息维护管理。
退房登记,维护租客的退房登记数据。
工作时间:8:00-18:00
电子邮件
扫码二维码
获取最新动态