第一次作业——subway

作业源程序代码:https://github.com/R-81/subway

作业程序使用说明:通过输入命令参数求解路线(仅支持-b,-c),根据参数得出路线后,程序不会结束,此时可输入地铁路线名(例如地铁一号线)输出此路线上所有车站名。

1)各模块开发需要消耗的时间

 
Personal Software Process Stages


Time


Planning


计划


· Estimate


· 估计这个任务需要多少时间


15h


Development


开发


· Analysis


· 需求分析 (包括学习新技术)


1h


· Design Spec


· 生成设计文档


0h


· Design Review


· 设计复审 (和同事审核设计文档)


0h


· Coding Standard


· 代码规范 (为目前的开发制定合适的规范)


0h


· Design


· 具体设计


2h


· Coding


· 具体编码


8h


· Code Review


· 代码复审


0h


· Test


· 测试(自我测试,修改代码,提交修改)


8h


Reporting


报告


· Test Report


· 测试报告


1h


· Size Measurement


· 计算工作量


0h


· Postmortem & Process Improvement Plan


· 事后总结, 并提出过程改进计划


1h

 
合计


21h

2)改进程序

  对于-c的路径索索进行了一次改进,具体表现为将搜索过的线路进行标记,在下一次搜索的时候省去搜索这些被标记的线路,能够减少大量的多余搜索,但是在多个线路上的换乘车站依旧能够得到有效搜索。

3)文件存储格式及理由

  我采用的文件存储格式是Line 路线名 地铁站名。Line是为了区分路线名和地铁站名,Line后紧跟的字符串为路线名。对于环线路线,需要在该线路站名最后加上重复的起点,达到连接成环的效果。

4)程序正确性论证

  程序从文件读取线路信息和站点信息,通过处理后存入合适的数据结构中,通过参数的不同,选择以广度优先搜索为主要算法,不同的搜索方式进行路径搜索。经过多次测试和改正后,能达到作业要求效果。

5)学习与体悟

  感觉这次由于自己在书写代码前没能做好充分的思考,导致在测试阶段重复修改了很多次,浪费了不少时间,下次应该在设计阶段考虑得更周密一点,这样反而会节省出来时间。

6)性能分析图

  

7)测试用例

-c 苹果园 2号航站楼

-b 苹果园 2号航站楼

-c 2号航站楼 苹果园

-b 2号航站楼 苹果园

-b 知春路 北京西站

-c 知春路 北京西站

-b 四惠 高碑店

-b 四惠 四惠东

地铁一号线

地铁八通线

时间: 2024-10-13 02:26:34

第一次作业——subway的相关文章

软件工程第一次作业补充

软件工程第一次作业的补充 对于作业"在一周之内快速看完<构建之法>,列出你不懂的5-10个问题". 作业要求有: (1)在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文 (2)列出一些事例或资料,支持你的提问 (3)说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾? 例如:我看了这一段文字 (引用文字),有这个问题 (提出问题):我查了资料,有这些说法

第一次作业——四则运算小程序

这是第一次作业,而且是个人项目,说实话一开始得到作业还是很紧张的.虽然题目比较简单,但是由于自身动手能力很差,所以还是慌得要死. 经过思考和审题,我渐渐有了思路.四则运算主要的难点在于选取数是否是随机数而且是否能保证整数相除能否除尽. 一开始关于选取数是否随机我很苦恼,因为从前写程序变量基本都是自己赋值,没想到怎么随机取数.后来经过同学的点拨,我想到了随机选取函数.比如十以内的四则运算就将0-9赋给a1 再加1就变成1-10了.而保证除尽的问题也很快想到了解决方案,只需要添加一个判断两数相除记过

软件工程管理——第一次作业

这是软件工程管理课第一次作业,也是我的第一篇随笔. 这篇随笔分为四个部分:1.自我介绍. 2.对这门课的期待. 3.第一周工作统计. 4.第一个小项目(词频统计与四则运算选其一). 一.自我介绍        我叫夏一鸣,是东北师范大学计算机科学与信息技术学院,计算机应用技术专业的研一学生.本科也是东北师大的,专业是计算机科学与技术.我来自湖北咸宁,是一个南方小伙,为人还算随和乐观,希望老师和同学们多多关照. 二.对这门课的期待        我想,大家之所以选了这门课,当然初衷都应该是想学到一

