这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Networkengineering1834
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Networkengineering1834/homework/11146
这个作业的目标 实现论文查重算法,学会PSP表格统计,学会性能分析和单元测试

1. Github仓库

https://github.com/zhhdf/DuplicateCheckingofPapers

2. PSP表格

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

3. 计算模块接口的设计与实现过程


1.SingleSentence()函数用循环读入一个字符来分割一个句子的每个字,每个字符占String数组中的一个元素,最后返回String数组
2.将String数组代入ConstructingWordVector()构造词向量数组
3.利用main函数里的词向量余弦计算功能算出两个句子的相似程度

4. 计算模块接口部分的性能改进

从上图分析可得两个String对象的equals函数占用了很大的cpu时间

因此决定用char数组来代替String数组,用"=="来替代String.equals()


可以看到String.equals函数的cpu占用时间没有了,程序的运行速度也明显增加了

5. 计算模块部分单元测试展示

测试正常功能


6. 异常处理

IOException当读取文件和写入文件失败时抛出

posted on 2020-09-24 22:37  zhhdf  阅读(357)  评论(0)    收藏  举报