个人项目-论文查重
个人项目:论文查重
| 软件工程 | |
|---|---|
| 作业要求 | 作业要求链接 |
| 作业目标 | 完成论文查重项目,进行测试并使用Github进行版本发布及源码和测试用例管理 |
一、PSP表格
| Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) | |
|---|---|---|---|
| Planning | 计划 | ||
| · Estimate | · 估计这个任务需要多少时间 | 360 | 660 |
| Development | 开发 | 120 | 165 |
| · Analysis | · 需求分析 (包括学习新技术) | 120 | 120 |
| · Design Spec | · 生成设计文档 | 10 | 15 |
| · Design Review | · 设计复审 | 20 | 25 |
| · Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 30 | 35 |
| · Design | · 具体设计 | 30 | 40 |
| · Coding | · 具体编码 | 80 | 95 |
| · Code Review | · 代码复审 | 25 | 30 |
| · Test | · 测试(自我测试,修改代码,提交修改) | 50 | 60 |
| Reporting | 报告 | ||
| · Test Repor | · 测试报告 | 10 | 25 |
| · Size Measurement | · 计算工作量 | 20 | 20 |
| · Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 20 | 30 |
| · 合计 | 535 | 660 |
二、模块接口的设计与实现过程
2.1 项目结构

主要类
simhash算法实现类:

余弦相似度算法实现类:

Unit类

算法原理
采用simhash算法来计算文本相似度,需要计算得到汉明距离

最后由公式
,将汉明距离带入x即可计算出文本相似度
算法流程

三、模块结构接口部分的性能改进
内存、CPU、GC、线程情况

Live Memory

CPU Load

堆内存

四、计算模块部分单元测试展示
代码


测试结果:


代码覆盖率

异常处理
代码

异常测试


五、测试结果
orig_0.8_add.txt 0.9739645582549769
orig_0.8_del.txt 0.8055412527550833
orig_0.8_dis_1.txt 0.9973557010035817
orig_0.8_dis_10.txt 0.682243394533814
orig_0.8_dis_15.txt 0.682243394533814
浙公网安备 33010602011771号