1.1 题目
上海的地铁交通网络已经基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点和终点站,打印出地铁换乘指南,指南内容包括起点站、换乘站、终点站。
图形化显示地铁网络结构,能动态添加地铁线路和地铁站点
根据输入起点和终点站,显示地铁换乘指南
通过图形界面显示乘除路径
1.2 软件功能
功能主要功能包含地铁网络线路的查看,地铁换乘指南查询,动态添加线路站点等。
线路图查看
查看上海地铁网络线路图,包括通过键盘、鼠标拖放、放大缩小等简易查看操作
查看地铁线路信息,包括线路段、包含站点等
查看地铁站的详细信息,包括站点地理坐标、所属线路等
换乘指南查询
提供地铁换乘查询,可通过视图方便的查看乘坐路线和换乘路线
提供最小出行时间的换乘策略指南
提供最小换乘次数的换乘策略指南
动态添加线路
动态添加线路,可根据需要新增线路
动态添加站点,可根据需要新增站点
动态添加连接,可根据需要新增站点连接
文本方式简易添加,方便快捷
帮助
提供软件使用帮助和说明
关于
提供软件制作信息
上述所有功能采用面向对象的方法通过C++语言程序结合QT框架实现,后面会详细介绍。
1.3 设计思想
系统分析,明确功能要求
在做应用程序之前都会先明确软件的需求是什么,知道了要实现那些功能才能去细化用什么方法实现,实现的系统架构是什么,初步规划程序的基本流程和核心算法。在认真读题后,明确功能要求后,开始下一步操作。
MVC模式系统架构
MVC模式即为模型-视图-控制器结构模式,这种软件架构模式是一种常用的设计。在本次系统结构中,大致采用此种模式,前后端实现分离,前端主要考虑与用户的交互,例如设计怎样的视图,地铁网络线路图如何展现等,后端主要是数据和算法的处理,将复杂的功能和数据交由后端处理,前后端实现函数接口,从而完成整个软件系统的架构设计。
设计后端数据结构和接口
本次综合应用程序,基本上的数据结构都有涉及,例如网络线路的连接情况需用图结构、算法实现有队列,静态存储有线性表,名字到存储位置有哈希映射,分析好数据结构之后,根据需要将后端系统的接口进行设计,例如最短路径的查询、添加线路站点等均需接口。
分块实现,逐步求精
系统结构和数据结构、算法等相应设计好后,就开始逐步实施了,从前端开始,对每个功能要求的前端界面和交互进行细化,实现前端代码,对每个功能的前端实现后,完善后端接口函数,完成所有前端后,后端也基本同步完成,从而完成整个程序的实现。
参考文档和完整的文档和源码下载地址: