脚本宝典收集整理的这篇文章主要介绍了个人项目,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
作业课程 | 软件工程 |
---|---|
作业要求 | 作业要求 |
作业任务 | 设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。 |
PSP2.1 | PErsonal Software PRocess Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | ||
· EstiMATE | · 估计这个任务需要多少时间 | 600 | 480 |
Development | 开发 | ||
· Analysis | · 需求分析 (包括学习新技术) | 90 | 60 |
· Design Spec | · 生成设计文档 | 20 | 20 |
· Design review | · 设计复审 | 10 | 10 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 30 | 20 |
· Design | · 具体设计 | 60 | 40 |
· Coding | · 具体编码 | 180 | 120 |
· Code Review | · 代码复审 | 60 | 30 |
· test | · 测试(自我测试,修改代码,提交修改) | 60 | 90 |
Reporting | 报告 | ||
· Test Repor | · 测试报告 | 90 | 60 |
· Size Measurement | · 计算工作量 | 10 | 10 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 20 | 20 |
· 合计 | 630 | 480 |
流程图:
项目目录: 说明:参考资料:https://blog.csdn.net/Daverain/article/details/80919418
主类:DuplicateCheck.java 用于启动整个项目
工具类:
测试类
外部依赖:
实时内存分析图
调用树
方法的性能情况
可以看到消耗最大的方法是getSimHash,原因是在求simHash时需要通过循环进行哈希值的补位、加权合并和降维,同时也要调用jdk API中开销较大的charAt()方法,同时从实时内存分析图中可以看出占用内存较大的是导入的HanLP语言处理包,故逻辑方面没有什么可以优化的点。测试每个工具类中的方法(传入的都是常规且合法的数据,异常处理会在下面说明) CalculateUtils
HammingUtils
@H_506_360@
IOUtils
主类测试
测试乱序对于汉明距离的影响
测试结果
@H_299_406@
覆盖率
无效路径
用于测试的字符串过短
这里捕捉异常主要是为了检查jdk版本是否匹配的问题
部署jar包后通过命令行测试
以上是脚本宝典为你收集整理的个人项目全部内容,希望文章能够帮你解决个人项目所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。