1. 预测时间

Personal Software Process Stages

Time(h)

计划

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

16.5

开发

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

4

· 生成设计文档

1

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

0

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

0.5

· 具体设计

0.5

· 具体编码

5

· 代码复审

1

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

3

报告

· 测试报告

1

· 计算工作量

0

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

0.5

合计

16.5

2. 实际用时

Personal Software Process Stages

Time(h)

   

开发

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

6

· 生成设计文档

0.5

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

0

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

0.5

· 具体设计

0.5

· 具体编码

7

· 代码复审

1

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

3

报告

· 测试报告

0.5

· 计算工作量

0

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

0.5

合计

19.5

3.性能分析

使用了Visual Studio自带的性能分析工具(性能探查器),查看了CPU使用率

可以看到核心函数GetShortestPath()和GetLeastTransferPath()出花费时间较多,但是并没有找到改进方案

4.测试

测试用例:

1.1号线

2.x号线

3.BeijingSubway.exe -b 沙河 巩华城

4.BeijingSubway.exe -b 沙河 北京西站

5.BeijingSubway.exe -b 沙河 沙河

6.BeijingSubway.exe -b 砂河 北京夕站

7.BeijingSubway.exe -c 北京西站 沙河

8.BeijingSubway.exe -c 苏庄 沙河

9.BeijingSubway.exe -b

10.BeijingSubway.exe -c

这些测试用例里面,既有正常的输入,也有异常/非法的输入;并且对于边界情况(比如出发点和到达点一样)也覆盖到了;

在-c功能中,对于换乘次数都是最少的情况下,程序能够正确地找到经过站点数最少的路径(测试用例7)

因此,以上的测试用例能够说明程序很大程度上运行能给出正确的结果。程序的正确性或许还需要“证明”而不是“测试”

5.收获

完成本次作业的过程中中我收获丰富,有以下几点:

1.要尽早开始完成,把作业放到日程表上提醒自己

2.不要低估学习新技术所需时间(比如这次作业中学习使用github花费的时间比我预期要多不少)

3.具体的,学会了使用visual studio 2015进行性能分析和代码质量评估,学会了使用github进行代码管理

6.博客地址

https://github.com/libaiwen/Software-Engineering

Week1项目报告的更多相关文章

  1. 笔记:Maven 项目报告插件

    Maven 项目报告插件,都是对于前面生成的项目站点的内容丰富,因此都是基于项目站点的,生成的命令和生成项目站点一致(mvn site),项目报告插件的配置和一般插件不同,是在 project-> ...

  2. Gradle 1.12用户指南翻译——第四十一章. 项目报告插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  3. java实验项目报告

            JAVA课程项目报告   题目:利用java实现一个时钟的小程序 姓名:王国梁 班级:计科13-2 学号:201303011200         利用JAVA实现一个时钟的小程序 1 ...

  4. Maven 项目报告插件

    Maven 项目报告插件,都是对于前面生成的项目站点的内容丰富,因此都是基于项目站点的,生成的命令和生成项目站点一致(mvn site),项目报告插件的配置和一般插件不同,是在 project-> ...

  5. 小学四则运算结对项目报告(GUI)

    小学四则运算结对项目报告(GUI) 一.Coding.Net项目地址: https://git.coding.net/wsshr/Calculation.git 二.PSP表格(完成前): PSP 任 ...

  6. 结对编程项目报告--四则运算CORE

    <!doctype html> sw_lab2.mdhtml {overflow-x: initial !important;}#write, body { height: auto; } ...

  7. 201871030108-冯永萍 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    实验三 软件工程结对项目 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs ...

  8. 201871030108-冯永萍 实验二 个人项目— D{0-1}背包问题项目报告

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs.com/nwnu-dai ...

  9. 201871030125-王芬 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    实验三 软件工程结对项目 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs ...

随机推荐

  1. 田渊栋:AlphaGo系统即使在单机上也有职业水平

    Facebook人工智能组研究员田渊栋博士在知乎专栏上更新了一篇文章,详细分析了AlphaGo在<自然>杂志上发表的论文,他认为AlphaGo整个系统即使在单机上也已具有了职业水平,与李世 ...

  2. 使用Dezender对zend加密后的php文件进行解密

    在开发中需要修改一些php文件,部分是通过zend加密的,记事本打开之后是这样的: 此时需要使用Dezender进行解密,下载链接如下: Dezender.7z 下载后解压到C盘(路径不要带有中文), ...

  3. Nginx负载均衡 后端服务器怎么共享Session 问题

    Nginx负载均衡 Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1).轮询(默认)       每个请求按时间顺序逐一分配到不同的后端服务器,如果后端 ...

  4. Java 模板引擎 jetbrick-template

    jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性. 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板. 指令和 ...

  5. metaq安装实例

    下载metaq: http://fnil.net/downloads/index.html 安装metaq: [root@localhost software]# pwd /export/softwa ...

  6. webpack处理非模块化的几方法

    webpack处理非模块化文件有几方法,主要分为外链和webpack打包二种情况: 一.使用CDN外部链接的方法 官网文档External: https://webpack.github.io/doc ...

  7. Python: 如何继承str/string?

    想搞一个对象继承自str,然后存一些额外信息用来标识这个字符串,然后理所当然地重写了__init__发现跪了: class newstring(str): def __init__(self, val ...

  8. solr多核配置

    假设已经配置好了一个单core的solr服务器. solr.xml配置文件 单核和多核主要在solr.xml配置不同.在solr/example中已经有一个名称为multicore的文件夹里面给我们配 ...

  9. Cubieboard2裸机开发之(三)C语言操作LED

    前言 前面通过汇编语言点亮LED,代码虽然简单,但并不是很直观.这次使用熟悉的C语言来控制LED,但是需要注意的地方有两点,第一,要想使用C语言,首先需要在调用C语言代码之前设置好堆栈:第二,调用C语 ...

  10. 安装cvxpy遇到的问题与解决方案(ubuntu14.10,python 2.7.8)

    应该说,cvxpy的安装说明是很棒的,一步一步非常清楚,www.cvxpy.org/en/latest/install/index.html 可是,我照着做完之后,还是不能import cvxpy,不 ...