注:展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。
第2章 相关技术
2.1 SSM框架
SSM是Spring、SSM和Mybatis的缩写,是由Spring与Mybatis框架整合的一个Web应用程序开发框架集,其中SSM属于Spring框架。
Spring无需特殊容器支持,不依赖特定规范等,为开发Java应用程序提供全面的基础架构支持。Spring框架的核心为IoC容器和AOP。IoC通过依赖注入来实现控制反转,从而实现把创建对象过程交给Spring进行管理。AOP指的是面向切面的编程,利用AOPA可以对业务逻辑的各个部分的隔离,提高代码复用率,也便于开发人员不修改源代码进行功能增强,从而提高开发效率。
此次系统整体采用SSM框架,Spring容器框架将Java类统一进行装配,采用注入的方式生成实例。SpringMVC将业务分成三层:控制、处理和视图,各个层的分工非常明确,功能划分清晰。MyBatis解耦了业务处理逻辑与数据访问逻辑,同时实现SQL语句与逻辑代码相互分离,有高度的灵活性,可优化性,便于后期维护。
虽然现如今出现了许多各式各样的框架,但是依旧无法撼动SSM框架的基础性地位,人们在此基础上实现了更宽领域的拓展。现如今利用SSM框架,人们设计了多种管理系统,如基于SSM的科研室管理系统的研究与设计、基于SSM框架的合租系统设计与实现、SSM框架下的网约车管理系统设计等,多样化的管理系统,应用范围十分广泛,使得我们的生活日益方便快捷,使得各个领域的管理更加有条不紊。
2.2 Java简介
Java作为一门以目标为导向的编程语言,而开发人员只需掌握一定的概念,就能够轻松地编写出各种应用程序。由于它采用了面向对象的编程方式,因此能够使应用程序易于维护并且容易升级。Java程序的体积相对较小,但其可在微型计算机上运行。所以它非常适合于中小型计算机用户进行软件开发,也适合于各种规模的商业公司。在网站的开发中,Java拥有封装、继承和多态三大特征的编程语言,受开发者青睐,使用的人也很多。
Java语言的不同之处在于,它可以将源码转换成了一个可在多种JVM上运行的JVM,这使得它具有了更高的灵活性和适应性。它将原本只能用机器语言来编写的程序转变成了可被计算机执行的代码,并且还能够通过不同的编程语言实现自己的编程风格。因此,它得以在多个平台上实现其功能。尽管初期Java的发展缓慢,但随着时间的推移,Java的技术也在不断进步和完善。
2.3 JavaScript简介
JavaScript是一种脚本语言,用于在网页上添加交互性和动态效果。它是一种高级编程语言,可以用于开发各种应用程序,包括网站、桌面应用程序和移动应用程序。JavaScript最初由Netscape公司开发,现在由ECMA国际组织维护和标准化。JavaScript可以与HTML和CSS一起使用,以创建动态网页和Web应用程序。它可以用于处理表单验证、动态内容加载、动画效果、用户交互、数据可视化等。JavaScript还有许多流行的框架和库,如React、Angular、Vue等,可以帮助开发人员更快地构建复杂的Web应用程序。
2.4 MySQL数据库
MySQL数据库在适用性、安全性、存储量上等方面拥有很大的优势。它能够快速地存储大量数据并能提供很好的扩展性。MySQL被广泛认可为最优秀的管理方式,无需进行任何形式的交易操作。此外,Mysql因其简洁的结构,以及卓越的信息存储能力和容量,各个领域都广泛运用。
MySQL数据库在程序设计领域具有广泛的应用前景,为用户提供了更加丰富的数据检索资源。它能够对数据进行分类存储和索引。MySQL的数据库应用具有高度的可定制性和卓越的性能表现,因此它只需极少的代码即可实现特定的函数,相较于其他软件,它无需耗费大量的编写资源。同时它也是一种标准的面向对象的编程语言。总的来说,MySQL的编程语言较为朴素。数据处理的核心在于将信息存储于计算机中,而非存储于真实的仓库之中。资料管理的主要目的是将资料从资料库里取出来并加以保存。因此,对于数据库的管理也就显得尤为重要。数据库的管理职责涵盖了数据的储存、编辑和新增数据表格等多个方面。
2.4 eplice开发环境
eplice是一款基于云端的在线协作平台,旨在帮助团队更高效地协作和沟通。它提供了一系列工具和功能,包括任务管理、日程安排、文件共享、讨论区、视频会议等,以满足不同团队的需求。
eplice的任务管理功能可以帮助团队更好地组织和分配任务,同时跟踪任务的进度和完成情况。用户可以创建任务清单、设置截止日期、分配责任人、添加备注等,以确保任务按时完成。此外,eplice还提供了日历视图,方便用户查看任务和日程安排。
eplice的文件共享功能可以让团队成员轻松地共享和访问文件。用户可以上传文件、创建文件夹、设置权限等,以确保文件的安全性和隐私性。此外,eplice还支持多种文件格式,包括文档、图片、音频、视频等。
eplice的讨论区功能可以让团队成员在一个地方进行讨论和交流。用户可以创建主题、发布帖子、回复评论等,以便更好地沟通和协作。此外,eplice还支持私人讨论区,方便用户进行私密交流。
eplice的视频会议功能可以让团队成员在任何地方进行实时视频会议。用户可以创建会议、邀请参与者、分享屏幕等,以便更好地协作和沟通。此外,eplice还支持录制会议和回放功能,方便用户回顾会议内容。
总的来说,eplice是一款功能强大的在线协作平台,可以帮助团队更高效地协作和沟通。它的简单易用的界面和丰富的功能,使得团队成员可以更好地协作和完成任务。
4.4 数据库设计
4.4.1 概念性数据模型
在一旦系统架构确立,框架建立,数据库便成为系统实现中不可或缺的一环。在实际应用中,数据库通常由多个不同类型的子系统构成,这些子系统通过一定的方式相互联系,形成完整的信息网络系统,并为用户提供所需的服务。为确保数据的完整性和准确性,我们根据每个功能单元的数据需求构建了数据库和数据表,以保证其正确性。通过合理地设置不同功能模块之间的关联关系,使各个模块能够协同工作。通过有序和高效的运行,各项功能得以确保。因此,在实际应用过程中,应该将数据库作为整个系统的核心部分来对待。构建一个有效的数据库可以显著缩短乘客的反应时间,同时提升在线驾驶室管理系统的管理效率。在设计过程中,首先要对系统的整体结构进行区分,然后根据不同的业务需求分别确定子系统,最后将所有模块封装成一个完整的整体。为确保系统的完备性,必须建立相应的实体,并明确各个实体之间的相互作用。
约车信息实体属性图,如图4-3所示。
司机实体属性图,如图4-4所示。
订单信息实体属性图,如图4-5所示。
4.4.2 数据库的物理设计
本系统所采用的数据存储方式为MySQL数据库,其主要数据表的具体展示部分呈现如下。
表4-1:乘客
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 300 | 乘客账号 | ||
yonghuxingming | varchar | 300 | 乘客姓名 | ||
mima | varchar | 300 | 密码 | ||
shoujihaoma | varchar | 300 | 手机号码 | ||
touxiang | varchar | 300 | 头像 | ||
xingbie | varchar | 300 | 性别 | ||
youxiang | varchar | 300 | 邮箱 | ||
zhuzhi | varchar | 300 | 住址 |
表4-2:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 200 | 参数名称 | ||
value | varchar | 200 | 参数值 |
表4-3:乘客表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 200 | 乘客名 | ||
password | varchar | 200 | 密码 | ||
role | varchar | 200 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-4:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 乘客id | |||
username | varchar | 200 | 乘客名 | ||
tablename | varchar | 200 | 表名 | ||
role | varchar | 200 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-5:公告
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 300 | 标题 | ||
introduction | longtext | 4394976295 | 简介 | ||
picture | varchar | 300 | 图片 | ||
content | longtext | 4394976295 | 内容 |
第5章 系统实现
5.1 登录
在系统中,无论是管理员、乘客还是司机,都要输入正确的账号密码并进行登录,乘客和司机就可以根据自己的角色选择相应的账号和密码,从而顺利进入系统。此处使用了数据库新建的user表用来存储注册的信息、写一个User.java和一个接口UserMapper.java再写一个UserMapper.xml与之相关联。实现的登录界面见图5-1。
5.2 管理员登录功能模块
5.2.1 订单信息管理
在订单管理界面的实现过程中,使用了CSS技术将整体进行布局、script标签技术将各个小的板块更加方便查看。和连接数据库之间的一些增删改查。setMudedi()、getMudedi()、等这些类和接口实现页面见图5-2。
6.2 功能模块测试
表6-1 登录用户模型表
序号 | 测试场景 | 输入 | 输出 | 期望输出 |
1 | 在登录页面中输入错误的乘客名和密码 | 666,666 | 登录失败 | 登录失败 |
2 | 在登录页面中输入数据库记录中含有乘客名和错误的密码 | qwe,666 | 密码错误 | 密码错误 |
3 | 在登录页面中输入数据库记录中含有乘客名和密码 | qwe,qwe | 登录成功 | 登录成功 |
4 | 在登录页面中不输入乘客名和密码 | 登录失败 | 登录失败 |
表6-2 乘客管理用户模型表
序号 | 测试场景 | 输入 | 输出 | 期望输出 |
1 | 在乘客管理界面中的输入框输入数据库记录含有的乘客名 | Wang | 展示搜索出来的乘客信息 | 展示搜索出来的乘客信息 |
2 | 在乘客管理界面中点击添加按钮实现添加乘客信息 | 乘客的基本信息 | 如果输入的乘客信息与数据库记录相冲突,那么添加失败 | 如果输入的乘客信息与数据库记录相冲突,那么添加失败 |
3 | 在乘客管理界面中点击删除按钮实现删除乘客信息 | 无 | 如果删除的乘客记录没有和其它表的记录有外键的关系,则能删除成功 | 如果删除的乘客记录没有和其它表的记录有外键的关系,则能删除成功 |
4 | 在乘客管理界面中点击修改按钮实现修改乘客信息 | 修改乘客的基本信息 | 如果输入修改的乘客信息和数据库乘客表记录相冲突,那么则不能够成功修改 | 如果输入修改的乘客信息和数据库乘客表记录相冲突,那么则不能够成功修改 |
目 录