第一次个人编程项目

这个作业属于哪个课程 计科21级12班
这个作业要求在哪里 个人项目
这个作业的目标 熟悉个人软件开发流程

gitee:https://gitee.com/jiajidong/3121004864/tree/master/

1.PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 60 60
Estimate 估计这个任务需要多少时间 60 70
Development 开发 310 330
Analysis 需求分析 (包括学习新技术) 120 210
Design Spec 生成设计文档 50 40
Design Review 设计复审 30 20
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 30
Design 具体设计 50 70
Coding 具体编码 300 400
Test 测试(自我测试,修改代码,提交修改) 120 110
Reporting 报告 90 80
Test Report 测试报告 40 30
Size Measurement 计算工作量 50 50
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 70 40
合计 1380 1540

2.需求分析

设计一个查重算法,可以用SimHash算法实现,实现文档对比,查重。

3.模块接口的设计与实现

3.1.1 FileInput类

作用:读取文本内容
类方法:readString

3.1.2 main类

运用包内定义的类方法,实现对文本的读取,分词,hash,加权,合并,降维以及计算汉明距离,通过距离最终得到相似度

3.1.3 SimHash类

主要类方法:simhHash,hash,hammingDistance,getDistance,subByDistance
其中simHash实现SimHash算法,hash实现对特征向量的hash,hammingDistance实现加权,getDistance实现合并与降维,subByDistance实现分组检查

3.2 流程图

4.性能分析


5.模块异常分析

当读取文件不存在时会报错

posted @ 2023-09-17 22:06  留白1  阅读(28)  评论(0)    收藏  举报