1.1 题目

上海的地铁交通网络已经基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点和终点站,打印出地铁换乘指南,指南内容包括起点站、换乘站、终点站。

  • 图形化显示地铁网络结构,能动态添加地铁线路和地铁站点

  • 根据输入起点和终点站,显示地铁换乘指南

  • 通过图形界面显示乘除路径

1.2 软件功能

功能主要功能包含地铁网络线路的查看,地铁换乘指南查询,动态添加线路站点等。

  • 线路图查看

    • 查看上海地铁网络线路图,包括通过键盘、鼠标拖放、放大缩小等简易查看操作
    • 查看地铁线路信息,包括线路段、包含站点等
    • 查看地铁站的详细信息,包括站点地理坐标、所属线路等
  • 换乘指南查询

    • 提供地铁换乘查询,可通过视图方便的查看乘坐路线和换乘路线
    • 提供最小出行时间的换乘策略指南
    • 提供最小换乘次数的换乘策略指南
  • 动态添加线路

    • 动态添加线路,可根据需要新增线路
    • 动态添加站点,可根据需要新增站点
    • 动态添加连接,可根据需要新增站点连接
    • 文本方式简易添加,方便快捷
  • 帮助

    • 提供软件使用帮助和说明
  • 关于

    • 提供软件制作信息

上述所有功能采用面向对象的方法通过C++语言程序结合QT框架实现,后面会详细介绍。

1.3 设计思想

  • 系统分析,明确功能要求
    在做应用程序之前都会先明确软件的需求是什么,知道了要实现那些功能才能去细化用什么方法实现,实现的系统架构是什么,初步规划程序的基本流程和核心算法。在认真读题后,明确功能要求后,开始下一步操作。

  • MVC模式系统架构
    MVC模式即为模型-视图-控制器结构模式,这种软件架构模式是一种常用的设计。在本次系统结构中,大致采用此种模式,前后端实现分离,前端主要考虑与用户的交互,例如设计怎样的视图,地铁网络线路图如何展现等,后端主要是数据和算法的处理,将复杂的功能和数据交由后端处理,前后端实现函数接口,从而完成整个软件系统的架构设计。

  • 设计后端数据结构和接口
    本次综合应用程序,基本上的数据结构都有涉及,例如网络线路的连接情况需用图结构、算法实现有队列,静态存储有线性表,名字到存储位置有哈希映射,分析好数据结构之后,根据需要将后端系统的接口进行设计,例如最短路径的查询、添加线路站点等均需接口。

  • 分块实现,逐步求精
    系统结构和数据结构、算法等相应设计好后,就开始逐步实施了,从前端开始,对每个功能要求的前端界面和交互进行细化,实现前端代码,对每个功能的前端实现后,完善后端接口函数,完成所有前端后,后端也基本同步完成,从而完成整个程序的实现。

点击此处下载文档和源码

基于QT实现的可视化地铁换乘查询系统相关推荐

  1. 基于qt和mysql的地铁线路系统_[源码和文档分享]基于QT实现的可视化地铁换乘查询系统...

    1.1 题目 上海的地铁交通网络已经基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点和终点站,打印出地铁换乘指南,指南内容包括起点站.换乘站.终点站. 图形化显示地 ...

  2. Java、JSP地铁线路查询系统

    技术:Java.JSP等 摘要: 南京市地铁线路查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活.社会生产和流通领域的关键环节.南京市地铁线路查询系统的发展一直处于一个较落后 ...

  3. 地铁线路查询系统的设计与实现

    技术:Java.JSP等 摘要: 南京市地铁线路查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活.社会生产和流通领域的关键环节.南京市地铁线路查询系统的发展一直处于一个较落后 ...

  4. 石家庄地铁线路查询系统

    石家庄地铁线路查询系统开发: 合作人:张旺 数据库的设计为:建立了一张表,有line_id(路线号).stop_id(站号).stop_name(站名).change(某站可换乘的线号)这几列. st ...

  5. 基于.Net Core Web MVC的图书查询系统——第四章,添加模型并使用EF Core生成基架自动生成控制器和视图

    基于.Net Core Web MVC的图书查询系统 第一章,.Net Core Web MVC配置身份验证和注册登录功能并修改默认页面 第二章,.Net Core Web MVC配置邮件发送服务 第 ...

  6. 基于区块链的学生课程成绩查询系统

    基于区块链的学生课程成绩查询系统 [摘 要]传统成绩管理系统存在数据易窜改的问题.本文根据区块链不可窜改的原理设 计并实现课程成绩查询系统.系统基于以太坊技术开发,采用 Node.js 作为服务器后端 ...

  7. 基于springboot+vue的疾病匿名检测查询系统

    基于springboot+vue的疾病匿名检测查询系统 ✌全网粉丝20W+,csdn特邀作者.博客专家.CSDN新星计划导师.java领域优质创作者,博客之星.掘金/华为云/阿里云/InfoQ等平台优 ...

  8. android模板 警务,基于Android移动手机平台的警务查询系统

    摘要: 移动计算作为一种新的计算模式改变了人们使用信息的方式,使人们使用信息不再受时间和地点的限制.随着通讯技术的迅猛发展,手机.PDA等移动数字终端设备已经大量普及使用,在移动中获取信息的需求也越来 ...

  9. [源码和文档分享]基于QT实现的图的可视化程序地铁换乘指南系统

    1.题目 上海的地铁交通网路已基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点站和终点站,打印出地铁换乘指南,指南内容包括起点站.换乘站.终点站. 2.软件功能 图 ...

最新文章

  1. The only supported ciphers are AES-128-CBC and AES-256-CBC
  2. 找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}
  3. Building a Simple, Local, Python Blockchain – Part 1
  4. 变长结构体的临时笔记
  5. MySQL【问题记录 01】报错 1709 - Index column size too large. The maximum column size is 767 bytes. 可能是最简单的方法
  6. JS module的导出和导入 1
  7. 太真实了!工业界AI项目落地血泪教训总结
  8. [unity独立游戏]多人游戏插件
  9. 【一起学Rust · 项目实战】命令行IO项目minigrep——测试驱动开发完善功能
  10. IDL调用ENVI-FLAASH大气校正异常退出解决办法
  11. ⚡️狂神Linux学习笔记
  12. 华为大搞5G光通信,火星人快步紧跟
  13. 了解什么是形式化方法?
  14. PwC上海AC面经-助理软件工程师(英语)
  15. matlab如何添加数据集,如何用matlab把数据集导入数据库
  16. 作业1.老狼几点了。凌晨,上午,下午,晚上。
  17. ValueError: The view XXXView didn't return an HttpResponse object. It returned None
  18. 计算机导论第五讲MOOC模拟答案,MOOC理念指导下的计算机导论课程_微课堂_设计与思考_朱淑鑫...
  19. 5.30 USB接口的定义 (10分)
  20. 【python】习题第9周

热门文章

  1. 知耻而后勇才能取得成功
  2. EVC创建DLL及调用的基本方法
  3. Javaweb-书城项目
  4. c语言期末考试选择题考点
  5. 用单词/数字表示 Html字体颜色 大全
  6. 核壳胶囊BIPS-1/NA@PMMA和BIPS-1/DA@PMMA可逆光致变色
  7. 百度在线桌面壁纸(开源)
  8. 关于百度之星Astar程序设计大赛
  9. 随笔-《你的第一本保险指南》读后感
  10. 苹果导航条的高斯模糊效果(css)