个人项目
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 个人项目 |
这个作业的目标 | 项目管理,github使用 |
开发环境
win10
IDE:eclipse
需求分析
需求分析:
题目:论文查重
描述如下:
设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。
原文示例:今天是星期天,天气晴,今天晚上我要去看电影。
抄袭版示例:今天是周天,天气晴朗,我晚上要去看电影。
要求输入输出采用文件输入输出,规范如下:
从命令行参数给出:论文原文的文件的绝对路径。
从命令行参数给出:抄袭版论文的文件的绝对路径。
从命令行参数给出:输出的答案文件的绝对路径。
实现与测试
直接在命令行编译运行
文件情况
算法方面
接收三个命令行参数:原始文本文件路径、被抄袭的文本文件路径和输出文件路径
调用getCharacterCount方法获取原始文本文件和被抄袭文本文件中每个字符的出现次数,并将结果存储在两个Map对象中。
调用cosineSimilarity方法计算原始文本文件和被抄袭文本文件之间的余弦相似度。
将计算得到的相似度写入到指定的输出文件中。
对于原始文本文件和被抄袭文本文件中的每个字符,然后计算两个向量的点积,接下来,计算两个向量的范数即将每个向量中对应元素的平方求和并开根号。将点积除以两个向量的范数的乘积,得到余弦相似度的结果。
PSP表格
PSP | Process Stage | 预估耗时 | 实际耗时 |
---|---|---|---|
Planning | 计划 | 20 | 20 |
Estimate | 估计需要时间 | 5 | 5 |
Development | 开发 | 120 | 120 |
Analysis | 需求分析(包括学习新技术) | 10 | 10 |
Design Spec | 生成设计文档 | 15 | 10 |
Design Review | 设计复审 | 5 | 5 |
Coding Standard | 代码规范 | 10 | 12 |
Design | 具体设计 | 10 | 10 |
coding | 具体编码 | 5 | 5 |
Code review | 代码复审 | 10 | 9 |
Test | 测试(自我测试,修改代码,提交修改) | 30 | 20 |
Reporting | 报告 | 5 | 5 |
Test Repor | 测试报告 | 10 | 7 |
Size Measurement | 计算工作量 | 5 | 5 |
Postmortem | 事后总结,提出过程改进计划 | 260 | 243 |
合计 | 260 | 243 |
posted on 2023-09-20 21:02 jiangyx111 阅读(19) 评论(0) 编辑 收藏 举报