软工作业2:论文查重

作业概述:个人项目 论文查重

这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade21-34/homework/13023
这个作业要求在哪里 个人项目 - 作业 - 计科21级34班 - 班级博客 - 博客园 (cnblogs.com)
这个作业的目标 通过个人变成能力来实现论文查重,学习使用PSP表格以及git提交规范


一、  GitHub仓库链接:https://github.com/Gustavo3121005172/3121005172.git

二、PSP表格

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning 计划 50 65
Estimate · 估计这个任务需要多少时间 700 890
Development 开发 200 190
Analysis 需求分析 (包括学习新技术) 60 90
Design Spec 生成设计文档 25 30
Design Review 设计复审 20 15
Coding Standard 代码规范 (为目前的开发制定合适的规范) 20 15
Design 具体设计 25 20
Coding 具体编码 90 120
Code Review 代码复审 40 45
Test 测试(自我测试,修改代码,提交修改) 20 18
Reporting 报告 30 40
Test Repor 测试报告 30 35
Size Measurement 计算工作量 20 15
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 20 40
  合计 1350 1628
 
二、计算模块接口的设计与实现过程
 项目结构

 项目流程图:

 

算法分析与实现:
本次选择动态规划算法来求最长公共子序列,以计算文本重复率。所谓子序列,即一个给定的序列的子序列,也就是将给定序列中零个或多个元素去掉之后得到的结果,子序列只需要保持相对顺序一致,并不要求连续。具体算法及相关图解参考动态规划 最长公共子序列
计算算法性能展示:

三、单元测试:

@Test
public void testMain(){
    try {
        Main.main(new String[]{"C:\\Users\\Administrator\\Desktop\\TEXT\\orig.txt","C:\\Users\\Administrator\\Desktop\\TEXT\\orig_0.8_add.txt","C:\\Users\\Administrator\\Desktop\\TEXT\\result.txt"});
    } catch (IOException e) {
        e.printStackTrace();
    }
}
@Test
public void testRepeatrate() {
    try {
        Repeatrate.rate("C:\\Users\\Administrator\\Desktop\\TEXT\\orig.txt","C:\\Users\\Administrator\\Desktop\\TEXT\\orig_0.8_add.txt");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

代码覆盖率:

四、测试结果截图:





 
 
 
 
 
 

posted on 2023-09-17 23:53  Gustavo7  阅读(16)  评论(0编辑  收藏  举报

导航