摘 要
如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统二手车交易信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个二手车交易系统,可以解决许多问题。
二手车交易系统可以实现汽车管理,汽车留言管理,汽车收藏管理,汽车品牌管理,公告类型管理,论坛管理,商家管理,用户管理等功能。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。
二手车交易系统可以提高二手车交易信息管理问题的解决效率,优化二手车交易信息处理流程,保证二手车交易信息数据的安全,它是一个非常可靠,非常安全的应用程序。
****关键词:****二手车交易系统;Mysql数据库;Java语言
目 录
[摘 要](#摘 要)
[第1章 绪论](#第1章 绪论)
[1.1 课题背景](#1.1 课题背景)
[1.2 课题意义](#1.2 课题意义)
[1.3 研究内容](#1.3 研究内容)
[第2章 开发环境与技术](#第2章 开发环境与技术)
[2.1 Java语言](#2.1 Java语言)
[2.2 MYSQL数据库](#2.2 MYSQL数据库)
[2.3 IDEA开发工具](#2.3 IDEA开发工具)
[2.4 Spring Boot框架](#2.4 Spring Boot框架)
[第3章 系统分析](#第3章 系统分析)
[3.1 可行性分析](#3.1 可行性分析)
[3.1.1 技术可行性](#3.1.1 技术可行性)
[3.1.2 经济可行性](#3.1.2 经济可行性)
[3.1.3 操作可行性](#3.1.3 操作可行性)
[3.2 系统流程](#3.2 系统流程)
[3.2.1 操作流程](#3.2.1 操作流程)
[3.2.2 登录流程](#3.2.2 登录流程)
[3.2.3 删除信息流程](#3.2.3 删除信息流程)
[3.2.4 添加信息流程](#3.2.4 添加信息流程)
[3.3 性能需求](#3.3 性能需求)
[3.4 功能需求](#3.4 功能需求)
[第4章 系统设计](#第4章 系统设计)
[4.1 系统设计思想](#4.1 系统设计思想)
[4.2 功能结构设计](#4.2 功能结构设计)
[4.3 数据库设计](#4.3 数据库设计)
[4.3.1 数据库概念设计](#4.3.1 数据库概念设计)
[4.3.2 数据库物理设计](#4.3.2 数据库物理设计)
[第5章 系统实现](#第5章 系统实现)
[5.1 管理员功能实现](#5.1 管理员功能实现)
[5.1.1 商家管理](#5.1.1 商家管理)
[5.1.2 公告信息管理](#5.1.2 公告信息管理)
[5.1.3 论坛管理](#5.1.3 论坛管理)
[5.2 商家功能实现](#5.2 商家功能实现)
[5.2.1 汽车管理](#5.2.1 汽车管理)
[5.2.2 汽车留言管理](#5.2.2 汽车留言管理)
[5.2.3 论坛管理](#5.2.3 论坛管理)
[5.3 用户功能实现](#5.3 用户功能实现)
[5.3.1 汽车信息](#5.3.1 汽车信息)
[5.3.2 在线论坛](#5.3.2 在线论坛)
[5.3.3 公告信息](#5.3.3 公告信息)
[第6章 系统测试](#第6章 系统测试)
[6.1 功能测试](#6.1 功能测试)
[6.1.1 登录功能测试](#6.1.1 登录功能测试)
[6.1.2 修改密码功能测试](#6.1.2 修改密码功能测试)
[6.2 系统测试结果](#6.2 系统测试结果)
[结 论](#结 论)
[致 谢](#致 谢)
第 1 章 绪论
1.1 课题 背景
二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域的鸿沟,信息的传播速度极慢,信息处理的速度和要求还是通过人们骑马或者是信鸽传递,这些信息传递都是不可控制的,中间很有可能丢失,信息的传递水平决定了人们生活的水平。如今大家都在使用互联网软件产品,从内部管理设置计算机管理,提高内部信息化的管理水准,从外部市场也可以用计算机获取相关数据进行处理,如今各行各业已经严重依赖于计算机了。
本课题研究和开发二手车交易系统,让安装在计算机上的该系统变成管理人员的小帮手,提高二手车交易信息处理速度,规范二手车交易信息处理流程,让管理人员的产出效益更高。
第 4 章 系统设计
用户对着浏览器操作,肯定会出现某些不可预料的问题,但是不代表着系统对于用户在浏览器上的操作不进行处理,所以说,要提前考虑可能会出现的问题。
4.1 系统设计思想
系统设计,肯定要把设计的思想进行统一,只有统一的思想才能指导程序的开发,并且可以让众多的程序开发人员更快速的进入状态,提高开发速度。根据当前系统的既定需求,下面将进行本系统设计思想的阐述。
(1)扩展性:开发任何一个系统的时候不可避免要考虑这个问题。软件版本的更迭是一种常识,任何一个软件都不会一次性开发就成永恒,软件是一个不断成长的东西。所以考虑问题的时候需要对当前问题进行数据上的扩大化,然后进行归纳整理,最终形成具有一定扩展性的程序。程序的可扩展性必然会影响开发进度,所以最终需要综合评估程序的可扩展程度,进而有的放矢,循序开发。
(2)实用性:程序设计是一个先高屋建瓴式的设想,然后再具体化,实用性就是具体化的第一个步骤,要充分考虑使用者是不懂程序设计的这一点,使用者只是懂得常规性的上网操作步骤,并不需要对程序进行理解,所以一定要让使用者感觉到便利,感觉到实用性的存在,如果使用者使用程序过程中没发现使用程序的好处,那么程序设计的实用性将大大降低。
(3)安全性:当使用者使用的过程中,会产生大量的相关数据,这些数据必须有安全性的保证,否则当使用者发现数据出现问题的原因是程序设计问题的时候,将会对程序开发者失去信任,甚至可能会产生大量的费用赔偿问题,这是一个不可避免的问题。所以安全性关系开发与使用者双方的经济利益,程序的安全性是一定要保证的。
(4)先进性:程序设计的先进性是开发者进行考虑的,必须要在满足系统功能的前提下,必须要选择好当下最合适的技术。最合适的技术要从开发成本,使用成本以及维护成本里面综合分析,经过综合分析后要让技术实现最优解,保持先进的技术生产力。
(5)维护性:程序开发之初就要考虑以后的维护问题。维护是在程序开发完毕,已经上线可以运作,进入生产试用过程和使用过程中才会发现需要维护的必要。要通过各方面降低维护成本,不是说维护的越少就代表程序开发的越完美,程序既然是人类进行设计制造的,肯定有很多不可避免的问题产生,那么如何维护好程序的正常运作也是一门很重要的学问。
4. 2 功能 结构设计
图4.1即为设计的管理员功能结构,管理员权限操作的功能包括增删改查商家,用户,公告,管理论坛信息,管理汽车和汽车留言以及汽车收藏信息等。

图4.2即为设计的商家功能结构,商家权限操作的功能包括新增汽车,上架汽车,下架汽车,回复汽车留言,管理汽车收藏,管理论坛信息。
图4.3即为设计的用户功能结构,用户权限操作的功能包括收藏汽车,发布关于汽车的留言,查看汽车的介绍信息,通过论坛进行信息讨论与交流,查看公告等。

4. 3 .2 数据库物理设计
本小节主要任务即是根据上述内容进行数据存储结构的设计,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,还不容易导致系统出错。接下来就对设计的表进行简单说明。
表4.1 汽车表
|--------------------|------|---------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| shangjia_id | 商家 | int(11) | 是 |
| cheliang_name | 汽车名称 | varchar(200) | 是 |
| cheliang_photo | 汽车照片 | varchar(200) | 是 |
| cheliang_types | 汽车品牌 | int(11) | 是 |
| cheliang_new_money | 价格 | decimal(10,2) | 是 |
| cheliang_clicknum | 点击次数 | int(11) | 是 |
| zan_number | 赞 | int(11) | 是 |
| cai_number | 踩 | int(11) | 是 |
| cheliang_content | 汽车介绍 | text | 是 |
| shangxia_types | 是否上架 | int(11) | 是 |
| cheliang_delete | 逻辑删除 | int(11) | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.2 汽车收藏表
|---------------------------|------|-----------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| cheliang_id | 汽车 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| cheliang_collection_types | 类型 | int(11) | 是 |
| insert_time | 收藏时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.3 汽车留言表
|----------------------|------|-----------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| cheliang_id | 汽车 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| cheliang_liuyan_text | 留言内容 | text | 是 |
| insert_time | 留言时间 | timestamp | 是 |
| reply_text | 回复内容 | text | 是 |
| update_time | 回复时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.4 论坛表
|-------------------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| forum_name | 帖子标题 | varchar(200) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| shangjia_id | 商家 | int(11) | 是 |
| users_id | 管理员 | int(11) | 是 |
| forum_content | 发布内容 | text | 是 |
| super_ids | 父id | int(11) | 是 |
| forum_state_types | 帖子状态 | int(11) | 是 |
| insert_time | 发帖时间 | timestamp | 是 |
| update_time | 修改时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.5 公告信息表
|--------------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| news_name | 公告标题 | varchar(200) | 是 |
| news_types | 公告类型 | int(11) | 是 |
| news_photo | 公告图片 | varchar(200) | 是 |
| insert_time | 添加时间 | timestamp | 是 |
| news_content | 公告详情 | text | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.6 商家表
|------------------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| username | 账户 | varchar(200) | 是 |
| password | 密码 | varchar(200) | 是 |
| shangjia_name | 商家名称 | varchar(200) | 是 |
| shangjia_phone | 联系方式 | varchar(200) | 是 |
| shangjia_email | 邮箱 | varchar(200) | 是 |
| shangjia_content | 商家简介 | text | 是 |
| shangjia_delete | 逻辑删除 | int(11) | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.7 管理员表
|----------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | bigint(20) | 否 |
| username | 用户名 | varchar(100) | 否 |
| password | 密码 | varchar(100) | 否 |
| role | 角色 | varchar(100) | 是 |
| addtime | 新增时间 | timestamp | 否 |
表4.8 用户表
|------------------|--------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| username | 账户 | varchar(200) | 是 |
| password | 密码 | varchar(200) | 是 |
| yonghu_name | 用户姓名 | varchar(200) | 是 |
| yonghu_phone | 用户手机号 | varchar(200) | 是 |
| yonghu_id_number | 用户身份证号 | varchar(200) | 是 |
| yonghu_photo | 用户头像 | varchar(200) | 是 |
| sex_types | 性别 | int(11) | 是 |
| yonghu_email | 电子邮箱 | varchar(200) | 是 |
| create_time | 创建时间 | timestamp | 是 |
5.1.1 商家管理
图5.1 即为编码实现的商家管理界面,商家信息包括联系方式,邮箱,商家名称等信息。管理可以使用修改功能对登记有误的商家信息进行修改,可以删除需要删除的商家信息等。

5.1.2 公告信息管理
图5.2 即为编码实现的公告信息管理界面,公告信息包括公告内容,图片等信息。管理可以使用修改功能对登记有误的公告信息进行修改,可以删除需要删除的公告信息等。

5.1.3 论坛管理
图5.3 即为编码实现的论坛管理界面,论坛信息包括帖子标题,内容,发帖时间等信息,管理员可以删除需要删除的帖子信息,可以查看帖子的回复信息,可以修改帖子等。

5.2.1 汽车管理
图5.4 即为编码实现的汽车管理界面,汽车信息包括价格,汽车照片等信息,商家可以新增汽车信息,可以下架汽车,上架汽车以及删除需要删除的汽车信息等。

5.2.2 汽车留言管理
图5.5 即为编码实现的汽车留言管理界面,汽车留言内容是用户发布的信息,而汽车的回复内容是商家的回复信息。

5.2.3 论坛管理
图5.6 即为编码实现的论坛管理界面,商家也能通过论坛管理功能新增帖子,跟踪发布的帖子,比如随时查看帖子的评论,以及查看帖子的详情等。

结 论
由于本人学习的是计算机方面的专业,学习了一定的开发知识,因此,对于开发一款已经确定了课题的二手车交易系统,从功能需求,功能模块划分,数据库的选择与设计,编程语言的确定,系统界面的布局和设计等知识,我都有个大致的思路。我运用已经具备的理论知识,加上后期从网络渠道获取的相关技术知识,能够在系统完成开发后期,编写相应的系统文档。
二手车交易系统制作期间,我也遇到过一些难题,模块拆分不够精细,以及数据表需要设计几张表,还有对于开发技术的深度理论学习还不充分等,不过我能够通过网络或者通过学院提供的图书馆寻求解决办法。比如在不知道具体功能的情况下,我从网上下载了很多的与二手车交易系统相关的程序,分析了它们的功能之后,我再结合即将开发的二手车交易系统进行综合分析,选取了适合二手车交易系统的功能部分,再具体模块具体分析,设计专属项目功能。对于数据表的设计,先在图书馆学习,然后查看相似系统对于数据表的结构设计等知识,然后在本系统功能确定的情况下,结合本系统设计了配套的数据表,对于难度最大的开发技术部分,这是需要大量时间调试的,一般都是对基础数据的增加,更新,查询或修改方面的代码,然后把本系统能够运用的代码部分在简单更改后进行使用,又经过了简单的测试工作,最终呈现出一个完整的能够解决用户实际问题的二手车交易系统。该系统唯一不足的就是代码方面还有很多重复的部分,不够精简,还有用户操作本系统,对于用户的误操作行为,本系统还不能及时反馈,这也是一大缺点。
二手车交易系统完成了,其相应的配套文档也需要进行编写,该文档主要描述二手车交易系统是如何进行分析,设计以及实现的,让其他阅读本文档的人增加对该系统的了解,编写文档过程中,由于自己平时对于办公软件的操作不是很频繁,根据学院要求的文档排版格式进行编辑也花了很多时间,在不断学习排版技巧以及对本系统配套文档的反复修改之后,最终在学院规定的时间内进行了文档定稿。
毕业项目各个工作进行到此,我也是收获颇丰,正因为自己努力学习知识,积极寻求解决办法,才让我能够提交一个完整的作品。制作毕业项目让我又得到了成长,不仅是专业知识的增加,也学到了解决问题的能力和方法。