SSM 方方二手房公司管理系统设计与实现
本文介绍了基于 SSM 框架与 MySQL 数据库的二手房公司管理系统的设计与实现。系统采用 Java 语言开发,前端使用 Vue.js,后端集成 Spring、SpringMVC 和 MyBatis。主要功能涵盖房源信息管理、用户权限控制、交易订单处理及数据统计分析。通过 B/S 架构实现房产中介业务的信息化管理,提升了数据处理的效率与安全性。

本文介绍了基于 SSM 框架与 MySQL 数据库的二手房公司管理系统的设计与实现。系统采用 Java 语言开发,前端使用 Vue.js,后端集成 Spring、SpringMVC 和 MyBatis。主要功能涵盖房源信息管理、用户权限控制、交易订单处理及数据统计分析。通过 B/S 架构实现房产中介业务的信息化管理,提升了数据处理的效率与安全性。

随着我国经济的不断增长,人们对所居住的环境也有很大的要求,使得我们现在的房地产一直保持着繁荣的局面。近几年,不仅新楼盘销售旺盛,二手房市场也不断升温。
二手房公司管理系统主要功能模块包括首页、公共管理(轮播图、留言板)、通知公告、资源管理(房源委托、资讯分类)、系统用户(管理员、买家用户、卖家用户、经纪人用户)、模块管理(房源分类、房屋户型、地区管理、房源委托、房源信息、预约看房、交易订单、购房合同、客户信息、数据统计)。采取面向对象的开发模式进行软件的开发和硬件的架设,能很好的满足实际使用的需求,完善了对应的软件架设以及程序编码的工作,采取 MySQL 作为后台数据的主要存储单元,采用 SSM 框架、Java 技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对二手房公司管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现二手房公司管理系统和部署运行使用它。
关键词:二手房公司管理;SSM 框架;MySQL 数据库
随着我国经济的不断增长,人们对所居住的环境也有很大的要求,使得我们现在的房地产一直保持着繁荣的局面。近几年,不仅新楼盘销售旺盛,二手房市场也不断升温。
近年来人民群众对住房的刚性需求一直处在上升趋势,政府现在又提倡保障人们群众的刚性住房需求,所以房地产行业还是很有前景的。房地产管理部门面临的工作量日益繁多,房产管理中的庞大数据量及更新速度快同传统的手工办理、纸制档案管理模式之间的矛盾已经越来越突出。如何有效地管理庞大复杂的房地产信息资源,科学地规范房地产的管理工作,已经成为房地产管理部门提高自身管理以及服务水平的关键所在。如何让房产变成公司的流动资金,是一个公司竞争中的重中之重。在现在网络飞速发展的背景下,设计二手房屋信息系统来促进房产交易也是一个很好的手段。当前形势下,仅仅靠原始的手工管理或简单的单机管理是不够的,部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。公司管理者的决策只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想在商业中实现就成为了一个可望而不可及的目标。公司集团非常急需一套既有先进管理思想又适合国内大小房地产企业的二手房屋信息系统,作为实现目标和提高现有水平的一种重要手段。二手房屋信息系统是一个房产买卖交易公司不可缺少的部分,它的执行对于公司的决策者和管理者来说是很有帮助的,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
2013 年以来,房屋价格持续上扬,大部分城市二手房屋信息价格上涨明显。随之而来国家出台了多项针对房地产行业的调控政策,希望能引导房地产市场的健康发展。而二手房屋信息行业是房地产业的重要组成部分,二手房屋信息贯穿在房地产业经济运行的全过程之中,为房地产业的生产、流通和消费提供了多元化的服务。二手房屋信息行业做为一个管理房屋信息的机构,其对信息的管理应该准确,无误。因此利用所学过的软件工程设计思想,数据库等知识设计一个二手房公司管理的软件对于提高该中介公司的工作效率变得尤为重要。
国外以及港台房地产中介服务具有悠久的发展历史,有实力的二手房屋信息公司业务范围更广,具有很强的灵活性。随着互联网的广泛应用,国外的二手房屋信息公司大都设有网站,从公司诚信为客户服务,帮你解除房屋租赁烦恼,买卖业务的经营项目,一应俱全。
使用 Excel 表格登记或者手工登记处理大量房源和客户信息是很多二手房屋信息机构目前采用的方式,或者是将前期登记好的房屋信息一一录入数据库,信息的处理是分开的,这样一方面容易发生信息错误记录,信息丢失等情况。另一方面也造成了信息的重复录入以及资源的浪费。未来二手房公司管理系统将朝着信息化之路前进,从而实现房屋交易中共享信息的功能,增加交易机会,缩短交易时间,从而满足客户和中介的需求。
此'二手房公司管理系统'的开发定位于一个能够满足数据库管理软件,即具备一个数据库管理软件的基本功能,包括数据的增加,删除,修改,查询,统计等,便于用户查看,操作,和查询房屋登记信息。同时能够提供高质量的套打及快速生成统计分析报表。此外,系统具有用户登录功能,不同用户有不同的权限,这样可以提高数据的安全性和可靠性。该系统符合各二手房屋信息公司和各地房管局规定的各项数据项上报汇总统计的要求。系统采用盟友系统开发平台和数据库相结合的手段进行开发,结构紧凑、运行速度快、操作简单,更因为拥有自己的源代码,所以保证了软件具有高度的保密、安全性。
本系统前端框架采用了比较流行的渐进式 JavaScript 框架 Vue.js。使用 Vue-Router 和 Vuex 实现动态路由和全局状态管理,Ajax 实现前后端通信,Element UI 组件库使页面快速成型。后端部分:采用 SSM 作为开发框架,同时集成 MyBatis、Redis 等相关技术。
MVVM 是 Model-View-ViewModel 的简写。它本质上就是 MVC 的改进版。MVVM 就是将其中的 View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的 WPF 带来了新的技术体验,如音频、视频、3D、动画……,这导致了软件 UI 层更加细节化、可定制化。同时,在技术层面,WPF 也带来了诸如 Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate 等新特性。MVVM(Model-View-ViewModel)框架的由来便是 MVP(Model-View-Presenter)模式与 WPF 结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有 MVP 框架并且把 WPF 的新特性糅合进去,以应对客户日益复杂的需求变化。
B/S(Browser/Server)比前身架构更为省事的架构。它借助 Web server 完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到'瘦身'效果,不需要考虑不停装软件的问题。
SSM(Spring+SpringMVC+MyBatis)框架集由 Spring、MyBatis 两个开源框架整合而成(SpringMVC 是 Spring 中的部分内容)。常作为数据源较简单的 web 项目的框架。
Spring 就像是整个项目中装配 bean 的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring 的核心思想是 IoC(控制反转),即不再需要程序员去显式地 new 一个对象,而是让 Spring 框架帮你来完成这一切。
SpringMVC 在项目中拦截用户请求,它的核心 Servlet 即 DispatcherServlet 承担中介或是前台这样的职责,将用户请求通过 HandlerMapping 去匹配 Controller,Controller 就是具体对应请求所执行的操作。SpringMVC 相当于 SSH 框架中 struts。
MyBatis 是对 JDBC 的封装,它让数据库底层操作变的透明。MyBatis 的操作都是围绕一个 sqlSessionFactory 实例展开的。MyBatis 通过配置文件关联到各实体类的 Mapper 文件,Mapper 文件中配置了每个类对数据库所需进行的 SQL 语句映射。在每次与数据库交互时,通过 sqlSessionFactory 拿到一个 sqlSession,再执行 SQL 命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

