第四次作业:结对编程

GIT地址 git地址
结对伙伴 201831061218 +201831061220
伙伴学号 201831061220
伙伴博客地址 伙伴博客地址

一.PSP表格

PSP2.1 Personal Software Process Stages
·Planning 计划 预估耗时(分钟) 实际耗时(分钟)
·Estimate · 估计这个任务需要多少时间 1400 1500
·Development 开发 1300 1290
·Analyse · 需求分析 (包括学习新技术) 50 80
· Design Spec · 生成设计文档 60 80
· Design Review · 设计复审 (和同事审核设计文档) 30 30
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 40 30
Design · 具体设计 100 120
Coding · 具体编码 700 800
· Code Review · 代码复审 60 50
Test · 测试(自我测试,修改代码,提交修改 100 100
Reporting 测试报告 30 30
· Test Report · 测试报告 30 20
· Size Measurement · 计算工作量 40 40
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 20 30
合计 1700 1900

二.接口实现和过程设计

设计

见如下思维导图
在这里插入图片描述
因为这个结对编程作业篇幅有点长,我和我的伙伴通过一起慢慢读题,搞了好久才读懂题目,然后画出思维导图,当把思维导图画出来后,我们就感觉此次作业的需求一目了然,以及两人对代码的分工合作变得清晰很多。

各类关系

count里面装了完成程序的函数。
main里面执行主函数,集成所有功能。接受字符“-i,-o,-m,-n”,根据不同的字符来执行不同的功能。这个功能因为时间有限,加上我们两个都不太懂命令行传参的形式运行,很遗憾没能完成

实现

在这里插入图片描述
关键函数:

void  charsum();//统计字符数

void cizu();//统计单词总数

void line();//统计有效行数

void sum();//统计前十高频词汇并且以小写格式输出

工程里面主要文件:
在这里插入图片描述
我们两个通过讨论,以及根据作业要求分析,初步将几个功能模块确定下来,分别分配给两个人,然后分工完成自己的功能模块,最后两个人一起写main.cpp从而进行汇总。

三.代码复审

在复审途中,存在最多的就是这个错误,多个cpp中定义了同一个变量。
在这里插入图片描述
解决方法是我们将重复命名的变量进行了修改。

四.程序分部运行结果

字符统计:统计文中字符总数
在这里插入图片描述
有效单词统计:统计单词长度大于3的数量
在这里插入图片描述
行数统计:统计有效行数
在这里插入图片描述
词频统计:频率最多的十个单词输出单词和词频
在这里插入图片描述
将运行结果录入到text.txt中
在这里插入图片描述
最后将每个功能模块汇总,实现截图:
在这里插入图片描述

五.单元测试

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

效能分析

在这里插入图片描述
可以从图中看出,cpu占比最多的那部分就是完成高频词统计那一块儿,我们两个认为这是因为存在多个字符串比较。

样本分析报告

在这里插入图片描述
在这里插入图片描述

六.结对过程及我的感想

在这里插入图片描述
这次结对编程并不顺利,中途遇到很多问题,一开始读题都读不懂,很我的伙伴花了很长时间才明白作业内容,因为没用过命令行参数输入,也查了很多资料学习,但是因为时间关系也没能把它做好,感觉很遗憾。
在此特别感谢我的伙伴,我们在调试bug的时候,两个人一起合作,相互鼓励,互相指点,解决了许多bug。这让我真切地感受到1+1>2。此外,不仅是技术方面伙伴能够提供非常大的帮助,在精神层面上,伙伴间也能相互鼓励,还能弥补一个人思维的局限性,让两个人对问题想得更加全面。这次作业让我意识到自己有多么多么的菜,需要学的东西还有很多啊,希望自己能永远不忘最初时的热爱,最后也能不负期许。

posted @ 2019-10-14 17:21  --believe  阅读(217)  评论(0编辑  收藏  举报