1. 软件面向的行业和业务场景(25%)
行业:旅游规划与交通导航
业务场景:
自驾游路线规划:帮助用户规划跨城市自驾路线,优化行程时间与距离(如测试案例中的“休斯顿到费城”或“纽约到夏洛特途经多个景点”)。  多景点游览优化:解决旅行商问题(TSP),为用户提供访问多个景点的最短路径(如“芝加哥出发,途经纽约自由女神像和达拉斯博物馆后返回”)。数据驱动的决策支持:通过算法比较(如Held-Karp与Dijkstra+NNTSP)为用户提供不同效率与精度的路线方案,适应不同需求(如时间优先或距离最优)。  
2. 功能模块及用户功能(50%)
核心模块:
数据加载与解析模块
功能:读取roads.csv(城市道路网络)和attractions.csv(景点数据),转换为内部数据结构(如嵌套HashMap)。  用户价值:自动加载全美城市与景点数据,无需手动输入基础信息。
路径规划算法模块
Dijkstra最短路径:计算两城市间最短路径(如Chapter 1.4的ShortestPath类)。  TSP求解器(A*/Held-Karp/Dijkstra+NNTSP):支持多景点路线规划(如测试案例中的“10个景点路线”)。  用户价值:一键生成最优路线,支持起点-终点直达或复杂多景点环线。
用户交互与可视化模块
CLI/JavaFX界面:输入城市/景点名称,实时显示路径详情(距离、时间)和地图可视化(Chapter 1.4的RoadTripVisualizer)。  错误处理:验证输入有效性(如Chapter 2.2的“无效城市提示”)。  
算法对比模块
3. 技术选型与架构特点(25%)
技术选型:
数据存储:CSV文件(轻量级,易扩展)配合HashMap(O(1)查询)存储城市/景点数据(Chapter 1.2.1-1.2.2)。  核心算法:
Dijkstra(优先队列实现)用于单源最短路径。  Held-Karp DP(精确TSP解,适合小规模)和A*(启发式搜索)平衡效率与最优性(Chapter 2.3-2.7)。  
架构分层:
数据层(CSV解析)、逻辑层(算法核心)、表现层(CLI/JavaFX),严格分离职责(Chapter 1.1图示)。  
架构特点:
策略模式:通过PathFindingAlgorithm接口支持灵活替换算法(Chapter 1.5)。  动态扩展性:嵌套HashMap允许动态增删城市/道路(Chapter 1.2.2)
点击空白处退出提示












评论