Vue.js 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
MySQL 经过多次的更新,功能层面已经非常的丰富和完善了,从 MySQL4 版本到 5 版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的 MySQL 支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的 Office 特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。
针对本文中设计的二手房公司管理系统在实际的实现过程中,最终选择 MySQL 数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的 MySQL 来对二手房公司管理系统后台数据进行存储操作。
技术性方面,采用当前主流的 SSM 框架进行系统主体框架的搭建,前台使用 Java 技术,实现前台页面的设计与美观调整,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统。从技术角度看,这个系统是完全可以实现的。
实用性方面,本次设计的主要任务是在二手房公司管理系统内首页、公共管理(轮播图、留言板)、通知公告、资源管理(房源委托、资讯分类)、系统用户(管理员、买家用户、卖家用户、经纪人用户)、模块管理(房源分类、房屋户型、地区管理、房源委托、房源信息、预约看房、交易订单、购房合同、客户信息、数据统计)等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。
经济性方面,由于本课题中设计的二手房公司管理系统的主要目的是为了能够更加方便及快捷的进行信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个二手房公司管理系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。
二手房公司管理系统的功能主要分为前台买家用户、卖家用户、经纪人用户根据自己的需求进行注册登录,浏览房屋信息并对选中的房屋进行操作。管理员主要对首页、公共管理(轮播图、留言板)、通知公告、资源管理(房源委托、资讯分类)、系统用户(管理员、买家用户、卖家用户、经纪人用户)、模块管理(房源分类、房屋户型、地区管理、房源委托、房源信息、预约看房、交易订单、购房合同、客户信息、数据统计)进行处理。
卖家用户用例图如下所示。

