随着人们生活水平的高速发展,智能停车计费信息管理方面在近年来呈直线上升,人们也了解到智能停车计费的实用性,因此智能停车计费的管理也逐年递增,智能停车计费信息的增加加大了在管理上的工作难度。为了能更好的维护智能停车计费管理秩序,同时提高工作的效率、确保每一用户都能得到有效的保护,在进行全面调研、探求实际情况之后本人设计并实现了智能停车计费系统。
该系统采用了nodejs技术、express 框架,连接MySQL数据库,具有较高的信息传输速率与较强的数据处理能力。包含管理员和用户两个层级的用户角色,系统管理员可以对系统首页,个人中心,用户管理,车位分类管理,车位信息管理,车子进场管理,车子离场管理,违规处罚管理,投诉建议,交流论坛,系统管理等功能进行详情,修改和删除操作;真正实现了管理工作的无纸化,并且还拥有角色及用户的添加与删除功能,可以很好的供所有用户使用。在对系统进行测试之后,确定可以实现所有预想的功能,并且可移植性强,可以很好的起到智能停车计费管理的作用。
前端技术:nodejs+vue+elementui,
Express 框架于Node运行环境的Web框架,
语言 node.js
框架:Express
前端:Vue.js
数据库:mysql
数据库工具:Navicat
开发软件:VScode
视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。
代码结构讲解
1、 node_modules文件夹(有npn install产生)
这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。
2、package.json文件
此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。
3、public文件夹(包含images、javascripts、stylesheets)
这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。
4、routes文件夹
用于存放路由文件。
5、views文件夹
存放视图。 目 录
1 绪 论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 系统主要功能 1
1.4 拟解决的主要问题 2
2 相关概念和技术介绍 4
2.1 nodejs技术介绍 4
2.2express框架 4
2.4MySQL数据库 5
3 系统需求分析 7
3.1 问题定义 7
3.2 可行性分析 8
3.3系统用例分析 8
3.4 系统流程分析 9
3.4.1 登录流程 9
3.4.2 添加信息流程 10
3.4.3 删除信息流程 11
4 系统功能的设计与实现 12
4.1 总体设计思路 12
4.2 系统功能结构设计 12
4.3 数据库设计 13
4.3.1 数据库E-R图设计 13
4.3.2 数据库表结构设计 14
5 系统详细功能的实现 23
5.1系统功能实现 23
5.2管理员模块实现 25
5.3用户后台模块实现 29
6 软件测试 30
6.1 登录测试 30
6.2 系统管理测试 30
6.2.1. 用户管理功能测试 31
6.2.2 角色管理功能测试 31
7 结 论 33
参考文献 34
致 谢 35
3 系统需求分析在对一个软件进行设计与开发之前,需要对该系统进行深层次的调查、分析、研究。良好的需求分析不仅能使开发人员快速、准确地理解开发任务,还能提高开发效率,还能好地完成工作[6]。对系统进行需求分析是必不可少的,这是软件生存周期上一个很重要的部分,在这个阶段需要确定该系统需要实现什么功能,然后做成一个数据规范、图表清晰的文档,为接下来的系统设计工作提供一定的基础。
3.1 问题定义
问题定义也是软件开发中一个重要的环节,在这个阶段我们要清楚的找到以下问题的答案:开发这个系统的原因是什么,开发这个系统所需要的具备什么样的技术支持,需要获得什么样的物资基础,取得哪个方面的国家政策支持等。所采用的智能停车计费系统就可以很好的促进智能停车计费管理工作的完成、而且可以使得整体管理水平得到有效的提升。因为使用该系统的主要是管理员和用户,所以要准确的进行角色的定位,然后对不同的角色给予不同的使用权限,表现如下:
1.使用角色的明晰
智能停车计费是一个人数众多、规模庞大、工作机制复杂的机构,需要对管理范围内的人员进行清楚的角色定位。
2.使用角色的权限赋予
角色权限分配应灵活,尽量满足用户对于权限的使用需求以及适应工作变动[3]。管理权限级别由下往上的增加,上一级的管理人员可以对下一级管理人员进行部分权限的限制与赋予,不同级别的管理者也可能拥有相同的管理权限。
3.系统所需要达到的性能要求
实用性:可以满足同一时间不同人员的登录,系统操作简单,界面明了干净。
可操作性:对每个角色在进行操作权限之后,后期还可以对其权限进行修改,可以增加或删除使用角色、部门等。
及时性:在对系统进行修改之后可以实时的系统的同步变化。
安全性:在系统出现故障之时可以在较短时间内进行修复,并且保证用户信息的绝密性,防止信息泄露的发生。
效率:可以满足各大使用群体的需求,解决使用者的问题
3.2 可行性分析
可行性分析是需求分析中一个关键的部分,在进行可行性分析之后可以了解到系统实现所具备的条件,以此来判断系统实现的难度。本篇论文主要进行以下几个方面的分析:
1.经济切实性
该系统并没有独特、十分创新的地方,所需要的硬件设备可以从学校已经在使用或者目前闲置的存量里面选取;系统的后期维护和升级也比较容易,学校从事这个专业的老师或者学生就可完成,而学校所派发的日常经费就可满足需求;在系统开发完成之后还可将系统进行出租或者售卖,也可产生一定的经济效益;并且该系统所使用的MySQL数据库是免费的。
2.使用可行性
该系统在的开发,从设计的功能以及使用者的角度出发进行设计,可以更有针对性的对智能停车计费进行有效的监管,也符合智能停车计费管理工作的需要,并且操作简单,覆盖范围广,这就提高了使用者主动适应并使用该系统的几率。
1 绪 论
1.1 研究背景
在新世纪的今天,计算机已经发展到一定的规模,带动了国内经济和科学技术的快速发展,科学技术的发展大大提高了生产效率,使人们的物质生活需求得到了很大的满足。现在各种类型的网站系统都很流行,将传统的管理模式转移到线上来实现,可以大大提高管理效率。基于以上情况,智能停车计费系统逐渐出现在人们的视野中,也将成为未来发展的一个潜在增长点。
1.2 研究意义
在日新月异的21世纪,全球进入快速运转的科技时代,我国也在各位科学家不懈努力下实现了科技社会化、信息技术底层化、网络运用全民化。我们处在一个“互联网+”的时代,信息化的建设成为了当代的发展基石以及重要组成部分。随着智能停车计费管理的常态化,同时也出现了多样化的人员管理方式。而智能停车计费系统就可以实现管理人员及用户的日常管理,实现进行更高效的信息互换、让用户的动态变得透明公开,让管理人员更好地实现对智能停车计费的动态监管、真正的实现快速、便捷、高效的管理以降低管理成本、减轻管理人员的负担,保证管理技术以及运用互联网技术的能力的快速提升,提高综合管理和竞争能力。在保证人们的安全的同时,真正达到更好的为国家经济建设和社会安全做贡献的目的。
1.3 系统主要功能
因我国智能停车计费的数量也逐步增加。如果智能停车计费管理还是沿用传统的、人工的操作,那管理难度是十分巨大的、效率也会不尽人意;而如今我国的信息科学技术已趋于成熟,我们的生活、工作、学习已离不开互联网,为了更好的提升智能停车计费管理,并且在保证用户的安全前提下使人们生活有序、有效开展,需要一套操作简单、能高效导出并录入数据、安全性高、可用性强的智能停车计费系统。
此篇论文中包括管理员和用户两个不同的角色,根据不同的身份以及工作机制,赋予不同的权限。该智能停车计费系统的功能如下列所示:
1.用户之间的使用权限设定:根据业务管理的需求以及智能停车计费管理体系,在使用前将每个角色的固定标签设定好,明晰每个角色权限,并将状态控制功能添加到用户状态上,最终达到本系统角色控制基础形成的目标。
2.用户登录功能:用户可以根据自己的角色选择相应的账号进行登录,在输入合法的账号和密码后就可进入系统,根据自己的权限选择想要进行的操作。
3.查看个人资料功能:用户登录系统之后可以点击右上角头像查看自己的个人资料,在核查发现错误之后还可以进行修改,用户还可在该模块进行密码的修改。
4.系统管理功能:在模块的功能又可以细化成以下几个部分
1)用户管理:管理员和用户可以在该模块进行用户信息的管理与修改。
2)角色管理:管理员和用户可以在该模块对用户进行权限的修改与设置。
1.4 拟解决的主要问题
1.与智能停车计费管理工作契合的工作流结构
目前,智能停车计费的人员管理工作中,一般采用纸质表单结合手工传递的方式或者Word、Excel填写在线发放的方式[3],进行信息的收集,在信息收集完成之后再交由各级管理人员进行审批、签字,存在工作耗时较长、难以全面收集所需信息、工作步骤冗杂繁琐、中间环节易出错等缺点,因此采用与网络系统结合的工作流模式,让用户在固定时间进行信息的填写,之后按照已经设定好的规则进行工作流程的运行,自动在完成上一级任务后执行下一步指令,这样的操作方式比较灵活,而且减少了管理者手动完成操作信息的步骤,提高了工作效率,缩减了工作完成所需要的时间,并且可以保证任务完成的精确性与科学性。
2.科学、有效的信息收集机制
在保证信息的全面收集的同时还需要兼顾所收集信息的科学性与适用性。使用互联网固然可以提高收集信息的效率,但如果所收集的信息只是为了表面上数据的增加那就造成了极大的资源浪费,虚假的形式主义会造成用户精力的大量流失、并且降低信誉值,因此在确定信息收集内容的时候要着重筛选对智能停车计费管理起到促进作用的信息。例如本系统所收集的智能停车计费信息就可以很好的掌控智能停车计费的日常动态,为智能停车计费管理工作的成功打下了基础。
3.准确、可行的效果评价标准
当前对我国的智能停车计费管理效果的评价已有一定的标准,例如用户人数的多少、智能停车计费管理所花费的物资及钱财数量,而作为智能停车计费系统,其效果体现在以下几个方面:
1)使用网络收集用户基础信息减少了填写信息的步骤,用户可在重合的时间分别进行信息的填写,缩短了信息收集所需的时间;
2)使用网络进行信息记录,减少了虚假信息的产生,使结果更加真实有效;
3)通过系统进行记录,并且更好的留痕,为以后的检查工作提供了可靠地证明。
4.3.2 数据库表结构设计
该系统采用的数据库是MySQL,根据该系统的数据存储特点进行数据库关系表的设计。下面是该系统中关键部分关系表的详细信息。
表4-1:车位信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tingchechangmingcheng varchar 200 停车场名称
quyu varchar 200 区域
cheweibianhao varchar 200 车位编号
cheweimingcheng varchar 200 车位名称
cheweileixing varchar 200 车位类型
cheweitupian longtext 4294967295 车位图片
cheweiweizhi varchar 200 车位位置
cheweizhuangtai varchar 200 车位状态
xiaoshidanjia int 小时单价
cheweixiangqing longtext 4294967295 车位详情
表4-2:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 用户账号
xingming varchar 200 姓名
mima varchar 200 密码
xingbie varchar 200 性别
shouji varchar 200 手机
touxiang longtext 4294967295 头像
表4-3:车位分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
cheweileixing varchar 200 车位类型
表4-4:违规处罚
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
weiguishixiang varchar 200 违规事项
weiguibeizhu varchar 200 违规备注
chufajine int 处罚金额
chufashijian datetime 处罚时间
yonghuzhanghao varchar 200 用户账号
xingming varchar 200 姓名
shouji varchar 200 手机
touxiang longtext 4294967295 头像
ispay varchar 200 是否支付 未支付
表4-5:在线交流
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
adminid bigint 管理员id
ask longtext 4294967295 提问
reply longtext 4294967295 回复
isreply int 是否回复
表4-6:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-7:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
表4-8:系统公告
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容
表4-9:投诉建议
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 留言人id
username varchar 200 用户名
avatarurl longtext 4294967295 头像
content longtext 4294967295 留言内容
cpicture longtext 4294967295 留言图片
reply longtext 4294967295 回复内容
rpicture longtext 4294967295 回复图片
表4-10:论坛交流
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 帖子标题
content longtext 4294967295 帖子内容
parentid bigint 父节点id
userid bigint 用户id
username varchar 200 用户名
avatarurl longtext 4294967295 头像
isdone varchar 200 状态
表4-11:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-12:车子离场
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tingchechangmingcheng varchar 200 停车场名称
quyu varchar 200 区域
cheweibianhao varchar 200 车位编号
cheweimingcheng varchar 200 车位名称
cheweileixing varchar 200 车位类型
cheweiweizhi varchar 200 车位位置
xiaoshidanjia int 小时单价
yonghuzhanghao varchar 200 用户账号
xingming varchar 200 姓名
shouji varchar 200 手机
touxiang longtext 4294967295 头像
chepaihao varchar 200 车牌号
jinchangshijian varchar 200 进场时间
lichangshijian datetime 离场时间
tingcheshizhang float 停车时长
tingchefeiyong float 停车费用
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复
ispay varchar 200 是否支付 未支付
表4-13:车子进场
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tingchechangmingcheng varchar 200 停车场名称
quyu varchar 200 区域
cheweibianhao varchar 200 车位编号
cheweimingcheng varchar 200 车位名称
cheweileixing varchar 200 车位类型
cheweiweizhi varchar 200 车位位置
xiaoshidanjia int 小时单价
yonghuzhanghao varchar 200 用户账号
xingming varchar 200 姓名
shouji varchar 200 手机
touxiang longtext 4294967295 头像
chepaihao varchar 200 车牌号
jinchangshijian datetime 进场时间
5 系统详细功能的实现
5.1系统功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。
6 软件测试
每个系统在经过开发者的设计与研究之后,在真正投入使用之前都需要对该系统进行专业的测试。对系统进行简单的测试可以判断它是否满足说明书中所描述的功能,并且可以找出系统设计中存在的问题以此来优化系统。系统测试的方法很多,对本系统主要采取黑盒测试对系统的功能以及性能进行测试。
6.1 登录测试
本系统用户在登录时需要输入合法的账号和密码。当密码和账号均正确时,用户可顺利登录系统;当输入用户名错误时,系统提示“xx不存在”;当密码错误时系统会提醒“用户不存在/密码错误”,以上两者中的一个或几个为空时系统会将需要填写的地方标红并提示请“输入xx”。以账号::xxxx,密码:123456 为例对系统登录进行测试,测试操作如表6-1所示:
表6-1登录功能测试过程及结论
测试项 测试用例 测试特性 用例描述 系统反应 测试结论
用户登录 用户名:xxxx
密码 :123456
功能测试 输入合法的信息,检验登录状态 登陆成功 通过
用户登录 用户名:xxxx
密码 :123456
功能测试 输入错误用户名,检验登录状态 登录失败,提示“xxxx”不存在 通过
用户登录 用户名:xxxx
密码 :888888
功能测试 输入错误密码,检验登录状态 登录失败,系统提示“用户名不存在/密码错误” 通过
用户登录 用户名:为空
密码 :123456
功能测试 将密码、账号、两者之一设为空,检验登录状态 登录失败,系统提示“请输入用户名”,并将用户名输入栏标红 通过
6.2 系统管理测试
该模块还可细分为几个部分,但因多个部分的功能均为重复,因此,在进行全面的功能测试之后,只展示重复部分中比较重要的几个功能的测试过程及结果。
6.2.1. 用户管理功能测试
系统的管理层可在此模块进行以下操作:对用户基础信息的修改;对用户的登录密码进行重置;删除用户;新增用户;根据关键词进行检索。以用户名:abo 密码:123456为例对该功能进行测试。测试操作如表6-2所示:
表6-2 用户管理测试过程及结果
测试项 测试用例 测试特性 用例描述 系统反应 测试结果
用户管理操作 用户名:abo
密码:123456 功能测试 添加一个新用户,基础信息与已有用户完全一致 添加失败,提示“该用户已存在” 通过
用户管理操作 用户名:abo
密码:999999 功能测试 添加一个新用户,基础信息与已存在用户均有所不同 添加成功 通过
用户管理操作 用户名:abo
密码:123456 功能测试 修改系统中用户名 修改成功 通过
用户管理操作 用户名:abo
密码:123456 功能测试 删除系统中用户 删除成功 通过
用户管理操作 用户名:abo
密码:123456 功能测试 按关键词搜索用户信息 查找成功 通过
用户管理操作 用户名:abo
密码:88888888 功能测试 重置用户密码 密码修改成功 通过
6.2.2 角色管理功能测试
系统的管理层可在此模块进行以下操作:新增角色;删除角色;修改角色基础信息;给角色设置数据权限。以权限名称:xx,权限字符:admin,菜单权限:系统管理为例对该模块进行测试。对该功能的测试操作如表6-3所示:
表6-3 角色管理测试过程及结果
测试项 测试用例 测试特性 用例描述 系统反应 测试结果
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试
添加一个新角色,基础信息与已有角色完全一致 添加失败,提示“该角色已存在” 通过
角色管理 权限名称:xx权限字符:admin
菜单权限:系统管理 功能测试
按关键词搜索角色信息 查找成功 通过
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试 添加角色权限 权限添加成功 通过
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试 删除系统中角色 删除成功 通过
角色管理 权限名称:aa,权限字符:boss
菜单权限:系统管理 功能测试 添加一个新角色,基础信息与已有角色均有所不同 添加成功 通过
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试 修改系统中角色权限 修改成功 通过
7 结 论
本着要为智能停车计费管理奉献的初衷,在此次的论文选题中,本人选取了智能停车计费系统设计与实现。在设计与开发智能停车计费信息管理系统之前,本人在互联网查阅了有关该系统的国内外研究现状信息,了解了许多有关该系统的功能以及系统运行模式,并学习了开发该系统所要用到的技术,在得到了老师的讲解之后,结合本校管理工作所需,明确了设计的方向并进行了系统的研发,开始此次工作。以下是工作的具体内容:
1.明确系统功能。在开始本次工作之前,本人在学校参考相关书籍,也在网上发起了功能选择的投票。最终确定本系统的功能。
2.寻找合适的技术。在明确系统功能之后,在网上进行查阅,向老师请教,最终确定了选用不需要支付费用的MySQL数据库;并且采用了灵活性更强、配置更简单的express框架,并采用更加安全,可移植性和跨平台性更强的nodejs语言进行设计。
3.科学的需求分析。在进行需求分析时考虑了经济、技术、实用性几个可行性,确定了管理员和用户两级结构。根据角色的不同划分不同的权限与功能,确定了模块的划分,并且完了每个模块下的子功能的业务流程编写。
4.有效的系统设计。首先实现了数据库的概念与物理结构的设计,然后按照设计的规范要求进行详细设计,同时重点设计系统两大核心模块。在实现时,美化了系统页面,使操作按钮的放置更加科学美观,使操作更容易;并且增加了许多人性化设计,比如对信息的一键清空、给搜索安排关键字、以及出现错误时更加清晰明了的提示。
希望该系统在往后可以真正被用于实践,实现自己真正的价值。
致 谢
行文至此,思绪繁芜。我与大学里的故事至始至终瓜果飘香的金秋。本篇论文写至此处已经结束,就像我们的大学生涯已接近尾声,回想在校岁月,忘不了的是母校里每一缕习习的清风、是每一片嫩绿的树叶、是每一朵娇艳的鲜花、是每一个可爱的同学、更是每一位慈祥的老师。心中纵有万般不舍,但仍满怀感激。
一谢伟大的母校。感谢母校陪我走过这四年的蹉跎岁月,给我提供学习的平台,使我的思想得到浸润、知识变得充盈,垫高了我探索世界的舞台、也赐予了我冲锋陷阵的勇气。
二谢各位无私的老师。学生之所以能获得成就,是因为得到老师们的扶持。在求学的漫漫长路中,老师们的谆谆教诲使我找到了人生目标,摆正了人生方向,特别是我们的辅导员老师,在关注我们学习成绩的同时还关心着我们的健康,每次生病都会送来亲切的问候,牺牲自己的午休时间到宿舍看望我们,疫情期间监督我们完成成堆的表格,就是因为她对我们的耳提面命和无私付出,我们得以感受到家的温暖。得遇良师,何其荣幸,希望往后的日子里,各位老师也能一直闪闪发光。
三谢我热情、善良的论文指导老师。她不仅专业知识渊博,教学严谨,而且体恤学生。在指导论文时一丝不苟,甚至连标点符号的错误也会指出;讲解写作规则时不厌其烦,生动的举例、耐心的回答,无不让我受益匪浅。
四谢互帮互助的室友。是命运的安排吧,百人之中竟能与你们成为朋友,四年的岁月我们互相嫌弃但又彼此相爱。放学路上一起冲向食堂的那些日子、节日期间一起睡过的抹抹夕阳、闲暇时候一起泡过的每包泡面、玩乐期间互相投喂的每块水果、难过时候为彼此落下的每滴眼泪……就是这些看似不起眼的瞬间使我的求学时光变得无与伦比的精彩,正是你们朝夕相处的陪伴使我的人生变得无可比拟的灿烂。点点滴滴,我怎能不感激,又怎能忘记。
论文会在致谢处结束,但我们的人生永远不会停滞。我们是一群舞在美丽世界的精灵,我们都将拥有光明的未来。