第一次个人编程作业

发布时间 2023-09-18 00:00:52作者: yia02

软件工程第二次作业:论文查重项目

课程名称 https://edu.cnblogs.com/campus/gdgy/CSGrade21-12
作业要求 https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13014
作业目标 完成软件工程第一次项目

一.github链接https://github.com/yia02/yia02

二.PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 30
-Estimate -估计这个任务需要多少时间 30 30
-Analysis -需求分析 (包括学习新技术) 150 90
-Design Spec -生成设计文档 60 0
-Design Review -设计复审 20 20
-Coding Standard -代码规范 (为目前的开发制定合适的规范) 30 10
-Coding -具体编码 120 180
-Code Review -代码复审 20 40
Test 测试(自我测试,修改代码,提交修改) 220 260
-Reporting -报告 100 120
-Size Measurement -计算工作量 40 40

三.接口设计与实现

函数 功能
remove(file) 清除标点符号
readfile(file) 读写文件
analyse(ori, ori_add) 计算文本之间的相似度

关键函数实现

使用Simhash算法生成两个文本间的Simhash值,其中相似的文本具有较高的汉明距离,而不相似的文本具有较低的汉明距离。 计算两个文本间的海明距离,即Simhash值
之间的汉明距离。海明距离表示两个Simhash值二进制表示中不同位的数量。 根据海明距离计算相似度, 公式为:1 - (海明距离 / 两个文本的文本的SimHash值中的较大值)。

四.性能改进
1.性能分析图

2.代码覆盖率

五.异常处理