图 3-1 卖家用户用例图
买家用户用例图如下所示。

图 3-1 买家用户用例图
经纪人用户用例图如下所示。

图 3-1 经纪人用户用例图
管理员用例图如下所示。
图 3-2 管理员用例图
首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从 7 个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对二手房公司管理系统存在的性能、安全、扩展、完整度等 7 个方面性能综合比对分析后发现,需要相应的非功能性需求分析。
安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于二手房公司管理系统来说,必须要有很好的安全性来保障整个系统。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。
因此,在写入数据库时,要保证数据完整性、正确性和一致性。
对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。
系统顶层数据流图如下图所示。

图 3-2 顶层数据流图
本二手房公司管理系统的架构设计主要分为可以 3 层,主要有 Web 层,业务层,Model 层。其中 web 层还包括 View 层和 Controller 层,Model 层包括元数据扩展层和数据访问层。
系统架构如下图所示。

图 4-1 系统架构
二手房公司管理系统总体分为前台用户模块和后台管理员模块。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。

图 4-2 系统功能结构图
根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。
系统 ER 图如下图所示。

图 4-3 系统 ER 图
由于数据表较多,只展示系统主要数据表,如下表所示。
access_token (登陆访问时长)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | token_id | int | 10 | 0 | N | Y | 临时访问牌 ID | |
| 2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
| 3 | info | text | 65535 | 0 | Y | N | ||
| 4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认 2 小时 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
article (文章:用于内容管理系统的文章)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | article_id | mediumint | 8 | 0 | N | Y | 文章 id:[0,8388607] | |
| 2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125] 用于文章和 html 的 title 标签中 | |
| 3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000] 用来搜索指定类型的文章 |
| 4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000] 访问这篇文章的人次 |
| 5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255] 文章的出处 | |
| 9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255] 用于跳转到发布该文章的网站 | |
| 10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255] 用于标注文章所属相关内容,多个标签用空格隔开 | |
| 11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
| 12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
| 13 | description | text | 65535 | 0 | Y | N | 文章描述 |
broker_user (经纪人用户)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | broker_user_id | int | 10 | 0 | N | Y | 经纪人用户 ID | |
| 2 | name | varchar | 64 | 0 | Y | N | 姓名 | |
| 3 | gender | varchar | 64 | 0 | Y | N | 性别 | |
| 4 | number_of_transactions | varchar | 64 | 0 | Y | N | 交易次数 | |
| 5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
| 7 | user_id | int | 10 | 0 | N | N | 0 | 用户 ID |
| 8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
buyer_user (买家用户)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | buyer_user_id | int | 10 | 0 | N | Y | 买家用户 ID | |
| 2 | name | varchar | 64 | 0 | Y | N | 姓名 | |
| 3 | gender | varchar | 64 | 0 | Y | N | 性别 | |
| 4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 5 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
| 6 | user_id | int | 10 | 0 | N | N | 0 | 用户 ID |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
property_information (房源信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | property_information_id | int | 10 | 0 | N | Y | 房源信息 ID | |
| 2 | title | varchar | 64 | 0 | Y | N | 标题 | |
| 3 | property_number | varchar | 64 | 0 | Y | N | 房源编号 | |
| 4 | property_type | varchar | 64 | 0 | Y | N | 房源类型 | |
| 5 | house_type | varchar | 64 | 0 | Y | N | 房屋户型 | |
| 6 | region | varchar | 64 | 0 | Y | N | 地区 | |
| 7 | area | varchar | 64 | 0 | Y | N | 面积 | |
| 8 | address | varchar | 64 | 0 | Y | N | 地址 | |
| 9 | price | varchar | 64 | 0 | Y | N | 价格 | |
| 10 | ownership_period | varchar | 64 | 0 | Y | N | 产权年限 | |
| 11 | photo | varchar | 255 | 0 | Y | N | 照片 | |
| 12 | agent | int | 10 | 0 | Y | N | 0 | 经纪人 |
| 13 | surrounding_facilities | text | 65535 | 0 | Y | N | 周边设施 | |
| 14 | details | longtext | 2147483647 | 0 | Y | N |
user (用户账户:用于保存用户登录信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | user_id | mediumint | 8 | 0 | N | Y | 用户 ID:[0,8388607] 用户获取其他与用户相关的数据 | |
| 2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1 可用 |
| 3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767] 决定用户身份和权限 | |
| 4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
| 5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11] 用户的手机号码,用于找回密码时或登录时 | |
| 6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0 未认证 |
| 7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16] 用户登录时所用的账户名称 | |
| 8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
| 9 | password | varchar | 64 | 0 | N | N | 密码:[0,32] 用户登录所需的密码,由 6-16 位数字或英文组成 | |
| 10 | varchar | 64 | 0 | Y | N | 邮箱:[0,64] 用户的邮箱,用于找回密码时或登录时 | ||
| 11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0 未认证 |
| 12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 13 | create_time | timestamp | 19 | 0 | N | N |
该系统是通过 jdbc 和 MySQL 达成连接的,新建一个 jdbc.properties 文件来填写与数据库连接所需要的驱动和参数。
jdbc.driverClass=com.MySQL.jdbc.Driver
jdbc.url=jdbc:MySQL://localhost:3306/tsi
jdbc.username=root
jdbc.password=123
第一个参数代表 MySQL 数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。
后台与数据库访问主要是通过 HQL 语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。
如果房源信息的信息需要修改,管理员可以通过查询房源信息的基本信息来查询房源信息,查询房源信息是通过 ajax 技术来进行查询的,需要传递房源信息的标题、编号等参数然后在返回到该页面中,可以选中要修改或删除的那条信息,如果选中了超过一条数据,页面会挑一个窗口提醒只能选择一条数,如果没有选中数据会挑一个窗口题型必须选择一条数据。当选择确认修改的时候,后台会根据传过来的 id 到数据库查询,并将结果返回到修改页面中,可以在修改页面中修改刚刚选中的信息当点击确认的时候 from 表单会将修改的数据提交到后台并保存到数据库中,就是说如果提交的数据数据库中存在就修改,否则就保存。
房源信息展示界面如下图所示。
图 5-1 房源信息展示界面
房源信息管理界面如下图所示。

