zoukankan      html  css  js  c++  java
  • 地铁出行线路规划——基本理解与设计思路

    image

    基本理解

    要实现一个能够计算最短路线、查询地铁线站点等信息的规划地铁出行线路的程序。

    一、需求分析

    • 获得地铁线路图的信息。

    对于地铁线路信息图,采用参数 -map 作为标志。程序启动时需要通过读取 -map 参数来获得对应的自定义地铁文件(命名为 subway.txt)。一个调用应用程序的示例如下:

    subway.exe -map subway.txt
    
    • 能够查询指定地铁线经过的站点。

    在给定地铁线路时,从线路的起始站点开始, 依次输出该地铁线经过的所有站点,直到终点站。在应用程序需要支持一个新的命令行参数 -a 指定用户希望查询的地铁线路。输出的文件使用 -o 命令行参数来指定。一个调用应用程序的示例如下:

    subway.exe -a 1号线 -map subway.txt -o station.txt
    
    • 能够查询起始站点与目的地间的最短路线,并输出经过的站点的个数和路径(包括起始站点与目的站点),如果需要换乘,则在换乘站的下一行输出换乘的线路。

    在命令行中以 -b 参数加两个地铁站点名称分别作为出发与目的,比如用户希望知道 洪湖里 到复兴路 之间的最短路线是怎样的,他就可以使用如下命令让程序将结果写入 routine.txt 中。

    subway.exe -b 洪湖里 复兴路 -map subway.txt -o routine.txt
    

    设计思路

    一、存储设计

    地铁信息的存储格式需要方便程序读取,简洁易懂,并可以灵活拓展。

    • 地铁线路信息图——subway.txt
    1号线 1站点 2站点 3站点……
    2号线 1站点 2站点 3站点……
    3号线 1站点 2站点 3站点……
    4号线 1站点 2站点 3站点……
    5号线 1站点 2站点 3站点……
    ……
    
    • 地铁线所经站点——station.txt
    1站点 2站点 3站点……
    
    • 起始站点与目的地间的最短路线——routine.txt
    1
    1站点
    2站点
    3站点
    ……
    2号线(换乘)
    1站点 
    2站点
    3站点
    ……
    

    二、程序设计

    • 通过无向图保存地铁各站点,用最短路径——Dijkstra算法或Floyd算法等实现计算出起始站点与目的站点间的最短路线。

    • 能获取地铁线路图,并在输入地铁线后输出相应站点、在输入起始站点与目的站点后按照规范输出相应最短路线。

    • 做出异常处理,当输入出错时给出提示。

    三、个人计划

    好好加油吧!Fighting!

    image

    PSP 2.1 Personal Software Process Stages Time
    Planning 计划
    · Estimate · 估计这个任务需要多少时间 1h
    Development 开发
    · Analysis · 需求分析 (包括学习新技术) 1h
    · Design Spec · 生成设计文档 1h
    · Design Review · 设计复审 (和同事审核设计文档) 1h
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1h
    · Design · 具体设计 1h
    · Coding · 具体编码 12h
    · Code Review · 代码复审 3h
    · Test · 测试(自我测试,修改代码,提交修改) 6h
    Reporting 报告
    · Test Report · 测试报告 2h
    · Size Measurement · 计算工作量 1h
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 1h
    · 合计 31h
  • 相关阅读:
    Oracle递归查询,Oracle START WITH……CONNECT BY查询
    jquery Ajax请求示例,jquery Ajax基本请求方法示例
    Jquery EasyUI Combotree和 EasyUI tree展开所有父节点和获取完整路径
    Jquery EasyUI Combotree根据选中的值展开所有父节点
    Jquery EasyUI Combotree 初始化赋值
    Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框
    SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)
    SpringBoot Druid整合,SpringBoot 集成Druid
    安卓TTS语音合成经验分享(科大讯飞语音+)集成
    delphi7的新生,参与分布式应用开发,调用RESTful API,Json的应用
  • 原文地址:https://www.cnblogs.com/qiyuexia3277/p/11561172.html
Copyright © 2011-2022 走看看