第三次作业!

作业地址:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2879

GIT仓库地址:https://github.com/pg7go/SchoolAssignment_WordCount.git

一. PSP表格

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

   

· Estimate

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

 180  122

Development

开发

   

· Analysis

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

 10  12

· Design Spec

· 生成设计文档

 0  0

· Design Review

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

 0  0

· Coding Standard

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

 0  0

· Design

· 具体设计

 5  3

· Coding

· 具体编码

 90  75

· Code Review

· 代码复审

 10  0

· Test

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

 10  20

Reporting

报告

   

· Test Report

· 测试报告

 10  7

· Size Measurement

· 计算工作量

 0  0

· Postmortem & Process Improvement Plan

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

 10  5
 

合计

 145  122

 

二.结对讨论

昨天晚上何婷同学和我说又有新作业后,我就简单看了下作业要求,我俩就讨论了一下

讨论图↑

首先都是团队成员,我俩接触项目也不少了,这种需求基本上是上手就来,不需要查太多资料准备什么的

接下来是分工

我负责主代码方面,她这边负责代码测试和复审,做单元测试等等

我和她简单分析后简单画了下结构图

基本上是这样了,所有功能都囊括进去了

 

讨论很简短,可能10分钟不到,毕竟大家都有经验

三.开发过程

1.GIT的fork和clone,这个步骤太简单就没截图了

2.代码编写

两个难点吧,统计英文单词那里,还有排序那里,不过有以往经验,还是写得挺快的

写完何婷这边就进行审查和测试

 

3.何婷这边的测试

首先我们选了一个几十万字(算字数是10W多字,算字符是50多W,这是用msword统计的结果,老师指出后修正)的英文反乌托邦小说《1984》作为测试数据

 

这里可以看到一个bug,就是程序把空白算进去了

 

何婷给我说的时候,马上我就意识到哪里的问题了

这里少了个判断

加上

完成

 

4.复测

经过改正后,基本上没有问题了

 

5.加入新功能

 

 

 

6.单元测试

 

这方面也是一次通过,实际上是验证一下数据在正确性,结果也是正确的

 

7.性能测试

可以看出,占比最多的是CountWord函数,就是分析统计单词频率的这个函数

这是一个正常的结果

 

8.异常处理

这个在最早编码的时候就已经考虑进去了,这里只贴一张图

 

新改后也加入了相关的输入正确性判断

 

9.GIT提交

顺便把测试样例上传,方便大家做测试

 

四.总结

1. 结对编程特别适合学习新知识,帮助开发者快速熟悉自己所不熟悉的领域,对于新加入的成员,能很快学习到经验

2.结对编程的时间要求比较高,要两者都有时间才行

3.对于这种很小的项目,结对编程效率反而不高

 

posted @ 2019-03-30 11:37  PG7GO  阅读(525)  评论(7编辑  收藏  举报