图 5-2 房源信息管理界面
用户便可以对房屋做出评论。点击按钮之后会跳转至评论填写页面,填写评论提交之后,后台通过 PinglunController 的 publish 方法将相关信息保存到数据库系统。
评论添加流程图如下图所示。

图 5-3 评论添加流程图
评论添加界面如下图所示。

图 5-4 评论添加界面
交易订单功能需要考虑高并发,防止出现房屋重复购买、房屋状态显示出错等情况,特对房屋这一共享数据增加锁机制。在乐观锁、悲观锁以及线程锁中,综合考虑性能效率和错误的可接受性选择了乐观锁机制。乐观锁的实现方式是使用版本标识来确定读到的数据与提交时的数据是否一致,提交后修改版本标识,不一致时可以采取丢弃和再次尝试的策略。在数据库房屋表(对应房屋实体)设计中增加了 version 字段,每次数据提交时(更改房屋状态)会判断 version 是否匹配,若不匹配停止本次提交,若匹配则提交成功并增加 version 的值。
交易订单功能整体流程:用户浏览房屋信息时,同时会显示房屋的状态,系统会在其显示详细信息的页面时便会判断房屋的状态,若房屋状态为可购买,则会显示购买的链接按钮。在用户点击购买按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写购买信息的页面,填写好购买信息之后,点击提交按钮,购买成功之后返回提示信息,告知用户购买成功。
交易订单流程图如下图所示。

图 5-5 交易订单流程图
交易订单界面如下图所示。

图 5-6 交易订单界面
购买管理界面如下图所示。

