随着社会的发展,系统的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但各种信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得地铁查询与售票管理信息,因此设计一种安全高效的地铁查询与售票系统极为重要。
为设计一个安全便捷,并且使用户更好获取地铁查询与售票管理信息,本文主要有安全、简洁为理念,实现用户快捷寻找地铁查询与售票管理信息,从而解决地铁查询与售票管理信息复杂难辨的问题。
系统用例图
用例图的作用也是十分重要的,因为它设计方法较为简单,所以它是十分重要的交流工具。在系统开发设计的时候,可以直观明了的看到每个功能模块之间的联系和相互作用,在做出任何变动的时候,都能有很明确的思维导向。它就像一座大桥一样,串联了整个系统。
本次系统的用例图做出了十分明确的功能划分,在设计时可以有很好的设计思路进行设计和延展。
用户用例图如图3-1所示。
图3-1用户用例图
管理员用例图如图3-2所示。
图3-2管理员用例图
系统流程分析
登录流程图
登录流程是该系统的第一个流程,登录的第一步是输入账号、密码登录,系统会验证账号与密码是否正确,正确时系统会判断账号类型再进入不同的后台;不正确时,会返回到登录的第一步,输入用户重新执行登录流程。该流程如图3-3所示。
图3-3登录流程图
添加新用户流程图
添加新用户的流程是先查询新用户名是否已存在,如已有该用户名,需重拟用户名并同时输入新用户的其它信息,添加新用户到数据库时会先验证数据是否完整,信息都正确且完整时,返回并刷新用户列表;信息不正确时,会返回输入信息的那一步。该流程如图3-4所示。
图3-4添加新用户流程图
地铁查询与售票系统从技术、经济、运行功能等方面分析了系统的功能需求,可以满足用户的地铁查询与售票管理管理需求,帮助用户安全、高效地找到合适的地铁查询与售票管理信息,因此有必要对其进行课题研究。
系统设计
系统设计是将被设计对象划分为单个模块进行构建,各个模块相互支持,相互制约,它们的组合是一个完整的系统。通过系统设计,可以最大限度地满足系统的预期目标,明确软件开发的目的。
系统基本结构设计
本次系统采用springboot框架进行开发,springboot框架是一款企业界主流的软件开发技术,其简化了开发流程,大大缩减了软件开发所需的时间提高了软件的响应速度。系统总体结构图如图4-1所示。
数据库设计
数据库结构设计的好坏直接影响到地铁查询与售票系统的效率和实现的效果。本系统的数据库采用MySQL数据库,MySQL是一种开放源代码的关系型数据库管理系统,使用最常见的数据库管理语言SQL进行数据库管理。
数据库E-R图设计
E-R图也可称为实体-联系图,其可以清楚的显示实体与实体之间的关系,是描述概念模型的有效方式,通过各实体间的关系方便数据库结构的设计。以下是本系统主要的实体属性图如下所示。
用户信息E-R图如图4-2所示。
图4-2用户信息E-R图
线路信息E-R图如图4-3所示。
图4-3线路信息E-R图
车票E-R图如图4-4所示。
图4-4车票E-R图
车票购买E-R图如图4-5所示。
图4-5车票购买E-R图
地铁查询与售票系统总体E-R图如图4-6所示。
图4-6地铁查询与售票系统总体E-R图
系统实现
系统实现章节的主要内容主要是将系统分析和系统设计方案进行实现,按照各个系统角色进行功能介绍,系统实现就是一个真正开始编写的阶段,将前面的分析结果以及设计方案进行实现,最终做出一个符合用户需求的软件系统。
前台用户功能模块实现
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到地铁查询与售票系统的导航条显示首页、线路信息、站点信息、车票、个人中心等,如图5-1所示。
图5-1前台功能界面图
在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图5-2所示。
.
图5-2用户注册界面图
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-3所示。
图5-3用户登录界面图
用户点击站点信息,在站点信息页面查看站点名称、站点照片、道路名称、道路地址、站点距离等信息,还可以点击收藏等操作;如图5-4所示。
图5-4站点信息界面图
用户点击车票,在车票页面可以查看车票编号、有效期、起点、终点、票价、进站时间、图片信息;还可以进行购买等操作;如图5-5所示。
图5-5车票界面图
用户点击个人中心,在个人中心页面可以修改个人信息进行详细操作,还可以对修改密码、车票管理、我的收藏管理进行详细操作;如图5-6所示。
图5-6个人中心界面图
后台管理员功能模块实现
管理员登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,点击登录操作;如图5-7所示。
图5-7 管理员登录界面
管理员进入主页面,主要功能包括首页、轮播图管理、管理员管理、用户管理、线路信息管理、站点信息管理、车票管理等进行操作。管理员主页面如图5-8所示:
图5-8 管理员功能主界面
用户信息功能在视图层(view层)进行交互,比如点击“新增”按钮或填写用户信息表单。这些用户动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增、更新或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户信息功能可以看到最新的信息或相应的操作反馈。在用户信息页面的输入栏中输入用户账号进行搜索,可以查看到用户详细信息,并根据需要进行修改或者删除等操作;如图5-9所示。
图5-9用户界面图
线路信息功能在视图层(view层)进行交互,比如点击“新增”按钮或填写线路信息表单。这些线路信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增、更新或删除线路信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便线路信息功能可以看到最新的信息或相应的操作反馈。在线路信息页面的输入栏中输入线路名称进行搜索,可以查看到线路信息详细信息,并根据需要进行修改或者删除等操作;如图5-10所示。
图5-10线路信息界面图
管理员点击站点信息;在站点信息页面通过对站点名称、站点照片、道路名称、道路地址、站点距离等信息,进行搜索、新增或删除站点信息等操作;如图5-11所示。
图5-11站点信息界面图
管理员点击车票;在车票页面通过对车票编号、有效期、起点、终点、票价、进站时间、图片等信息,进行搜索、新增或删除车票等操作;如图5-12所示。
图5-12车票界面图
管理员点击车票购买;在车票购买页面通过对车票编号、有效期、起点、终点、票价、进站时间、用户账号、用户姓名、购买时间、状态、支付状态等信息,进行搜索或删除车票购买等操作;如图5-13所示。
图5-13车票购买界面图
管理员点击车票退票;在车票退票页面对车票编号、有效期、起点、终点、票价、进站时间、用户账号、用户姓名、退票时间等信息,进行搜索或删除车票退票等操作;如图5-14所示。
图5-14车票退票界面图
系统测试
系统功能测试
在系统的功能性测试中,开发用户需要按照操作要求使地铁查询与售票系统软件的各项功能,并准确记录测试期间的每个功能的运行数据,判定软件系统开发的功能是否符合预期的结果,主要是对MySQL数据库里的数据进行增删改查。对该功能的测试操作如表6-1所示:
表6-1 角色管理测试过程及结果
测试项 |
测试用例 |
测试特性 |
用例描述 |
系统反应 |
测试结果 |
||||||
角色管理 |
权限名称:xx,权限字符:admin 菜单权限:系统管理 |
功能测试 |
添加一个新角色,基础信息与已有角色完全一致 |
添加失败,提示“该角色已存在” |
通过 |
||||||
角色管理 |
权限名称:xx权限字符:admin 菜单权限:系统管理 |
功能测试 |
按关键词搜索角色信息 |
查找成功 |
通过 |
||||||
权限名称:xx,权限字符:admin 菜单权限:系统管理 |
功能测试 |
删除系统中角色 |
删除成功 |
通过 |
|||||||
角色管理 |
权限名称:aa,权限字符:boss 菜单权限:系统管理 |
功能测试 |
添加一个新角色,基础信息与已有角色均有所不同 |
添加成功 |
通过 |
本章所做的主要工作是对系统进行功能性测试和性能测试。地铁查询与售票系统的正确性是网站的不可或缺的因素,系统的功能性测试是其中必不可少的步骤,也是占有很大比重的部分,这个过程中遇到的最多的问题是当界面跳转的时候系统终止运行。使用Eclipse中的Log Cat功能能够实现对程序每一个步骤进行跟踪,且定位出错误的位置十分方便。通过对各功能模块的测试结果和预期结果的比较,发现系统功能满足项目要求。