个人项目-论文查重

个人项目:论文查重

gitHub地址

软件工程
作业要求 作业要求链接
作业目标 完成论文查重项目,进行测试并使用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
上一篇:尝试卸载Macports时出错


下一篇:我如何在Mac OSX Lion上安装libspotify?