合作者

  201631083404,201631091104 

  代码地址

  https://gitee.com/siyayan/WordCount 

  作业链接

  https://www.cnblogs.com/hwl970421/p/9797393.html

  (1)PSP表格

 

PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 120  60
Estimate 估计这个任务需要多少时间 360 200
Development 开发 1000 600
Analysis 需求分析(包括学习新技术) 180 300
Design Spec 生成设计文档 80 80
Design Review 设计复审(和同事审核设计文档) 120 100
Coding Standard 代码规范(为目前的开发指定合适的规范) 30 15
Design 具体设计 240 120
Coding 具体编码 400 240
Code Review 代码复审 180 120
Test 测试(自我测试,修改代码,提交修改) 120 240
Reporing 报告 60 100
Test Report 测试报告 30 15
Size Measurement 计算工作量 15 10
Postmortem&Process Improvement Plan 事后总结,并提出过程改进计划 30 30
  合计 2960 2320

  分析:预估的时间和实际时间差别较大。因为逻辑处理上有一些问题,所以花费了很多修改逻辑代码上。在准备阶段、测试和修改方面耗费了很多时间,造成了开发过程时间较长。写文档速度与预估的不太一致,包括写设计、测试、总结文档等。主要是对于这些东西的熟练度不够,平常写的少。

  (2)互审代码情况

      两人互相修改代码、制定编程规范、并且按照规范将代码整合在一起。

  开发过程中,晏夕然负责主函数逻辑代码编写、测试代码编写、文件打包、发布,胡文莉同学负责拓展功能代码编写、逻辑优化、项目博客撰写。

  代码互审过程中,晏夕然对胡文莉的代码进行修改优化,包括代码排版。命名规范。使得整个代码看起来逻辑清晰,可读性强。

  胡文莉同学对晏夕然同学的代码进行了逻辑优化,使代码显得更加合理。

  共同讨论了功能实现的简化处理等。

互审时出现问题的模块 互审出现的问题 互审问题解决方法 得到的收获 总结(分析)
   拓展功能模块 ,胡文莉所写的函数功能块在测试时出现问题,无法统计出注释行 函数中出现低级的命名混淆,晏夕然在测试时发现修改 注意细节和逻辑梳理 互帮互查,效率更高
测试模块 在测试过程中晏夕然较难找寻更高效的测试方法 互相讲解自己的测试思路 分模块测试是十分有效的找Bug方法 集思广益,可以相处更好的解决方法

 

  (3)设计过程

  

  功能实现设计:

  递归:遍历当前路径,判断是否为文件,是则读取文件名至字符串数组,否则继续

  停词表:1.先完成听词表读取,将词放入字符串数组2,完成对源文件读取,将内容放入另一字符串数组3.比较内容判断是否停词,用数组下标进行运算处理

  空行,代码行查询:根据多重If条件处理即可

  测试设计:

  1,完成之前基础函数功能测试

  2,将每个函数功能单独测试

  3. 测试输入指令格式

  4. 测试拓展功能函数

  5.整体测试

  完成代码——>修改,完善——>测试——>完成对应文档——>完成博客——>完成余留功能

  (4)代码说明

  主函数模块

    

  拓展功能:

  递归:

  

  空行,注释行

  

 

  停词表

  

 

 

  测试基础函数

  

  拓展功能测试

  

  

  测试效果

  

 

  

  拓展功能效果

  

  

  控制台效果截图:

  

  

 

 (6)反思总结:

结对项目不仅加快了项目完成效率,而且在结对过程中可以减少错误,提高分析的问题的能力,在将功能实现的过程中,两个人一起可以讨论出更快的解决方法,同时也会在问题难以解决时有人帮助,带来动力。在完成的过程中,不仅可以从别人那儿学习到很多的经验和知识,获得一定的学习能力。而且有利于同学之间的学习交流,发展友情。

希望之后也有机会去结对完成一些任务,增加个人技能。

  (7)补充说明:

  测试设计说明:https://www.cnblogs.com/SiyaYan/p/9804256.html