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
  • 相关阅读:
    内存堆与栈的区别
    深度理解相对路径和绝对路径
    INFO:InstallAnywhere的Enterprise版本和Standard版本的主要区别
    HOWTO:InstallShield中如何调用批处理文件
    HOWTO:InstallScript工程中如何在用户协议界面中默认为接受协议
    HOWTO:InstallShield中如何通过脚本获取“My Documents”路径
    INFO:InstallShield工程中关于.NET依赖项的编译扫描警告
    InstallShield Kevin Wan博客文章索引列表(001~100)
    HOWTO:在InstallShield脚本中打开一个URL链接
    INFO:在InstallShield中修改安装包压缩.cab包的大小
  • 原文地址:https://www.cnblogs.com/qiyuexia3277/p/11561172.html
Copyright © 2011-2022 走看看