软工第四次作业

软件工程第四次作业结对编程

| 我的github|https://github.com/solerle/WordCount  | 
| :-----|:---- | 
| 合作伙伴| 张卓鑫 | 
| 合作伙伴学号 | 201831061426 | 
#### GitHub的提交暂时因为Git一直下不好无法提交

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

## 模块设计与实现
![img](https://upload.cc/i1/2019/10/15/CXfe2d.png)
程序将处理单词的函数,如计算字符数charsCount()、行数linesCount()、单词数及词频wordsCount()、打印对应词组数wordgroup()封装为一个类word_operate(),并在main()函数中使用getopt()方法来实现命令行参数"-m"、"-n"、"-i"、"-o"的获取,通过判断getopt获取的命令行参数opt来实现word_operate()类中方法的运行与用户输入不同参数值的交互。
### 实现过程
我们先定义了一个用于计算单词的结构体和一个单词分析的的类。
![img](https://upload.cc/i1/2019/10/15/HVoK2z.png)
然后对类进行具体的实现
![img](https://upload.cc/i1/2019/10/15/83TJ6H.png)
查找代码如下:
![img](https://upload.cc/i1/2019/10/15/YzFKtN.png)
定义排序函数,通过中序遍历查找并写入文件
![img](https://upload.cc/i1/2019/10/15/TjtVv0.png)
主函数部分如下:
![img](https://upload.cc/i1/2019/10/15/BoWwCN.png)
![img](https://upload.cc/i1/2019/10/15/F50dI7.png)
运行结果如下:
![img](https://upload.cc/i1/2019/10/16/fhx4gL.png)
### 代码复审
代码复审阶段暂未发现其他错误。
### 效能分析
![img](https://upload.cc/i1/2019/10/16/xXGRSb.png)
## 心得体会
刚开始我没着急着找队友,后面找见的队友和另外一个人还组队,虽然交流的并没有那么多,不过我可以深刻的体会到结对编程的好处,代码是敲不完的,一个人的力量不如两个人。团队合作才能效率最大化。

你可能感兴趣的:(软工第四次作业)