《基于springboot的交通查询管理系统设计与实现》14000字_第1页
《基于springboot的交通查询管理系统设计与实现》14000字_第2页
《基于springboot的交通查询管理系统设计与实现》14000字_第3页
《基于springboot的交通查询管理系统设计与实现》14000字_第4页
《基于springboot的交通查询管理系统设计与实现》14000字_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-PAGEIV-基于springboot的交通查询管理系统设计与实现摘要近年来,随着我国国民经济发展水平的不断提高,人民生活水平明显提高。随着经济刺激假日旅游产品消费的各种不同国家相关政策的出台和铁路运输的迅速发展,人们对旅行的需求问题日益增加,火车作为一种传统的交通工具承受着巨大的运输负担。于是乎,车次信息的查询与管理就显得尤为重要。作为管理者,传统的车次信息的查询与管理存在着操作繁琐、业务处理复杂、手段单一等缺点,当查找数据量庞大的车次时刻信息时不能直观地将信息反馈给用户,将造成数据管理困难、获取信息低效等问题,从而影响数据信息管理的效力。因此,开发出一套基于互联网操作的先进、快捷、高效的火车车次查询管理系统成为了必然。 本系统设计的过程中,开发工具选择使用idea,主要通过springboot+mybatis的技术构建后端持久层,接收经MySQL处理过的数据并加以封装整合,并编写了相应的后端接口;运用vue+element-ui等技术编写前端页面,完成将信息更快捷、更直观地反馈给用户的任务。同时,还设置了多种用户权限以达到控制用户操作的效果,不同的用户角色有不同的操作权限。 火车信息的管理和规划是困扰管理者多年的一个重要问题,也是中国政府财务管理的一个难点。列车信息管理是火车站许多工作中的一小部分,但它涉及到数据封装、用户服务等多个方面。所以本次系统设计开发了一套火车车次查询管理系统,它能帮助管理者更好地规划、管控庞大的火车信息。关键词:vue;springboot;mybatis;MySQL数据库目录22204摘要 I17576Abstract II94341绪论 1141011.1课题简介 155971.2相关研究 1284932系统开发技术概述 379562.1SpringBoot概述 3171972.2MyBatis概述 3178002.3MySQL概述 360652.4Vue概述 4261072.5Element-Ui概述 4316173需求分析 535053.1功能需求 589673.2性能需求 6293803.2.1准确性和及时性 6148523.2.2易用性 6204303.2.3安全性 6243193.3可行性分析 6179663.3.1经济可行性 7325203.3.2技术可行性 7172083.3.3操作可行性 7155153.4数据流图 720563.5数据字典 988813.6业务流程分析 10125014系统总体设计 11115834.1总体设计描述 11163724.2系统开发模式 11150184.3系统功能设计 1145964.4系统的总体结构 11220234.5子模块描述 1229244.6数据库介绍 1320704.7概念设计 1357524.8逻辑设计 1734205系统详细设计 22299545.1过程设计 224585.2界面设计 28220736测试 30222186.1调试与测试概述 30207167结论 3520153参考文献 36421绪论课题简介火车信息管理只占火车站业务的一小部分,但信息管理是所有车站业务中最基本的一部分。我国每天发起的火车车次数以万计,而我国火车信息管理一直缺乏专业的信息管理系统,许多系统存在诸多的缺陷,如信息量庞大造成的统计困难、信息处理工作繁琐、劳动强度大等。因此,开发火车信息管理系统可以为火车管理的相关工作人员带来极大便利,这对于管理者来说至关重要,十分具有意义。为了解决上述问题,本次开发了一个火车查询管理系统,目的是为了帮助工作人员处理相关信息。本毕业设计采用vue、MySQL数据库、springboot、mybatis等技术,将整个系统分为三个主要功能模块:用户信息管理、查询车次和系统信息管理。本文的结构分为系统开发技术介绍、需求分析、系统总体设计、系统详细设计、系统功能测试和总结。相关研究目前,已有的各式信息管理系统不断完善,集合多种开发技术,以顺应社会经济的发展,满足日益增加的信息管理、快捷操作的需求。当用户或企业管理对火车信息有查询的需要时,如果使用目前网上的火车信息查询系统的话,会存在着搜集效率低下、操作繁琐、有效信息整理不足等问题,进行影响用户或企业的工作效率、人力时间,所以在这样的背景之下,我个人开发的火车查询管理系统需要满足我个人的快速开发、功能完整、界面友好等需求,所以我个人进行了相关的研究学习后,选择了前端使用Vue+Element-ui技术进行开发,后端框架使用SpringBoot,数据库框架使用Mybatis。现在,SpringBoot被广泛用于管理系统、销售系统和评估系统的设计和开发,还包括诸如网络信息平台等电子平台的开发,并且SpringBoot简化了应用Spring。火车查询管理系统就是在这样的背景下利用SpringBoot框架,利用vue和element-ui快速开发系统页面,使用MySQL数据库技术进行项目数据库的开发使其具备便利、快捷、高效的特性。在科技不断发展的今天,许多企业开始对火车信息的查询有了更加专业的需求,该火车查询管理系统设计的目的是为了让对火车信息查询有需求的用户或企业能更有效地获取、收集火车的基本信息,提高工作效率。大体的功能上分为车次查询、信息管理、会员功能三大模块。2系统开发技术概述2.1SpringBoot概述SpringBoot与之前的Spring版本相比,延续了Spring框架的优势而且还自动配置了其他框架。SpringBoot在业界有着非常广泛的适应性,SpringBoot技术使得加快了开发速度,还可以支持复杂的开发需求和操作。SpringBoot所拥有的长处:·应用程序不需要打包成WAR。·无需大量配置,简化开发。·与云计算集成。2.2MyBatis概述MyBatis和Hibernate是同一类的,它简化了大量JDBC代码,还支持高级映射,使开发人员更容易学习入门,是一款十分出色的持久性框架。他可以简化从数据库中分配值的过程。对于基本类型、接口和javaPOJO,MyBaits可以用简单的方式来配置,比如XML或注释。MyBatis应用起来很便利,即使是刚入门的程序员也可以很容易上手。对于开发人员来说,编写API也非常容易。MyBatis提供了与Spring框架的集成技术支持。Mybatis-Spring可以集成到Spring框架中,而IOC框架是当今的趋势,配置简单。MyBatis的优点:·和JDBC进行比较代码量大大减少了。·最简单的持久化框架,体积小,学习方便。·MyBatis可以帮助开发人员降低程序的耦合度,因为查询数据库的SQL语句是写在配置文件里的,使SQL语句与程序代码分离,并且XML里的SQL语句也可以被其他接口重复使用。·MyBatis在编写SQL语句的时候使用标签可以使开发人员更好地控制数据库。·提供诸如result之类的映射标记将后端实体对象映射。2.3MySQL概述MySQL拥有许多的特点,其特点有快速、多线程、使用方式多样、语言简单易懂、易学易用、多用户,而且它的SQL数据库服务器十分强大,有着面向集合的操作方式。MySQL优点:·成本低,可以免费使用。·性能好,MySQL执行效率快 。·生活中很多地方都在使用MySQL。·简安装使用非常容易。2.4Vue概述上手Vue入门很容易,只需要读懂vue文档便可以快速入门,而且它的代码可读性很强Vue有许多的插件,但并非我们所必须使用。将现有代码与Vue.js匹配也非常简单。Vue的优点:·轻量级框架。·简单易学。·虚拟DOM、运行速度快。2.5Element-Ui概述Element-Ui的易用性和可读性能让开发者更快速地开发Web项目,它提供了丰富的PC端组件,是一套不依靠业务的UI组件库、基于Vue封装的组件库,它还简化了组件的封装,提高了复用性,降低了企业开发工作难度。3需求分析目前,为了确定用户的需求,正在对火车查询管理系统的系统目标和应用情况进行整理,并分析基本数据和数据要求。从如下所列的几个方面分析了用户对系统的需求。3.1功能需求管理员登录:管理员个人信息的登录;修改个人的密码;对火车的车次时刻进行管理:根据车次查询车次时刻、添加车次时刻、删除车次时刻、编辑车次时刻等;对用户信息进行管理:(该模块仅限超级管理员)根据用户名查询用户、添加用户、修改用户角色、修改用户权限、删除用户等;对火车信息进行管理,根据火车名称查询火车信息、新增火车信息、删除火车信息、编辑火车信息等;对车站信息进行管理,根据车站名称查询车站信息、新增车站信息、删除车站信息、编辑车站信息等;车次查询:输入车次和日期进行车次时刻查询,可以获得对应的车次、车站名称、到站时间、离站时间等信息;车站查询:输入车站名称和日期进行车次时刻查询,可以获得对应的车次、车站名称、到站时间、离站时间等信息;站站查询:输入起始站名称、目的站名称、日期进行车次时刻查询,可以获得对应的车次、起始车站名称、起始站到达时间、目的站名称、目的站到达时间等信息。普通用户登录:(1)普通用户个人信息的登录及注册;(2)修改个人的密码;(3)车次查询:输入车次和日期进行车次时刻查询,可以获得对应的车次、车站名称、到站时间、离站时间等信息;(4)车站查询:输入车站名称和日期进行车次时刻查询,可以获得对应的车次、车站名称、到站时间、离站时间等信息;(5)站站查询:输入起始站名称、目的站名称、日期进行车次时刻查询,可以获得对应的车次、起始车站名称、起始站到达时间、目的站名称、目的站到达时间等信息。3.2性能需求3.2.1准确性和及时性处理数据信息的准确性和及时性的性能是本系统所要求的。该系统应能根据不同用户的权限和输入的信息作出反应。系统的查询功能对整个火车查询管理系统的功能和性能起着非常重要的作用。火车时刻信息作为本系统最重要的数据,这就要求对其信息的处理必须准确、及时。若是信息处理响应信息请求的速度过慢,会失去本信息管理系统的易用、快速等特点。3.2.2易用性该系统直接面向用户,然而,用户可能不熟悉计算机。所以本系统的交互界面需要易于上手从而此系统需要充分考虑用户的实际体验需求,以满足系统的易用性。3.2.3安全性火车查询管理系统的数据信息是非常重要的。该系统应限制用户的权限,普通用户应该只能使用车次时刻查询等相关功能,而不能更改相关数据信息。针对企业各类数据信息的修改操作,是只有管理员才能做的事情,特别是针对用户信息管理,只有超级管理员才能做到。3.3可行性分析时间推移,各式各样的交通运输管理方式的需求都变多了起来,其中火车运输是交通运输方式中极为重要的一部分。庞大的火车信息的产生,需要相关工作人员对其进行高效、快捷地处理。火车车次查询管理系统是依照火车信息管理部门的需求而提供的一项设计,使工作人员可以通过该系统方便、快捷地收集和处理信息。因此,应进一步开展可行性分析,简化管理系统的分析和设计,更加专业地进行抽象化系统分析设计。3.3.1经济可行性因为目前信息技术设备的需求通常符合网站的相关设计要求和软件环境,火车查询管理系统可以减少查询火车相关信息而产生的繁琐事务。大大减轻有关人员的负担,方便了对火车进行信息系统查询有需求的用户,从经济角度考虑是可行的。3.3.2技术可行性为了顺利开发此项目,建立页面友好的前端页面和维护数据库中的数据,我们要以B/S模式。要满足此要求,第一,必须具备完整的功能和易用的功能,第二,必须建立一个具有高度数据一致性、完整性和良好数据信息安全的数据库。系统采用IDEA作为前端和后端开发工具。MySQL作为大众熟知的品牌,拥有历史悠久、服务稳定、软件体积小、易学易用、易于维护等特点,而且有许多公司和企业的发展都离不开使用MySQL,这使得开发人员可以更好地与不同企业进行协同工作,从技术上开发考虑可行的。3.3.3操作可行性今天,虽然获得火车信息的途径有很多,但是相关信息的管理与整合往往需要工作人员大费周折,而且火车信息的批量获取与整合往往成为了很多管理者与相关工作人员头疼的事情,就算获取信息的方式有再多也不一定能够高效地得到对于自己有用的数据信息。现在,计算机相关设备在我国的普及,让在线登录火车查询系统、查询批量火车信息成为变得更加容易实现。而对于管理员来说,不仅可以快速查询火车信息,并且能组织信息,能快速有效地完成相关操作。3.4数据流图图3.1用户登录数据流图图3.2普通用户查询数据流图图3.3管理员用户、车次、火车、车站管理数据流图3.5数据字典表3.1用户信息的定义名字:用户信息别名:无描述:数据库中用来存储用户信息的关系表定义:用户信息=用户id+用户名+密码+状态位置:MySQL数据库中用户信息表表3.2车次时刻的定义名字:车次时刻别名:无描述:数据库中用来存储车次时刻信息的关系表定义:车次时刻=id+车次+车站名称+到站时间+离站时间+日期+是否停运位置:MySQL数据库中车次时刻表表3.3火车信息的定义名字:火车信息别名:无描述:数据库中用来存储火车信息的关系表定义:火车信息=id+火车名称+车厢数+座位数+出厂时间+状态位置:MySQL数据库中火车信息表表3.4车站信息的定义名字:车站信息别名:无描述:数据库中用来存储车站信息的关系表定义:车站信息=id+车站名称+值班人员+服务电话位置:MySQL数据库中车站信息表表3.5修改密码的定义名字:修改密码别名:无描述:用户在使用修改密码功能时的对象定义:修改密码=密码+新密码+确认新密码位置:修改密码功能模块表3.6个人信息的定义名字:个人信息别名:无描述:系统后台中用来处理用户角色和权限的对象定义:个人信息=用户id+用户名+角色id+角色列表+权限id+权限列表位置:用户管理功能模块表3.7线路信息的定义名字:线路信息别名:无描述:系统后台中用来处理线路信息的对象定义:线路信息=线路名称+线路类型位置:用户管理功能模块3.6业务流程分析火车查询管理系统的业务流程是以初始信息流向最终信息的流程为基础,逐一分析系统中每个操作链接的业务处理和内容处理等需求,并确定各操作链接的初始信息、信息来源和最终信息目的地等实时数据,进而显示相应的信息形式,有助于我们更清楚地了解业务运行的过程,有一个清晰的设计思路,即使遇到问题,我们也能及时、有规则地解决。在用户的登录界面,如果登录的用户已经注册,那么这个用户可以进行相关的操作比如浏览个人信息等等,之后根据用户自身的需要进行车次时刻查询,后台管理处理请求的信息,进而生成密码、车次时刻列表等,如果不需要其他操作的话可以点击退出按钮。如果是新用户的话,需要在登录界面处点击“注册”按钮进入注册页面,按要求输入相关的用户信息来完成个人用户的注册,然后才能登录进去系统,新注册的用户会被系统默认赋予是普通用户的角色和权限,然后会跳转到普通用户页面,浏览个人信息、修改个人密码,进行车次查询、车站查询、站站查询功能会提供给用户,如无需其他需求,可退出登录。该系统的业务流程如下图:图3.4火车查询管理系统业务流程图4系统总体设计4.1总体设计描述总体设计是,软件开发人员使用结构化编程方法将软件分解为多个软件模块,自顶向下,直到将其分解为一个树结构,每个模块只有一个功能,可以由一个或多个程序完成。总体设计过程可分为:功能设计:确定火车查询管理系统功能模块;结构设计:确定火车查询管理系统结构。在系统定义中为数据处理或处理确定的任何步骤,如添加、删除、查询等,都应包含在功能设计中,而结构设计是将系统结构分成许多个不同的功能模块,自顶向下。4.2系统开发模式本火车查询管理系统采用MVC开发模式,在Controller层和逻辑业务层实现不同的接口相对应trainmanager数据库中的表创建了多个接口,并通过Mapper之中相应的实现类实现功能。Service层完成相关数据的逻辑处理和封装的功能,控制层负责统一的管理调用,View层用来显示各式各样的系统信息,如日志什么的。通过这样的开发模式可以减低耦合度,也更加得合理安全。4.3系统功能设计本火车查询管理系统有两种角色可以登录系统:普通用户、管理员。对应的功能模块有:登录系统功能模块,验证登录进行信息;管理员功能设计模块,实现用户数据信息、火车信息、车站信息、车次时刻、和线路信息的管理;普通用户服务功能模块,实现车次时刻查询和个人密码的修改。在浏览器输入地址http://localhost.8080/Login/进入系统登录页面,通过有效填写用户名、密码、角色的方式进行访问系统,通过身份识别判断用户信息,并且用户需要选择多样的身份前往不同的页面,从而达到了区别不同角色的用户的效果。4.4系统的总体结构在系统分析之后,获得以下系统功能模块图:图4.1火车查询管理系统总体功能图4.5子模块描述各个子模块描述如下:登录功能模块:进入登录功能模块后,正确填写用户信息并选择用户角色,后台会检验该用户都拥有什么功能,可以看到哪几个菜单,这样就可以区分出是普通用户登录还是系统管理员登录。普通用户功能模块:个人信息功能模块:每个人可以查看自己的id、角色与权限。修改密码功能模块:用户输入登录时所用的密码、新密码、确认新密码可以进行个人密码的修改。车次时刻查看模块:都有车次查看、车站查看、站站查看服务功能。车次查询是通过用户输入车次和日期来显示/筛选对应的车次时刻信息;车站查询是通过用户输入车站名称和日期来显示/筛选对应的车次时刻信息;站站查询是通过用户输入的起始站名称、目的站名称和日期来显示/筛选对应的车次时刻信息。管理员功能模块普通用户有的功能和可以享受到的服务管理员也可以体会到。表4.1功能模块表用户管理功能模块该模块仅仅只提供给超级管理员服务,超级管理员可以使用功能按钮提供的功能实现用户角色的添加、删除和修改用户角色权限。车次管理功能模块管理员可以使用功能按钮提供的功能实现添加、删除和修改车次时刻信息。火车信息管埋功能模块管理员可以使用功能按钮提供的功能实现添加、删除和修改火车信息。车站信息管理功能模块管理员可以使用功能按钮提供的功能实现添加、删除和修改车站信息。线路管理功能模块管理员可以使用功能按钮提供的功能实现添加、删除和修改线路信息。4.6数据库介绍本项目开发数据库所用的ide是Navicat,完成了数据库建表、新建连接等操作,在后端的xxxxMapper.xml文件里编写SQL时可以先在Navicat中测试SQL语句看是否出错,不然如果在后端编写代码中出现了错误,还需要一个模块一个模块的排查,要不是XML文件的SQL语句出错还好,如果是SQL语句出错的话,将会浪费许多的时间。4.7概念设计在概念设计阶段,为了一般人也能够理解,E-R模型图被用作该设计板块的描述性工具。在了解和研究了基于SSM框架的学生信息管理系统[4]的流程并详细分析了内容后,设计了数据库E-R图。火车查询管理系统用户E-R图:图4.2用户E-R图火车查询管理系统角色E-R图:图4.3角色E-R图火车查询管理系统权限E-R图:图4.4权限E-R图火车查询管理系统车次时刻E-R图:图4.5车次时刻E-R图火车查询管理系统火车信息E-R图:图4.6火车信息E-R图火车查询管理系统车站信息E-R图:图4.7车站信息E-R图火车查询管理系统火车车次E-R图:图4.8火车车次E-R图火车查询管理系统线路E-R图:图4.9线路E-R图火车查询管理系统线路车站E-R图:图4.10线路车站E-R图火车查询管理系统总体E-R图:图4.11总体E-R图4.8逻辑设计数据库及其应用程序的总体性能以及优化配置由数据库的逻辑设计决定,如果此设计存在不合理、繁琐、复杂的特点,则对系统的开发有不利。下面的9张表分别为用户表、用户角色表、角色表、角色权限表、权限表、车次时刻表、火车信息表、火车车次表、车站信息表。其中,用户角色表用于将用户表与角色表关联。它存储用户ID和它所拥有的角色ID,因为单独的用户可以单人多种角色,所以在此表中可以有多个用户id相同的字段;角色权限表记录了不同角色对应着不同的权限,目前超级管理员权限最多,有修改密码、修改火车信息、修改用户信息,分别对应权限id:1,2,3。管理员次之,管理员是没有权限进行修改用户信息的,普通用户所拥有的权限只有修改密码;车次时刻表则是记录了车次时刻这一关键信息群,车次查询、车站查询、站站查询都会通过搜索条件的不同从这张表里查询所需要的数据;火车信息表和车站信息表则是服务于管理员,管理员通过获取这两张表的信息从而对整个火车查询系统进行宏观调控。表4.2用户表列名数据类型长度是否主键是否可空注释idbigint11是Notnull用户IDnamevarchar255否Notnull用户名passwordvarchar255否Notnull密码statusvarchar255否Notnull状态gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间表4.3用户角色表列名数据类型长度是否主键是否可空注释idbigint11是Notnulliduser_idbigint11否Notnull用户IDrole_idbigint11否Notnull角色IDgmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间表4.4角色表列名数据类型长度是否主键是否可空注释idbigint11是Notnull角色IDrolevarchar255否Notnull角色名gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间表4.5角色权限表列名数据类型长度是否主键是否可空注释idbigint11是Notnullidrole_idbigint11否Notnull角色IDpermission_idbigint11否Notnull权限码gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间表4.6权限表列名数据类型长度是否主键是否可空注释idbigint11是Notnullidpermissionvarchar255否Notnull权限名permission_idbigint11否Notnull权限码gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间表4.7车次时刻表列名数据类型长度是否主键是否可空注释idbigint20是Notnullidtrain_numbervarchar255否Notnull车次station_namevarchar255否Notnull车站名称arrival_timetimestamp0否Notnull到站时间departure_timetimestamp0否Notnull离站时间datedate0否Notnull日期outage_or_nottinyint0否Notnull是否停运gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间typevarchar255否Notnull类型表4.8线路表列名数据类型长度是否主键是否可空注释idbigint20是Notnullidrailway_namevarchar255否Notnull线路名称railway_typevarchar255否Notnull线路类型gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间表4.9线路车站表列名数据类型长度是否主键是否可空注释idbigint20是Notnullidrailway_idvarchar11否Notnull线路idstation_idvarchar11否Notnull车站iddistancedoubule255否Notnull距离sortbigint255否Notnull排序gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间表4.10火车信息表列名数据类型长度是否主键是否可空注释idbigint11是Notnullidtrain_namevarchar255否Notnull火车名称railway_carriage_numberbigint255否Notnull车厢数seat_numberbigint255否Notnull座位数factory_timetimestamp0否Notnull出厂时间statusvarchar255否Notnull状态gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间表4.11火车车次表列名数据类型长度是否主键是否可空注释idbigint11是Notnullidtrain_namevarchar255否Notnull火车名称train_numbervarchar255否Notnull车次timedatetime0否Notnull时间gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间表4.12车站信息表列名数据类型长度是否主键是否可空注释idbigint11是Notnullidstation_namevarchar255否Notnull车站名称people_on_dutyvarchar255否Notnull值班人员service_telephonevarchar255否Notnull服务电话gmt_createdtimestamp0否Notnull创建时间gmt_modifiedtimestamp0否Notnull更新时间

