博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、爬虫、web开发,已经做了六年的程序开发,开发过上千套大学生实战程序,可以定制、也可成品项目,博客中有上百套程序可供参考,欢迎共同交流学习。
🍅文末点击卡片获取联系🍅
技术:SpringBoot+mysql+vue+tomcat
目录
[1 系统介绍](#1 系统介绍)
[2 系统背景](#2 系统背景)
[1.1 课题背景](#1.1 课题背景)
[1.2 课题意义](#1.2 课题意义)
[3 系统功能结构](#3 系统功能结构)
[4 数据库结构](#4 数据库结构)
[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.1.4 汽车评价管理](#5.1.4 汽车评价管理)
[5.1.5 汽车试驾预定管理](#5.1.5 汽车试驾预定管理)
[5.1.6 汽车订单管理](#5.1.6 汽车订单管理)
[5.2 用户功能实现](#5.2 用户功能实现)
[5.2.1 汽车信息](#5.2.1 汽车信息)
[5.2.2 预约汽车试驾](#5.2.2 预约汽车试驾)
[5.2.3 购物车](#5.2.3 购物车)
[5.2.4 确认下单](#5.2.4 确认下单)
[5.2.5 我的汽车订单](#5.2.5 我的汽车订单)
[6 系统测试](#6 系统测试)
[6.1 功能测试](#6.1 功能测试)
[6.1.1 登录功能测试](#6.1.1 登录功能测试)
[6.1.2 修改密码功能测试](#6.1.2 修改密码功能测试)
[6.2 系统测试结果](#6.2 系统测试结果)
[7 总结](#7 总结)
1 系统介绍
如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统汽车销售信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个汽车销售系统,可以解决许多问题。
汽车销售系统可以实现用户购买汽车,预约汽车试驾,查看购买汽车的订单,在论坛模块发帖,回帖等,管理员管理汽车试驾预定信息,管理汽车订单,管理汽车等功能。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。
汽车销售系统可以提高汽车销售信息管理问题的解决效率,优化汽车销售信息处理流程,保证汽车销售信息数据的安全,它是一个非常可靠,非常安全的应用程序。
2 系统背景
1.1 课题 背景
二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域的鸿沟,信息的传播速度极慢,信息处理的速度和要求还是通过人们骑马或者是信鸽传递,这些信息传递都是不可控制的,中间很有可能丢失,信息的传递水平决定了人们生活的水平。如今大家都在使用互联网软件产品,从内部管理设置计算机管理,提高内部信息化的管理水准,从外部市场也可以用计算机获取相关数据进行处理,如今各行各业已经严重依赖于计算机了。
本课题研究和开发汽车销售系统,让安装在计算机上的该系统变成管理人员的小帮手,提高汽车销售信息处理速度,规范汽车销售信息处理流程,让管理人员的产出效益更高。
1. 2 课题意义
传统处理数据,必须是一张张纸,然后处理完毕又是统计在一张张纸上面,不断的重复处理,最终有个结果给最高层作为参考,这个模式在互联网没有出现之前,是一种常见的事情,信息管理的效率提不上去,人多不一定力量大,因为人多肯定更加消耗资源,并且因为人类需要休息,需要管理,思想会不统一,会偷懒,所以人们研究出专门帮助人们计算的机器,就是计算机的前身,到了互联网时代,人们发现完全可以让程序供应商提供解决方案,自己挑选自己合适的方案来提高自己的产出比。所以在日常工作和生活中会发现各种各样方便人们的工具。
本课题研发的汽车销售系统,就是提供汽车销售信息处理的解决方案,它可以短时间处理完信息,并且这些信息都有专门的存储设备,而且数据的备份和迁移都可以设定为无人值守,从人力角度和信息处理角度以及信息安全角度,汽车销售系统是完胜传统纸质操作的。
3 系统功能结构


4 数据库结构
本小节主要任务即是根据上述内容进行数据存储结构的设计,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,还不容易导致系统出错。接下来就对设计的表进行简单说明。
表4.1 收货地址表
|-----------------|--------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(20) | 否 |
| yonghu_id | 创建用户 | int(20) | 否 |
| address_name | 收货人 | varchar(200) | 否 |
| address_phone | 电话 | varchar(200) | 否 |
| address_dizhi | 地址 | varchar(200) | 否 |
| isdefault_types | 是否默认地址 | int(11) | 否 |
| insert_time | 添加时间 | timestamp | 否 |
| update_time | 修改时间 | timestamp | 否 |
| create_time | 创建时间 | timestamp | 否 |
表4.2 购物车表
|-------------|------|-----------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| yonghu_id | 所属用户 | int(11) | 是 |
| qiche_id | 汽车 | int(11) | 是 |
| buy_number | 购买数量 | int(11) | 是 |
| create_time | 添加时间 | timestamp | 是 |
| update_time | 更新时间 | timestamp | 是 |
| insert_time | 创建时间 | timestamp | 是 |
表4.3 论坛表
|-------------------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| forum_name | 帖子标题 | varchar(200) | 是 |
| yonghu_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.4 公告信息表
|--------------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| 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.5 汽车表
|--------------------|------|---------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| qiche_name | 汽车名称 | varchar(200) | 是 |
| qiche_photo | 汽车照片 | varchar(200) | 是 |
| qiche_types | 汽车类型 | int(11) | 是 |
| qiche_kucun_number | 汽车库存 | int(11) | 是 |
| qiche_old_money | 汽车原价 | decimal(10,2) | 是 |
| qiche_new_money | 现价 | decimal(10,2) | 是 |
| qiche_clicknum | 点击次数 | int(11) | 是 |
| shangxia_types | 是否上架 | int(11) | 是 |
| qiche_delete | 逻辑删除 | int(11) | 是 |
| qiche_content | 汽车简介 | text | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.6 汽车评价表
|------------------------|------|-----------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| qiche_id | 汽车 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| qiche_commentback_text | 评价内容 | text | 是 |
| insert_time | 评价时间 | timestamp | 是 |
| reply_text | 回复内容 | text | 是 |
| update_time | 回复时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.7 汽车订单表
|---------------------------|--------|---------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| qiche_order_uuid_number | 订单号 | varchar(200) | 是 |
| address_id | 收货地址 | int(11) | 是 |
| qiche_id | 汽车 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| buy_number | 购买数量 | int(11) | 是 |
| qiche_order_true_price | 实付价格 | decimal(10,2) | 是 |
| qiche_order_types | 订单类型 | int(11) | 是 |
| qiche_order_payment_types | 支付类型 | int(11) | 是 |
| insert_time | 订单创建时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.8 汽车试驾预定表
|--------------------------------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| qiche_shijia_order_uuid_number | 编号 | varchar(200) | 是 |
| qiche_id | 汽车 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| qiche_shijia_order_time | 预定时间 | timestamp | 是 |
| qiche_shijia_order_yesno_types | 预定审核 | int(11) | 是 |
| qiche_shijia_order_yesno_text | 审核结果 | text | 是 |
| insert_time | 创建时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |
表4.9 管理员表
|----------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | bigint(20) | 否 |
| username | 用户名 | varchar(100) | 否 |
| password | 密码 | varchar(100) | 否 |
| role | 角色 | varchar(100) | 是 |
| addtime | 新增时间 | timestamp | 否 |
表4.10 用户表
|------------------|--------|---------------|---|
| 字段 | 注释 | 类型 | 空 |
| 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) | 是 |
| new_money | 余额 | decimal(10,2) | 是 |
| create_time | 创建时间 | timestamp | 是 |
5 系统功能
编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。
5.1 管理员功能实现
5.1.1 论坛管理
图5.1 即为编码实现的论坛管理界面,论坛信息包括帖子标题,帖子内容,发帖时间,身份,姓名,手机号等信息,管理员负责对有错误数据的论坛帖子使用修改功能及时更正信息,需要删除的论坛帖子可以使用删除功能及时删除,同时管理员通过查看论坛回复功能可以及时监督论坛帖子的回复信息,可以删除不良信息的论坛帖子回复信息,以及查看论坛帖子的各个回复信息等。

图5.1 论坛管理界面
5.1.2 用户管理
图5.2 即为编码实现的用户管理界面,用户信息有用户头像,余额,用户姓名等信息,管理员可以修改有错误数据的用户信息,可以使用删除功能删除需要删除的用户信息等。

图5.2 用户管理界面
5.1.3 汽车管理
图5.3 即为编码实现的汽车管理界面,汽车信息有汽车原价,汽车现价,汽车照片,汽车名称等信息,管理员负责登记汽车信息,使用修改功能对登记错误的汽车信息进行更正,需要删除的汽车信息也能使用删除功能及时删除,同时管理员也能管理汽车的库存信息,主要包括对汽车库存进行增加,或者是对汽车库存进行减少,以及对销量不好的汽车进行下架,上架汽车新品等操作。

图5.3 汽车管理界面
5.1.4 汽车评价管理
图5.4 即为编码实现的汽车评价管理界面,汽车评价信息有评价时间,评价内容,回复内容等,汽车评价是用户对汽车评价之后产生的信息,而回复信息则是管理员在查看汽车评价的内容之后,发布的回复信息。汽车评价管理界面展示的汽车评价信息也能让管理员删除和查询。

图5.4 汽车评价管理界面
5.1.5 汽车试驾预定管理
图5.5 即为编码实现的汽车试驾预定管理界面,用户预约汽车试驾,则产生的汽车试驾预定信息就会显示在汽车试驾预定管理界面,管理员可以查询汽车试驾预定信息,查看汽车试驾预定信息等。

图5.5 汽车试驾预定管理界面
5.1.6 汽车订单管理
图5.6 即为编码实现的汽车订单管理界面,管理员查看汽车订单详情,包括购买数量,实付价格,支付类型等信息,可以删除需要删除的汽车订单等。

图5.6 汽车订单管理界面
5.2 用户 功能实现
5.2.1 汽车信息
图5.7 即为编码实现的汽车信息界面,用户查看汽车信息界面右侧区域展示的系统推荐的汽车信息,可以通过汽车的图片以及汽车介绍来了解汽车,用户购买汽车可以通过购买功能实现下单,如果用户有对汽车试驾的需要,可以点击预约按钮对汽车试驾进行预约。

图5.7 汽车信息界面
5.2.2 预约汽车试驾
图5.8 即为编码实现的预约汽车试驾界面,用户只需要选择合适的时间即可提交预约汽车试驾信息。

图5.8 预约汽车试驾界面
5.2.3 购物车
图5.9 即为编码实现的购物车界面,用户可以把需要购买的汽车都统一保存在购物车里面,然后对购买汽车的数量进行简单修改,最后对购买的汽车进行下单。

图5.9 购物车界面
5.2.4 确认下单
图5.10 即为编码实现的确认下单界面,用户先要确认收货地址,然后确认购买的汽车信息以及购买汽车的数量是否正确,最后确认支付的金额,然后提交订单。

图5.10 确认下单界面
5.2.5 我的汽车订单
图5.11 即为编码实现的我的汽车订单界面,我的汽车订单界面展示的信息都是用户购买汽车产生的信息,用户根据实际情况对汽车订单进行对应操作。

图5.11 我的汽车订单界面
6 系统测试
当系统测试环节开始的时候,也就说明对于系统的编码已经弄得大致通顺了,剩下来需要对一些模块和功能进行测试,这个环节就叫系统测试。在程序开发过程中,系统测试是整个开发过程不能缺少的。原因很简单,系统开发人员在面对各种需求需要对各个模块进行编码,开发人员编写过程中,对于程序的理解全部都在编码里面,一人计短,当一个人去做一些事情的时候,把自己的理解变成成果,有可能理解错误,这个在程序开发过程中很常见。程序开发人员在面对复杂的逻辑,没有想象中的多么清晰,开发过程就是面对着一堆代码,不断的变换数据类型,这些很容易实现程序开发人员的想法,但是如果是比较复杂的逻辑,很可能会出现各种问题,这是无法避免的。所以说,需要额外的人员进行系统测试编写,要站在用户使用的角度去发现问题,这样开发与测试的分离,有助于系统开发的强壮,让程序表达的更完美一些。之所以把系统测试安排到程序开发过程中的原因在于,当测试过程中发现的问题可以最快速度的反馈到程序开发人员手里,可以以最快的时间解决问题。所以必须在系统测试环节做好应该做好的事情,让程序开发从开始到结束都有一个完美的流程。
6. 1 功能测试
本节主要选择一些功能进行具体测试描述,在相应的功能里面,根据不同的输入看看能否达到理想中的效果。以下会描述部分功能的测试过程和结果。
6.1.1 登录功能测试
登录是一个常规功能,虽然是常规功能,但是用处很大,可以拒绝非法用户访问,只有合法用户才可以访问对应的功能,这样能保证程序设定的功能符合安全性要求。
表6.1 管理员登录功能测试表
|-------|-------|--------|
| 管理员账号 | 管理员密码 | 结果 |
| uuu | uuu | 成功登录系统 |
| yyy | uuu | 登录失败 |
| uuu | yyy | 登录失败 |
只有正确的账号密码才会进行跳转到对应的功能区,如果输入的账号密码不对的话,肯定会有相关提示,用来提示操作人员注意输入正确的账号密码,这样有助于提高用户体验。这里以使用者提交错误的账号为"yyy",正确的密码为"uuu"为例进行测试,具体反馈结果看下面。
图6.1 登录失败提示
6 . 1 . 2 修改密码功能测试
任何用户角色都有安全性要求,那么对应的密码最好是经常更改,只有经常更改才会降低坏人的有机可乘几率,达到密码保护的最低要求,当然,如果用户登录人离开了,为了防止其他人乘机篡改密码,那么也会设定旧密码要求,只有输入正确的旧密码才可以进行密码的修改。下面就是测试过程。
表6.2 修改密码功能测试表
|--------|--------|--------|
| 之前的旧密码 | 设置的新密码 | 结果 |
| uuu | yyy | 成功修改密码 |
| hhh | yyy | 修改密码失败 |
| uuu | | 修改密码失败 |
不管是旧密码错误还是新密码不合规,都会提示相应的要求,下面就是关于旧密码输入错误的提示。
图6.2 错误的旧密码反馈提示
6. 2 系统测试结果
对汽车销售系统进行了各种检测,包含功能检测和性能检测,操作性检测,兼容性检测,通过各方面检测结果来判定系统是符合设计目标,并且在扩展性或者是稳定性上面,也有很好的表现,能完全的满足用户需求。
7 总结
由于本人学习的是计算机方面的专业,学习了一定的开发知识,因此,对于开发一款已经确定了课题的汽车销售系统,从功能需求,功能模块划分,数据库的选择与设计,编程语言的确定,系统界面的布局和设计等知识,我都有个大致的思路。我运用已经具备的理论知识,加上后期从网络渠道获取的相关技术知识,能够在系统完成开发后期,编写相应的系统文档。
汽车销售系统制作期间,我也遇到过一些难题,模块拆分不够精细,以及数据表需要设计几张表,还有对于开发技术的深度理论学习还不充分等,不过我能够通过网络或者通过学院提供的图书馆寻求解决办法。比如在不知道具体功能的情况下,我从网上下载了很多的与汽车销售系统相关的程序,分析了它们的功能之后,我再结合即将开发的汽车销售系统进行综合分析,选取了适合汽车销售系统的功能部分,再具体模块具体分析,设计专属项目功能。对于数据表的设计,先在图书馆学习,然后查看相似系统对于数据表的结构设计等知识,然后在本系统功能确定的情况下,结合本系统设计了配套的数据表,对于难度最大的开发技术部分,这是需要大量时间调试的,一般都是对基础数据的增加,更新,查询或修改方面的代码,然后把本系统能够运用的代码部分在简单更改后进行使用,又经过了简单的测试工作,最终呈现出一个完整的能够解决用户实际问题的汽车销售系统。该系统唯一不足的就是代码方面还有很多重复的部分,不够精简,还有用户操作本系统,对于用户的误操作行为,本系统还不能及时反馈,这也是一大缺点。
汽车销售系统完成了,其相应的配套文档也需要进行编写,该文档主要描述汽车销售系统是如何进行分析,设计以及实现的,让其他阅读本文档的人增加对该系统的了解,编写文档过程中,由于自己平时对于办公软件的操作不是很频繁,根据学院要求的文档排版格式进行编辑也花了很多时间,在不断学习排版技巧以及对本系统配套文档的反复修改之后,最终在学院规定的时间内进行了文档定稿。
毕业项目各个工作进行到此,我也是收获颇丰,正因为自己努力学习知识,积极寻求解决办法,才让我能够提交一个完整的作品。制作毕业项目让我又得到了成长,不仅是专业知识的增加,也学到了解决问题的能力和方法。