图 5-7 购买管理界面
此页面的关键是编写房屋信息,包括房屋编号,名称,详情等。单击提交按钮以完成信息的添加。如果未写入完整的房屋信息,例如,如果未写入房屋编号,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以 onsubmit ="return checkForm()"的形式写入以进行检查,checkForm() 函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过 form 表单中的 onsubmit="return checkForm()"来检查。
卖家点击上侧菜单'房源委托',页面跳转到房屋信息管理外观,调用后台房屋查询所有房屋信息。并将信息密封到数据集合 List,绑定到请求对象,然后页面跳转到相应的 jsp,显示出房屋信息,单击删除按钮完成房屋信息的删除。
房源委托流程图如下图所示。

图 5-8 房源委托流程图
房屋添加界面如下图所示。

图 5-9 房屋添加界面
房源委托界面如下图所示。

图 5-10 房源委托界面
对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会 Bug 频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表 6-1 系统登录功能测试用例
| 功能描述 | 用于系统登录 |
|---|---|
| 测试目的 | 检测登录时的合法性检查 |
| 测试数据以及操作 | 预期结果 |
| 输入的用户名和密码带有非法字符 | 提示用户名或者密码错误 |
| 输入的用户名或者密码为空 | 提示用户名或者密码错误 |
| 输入的用户名和密码不存在 | 提示用户名或者密码错误 |
| 输入正确的用户名和密码 | 登录成功 |
下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表 6-2 注册功能测试用例
| 功能描述 | 用于用户注册 |
|---|---|
| 测试目的 | 检测用户注册时的合法性检查 |
| 测试数据以及操作 | 预期结果 |
| 输入的手机号不合法 | 提示请输入正确的手机号码 |
| 输入的字段为空 | 提示必填项不能为空 |
| 输入的密码少于 6 位 | 提示密码必须为 6-12 位 |
| 输入的密码大于 12 位 | 提示密码必须为 6-12 位 |
下表是房源委托功能的测试用例,检测了房源委托中对房屋信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;用户登录系统。
表 6-4 房源委托的测试用例
| 功能描述 | 用于房源委托 |
|---|---|
| 测试目的 | 检测房源委托时的各种操作的运行情况 |
| 测试数据以及操作 | 预期结果 |
| 点击添加房屋,必填项合法输入,点击保存 | 提示添加成功 |
| 点击添加房屋,必填项输入不合法,点击保存 | 提示必填项不能为空 |
| 点击修改房屋,必填项修改为空,点击保存 | 提示必填项不能为空 |
| 点击修改房屋,必填项输入不合法,点击保存 | 提示必填项不能为空 |
| 点击删除房屋,选择房屋删除 | 提示删除成功 |
| 点击搜索房屋,输入存在的房屋名 | 查找出房屋 |
| 点击搜索房屋,输入不存在的房屋名 | 不显示房屋 |
下表是购买管理功能的测试用例,检测了购买管理中购买单的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;用户登录系统。
表 6-5 购买管理的测试用例
| 功能描述 | 用于购买管理 |
|---|---|
| 测试目的 | 检测购买管理时各种操作的情况 |
| 测试数据以及操作 | 预期结果 |
| 未选择房屋,点击提交 | 提示请选择房屋 |
| 未输入购买人,点击提交 | 提示请输入购买人 |
| 未输入时间,点击提交 | 提示请输入时间 |
使用阿里云 PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1 核心 CPU,1G 内存,1Mbps 公网带宽,Centos7.0 操作系统。
压测过程中使用了 2 台并发机器,每台机器 20 个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有 40 个用户并发时,数据管理相关页面的响应时间甚至达到了 7s,通过查看服务器出网流量发现已经达到 1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用 5Mbps 的带宽,系统的响应时间和 TPS 将会大大增加。在整个测试的过程中,CPU 的使用率占用仅 8%,也提现出带宽瓶颈对系统的影响非常严重。
随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是二手房公司管理系统为核心展开的,主要是为了实现房产中介信息化管理的需求。
二手房公司管理系统的开发是以 Java 编程语言作为基础,在 Eclipse 平台上完成编码工作,系统整体为 B/S 架构,数据库系统使用 MySQL。文中详细分析了二手房公司管理系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了二手房公司管理系统所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。整个系统的开发过程中大量使用了 Java 相关的知识以及前端开发使用的 Html 和 Javascript 等,同时涉及到了很多开源框架和组件,例如后台系统中运用的 MVVM 架构、Freemarker 模板引擎等,前端运用的 UI 框架等。
系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。
但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。
[1] 刘新宇,易蕾香,肖斌斌,赵军霞。期末在线测评系统的设计与实现 [J].现代信息科技,2020,4(02):1-3. [2] 张丽。学生德育分数管理系统的创意 [J].电脑编程技巧与维护,2020(01):92-94. [3] 陈旭创,潘远文,王肖文,程捷。基于 MVC 模式的 Web 医疗设备租赁系统应用 [J].医疗装备,2020,33(01):24-27. [4] 谢松清,张桂花。基于 MVC 的校园闲置物品置换系统设计 [J].信息与电脑 (理论版),2020,32(01):98-99. [5] 耿学。关于 JavaWeb 中中文乱码问题的探讨 [J].现代信息科技,2020,4(01):74-75+78. [6] 周灵辉,范国婷,任乐琦,韦斯羽,王妮,侯大有。企业知识库管理系统的设计与实现 [J].电脑知识与技术,2020,16(01):77-78+85. [7] 徐刚,翟梦娇。基于 ssm 的美容资讯商务网站的设计与实现 [J].商丘职业技术学院学报,2019,18(06):65-71. [8] 陈舒祥。基于 JSP 技术的德育分数管理系统设计与实现 [J].电脑编程技巧与维护,2019(12):118-120. [9] 毋世晓。基于 MVC 的 BBS 论坛创建与实现 [J].电脑编程技巧与维护,2019(12):21-23. [10] 陈学明。基于 ssm+ExtJS 的企业应用系统通用平台的设计与实现 [J].电脑知识与技术,2019,15(35):63-66+69. [11] 吴峰,范文宇,谢宏博,赵丽。基于 JSP+Servlet 的企业族谱分析 [J].计算机时代,2019(12):30-32+37. [12] 孟悦,赵诗奎。融合路径重连的混合算法求解作业车间调度问题 [J].机械工程师,2019(12):32-36+39. [13] 王晓芳,刘鹍,荆山,赵燕。基于工程教育专业认证的 JSP 应用程序设计课程改革 [J].计算机教育,2019(12):46-50. [14] 赵国文,夏平平。基于 SSM 的人事管理系统的设计与实现 [J].现代工业经济和信息化,2019,9(11):88-89. [15] 王萍。智能设备下的应用软件开发关键技术分析 [J].科学技术创新,2019(34):74-75. [16] MuhamadBahri.Analysisofthewater,energy,foodandlandnexususingthesystemarchetypes:AcasestudyintheJatiluhurreservoir,WestJava,Indonesia[J].ScienceoftheTotalEnvironment,2020,716. [17] BahriMuhamad.Analysisofthewater,energy,foodandlandnexususingthesystemarchetypes:AcasestudyintheJatiluhurreservoir,WestJava,Indonesia.[J].TheScienceofthetotalenvironment,2020,716. [18].TreeGeneticsandGenomics;StudiesfromUniversityofTsukubaYieldNewInformationaboutTreeGeneticsandGenomics(GeneticDiversityandtheOriginofCommercialPlantationofIndonesianTeakOnJavaIsland)[J].AgricultureWeek,2020. [19] FajarYulianto,Suwarsono,UdhiCaturNugroho,NunungPujiNugroho,WismuSunarmodo,MuhammadRokhisKhomarudin.Spatial-TemporalDynamicsLandUse/LandCoverChangeandFloodHazardMappingintheUpstreamCitarumWatershed,WestJava,Indonesia[J].QuaestionesGeographicae,2020,39(1). [20] RudiartoIwan,HidayaniRizqa,FisherMicah.Thebilocalmigrant:Economicdriversofmobilityacrosstherural-urbaninterfaceinCentralJava,Indonesia[J].JournalofRuralStudies,2020,74(C).
本次设计历时 3 个月。在这个毕业设计中,它离不开指导教师的指导,使事情基本顺利。指导老师无论是在毕业设计历经中,还是在论文做完中都给了了我特别大的助益。另 1 个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉。我从老师那里学到了很多东西。在理论和实践中,我的技能得到了特别大的提高。在此,特向教师表示由衷的感激。
经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展。让我对系统研发有了更深层次的认识。如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获。
最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
| 详情 |
| 15 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 16 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 17 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
| 18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| CURRENT_TIMESTAMP |
| 创建时间: |