基于Windows Phone离线公交查询系统的设计和实现

时间:2022-07-23 09:02:06

基于Windows Phone离线公交查询系统的设计和实现

摘 要:为了让用户无论身处何处无需网络就可进行公交线路的快速便捷查询我们开发了离线公交查询系统。该系统采用微软最新的移动平台-Windows Phone,并且该系统可以根据华为网盘API(REST协议)获取到(JSON)最新的数据包,让用户时时刻刻拥有最新的交通数据。

关键词:公交查询系统;Windows Phone;交通数据

中图分类号:TP311.52

随着我国社会经济的日益发展和城市规模的不断扩大,城市人口和机动车辆数目迅速增长,交通拥挤、交通污染、交通安全状况越来越严重,在某种程度上影响了城市经济的进一步发展和人民生活水平的进一步提高。优先发展公共交通,提高城市居民公共交通方式出行比例,从而最大限度的提高交通资源的利用效率是缓解交通供求矛盾的根本出路。

要使公共交通成为人们出行的主要方式,必须完善公共交通服务系统,而离线公交查询系统软件就是公共交通服务系统建设最重要组成之一。当前,我国公共交通查询软件功能单一,而且严重依赖互联网,速度慢,没有搜索、选择功能,没有设置最优路径,最短距离,可供选择的多种方案,尤其在异地,现有的公交路线查询软件就不能满足出行者的需求。开发离线公交查询系统,就是为了解决上述问题所开发的手机软件。让用户无论身处何处无需网络就可进行公交线路的快速便捷查询。

1 系统需求分析

1.1 开发环境和工具

本系统采用的语言为C#,C#是微软公司的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。采用的开发工具:Visual Studio 2012,Microsoft Visual Studio 2012是一个最先进的开发解决方案,它使各种规模的团队能够设计和创建出使用户欣喜的引人注目的应用程序。使用的操作系统为Windows 8,Windows 8是由微软公司开发并具有革命性变化的操作系统,是现今比较常用的新的操作系统。

1.2 系统功能分析

(1)公交查询模块

用户可以通过此功能查询公交信息,可以通过站名和公交名进行查询,可以选择只查询站名或者是只查询公交名,公交必须是数据库已经存在的,否则将无法显示。

(2)公交换乘查询模块

用户可以通过此功能查询公交换乘信息。使用时必须输入起始站和终点站,所输入的站点必须在数据库里面存在否则纠正用户输入。首先查找直达车,如果直达车数量不超过3辆就查找需要1次换乘的站点,如果还是一条记录都没有,就查找需要2次换乘的车辆,如果还是没有则不再进行查询。

(3)公交更新模块

用户可以通过此功能更新客户端的公交数据包,更新的数据包为当前城市的。

(4)系统设置模块

用户可以通过此功能来改变程序的主题,改变历史记录的记录个数,改变字体大小,改变查询条件。

2 系统设计

2.1 功能设计模块图

主界面(全景视图)——关于页面

|

公交查询界面(默认第一页)

|

公交换乘界面

图1 模块界面图

2.2 数据模型图

图2 数据模型图

2.3 算法的实现

根据数据包内包含了路线,先判断公交是否有经过起点和终点的线路,如果有则为直达线路,查询到线路就展示出来,如果直达线路不足3个就再查找2次换乘线路,2次换乘线路里面不要再包括直达线路的车辆。这时候再查所有经过起点站但是不经过终点站的公交,以及经过的所有站点,这时候再查经过终点站但是不经过的公交,以及经过的所有站点,求出它们公交站的交集,再找出2组经过这交集站的公交,再将这2组公交进行组合即可,当然也可能出现2次换乘无法到达的目的地,这时候我们要试着用3次换乘来解决,3次换乘需要利用到经过起点站但是不经过终点站的公交,以及经过的所有站点和经过终点站但是不经过的公交,以及经过的所有站点,这里我把他们分别称为站点集合1和站点集合2,首先我们查找到站点集合1和2的所有线路分为公交集合1和公交集合2,取出线路集合1和线路集合2相同的公交。这时候称为公交集合3,找出公交集合3即到站点集合1又到站点集合2的公交以及与集合1交点站1、集合2交点站2,再找出从开始站到集合1交点站1的路线,以及从集合2交点站到达终点站的线路,再进行组合即可。

3 系统实现与测试

公交路线查询从开发到完成,严格按照需求分析说明书的基本要求,后台采用文件数据包做数据库支持。由于该系统运行在Windows Phone平台,所以前期花费了时间去了解Windows Phone编程,而语言是用C#。

Windows Phone启动程序都时候都会首先打开程序内部的启动图片SplashScreenImage.jpg,如果没有这张图片,程序启动的时候将不会有启动画面。在这个启动画面中我们可以切换城市、更新该城市的数据包、以及根据站名或者公交名查询公交、或者是查看该城市所有的公交线路,所有的操作的入口都在此页面。在主页中点击列表的线路,会弹出线路的详细信息,并可以通过短信分享信息给其他用户。为了符合各个用户的习惯,制作了一个偏好设置的页面,在设置页面可以对App进行一些设置,如APP的颜色,字体的大小,以及历史记录个数。由于有的用户只想通过站名查询,有的用户想通过公交名查询,在这个页面我们就可以筛选模糊查询公交线路的选项,选择只搜索站名、还是只搜索公交名、或者是2个一起搜索。可以通过主页进入切换城市的页面,通过该页面可以切换不同城市,加载不同城市的公交数据包。该页面还有一个比较人性化的设计,通过省份将城市分组便于用户选择。用于查询换乘公交的界面,可以智能选择站点,支持高达3次换乘查询,并且可以对结果进行排序以及查看历史查询。点击后会弹出换乘的详细信息,这个界面我们可以查看换乘车辆的具体信息,以及换乘方案,还可以把方案通过短信分享给其他用户。

4 结束语

基于Windows Phone的离线公交查询系统的设计和实现,是基于绿色环保理念,倡导公共交通出行方式,解决当前公交查询系统难以推广、普及和应用的局限性,而开发设计公共交通手机查询软件,具有很好的应用前景。

参考文献:

[1]张海藩.软件工程导论(第5版)[M].北京:清华大学出版社,2008.

[2]蔡敏,徐慧慧,黄炳强.UML基础与Rose建模教程[M].北京:人民邮电出版社,2006.

作者简介:冯竟立(1982-),福建安溪人,软件工程硕士在读。

作者单位:同济大学,上海 200000;厦门软件职业技术学院,福建厦门 361000

上一篇:移动互联网创新应用敏捷开发探讨及实践 下一篇:基于云计算的数据库技术应用分析