2019暑期项目(校园导航系统)总结
序:
HALO,各位看客们大家好,距离暑假已经过去了一周,我们实验室的暑期留校生活也已经过去了五天,在这五天内,基本完成了我的暑假第一个项目--校园导航系统!! GUI界面由java自带的swing编写,风格使用nimbus风格,谈不上好看,但是功能基本已经实现完全.
经过五天,每天12小时高强度的打代码时间,总算获得了些许收获.首先看看这个项目的效果图
首先是登陆界面:
管理员端使用界面(实现了建筑的添加,删除,修改位置,修改资料,以及实现了增加两建筑之间的路,删除一条路)
用户端(用户可查询两建筑之间的最短路径,查询地点基于模糊搜索,全程可鼠标操作,无需键盘,在鼠标点击地图时,底下文本框自动更新地点信息,右侧出发地以及到达地随左右键点击自动更新)
在用户查询两地点后,地点以及路线将标红,为用户提供舒适的体验.
整个程序的地图又AWT的绘图类绘制,可自动更新,在删除,添加操作后无需重启程序,程序连接数据库,建筑以及路的信息将保存在数据库中.
章一:
编写程序的过程:
第一天:完成对程序架构的设计,确认程序实现的功能,以及基础信息类的编写.
第二-三天:完成对用户管理员登陆界面的编写,以及用户管理员使用界面的UI设计.
第四天:完成最短路径的查询,以及输出(算法基于弗洛伊德以及迪杰斯特拉).
第五天:完善部分BUG,对程序进行全面测试.
因为实验室给的时间有两个星期,所以在剩下的一个星期内,将逐步完善输入的自动排错功能,显示时的BUG,增强模糊搜索功能,增强用户体验.
章二:
程序编写时遇到的问题:
1.首要问题,程序编写的过程其实不是很难,在完成了第一个JAVA项目聊天室以后(被骂的有点惨,小声bb),对接下来的程序编写确实更为流程,程序编写的最大难题还是程序框架的设计,以及程序功能的设计,以及对程序性能的优化.在第一天刚接触项目时,基本没有头绪,在看到长篇的项目要求时,确实头脑中一团浆糊,但是在一天漫长的思索过后,还是通过写txt文档,将思路理顺,这才成功的构思出全部框架.
2.在连接数据库时出现了连接错误,因为MySql下载的是8.0以后的版本,所以在连接数据库时连接方式与书中方式颇有不同,但是问题不大,通过网上查资料成功解决.
3.在程序性能的优化上做的不够理想,学长的要求是用迪杰斯特拉最基本,一开始使用的是弗洛伊德,但是弗洛伊德的代码是简单了,时间复杂度确实太高了,后面改成了迪杰斯特拉,在下一个星期里,争取学会A*算法,完成多线程迪杰斯特拉的使用!!
章三:
感想:
编程方面:最大的感想还是要加强基础知识,在遇到很多基础知识的使用方面确实有不少问题,比如容器使用方面,以及对于变量命名方面一定要加强!!!不然确实写着写着就容易找不到地方.但是因为对类的分类已经开始有所感觉了,所以编程起来比一起容易了不少.然后就是算法能力需要加强,毕竟计算机就是学数学的,算法还是编程的根本.
生活方面:确实程序员也不是大家想象中的那么简单,才过了五天,真实的996生活,确实摧残着我的精神,也坚定了我考研去955的信念.