第一次个人编程作业

第一次个人编程作业


  1. Txtprocess----文本处理
    Calculate-----计算重复度
    Inputpath-----路径读入
    IO------------输出结果写入文本
    Main----------主方法
  2. 主要函数
    ReadtoString(String filepath)----将文本转为String
    output(String outputPath, String result)-----将输出结果写入指定路径的文本中
    detect(String filepath,String fileaddpath)----计算文本重复率
  3. 设计过程
  4. 核心算法描述
    将被检测的语句与已有语句进行重复率检测,使用KMP算法得出两个语句中最长公共子字符串,并以此计算该语句的重复率,字符与已有语句中字符使用二维矩阵计算两字符集合的交集,并以此得出被检测语句重复率。语句重复率取字符重复率和语句重复率的均值,文本重复率等于语句重复率的总和除以语句数。
  • 计算模块部分单元测试展示
    1.展示单元测试代码


    部分输出结果图

    2.测试覆盖率图
  • 性能分析图展示(以orig_0.8_add.txt为例分析)
    1.堆内存情况

    2.Cpu Load
  • PSP表格
    PSP2.1 Personal Software Process Stages 预计耗时 实际耗时
    Plannig 计划 40 30
    Estimate 估计这个任务需要多长时间 60 120
    Development 开发 600 800
    · Analysis · 需求分析 (包括学习新技术) 120 240
    · Design Spec 生成设计文档 30 50
    · Design Review · 设计复审 60 90
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 40 50
    · Design · 具体设计 30 40
    · Coding · 具体编码 40 50
    · Code Review · 代码复审 40 50
    · Test · 测试(自我测试,修改代码,提交修改) 20 60
    Reporting 报告 40 60
    · Test Repor · 测试报告 20 40
    · Size Measurement · 计算工作量 10 20
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 20 30
    合计 1170 1730
  • 个人总结
    1.刚开始看到题目整个人都懵了,一点思路都没有,后来老师说让我们站在巨人的肩膀上思考问题,我开始从网上查各种资料。我刚开始打算用python写的,因为以前有学过一些,结果我在导入第三方库jieba的时候一直出问题,刚开始是告诉我pip版本不行,我去升完级后又出现一大堆错误,然后我想了想反正后面也要学java,那还不如现在开始学java,所以我就决定用它来完成我的个人编程作业。
    2.我先学了java的基本语法然后下了IDEA这个编辑器开始我的项目编程,我在网上找了有关查重算法的文章开始看,找到我要的部分进行修改,从刚开始的直接输出结果到现在的利用命令行参数输入、结果写入文本。(这是一个漫长的修改过程,因为太菜了一直有BUG,要不断的解决)
    3.在用git把文件推到github的时候也是出现各种错误然后就要上网查怎样改,然后重新push(太痛苦了各种奇奇怪怪的错误)
原文地址:https://www.cnblogs.com/RoseZou/p/13664974.html