地铁线路项目简要分析

地铁线路项目简要分析

github:repo
personblog:github_page or blog

设计需求

  • 确定储存地铁站文件的格式文件
  • 确定读取地铁站数据的方式
  • 确定获取两站点最小站点数的算法方式
  • 进行外表封装
  • 进行输出格式的确定
  • 性能测试
  • 最后结果检查
Personal Software Process Stages Time
计划
· 估计这个任务需要多少时间 已完成
开发 已完成
· 需求分析 (包括学习新技术) 已完成
· 生成设计文档 已完成
· 设计复审 已完成
· 代码规范 已完成
· 具体设计 已完成
· 代码复审 已完成
测试 已完成

实现思路

  • 为了方便传输的方便,最后决定使用文件输入,然后输出使用类似json的格式进行输出,同时也提高了使用的便捷性。
  • 文件上的输入选择了站点名+站点可否转站的方式进行描述。
  • 在输入上:
{
	....
	南站 0
	杨伍庄 0
	学府工业区 0
	高新区 0
	大学城 0
	华苑 0
	王顶堤 0
	红旗南路 1
	....
}
  • 在输出上:
{
	"刘园": [1],
	"西横堤": [1],
	"果酒厂": [1],
	"本溪路": [1],
	"勤俭道": [1],
	....
	"塘沽": [9],
	"泰达": [9],
	"市民广场": [9],
	"太湖路": [9],
	"会展中心": [9],
	"东海路": [9]
}

同时,在语言的选择上,本来因为最短路径Dijkstra算法在c++上的熟练度,和一些性能上的考量,想使用c++作为主要语言进行编写,但最后因为python的库众多,和对springboot的后端编写便利,准备使用python和java混合编写的方式进行完成此次个人项目。


个人说明

基于输出方式的选择,在编写时候json调用的方式更人性化,最后输出选择使用了json格式,使用json.dumps进行转化后输出,同时json也方便了可能会使用的springboot后端的接口编写,通过调用py函数进行逻辑书写,返回相应的数据,再通过app接受,进行交互。

时间尚且未定。

2019.9.21更新

  • 已完成
posted @ 2019-09-17 21:23  athony  阅读(450)  评论(0编辑  收藏  举报