北京地铁_结对项目_附加题

地铁出行项目(续)- 附加题

团队成员:杨金键 谢振威 金豪

要求描述:

使程序支持不同城市的地图。请让程序能处理上海的地铁地图,或者其它城市的地图。把程序由 “固定处理一个地图” 升级为 “能处理多个地图”, 程序的什么模块需要变化?

其实,在我们设计程序之初就已经考虑到了程序将来的可扩展性,所以无论是地图储存文件还是代码我们都是从这个角度出发考虑的。

具体来说:

  1. 取消所有对于北京地图的特殊化处理,针对特殊的地方,例如环线或者单行线则定义关键词统一处理
  2. 所有地图相关信息都靠文件读取,避免地图相关的信息人为初始化,包括控件,例如我们有一个储存线路名的list,只能通过读取文件来加载而不能手动输入进去。
  3. 不依靠固定的特殊内容,例如很多人都采用的实际的地铁线路作为基础,这样就只能针对这一张固定的线路图了

我们认为只要满足这三点,地图就可以通过修改输入文件动态生成,我们是这样做的也确实得到了这样的效果。

就我们的程序来说,首先代码本身就是与地图无关的,对于地图的限制仅仅是文件格式,以及不能过多的站和线路(前者不能超过500后者不能超过50条(P.S. 其实这个也是可以改啊))

格式为:

先是所有的站的

“序号 站名 坐标”

空行

“线路名”

“站序号列表”

输入文件的例子如下:(因为程序的地图无关性,使用各式各样的地图都能使其正确运行,故即便是随手捏来的一个地铁图都能正确运行,下面给出的就是一个随手捏的城市地铁)

1 Xie 50 260
2 Ji 100 472
3 Yang 250 140
4 Zhen 172 200
5 Wei 125 138
6 Hao 255 390
7 Jin 380 390
8 Jian 380 500
9 JieDui 255 255

谢振威线
1 4 5 9
金豪线
2 6 9
杨金键线
9 3 7 8

程序运行效果如下:

总结:

可以看到,基本的功能完全一致且正确,这里仅仅因为精力所限没有载入超级大的城市地图,但是按照这个方法,想必是完全没有问题的

以上就是我们团队对于附加题的解法。

时间: 2024-10-14 07:28:14

北京地铁_结对项目_附加题的相关文章

结对项目(附加题)开发总结

结对项目(附加题)开发总结 这次附加题的任务就是把两个小组写的独立的UI和CORE模块打乱重组,拼接成一个新的APP. 我们小组选择了大神刘乾所在小组和我们合作交换.一拿到乾神的核心代码,我不得不说,乾神就是乾神,代码一出,直接把我镇住了,各种参数看不懂咋办?咋写UI? 还好我们的乾神同志给我们提供了帮助文档,介绍了各个参数的作用,现摘录如下: 对于计算表达式的值(CALC模式): AnswerGet(string s)其中s是给定的算式,以等号结尾. 调用生成器时,使用: public Gen

结对项目(附加题)

结对项目成员:徐丞(13061203) 赖彦谕(13061212) [附加题]第四阶段目标 - 界面模块,测试模块和核心模块的松耦合. 我们小队是和付帅,赵庶宏组进行了交换测试,我们导出的静态链接库(.lib),然后在界面里include来调用.我们两个组都是用C++写的程序,用MFC写的界面.遇到的主要的问题,就是因为我们的想法有一些不同, API接口的设计和他们设计的接口有些不一致,所以导致我们的模块和他们的界面模块不能很好的连接. 为了解决这一问题,如果要修改我们设计好的API,那么就会修

软工_结对项目总结博客

关于结对编程 第一次进行真正的结对编程,而且我们组又是最奇葩的三人组合(14061183韩青长)(14061195陈彦吉),在经历了三天的合作以后,感觉收获还是蛮多的,下面是我对于结对编程的一些个人体验. 优点 在结对编程的过程中,两个人共同面对同一份代码,编码时旁边时刻有人提示监督.这样写出的代码,首先考虑的特殊情况会更多,能避免很多一个人编程时因为考虑不周而在某个不起眼的地方产生的Bug,代码质量更高,少了很多调试时间. 同时,由于两个人交替工作,一方面可以缓解疲劳,同时又因为身旁有人共同工

