软件工程第二次作业-论文查重


这个作业属于哪个课程 软件工程
这个作业要求在哪里 个人项目作业-论文查重
这个作业的目标 完成论文查重项目
其他参考文献

gitcode地址


https://gitcode.net/m0_59784968/heeeey/-/tree/3120009101/

作业需求


题目:论文查重

描述如下:

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

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

从命令行参数给出:论文原文的文件的绝对路径。
从命令行参数给出:抄袭版论文的文件的绝对路径。
从命令行参数给出:输出的答案文件的绝对路径。
我们提供一份样例( 提取码:nwjr),使用方法是:orig.txt是原文,其他orig_add.txt等均为抄袭版论文。

注意:答案文件中输出的答案为浮点型,精确到小数点后两位

psp


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

实现过程


设计思路

使用语言java,借用Levenshtein算法,用编辑距离表示字符串相似度, 编辑距离越小,字符串越相似的原理完成代码

运行结果


部分代码展示

测试展示

异常处理说明

若文件不存在,触发报错

性能分析

没找到测试插件,暂时无法完成

总结


第一次接触java语言,学习花费了大量时间,对java还有许多不会的地方,通过这次作业我更加了解了psp和java编程。

附录


posted @ 2023-03-13 00:42  沈炜杰  阅读(59)  评论(0)    收藏  举报