个人项目

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了个人项目脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

gIThub:  code2497/3119005347 (github.COM)

 

这个作业属于哪个课程< 网工1934-软件工程 >
这个作业要求在哪里 作业要求
这个作业的目标 代码实现论文查重,性能分析,psp记录

一、psp表格

PSPPErsonal Software PRocess Stages预估耗时(分钟实际耗时(分钟)
Planning 计划 40 35
EstiMATE 估计这个任务需要多少时间 35 20
Development 开发 700 650
Analysis 需求分析(包括学习新技) 500 600
Design Spec 生成设计文档 20 10
Design review 设计复审 20 15
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 20
Design 具体设计 15 5
Coding 具体编码 150 200
Code Review 代码复审 100 20
test 测试(自我测试,修改代码,提交修改) 200 300
Reporting 报告 60 40
Test Repor 测试报告 60 30
Size Measurement 计算工作量 15 10
Postmortem &amp; Process Improvement Plan 事后总结, 并提出过程改进计划 10 10
total 总计 1955 1965

二、模块接口的设计与实现过程

依赖包

1. word: 分词功能,并提供相似度计算接口

项目结构

个人项目

CalSimilarity类 : 继承word中TextSimilarity类,提供词权重计算、海明距离计算、分词功能以及最终的文本相似度算法

Hash类:提供simHash、hash算法

IOTxt:文件读写

Main:项目入口

算法流程图

个人项目

simHash算法与hash算法

个人项目

个人项目

个人项目

 

权重和最终相似度计算

个人项目

三、性能分析

内存部分

个人项目

个人项目

可以看出消耗太大的主要是int[]、BigInteger和word分词包

运行时间

个人项目

由于word分词器的默认词典较大,所以需要耗费较多的时间加载

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

各测试类如下

由于word分词包过于庞大,一些测试不得已超过4s

个人项目

 

个人项目

个人项目

个人项目

 

测试覆盖率

Jacoco覆盖率报告

个人项目

个人项目

个人项目

CalSimilarity类覆盖率低的原因是seg分词函数为private以及构造函数无法覆盖

计算模块部分异常处理说明

个人项目

个人项目

项目程序功能测试

java -jar duplicate-checking-1.0-sNAPSHOT-jar-with-dependencies.jar C:UserscodeDesktoptextorig.txt C:UserscodeDesktoptextorig_0.8_del.txt C:UserscodeDesktoptextresult.txt

个人项目

 

 

个人项目

 

脚本宝典总结

以上是脚本宝典为你收集整理的个人项目全部内容,希望文章能够帮你解决个人项目所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。