5系统详细设计5.1过程设计普通用户在登录本火车查询管理系统后可以使用三种功能服务:浏览自己的信息、修改自己的密码、查询车次时刻。另外,查询车次时刻具体可以分为车次查询、车站查询和站站查询。管理员登陆之后除了可以使用普通用户的三个功能以外,还设计了用户管理、车次管理、车站管理、火车管理、线路管理五个管理模块供管理员使用。数据流程图被分为三个部分,一个是用户进行登录,系统需要对用户的角色进行识别从而判断跳转到对应的页面。普通用户和管理员访问的页面不尽相同,可以使用的功能服务也不一样,管理员可以访问和使用更多的功能。火车查询管理系统的登录数据流图:图5.1火车查询管理系统登录流程图火车查询管理系统的普通用户、管理员操作流程图:图5.2火车查询管理系统普通用户操作流程图图5.3火车查询管理系统管理员操作流程图修改密码处理流程图:图5.4修改密码处理流程图车次查询处理流程图:图5.5车次查询处理流程图 用户管理处理流程图:图5.6用户管理处理流程图 车次管理处理流程图:图5.7车次管理处理流程图 火车信息管理处理流程图:图5.8火车信息管理处理流程图 车站信息管理处理流程图:图5.9车站信息管理处理流程图线路管理流程图:图5.10线路管理处理流程图5.2界面设计(1)系统登录界面图5.11系统登录界面系统登录的设计,每次访问页面会在页面的右上角弹出账号信息提示,用户可以根据实际,选择填写不同的角色来访问该系统,只是选择好账号之后需要选择好对应的角色身份,否则无法登录。用户也可点击卡片底部右侧的注册按钮进行用户新账号注册,点击注册按钮之后会跳转到注册页面。(2)用户管理页面图5.12用户管理页面用户管理页面是只有超级管理员有权限访问,该页面超级管理员可以修改用户信息,有添加用户、根据用户名搜索用户、删除用户、编辑用户按钮;列表下方实现了后端分页,每次切换页数或者筛选用户的时候,都会发送请求访问后端进行数据请求,这样的分页方式在请求数据量庞大的时候可以缓解服务器压力,其他几个查询页面的分页也都是按这样的方式进行设计的。(3)添加车次时刻表单图5.13添加车次时刻表单在添加车次时刻表单的设计中,用户需要依次填写发车时间、时速、车次类型、发车站和到达站后,系统会根据用户输入的信息列出可供选择的线路,如图所显示的国道15,就是北京北到樱花可供选择的线路,线路信息可以由管理员在线路管理中进行相应的操作设置。当选择好线路之后会出现该线路所有的途径站。(4)普通用户主界面图5.14普通用户主界面当选择使用普通用户身份登录系统时,会访问普通用户的主界面,该界面会提供五个按钮,分别是车次查询、车站查询、站站查询、个人信息、修改密码。普通用户只能修改自己的账号的个人密码,不可以对其他的数据信息进行修改。6测试6.1调试与测试概述测试与调试在开发管理工作中非常重要,当逐步测试和调试每一个组件和小的功能模块后,测试调试整个应用程序就会是否便利。具体行动和流程示例如下:测试登录页面访问在启动数据库、后端项目、前端项目之后,输入地址http://localhost:8080/trainmanager/Login/将会显示系统登录页面。在页面的右上角会显示一部分当前可用的用户的用户名和密码。测试注册功能在成功访问系统登录页面后,点击卡片底部的注册之后会跳转到系统的用户注册页面输入信息并点击注册按钮后,系统会将用户输入的密码通过md5加密后将信息保存到数据库中,并且赋予该用户普通用户角色,系统会将相应的信息分别存到相应的数据库中,之后会进行成功的消息提示。测试普通用户登录在系统登录页面中输入用户名刚刚注册的新账号,并输入刚刚注册时所填写的密码密码,然后选择普通用户选项。点击登录按钮之后,系统将根据用户名比对数据库中用户的密码(通过md5解密),数据一致后跳转到普通用户页面,失败则提示消息框。测试管理员登录在系统登录页面中输入用户名“admin”(该用户是超级管理员),输入密码然后选择管理员选项,点击登录会跳转到管理员主页面。测试个人信息模块系统主页面选择“个人信息”选项,系统会跳转到个人信息页面,该页面中点击相应的按钮会显示当前登录用户的用户信息,包括用户名、用户id、用户的角色列表、用户所拥有的权限列表。测试修改密码模块在系统主页面可以选择“修改用户密码”选项,访问到修改密码的页面后,该页面中需要用户填写用户登录时使用的密码,再输入用户想要设置的新密码,最后再输入确认新密码。当用户完成信息的填写后,系统会比对用户所填写的旧密码是否正确、新密码是否符合要求、确认新密码和新密码两个信息的内容是否一致、新密码与密码内容是否一致,当满足这些条件时,系统将提示密码已成功更改。测试普通用户车次查询模块该车次查询页面中用户可以在搜索栏中输入车次,填写日期并且点击查询,那么对应的火车信息就会通过后端接口显示在页面列表里。该页面要求日期为必填项,如果用户不填写日期则无法查询出车次时刻,当用户输入的车次为空值,系统默认会查询对应日期所有车次时刻数据信息。如果信息数量庞大,用户还可修改当前页面显示的信息数量,也可以进行页数改动(点击下一页或输入要显示第几页),每当进行页数改动的时候,系统会根据页码和页面尺寸刷新当前页面显示的车次时刻列表。测试普通用户车站查询模块在普通用户系统主页面点击“车站查询”按钮,系统会跳转到车站查询页面,该页面中用户可以在搜索栏中输入车站名称,然后填写日期并且点击查询,那么对应的车次时刻就会通过后端接口显示在页面的列表之中。当用户输入的车站名称、日期信息为空值的时候,本系统会查询所有的车次时刻。如果信息数量庞大,用户还可修改当前页面显示的信息数量,也可以进行页数改动(点击下一页或输入要显示第几页),每当进行页数改动的时候,系统会根据页码和页面尺寸刷新当前页面显示的车次时刻列表。测试普通用户站站查询模块该站站查询页面中用户可以在搜索栏中输入起始车站、目的车站和日期并且点击“查询”按钮,那么对应的车次时刻就会通过后端接口显示在页面的列表之中。当用户输入信息为空值的时候,本系统会查询所有的车次时刻。如果信息数量庞大,用户还可修改当前页面显示的信息数量,也可以进行页数改动(点击下一页或输入要显示第几页),每当进行页数改动的时候,系统会根据页码和页面尺寸刷新当前页面显示的车次时刻列表。测试管理员用户管理模块用超级管理员身份登录再在管理员主页面点击用户管理,系统会跳转到用户管理页面,在访问页面时会自动获取所有用户信息。超级管理员在搜索框中可以输入用户的用户名,那么对应的用户信息就会通过后端接口显示在页面列表里。当超级管理员填写的用户名称信息为空值,系统会查询所有的用户信息。点击添加用户的话页面将会弹出添加用户的表单,超级管理员正确填写数据信息后,输入的数据信息会保存到数据库中,添加完成后会更新用户列表,可以看到新添加的用户信息;在用户列表中点击单个用户信息的“删除”按钮,会有消息提示用户是否确认此操作,点击确定则会调用后端接口删除数据库中对应的用户信息,并更新用户列表,即删除用户成功,点击取消会弹出消息框“取消操作”,不会进行删除操作,需要注意的是超级管理员是不可被删除的;在用户列表中点击单个用户信息的编辑会弹出修改用户表单,对用户信息中权限和角色的修改可以由超级管理员来完成,按照要求进行修改点击确定后,系统会将数据库里的信息进行相应的修改,并更新用户列表,可以看到修改过后的用户信息,需要注意的是,超级管理员权限角色是不可以被重复设置的,即超级管理员只能有一个。测试管理员车次管理模块在访问该车次管理页面时会默认查询当天的车次时刻信息。管理员可以在搜索框中输入车次并点击查询,那么对应的当天车次时刻信息就会通过后端接口显示在页面列表里。当管理员输入的信息为空值的时候,系统会查询当天所有车次时刻。点击“添加车次”按钮,页面将会弹出添加车次时刻表单,为了设置车次的途径站和车次时刻的批量添加,管理员需要填写日期范围以达到车次时刻批量添加的效果,每个日期范围里都添加对应的车次时刻信息,管理员还需要填写发车时间、火车的时速、发车站和终点站,系统会在线路选择框中出现可供选择的线路,选择好线路后系统会自动出现该线路的所有途径站并且根据发车时间、火车时速、每个车站的停靠时间自动计算出每个途径站的到站时间和离站时间,管理员还可以从中选择哪些车站是经停的。系统会将输入的数据信息保存到数据库中,完成后会更新车次时刻列表,可以看到新添加的车次时刻信息;在车次时刻列表中点击单个车次时刻信息左侧的“删除”按钮,会弹出确认框确认此操作,点击确定则会删除对应的车次时刻信息,并更新车次时刻列表,即删除车次时刻成功,点击取消会弹出消息框“取消操作”,不会进行删除操作。测试管理员火车信息管理模块在访问该火车信息管理页面时会自动获取所有火车信息。管理员可以在搜索框中输入火车名称点击查询,那么对应的火车信息就会通过后端接口显示在页面列表里。当输入的信息为空值,系统会查询所有的火车信息。点击“添加火车信息”按钮,页面将会弹出添加火车信息表单,正确填写火车信息并点击确定后,输入的信息会被保存到数据库中,添加完成后会更新火车信息列表,可以看到新添加的火车信息,即添加火车信息成功;在火车信息列表中点击单个火车信息左侧的“删除”按钮,会弹出确认框确认此操作,点击确定则会调用后端接口删除数据库中对应的火车信息,并更新火车信息列表,即删除火车信息成功,点击取消会弹出消息框“取消操作”,不会进行删除操作;在火车信息列表中点击单个火车信息左侧的“编辑”按钮,会弹出修改火车信息表单,可以对火车信息的修改,按照要求进行修改并点击确定后,系统会将数据库里的信息进行相应的修改,并更新火车信息列表,即编辑火车信息成功。测试管理员车站信息管理模块在访问该车站信息管理页面时会自动获取所有车站信息。管理员可以在搜索框中输入车站名称查询,那么对应的车站信息就会通过后端接口显示在页面列表里。当输入的信息为空值,系统会查询所有的车站信息。点击“添加车站信息”按钮,页面将会弹出添加车站信息表单,正确填写车站信息并点击确定后,输入的信息会被保存到数据库中,然后更新列表;在车站信息列表中点击单个车站信息左侧的“删除”按钮,会弹出确认框确认此操作,点击确定则会调用后端接口删除数据库中对应的车站信息,并更新车站信息列表,即删除车站信息成功,点击取消会弹出消息框“取消操作”,不会进行删除操作;在车站信息列表中点击单个车站信息左侧的“编辑”按钮,会弹出修改车站信息表单,可以进行对车站信息的修改,按照要求进行修改并点击确定后,系统会将数据库里的信息进行相应的修改,并更新车站信息列表,可以看到修改过后的车站信息,即编辑车站信息成功。(14)测试管理员线路管理模块在访问该线路管理页面时会获取所有线路信息,包括线路Id、线路名称和线路类型。管理员可以在上方的搜索框输入线路名称来筛选线路,并且在搜索框右边有“添加线路”按钮,点击后会出现添加线路对话框,管理员输入线路名称和线路类型后,数据会通过后端接口存到数据库,并且默认为该线路赋上一个车站,添加完成后会自动刷新线路列表;列表中单个线路的“编辑”按钮可以看到该线路的具体车站,管理员可以根据需要对线路中的车站进行增删,注意线路至少要有一个车站,所以当线路中只剩一个车站的时候是不能删除的;点击列表中单个线路的删除,会弹出确认删除线路消息提示,如果选择确定那么会导致删除所有该线路的信息,如果点击取消就会弹出消息提示不会进行删除。7结论本系统的开发通过使用现代化信息管理系统,解决车次时刻信息量庞大而带来的管理困难、查找信息低效、操作不便等问题。火车查询管理系统的开发是对现阶段该类系统的有益探索。从开始的需求分析、车次时刻信息特点的研究、查询功能的设计到其功能的基本实现,共用时约三个月的时间。由于准备时间不够充分,本系统尚存在着问题没有得到解决,各别功能还可以有优化。具体说来有:系统功能结构单一、系统兼容性问题、程序中的异常处理和输入控制不够全面,可能会因为输入的错误导致未知的错误。本系统的开发包括用户注册登录、车次查询、火车信息查询等,在现阶段还处于探

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论