个人第四次作业
Github地址 | 地址 |
---|---|
作业要求地址 | 地址 |
结对伙伴博客地址 | https://home.cnblogs.com/u/robertqin/ |
结对伙伴学号 | 201731062432 |
1.1 结对过程
1.2 psp表格
PSP2.1 | Personal Software Process Stages | 预计耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 1200 | 1320 |
Estimate | 估计这个任务需要多长时间 | 1200 | 1320 |
Development | 开发(需求分析-具体编码) | 730 | 830 |
Analysis | 需求分析(包括新技术学习) | 120 | 150 |
Design Spec | 生成设计文档 | 60 | 80 |
Design Review | 设计复审(和同学审核设计文档) | 60 | 80 |
Coding Standard | 代码规范(为目前的开发制定规范) | 60 | 70 |
Design | 具体设计 | 60 | 80 |
Coding | 具体编码 | 360 | 400 |
Code Review | 代码复审 | 100 | 110 |
Test | 测试(自我测试、修改代码、代码提交) | 130 | 140 |
Reporting | 报告 | 100 | 120 |
Test Report | 测试报告 | 60 | 90 |
Size Measurement | 计算工作量 | 40 | 60 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 50 | 70 |
total | 总计 | 1200 | 1320 |
计算模块接口的设计与实现过程
- 我使用了三个类,handlefile,readfile,program。我的总体思路是首先使用readfile这个类去读取文件并使用handfile去处理文件。其中readfile包含三个函数
:read(),check(),openfilname,read()用于读取指令,check用于检查指令是否正确,本程序唯一指令为wordcount.exe -i 文件名.txt且文件放于debug文件夹内。openfilename用于打开文件并使用handlefile中的函数 - handlefile类包括六个函数:handleC()用于统计字符数,handle
W()用于统计单词大于4的单词数,handleL()统计行数,sort()进行单词频数排序并输出前十个。use()用于调用这些函数。outputfile()用于输出统计结果到debug文件夹内的result.txt。 - 流程图
- 关键思路。这里我主要使用了正则表达式进行文本文件的分割,使用了hash表进行单词排序
代码复审过程。
在编程过程中我们遇到了一些问题。比如文件读取时使用的编码格式不同,造成了时间上的浪费,已经变量名的不统一。
性能分析
运行结果
总结
这次作业难度对于我们很大,有些功能对于我们来说还是很难实现,对于面向对象的掌握还是
很浅薄,我们希望下次能够做的比这次好。