第一次个人编程作业

发布时间 2023-09-17 10:47:17作者: BAIQI26548

-1作业概述

这个作业属于哪个课程 《软件工程》
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade21-34/homework/13023
这个作业的目标 设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。
GitHub链接 https://github.com/CNGD26548/3121005078

-2 PSP表格

项目 预计耗时(分钟) 实际耗时(分钟)
计划 10 15
估计这个任务需要多长时间 10 15
开发 120 120
需求分析 10 10
生成设计文档 10 10
设计复审 20 30
代码规范 10 10
具体设计 20 20
具体编码 120 120
代码复审 10 30
测试 20 20
报告 10 20
测试报告 30 40
计算工作量 20 20
事后总结 20 20
合计 180 190

-3 需求分析
设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。

原文示例:今天是星期天,天气晴,今天晚上我要去看电影。
抄袭版示例:今天是周天,天气晴朗,我晚上要去看电影。
要求输入输出采用文件输入输出,规范如下:

从命令行参数给出:论文原文的文件的绝对路径。
从命令行参数给出:抄袭版论文的文件的绝对路径。
从命令行参数给出:输出的答案文件的绝对路径。

-4 接口实现
ioPart只有一个read方法,用以读文件
Main中有readText和calSame。readText用以读文件,calSame用以计算相似度.核心算法即为calSame,核心思想是使用文字包处理集收集词集,然后通过遍历对比,计算相似度。

-5性能分析


缺点:在读入文件后,对比的时候消耗比较大的性能,但持续的时间比较短,换成其他算法有比较大的改进空间。我在尝试新的算法。

-6单元测试

使用orig.txt和orig_0.8_add.txt进行测试。
注意:必须输入\来代替\(转义字符),需要正确输入文件URL。