软工第四次作业。
软件工程第四次作业结对编程
| 我的github|https://github.com/Corvvus/201831061426.git
|
| :-----|:---- |
| 合作伙伴| 张卓鑫 |
| 合作伙伴学号 | 201831061426 |
## 一、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|
## 模块设计与实现
程序将处理单词的函数,如计算字符数charsCount()、行数linesCount()、单词数及词频wordsCount()、打印对应词组数wordgroup()封装为一个类word_operate(),并在main()函数中使用getopt()方法来实现命令行参数"-m"、"-n"、"-i"、"-o"的获取,通过判断getopt获取的命令行参数opt来实现word_operate()类中方法的运行与用户输入不同参数值的交互。
### 实现过程
我们先定义了一个用于计算单词的结构体和一个单词分析的的类。
然后对类进行具体的实现
查找代码如下:
定义排序函数,通过中序遍历查找并写入文件
主函数部分如下:
运行结果如下:
### 代码复审
代码复审阶段暂未发现其他错误。
### 效能分析
## 心得体会
刚开始我没着急着找队友,后面找见的队友和另外一个人还组队,虽然交流的并没有那么多,不过我可以深刻的体会到结对编程的好处,代码是敲不完的,一个人的力量不如两个人。团队合作才能效率最大化。