2015-2016-1 学期《软件工程》第一次作业【点评】--- 欢迎其他老师和同学补充

第一次作业全部批改结束,总体情况如下: (1) 部分同学是从网络上搜索资料,一个链接直接copy.--- 直接 0 分: (人数在2位数) (2) 部分同学是从网络上搜索资料,多个链接(信息来源)整合在一起.--- 视其整合的深度,给予10~50 分:(人数在2位数) (3) 极少数同学也借鉴了网络资料,但是结合自己的体会给出了相应的分析. --- 给予60~90 分:(人数在个位数) ==== 对同学们的建议: (1)引用资料时(特别是网络上一些网页)要注意其资料的真实性.权威性和时效性.典型

实时软件系统设计第一次作业

实时控制软件设计第一次作业 ABS系统: 简称:制动防抱死系统(antilock brake system). 作用:在汽车制动时,自动控制制动器制动力的大小,使车轮不被抱死,处于边滚边滑(滑移率在20%左右)的状态,以保证车轮与地面的附着力在最大值. 原理:在制动时,ABS根据每个车轮速度传感器传来的速度信号,可迅速判断出车轮的抱死状态,关闭开始抱死车轮上面的常开输入电磁阀,让制动力不变,如果车轮继续抱死,则打开常闭输出电磁阀,这个车轮上的制动压力由于出现直通制动液贮油箱的管路而迅速下移,防止

重新提交的作业相较于第一次作业的改进

由于对第一次作业的估计严重失误,导致周二上交的作业是极其不完整的程序,无法正确运行.经过两天的调试,修改了众多BUG以及算法上的不足.以下是修改的主要问题: 1. 栈溢出导致的崩溃:修改了结构体数组变量的相关初始化,大致计算并限定了各函数中变量数组的界限,解决了栈溢出的问题. 2.生成计算式:本程序采用的方法是根据参数计算一个种子,作为间隔,然后按序生成,从而可以较容易的避免产生相同的计算式 (1)该种子的选取一开始存在问题,计算种子的失误导致往往生成的式子无法达到数量要求. (2)操作数的生成

【助教】第一次作业成绩

当我第一次知道公布大家第一次作业的分数的时候,其实我是拒绝的!因为我觉得……呀……你不能叫我公开我马上就公开,第一,我要想一下,我又不想说,你公布分数之后以后加了很多水分,那效果DUANG……很炫!很亮!很与众不同!结果我的分数一出来童鞋们以后一定骂我,根本不公正!……我说先要给我试一下.后来我经过也知道他们是很好的,而且不会很偏激的到我博客来骂我对不对? 那我发了分数以后,起码我觉得还蛮公平的,我还把分数发给老师看了一下,童鞋们应该不会打我吧:) 下面公布第一次作业成绩: 说明: 1.按照老师

软工实践第一次作业-黄紫仪

软工实践第一次作业 前言:emmmm之前因为没太注意,想着计算机专业怎么会有软工实践.所以之前一直都没去管.等到开学才发现突然翻车.QAQ现在赶紧先来补交一下. (1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 你认为过去两年中接触到的课程是否符合你对计算机专业的期待,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?   说到选择计算机,emmmm,某种意义上来说是打RPG游戏打出来的想法,因为很喜欢这类的游戏,所以也想去试着写一个属于自己的这种

第一次作业:一条咸鱼和计算机

第一次作业:一条咸鱼和计算机 第一部分:结缘计算机        我的经历和所有科班和非科班的博主都不太一样,他们大多数是喜欢计算机,或者认为计算机就业情况好,而我却是情非得已.第一次认识计算机应该是小学的时候再学校的机房里,当时的电脑是那种大屁股电脑,贼卡的那种,我们当时的计算机课应该是叫信息课,上课的时候总是偷偷一起玩金山打字里面的游戏,就是警察抓小偷的那个,想想当时一边玩游戏一边还要防被老师发现,还真的是挺刺激的啊.感觉我从前对计算机的印象就等同于玩游戏,小学的时候常年混迹电子厅,虽然经常