第一次个人编程作业

这个作业属于哪个课程 软件工程
这个作业要求在哪里 个人项目
这个作业的目标 个人编程论文查重算法,输入原文件及抄袭文件,输出有查重率的答案文件

个人项目

PSP表格

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

GitHub仓库地址

https://github.com/star1908/3122004491

模块接口的设计与实现

  1. Main类 主类,负责调用其他模块
  2. ReadFile类 读取文件类,根据路径读取文件的文本内容并返回
  3. OutputFile类 写入文件类,根据路径将相似度数据写入文件
  4. SimHashUtils类 转换类,负责将文本字符串转换hash及simhash值
  5. HammingUtils类 计算类,负责计算海明距离,并通过海明距离计算相似度
  6. BaseException类 异常类,作为异常的基类
  7. TextShortException类 异常类,继承基类的文本过短异常
  8. InsufficientParametersException类 异常类,继承基类的命令行参数缺失异常

性能分析

  • 性能分析如下

单元测试

  • 单元测试部分代码如下

  • 时间

  • 覆盖率

异常处理说明

  • 异常处理基类:BaseException

  • 命令行参数缺失异常处理类:InsufficientParametersException


  • 文本过短异常处理类:TextShortException



posted @ 2024-09-11 15:01  七宫秋  阅读(44)  评论(0编辑  收藏  举报