第一次个人编程作业

github地址

这个作业属于哪个课程 计科22级12班
这个作业要求在哪里 作业要求链接
这个作业的目标 遍历论文查重并封装成可执行文件,学习PSP和commit规范,学习测试和评估代码

一、设计思路

文件结构:

程序流程:

实现逻辑:

  • 查找资料发现比较简单的实现是通过计算余弦向量来实现重复率检测。原理是统计词的频率并且根据nlp的思想将词转换为向量,余弦可以判断向量的相似程度(多维向量也成立),因此可以用来判断文章的相似度。

二、性能改进

时间:

1s左右通过9个案例,第一次加载Hanlp库时耗时较长

内存:

List开的最大,用于存储词汇

改进思路:

时空可以接受,基本都是一次遍历

三、测试

部分测试代码:

  • 测试函数为所有,测试数据除初始提供的,另加入空地址,错地址等测试案例。
  • 也测试了输入格式不对,文本为空等案例,但未写成代码测试。
    image

测试结果:

image

image

覆盖率:

  • FileUtil一部分为IO异常,不进入测试考察范围
  • 综合下来,覆盖率高

四、异常处理说明

IOException:IO发生错误,可能是权限导致
InvalidFilePathException:自定义路径无效异常

五、PSP表格

阶段 描述 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 5min 5min
· Estimate · 估计这个任务需要多少时间 5min 5min
Development 开发 5h30min 5h
· Analysis · 需求分析 (包括学习新技术) 2h 2h
· Design Spec · 生成设计文档 1h 10min
· Design Review · 设计复审 20min 10min
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20min 10min
· Design · 具体设计 20min 10min
· Coding · 具体编码 1h 20min
· Code Review · 代码复审 30min 1h
· Test · 测试(自我测试,修改代码,提交修改) 1h 1h
Reporting 报告 50min 1h
· Test Report · 测试报告 30min 40min
· Size Measurement · 计算工作量 10min 10min
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 10min 10min
合计 7h 6h5min
posted @ 2024-09-09 19:42  ez4bridge  阅读(103)  评论(0编辑  收藏  举报