现代软件工程_团队项目_阿尔法阶段_团队建设_第一次会议记录_2017.11.11

第一次会议记录 会议时间:2017.11.11  12:00-14:00 会议地点:中科大西区图书馆201研讨室 参会人员:刘荪傲 姜博文 夏铭阳 顾培健 徐宇飞 张淦霖 [内容一]:自我介绍 六位同学分别进行自我介绍,15级的四位同学均为信息学院英才班学生,刘荪傲与顾培健.徐宇飞与张淦霖为现代软件工程结对编程队友,夏铭阳为14级信息学院学生,姜博文为14级物理学院学生. 大家就自己的编程能力交流了一下,发现6个人中没有人会javascript和java和PHP(很尴尬),任重而道远啊!不过大家

现代软件工程_团队项目_阿尔法阶段_第二次会议记录_2017.11.13

第二次会议记录 会议时间:2017.11.13  12:00-12::30 会议地点:中科大西区第三教学楼A教一楼讨论区 参会人员:刘荪傲 姜博文 顾培健 徐宇飞 张淦霖 [内容一]:页面原型v1.0展示 (一)介绍 经过对比,我们采用了mockplus做页面原型设计软件.于11月12日设计出了v1.0版本. 版本结构如下: v1.0 1.0.0 登录 1.0.1 创建新用户 1.0.2 找回密码 1.0.3 已有自习列表 1.0.4 发布我的自习 1.0.5 我已完成的自习 1.0.6 该自习

现代软件工程_团队项目_阿尔法阶段_需求分析文档_2017.11.13

用户需求分析 版本 v1.0.0 0.目录 1. 引言 1.1 编写目的1.2 项目背景1.3 预期的读者和阅读建议1.4 项目范围1.5 参考资料 2.用户需求分析 2.1. 调查问卷(User Survey) 2.2. 用户场景分析(User Analysis) 用户场景用户需求 2.3. 项目创新点与收益(Approach and Benefit) 创新点收益 2.4. 市场与竞争(Competitors) 市场分析竞争 1. 引言 1.1 编写目的 此需求规格说明书编制目的是明确本项目的

现代软件工程_团队项目_阿尔法阶段_第三次会议记录_2017.11.15

第三次会议记录 会议地点:科大西区图书馆303 会议时间:2017.11.15 18:30-21:30 参会人员:全部 内容一:制作课堂汇报PPT 1.确定展示内容: 团队介绍 组员介绍 团队介绍 项目综述 灵感来源 产品简述 产品价值 市场分析 精品分析 预期收益 调研结果 效果展示 页面产品大纲 产品页面模型 页面原形网址 场景分析 研发计划 2.确定团队核心价值观 让每个科大都能约到合适的人 3.工作分工: 刘荪傲:ppt架构确定,团队介绍,项目综述 姜博文:市场调研分析.效果展示 夏铭阳

现代软件工程_团队项目_阿尔法阶段_第七次会议记录_2017.12.2

第七次会议记录 会议时间:2017.12.2 12:30-13:00 会议地点:中科大西区二号楼一楼吧台 参会人员:刘荪傲 姜博文 顾培健 徐宇飞 张淦霖 夏铭阳 [内容一]:github团队仓库使用 http://blog.csdn.net/gane_cheng/article/details/52205480 https://github.com/keqiyjs [内容二]:团队成员职能变更 刘荪傲由后端开发转到前端开发 姜博文由前端开发转到前端开发+前后端交互+后端开发 [内容三]:新的需

现代软件工程_团队项目_阿尔法阶段_市场调研问卷_2017.11.11

为了方便统计校内同学的需求情况,我们利用问卷星设计问卷并在学生群中进行转发,问卷收集正在进行. 问卷链接:https://www.wjx.cn/jq/18054499.aspx 问卷内容: 问卷内容在问卷星编写之后截图如下