博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、爬虫、web开发,已经做了六年的程序开发,开发过上千套大学生实战程序,可以定制、也可成品项目,博客中有上百套程序可供参考,欢迎共同交流学习。
🍅文末点击卡片获取联系🍅
技术:SSM+mysql+tomcat
目录
1 系统介绍
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对汽车客运站售票信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用汽车客运站管理系统可以有效管理,使信息管理能够更加科学和规范。
汽车客运站管理系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员负责售票管理员和检票管理员的信息管理,对车辆,售票和车辆调度信息执行管理,并统计车辆的售票数据。售票管理员查看公告,登记车辆售票信息。检票管理员查看公告,查看售票信息,在线检票。
总之,汽车客运站管理系统集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。
2 系统背景
2.1 课题背景
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。所以各行业,尤其是规模较大的企业和学校等都开始借助互联网和软件工具管理信息,传播信息,共享信息等等,以此可以增强自身实力,提高在同行业当中的竞争能力,并从各种激烈的竞争中获取发展的机会。针对汽车客运站售票信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,经过分析和考虑,在目前的情况下,可以引进一款汽车客运站管理系统这样的现代化管理工具,这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理,还缩短汽车客运站售票信息管理流程,使其系统化和规范化。同时还可以减少工作量,节约汽车客运站售票信息管理需要的人力和资金。所以汽车客运站管理系统是信息管理环节中不可缺少的工具,它对管理者来说非常重要。
2.2 课题意义
现如今,信息种类变得越来越多,信息的容量也变得越来越大,这就是信息时代的标志。近些年,计算机科学发展得也越来越快,而且软件开发技术也越来越成熟,因此,在生活中的各个领域,只要存在信息管理,几乎都有计算机的影子,可以说很多行业都采用计算机的方式管理信息。信息计算机化处理相比手工操作,有着保密性强,效率高,存储空间大,成本低等诸多优点。针对汽车客运站售票信息管理,采用汽车客运站管理系统可以有效管理,使信息管理能够更加科学和规范。
总之,在实际中使用汽车客运站管理系统,其意义如下:
第一点:汽车客运站管理系统的实际运用,可以帮助管理人员在短时间内完成信息处理工作;
第二点:通过系统页面的合理排版布局,可以更加直观的展示系统的内容,并且使用者可以随时阅读页面信息,随时操作系统提供的功能;
第三点:可以实现信息管理计算机化;
第四点:可以降低信息管理成本;
3 系统功能结构
4 数据库结构
本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。
关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;
元组:元组就是数据表中的一行记录;
属性:属性就是数据表中的字段,也就是数据表中的一列;
域:域就是对数据表中属性的取值进行限定;
关键字:关键字就是数据表中的主键;
在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。
表4.1 车辆信息表
字段 | 类型 | 空 | 默认 | 注释 |
id | int(11) | 否 | 主键 | |
car_name | varchar(200) | 是 | NULL | 车辆名字 |
car_driver | varchar(200) | 是 | NULL | 司机 |
repair_content | varchar(200) | 是 | NULL | 车辆描述 |
car_types | int(11) | 是 | NULL | 车辆类型 |
car_number | varchar(200) | 是 | NULL | 车牌号 |
start | varchar(200) | 是 | NULL | 始发站 |
end | varchar(200) | 是 | NULL | 终点站 |
sell_money | decimal(10,2) | 是 | NULL | 车票金额 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.2 车辆调度信息表
字段 | 类型 | 空 | 默认 | 注释 |
id | int(11) | 否 | 主键 | |
car_id | varchar(200) | 是 | NULL | 车辆id |
scheduling_types | int(11) | 是 | NULL | 排班 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.3 售票信息表
字段 | 类型 | 空 | 默认 | 注释 |
id | int(11) | 否 | 主键 | |
car_id | varchar(200) | 是 | NULL | 车辆id |
actual_money | decimal(10,2) | 是 | NULL | 售卖金额 |
shoupiao_types | int(11) | 是 | NULL | 售票状态 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.4 管理员信息表
字段 | 类型 | 空 | 默认 | 注释 |
id | bigint(20) | 否 | 主键 | |
username | varchar(100) | 否 | 用户名 | |
password | varchar(100) | 否 | 密码 | |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表4.5 系统公告信息表
字段 | 类型 | 空 | 默认 | 注释 |
id | bigint(20) | 否 | 主键 | |
addtime | timestamp | 是 | NULL | 创建时间 |
biaoti | varchar(200) | 是 | NULL | 标题 |
leixing | varchar(200) | 是 | NULL | 类型 |
neirong | longtext | 是 | NULL | 内容 |
riqi | timestamp | 是 | NULL | 日期 |
5 系统功能
进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于一些不合理的设计需求,也是可以及时发现。因为设计的方案是完全指导系统的编码过程的。
5.1 管理员功能实现
5.1.1 管理员信息
管理员进入指定功能操作区之后可以管理管理员信息。其页面见下图。这里的管理员包括了售票管理员和检票管理员的信息,管理员主要是增删改查有关管理员的数据信息。
图5.1 管理员信息页面
5.1.2 车辆管理
管理员进入指定功能操作区之后可以管理车辆信息。其页面见下图。管理员查询车辆有很多种方式,比如根据司机,根据车辆名字,根据车牌号或者是根据始发站以及终点站等都能查询车辆的信息,另外,管理员也能新增车辆,修改页面内的车辆数据。
图5.2 车辆管理页面
5.1.3 车辆调度管理
管理员进入指定功能操作区之后可以管理车辆调度。其页面见下图。管理员修改车辆的排班信息,新增车辆调度信息,根据排班信息查询车辆调度信息。
图5.3 车辆调度管理页面
5.1.4 系统公告管理
管理员进入指定功能操作区之后可以管理系统公告。其页面见下图。只有管理员才可以管理系统公告,发布公告信息,其他角色用户只能查看。
图5.4 系统公告管理页面
5.1.5 售票管理
管理员进入指定功能操作区之后可以管理售票。其页面见下图。管理员本人也能增删改查售票信息,还可以统计各种车辆的售票信息。
图5.5 售票管理页面
5.2 售票管理员功能实现
5.2.1 系统公告
售票管理员进入指定功能操作区之后可以查看系统公告。其页面见下图。售票管理员查看各个公告信息,根据页面提示对公告信息进行检索。
图5.6 系统公告页面
5.2.2 售票管理
售票管理员进入指定功能操作区之后可以管理售票信息。其页面见下图。售票管理员查看已售车票的售票状态,登记新的售票信息。
图5.7 售票管理页面
5.3 检票管理员功能实现
5.3.1 售票信息
检票管理员进入指定功能操作区之后可以对车票进行查看并检票。其页面见下图。检票管理员查询车票,对已售状态的车票进行检票。
图5.8 售票信息页面
5.3.2 车票检票
检票管理员进入指定功能操作区之后可以检票。其页面见下图。检票管理员检票时主要是核对车辆的始发站以及终点站等相关信息,信息正确即可检票。
图5.9 车票检票页面
6 系统测试
进入这个环节就代表着系统已经结束了编码实现功能阶段,接下来要做的事情,就是对该系统进行检测,也就是系统测试,这个环节是很有必要进行的,原因是开发本系统的人员,其自身具备的开发技术以及开发思维是有限的,在面对具有复杂性操作逻辑的系统,都会出现大大小小的错误,并且这样的错误还都是不可避免的。通过及时的测试,可以尽早排除程序中的错误,这样也可以减少实际运行中产生的问题,从而真正避免在后期使用中为修复这些问题所付出的高昂代价。及时测试,及时发现问题并解决,也是提高开发过程的效率的一种表现形式。总而言之,在软件开发生命周期的每个阶段都需要加以重视,并做好每个阶段需要做的任务,从开始到结尾都需要保证开发软件的质量。
6.1 功能测试
通过设计一些数据检验汽车客运站管理系统的功能是否根据预定进行数据输出,以此检验系统功能是否合格。接下来就选取部分功能进行检测。
6.1.1 登录功能测试
汽车客运站管理系统提供的服务是给规定的用户使用的,其他无关用户是无法进入的,登录功能就是检验访问者是否是符合要求的用户,及时将不符合要求的用户拒之门外。以此保证系统安全。这里以管理员身份进行检测,测试的内容见下表。
表6.1 登录功能测试表
账号 | 密码 | 身份 | 结果 |
guanliyuan | guanliyuan | 管理员 | 提示成功,进入系统后台 |
user | guanliyuan | 管理员 | 提示失败,停留在登录页面 |
guanliyuan | user | 管理员 | 提示失败,停留在登录页面 |
汽车客运站管理系统在面对正确的账号,不匹配的密码时,会有相应的反馈,其反馈结果见下图。
s
图6.1 登录错误反馈提示
6.1.2 修改密码功能测试
这个功能的设置也是出于对系统的保护,让操作人员的密码可以一直变化,减少泄露的几率。测试的数据见下表。通过验证旧密码,确认操作者是本人,然后开始对新密码进行登记。一般修改完密码后,需要再次登录。
表6.2 修改密码功能测试表
旧密码 | 新密码 | 密码修改结果 |
guanliyuan | gly | 成功 |
user | gly | 失败 |
guanliyuan | 失败 |
本系统在面对登记错误的旧密码信息时,有相应的反馈提示,见下图。
图6.2 旧密码错误提示
6.2 测试结果
经过测试,从汽车客运站管理系统功能的角度来看,本系统各个功能在符合用户要求的情况下,也能保持运行正常。从汽车客运站管理系统性能的角度来看,本系统可以保持24小时不间断运行,而且面对用户的误操作行为,有提前设置的错误反馈机制应对,另外,本系统界面布局考虑用户阅读习惯,可以让用户短时间内获取需要的内容。总之,本系统可以投入生产,帮助用户解决实际问题,发挥其应用价值。
7 总结
采用Java+Mysql的方式设计制作的汽车客运站管理系统,在功能上可以满足管理人员对于信息的管理需求;在界面的设计上,尽最大努力用自身的美工知识做到界面美观简洁。在操作方面上,让系统可以方便操作,同时对用户常见的误操作行为进行分析总结,并尽力在系统中避免同样的由于用户的误操作所带来的错误现象。
作为毕业设计,分配给本系统的设计与制作时间还是不足的,所以,汽车客运站管理系统还有许多需要完善的地方。
第一个就是本系统的编程代码问题,各个程序文件的代码存在冗余的地方非常多,导致代码不够简洁,同时对代码的注释也比较麻烦。编码期间,对于很多页面可以共享的函数与方法都没有单独列出来,而是在需要用到函数和方法的页面上都重新编写了代码,通过后期的技术学习,以及对编码过程的分析总结,发现可以把共用的函数或方法编写在同一个页面上,在之后的页面中,需要使用此函数的页面,则可以直接调用函数,无需再编写代码了,这样可以简化代码,也能节省时间和存储空间。
第二个就是对数据库的设计不够好,在数据处理中,影响程序运行速度。因此需要对数据库的性能进行优化。通过这方面知识的学习,在某个开发技术类的博客中,发现可以用数据库连接池技术来解决数据库的性能问题,另外还需规范数据库里面的关系模式,降低数据库的冗余率,提高运行速度。
如果说平时的作业也是检查对知识的掌握情况,那么制作毕业设计,将是对自身所有知识的一个全面检测。因为系统能够制作完成则是经历了很多阶段,正如文中所展示的那样,先有可行性分析,对功能的分析,对功能的设计,对数据库的设计,对程序功能的编码实现,对完成编码程序的测试等,这些环节缺一不可,而且还都需要认真对待,大学学到的所有知识在制作系统时,才会发现不够用。所以这个项目制作,在检测自身能力的同时,也对问题分析,资料搜集,问题解决等能力进行了培养。
我通过制作本系统,熟悉了程序开发的流程,提高了对程序的编码能力,培养了独立分析与解决问题的能力;但也让我明白自身的不足之处,所以在接下来的时间,我还是要加强对技术知识的学习,去逐渐完善本系统。