第一次个人编程作业
软件工程第一次作业 | 班级链接 |
---|---|
作业要求 | 作业链接 |
作业目标 | 设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率 |
其他参考文献 | Java—SimHash原理与实现 simhash算法及原理简介 |
1.github仓库地址
2.PSP表格
PSP | Personal Software Process Stages | 预估耗费()分钟 | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 180 | 150 |
· Estimate | 估计这个任务需要多少时间 | 240 | 300 |
Development | 开发 | 480 | 720 |
· Analysis | 需求分析(包括学习新技术) | 120 | 120 |
· Design Spec | 生成设计文档 | 60 | 60 |
· Design Review | 设计复审 | 30 | 30 |
· Coding Standard | 代码规范(为目前的开发制定合适的规范) | 30 | 30 |
· Design | 具体设计 | 60 | 60 |
· Coding | 具体编码 | 240 | 300 |
· Code Review | 代码复审 | 60 | 60 |
· Test | 测试(自我测试。修改代码,提交修改) | 120 | 120 |
Reporting | 报告 | 60 | 30 |
· Test Repor | · 测试报告 | 60 | 30 |
Size Measurement | · 计算工作量 | 5 | 5 |
· Postmortem & Process Improvement Plant | · · 事后总结, 并提出过程改进计划 | 10 | 10 |
· 合计 | 1865 | 1985 |
3.计算模块接口的设计与实现过程
3.1设计思路![](https://img-blog.csdnimg.cn/fbd26c3ab6164940a23a16098c4c14ea.png)
3.2simhash算法原理
3.3关键代码实现
hanlp类实现
public class hanlp {
public ArrayList<String> separate(String txt){
File file = new File("D:\\idea_project\\text\\text_ext\\cn_stopwords.txt");//使用IO输入停用词文件
ArrayList<String> stopword = new ArrayList();