| 项目 |
内容 |
| 这个作业属于哪个课程 |
软工23级 |
| 这个作业要求在哪里 |
作业要求的链接 |
| 这个作业的目标 |
进行个人项目,实现计算论文查重情况 |
GitHub仓库
项目代码仓库
| PSP2.1 Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
| Planning |
40 |
50 |
| · 计划 |
|
|
| Estimate |
30 |
40 |
| · 估计任务时间 |
|
|
| Development |
120 |
150 |
| · 需求分析(包括学习新技术) |
|
|
| · Analysis |
40 |
60 |
| · Design Spec |
30 |
50 |
| · 生成设计文档 |
|
|
| · Design Review |
30 |
40 |
| · 设计复审 |
|
|
| · Coding Standard |
30 |
50 |
| · 代码规范制定 |
|
|
| · Design |
50 |
70 |
| · 具体设计 |
|
|
| · Coding |
80 |
120 |
| · 具体编码 |
|
|
| · Code Review |
40 |
45 |
| · 代码复审 |
|
|
| · Test |
40 |
45 |
| · 测试(自我测试,修改代码,提交修改) |
|
|
| Reporting |
20 |
30 |
| · Test Report |
20 |
20 |
| · 测试报告 |
|
|
| · Size Measurement |
20 |
30 |
| · 计算工作量 |
|
|
| · Postmortem & Process Improvement Plan |
30 |
50 |
| · 事后总结,提出过程改进计划 |
|
|
| 合计 |
620 |
850 |
代码模块功能说明
1. 核心方法清单
| 方法名 |
功能描述 |
输入 |
输出 |
main |
程序入口,负责参数校验、流程调度和异常处理 |
命令行参数(3个文件路径) |
无,结果写入输出文件 |
countChars |
统计文件字符频率,处理换行符统一化(\r和\r\n转\n) |
文件路径字符串 |
字符频率映射表(Character→Integer) |
cosineSimilarity |
计算两个字符频率向量的余弦相似度(0.0-1.0) |
两个字符频率映射表 |
double类型相似度值 |
writeResult |
将计算结果写入指定文件,自动创建父目录 |
输出路径 + 格式化后的字符串 |
生成/覆盖目标文件 |
2. 模块连接关系
graph TD
A[main] --> B{参数校验}
B -->|通过| C[countChars处理orig.txt]
B -->|不通过| Z[报错退出]
C --> D[countChars处理copy.txt]
D --> E[cosineSimilarity计算]
E --> F[writeResult输出结果]
F --> G[正常退出]
B -->|错误处理| H[捕获IOException]
H --> Z
B -->|错误处理| I[捕获其他异常]
I --> Z
性能分析图
![]()
![]()