个人项目-论文查重
个人编程项目:论文查重
| 课程 | 信安19 12-软件工程 | 
|---|---|
| 要求 | (个人项目作业) | 
| 这个作业的目标 | PSP表格的学习+项目模块化编程 | 
| Github项目 | 我的Github链接 | 
PSP表格
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) | 
|---|---|---|---|
| Planning | 计划 | 30 | 55 | 
| · Estimate | · 估计这个任务需要多少时间 | 20 | 30 | 
| Development | 开发 | 600 | 1200 | 
| · Analysis | · 需求分析 (包括学习新技术) | 400 | 800 | 
| · Design Spec | · 生成设计文档 | 40 | 40 | 
| · Design Review | · 设计复审 | 20 | 20 | 
| · Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 10 | 10 | 
| · Design | · 具体设计 | 60 | 60 | 
| · Coding | · 具体编码 | 360 | 360 | 
| · Code Review | · 代码复审 | 20 | 30 | 
| · Test | · 测试(自我测试,修改代码,提交修改) | 20 | 40 | 
| Reporting | 报告 | 40 | 40 | 
| · Test Repor | · 测试报告 | 15 | 20 | 
| · Size Measurement | · 计算工作量 | 20 | 20 | 
| · Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 20 | 30 | 
| · 合计 | 1675 | 2755 | 
一.题目要求
输入输出采用文件输入输出。按照传递命令行参数的方式提供文件的位置,从指定的位置读取文件,并向指定的文件输出答案。
- 从命令行参数给出:论文原文的文件的绝对路径。
 - 从命令行参数给出:抄袭版论文的文件的绝对路径。
 - 从命令行参数给出:输出的答案文件的绝对路径。
 
示例:java -jar main.jar C:\tests\org.txt C:\tests\org_add.txt C:\tests\ans.txt
二.项目实现
- 环境:Intellij IDEA2021 , JDK 1.8
- 实现思路: 本地测试文本→键输路径→命令行实现
- 流程图:

- 工程结构:

- 算法核心:余弦相似度的计算
(1)找出两篇文章的关键词;
(2)每篇文章各取出若干个关键词,合并成一个集合,计算每篇文章对于这个集合中的词的词频
(3)生成两篇文章各自的词频向量;
(4)计算两个向量的余弦相似度,值越大就表示越相似。


三.单元测试
- 覆盖率

- CPU Load

- 异常处理说明

四.总结
1.PSP表格的初步尝试,确实让我自我审视许多,很多自认为简单的东西,上起手来,难度超出自身预期
2.花了一些时间在本地库与远程库的commit上,这方面还得继续学习
3.个人项目的完成上,每遇到一个新的问题,就是一个学习的过程,在学习新技术上花的时间很多
                    
                
                
            
        
浙公网安备 33010602011771号