个人项目-论文查重

作业属于哪个课程 软件工程22级计科12班
作业要求在哪里 个人项目
这个作业的目标 java实现论文查重,学习开发、测试、报告的简单流程、使用JProfiler的性能分析工具
github链接 https://github.com/Anazhang2023/3222004811
PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 10 10
·Estimate · 估计这个任务需要多少时间 550 527
Development 开发 500 483
· Analysis · 需求分析 (包括学习新技术) 60 120
· Design Spec · 生成设计文档 30 60
· Design Review · 设计复审 30 30
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 5 5
· Design · 具体设计 10 10
· Coding · 具体编码 300 240
· Code Review · 代码复审 10 8
· Test · 测试(自我测试,修改代码,提交修改) 30 20
Reporting 报告 40 34
· Test Repor · 测试报告 20 12
· Size Measurement · 计算工作量 10 12
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 10 10
· 合计 550 527

二、项目的设计与实现

1.开发环境

java、IntelliJ IDEA 2020.2
maven依赖: hanlp、jsoup

2.开发思路

3.文件结构
  • TxtIOUtil文件负责输入输出,同时当文件输入输出时会抛出异常提示
  • SimHashUtil负责计算SImHash值,其中包括全角符转半角符、文件预处理、计算哈希值、计算单词权重的方法
  • HammmingUtil负责计算海明值
4.Simhash的理解

reference:SimHash介绍,分为分词,hash,加权,合并,降维几部分

5.单元测试和异常处理
  • HammingUtil的测试
  • SimHashUtil的获取一个单词的哈希值的方法测试
  • SimHashUtil的获取一个单词的权重的方法测试
  • TxtUtil的测试
  • 正常读取
  • 正常输出
  • 文件路径输出异常
  • 文件路径读取异常
6.性能分析


posted @ 2024-09-14 03:11  Anazhang  阅读(23)  评论(0编辑  收藏  举报