第一次个人编程作业
| 1 | 作业属于哪个课程 | 软件工程 |
|---|---|---|
| 2 | 作业要求 | 论文查重 |
| 3 | 作业目标 | 使用PSP预估开发时间并返回测试结果 |
Gitcode链接地址
PSP表格
| PSP | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|
| 计划 | 20 | 20 |
| 估计这个任务需要多少时间 | 20 | 15 |
| 开发 | 600 | 540 |
| 需求分析 | 120 | 150 |
| 生成设计文档 | 30 | 60 |
| 代码规范 | 30 | 40 |
| 具体设计 | 30 | 35 |
| 具体编码 | 180 | 240 |
| 代码复审 | 20 | 25 |
| 测试 | 30 | 30 |
| 报告 | 120 | 100 |
| 测试报告 | 120 | 110 |
| 计算工作量 | 10 | 15 |
| 事后总结,并提出过程改进计划 | 10 | 10 |
| 合计 | 1310 | 1390 |
计算模块接口的设计与实现过程
设计思路
根据题意,我们需实现了一个简单的论文查重系统,我选择使用余弦相似度计算论文的相似性。检验时当其值越接近 1,表示两篇论文越相似;值越接近 0,表示两篇论文差异越大。
接口设计
读取文件
使用 read_file 函数读取论文文件的内容,并将其存储为一个字符串。

分词接口
使用 tokenize 函数将文本分割成单词。

停用词接口
使用 remove_stopwords 函数移除常见的停用词(如“的”、“是”等),这些词对文本相似度计算没有帮助。

词频统计接口
使用 count_word_frequency 函数统计每个单词在文本中出现的次数。

余弦相似度接口
使用 cosine_similarity 函数计算两篇论文的余弦相似度。

运行结果
准备了三个文件,分别为初始文件test_1,抄袭文件test_2和未抄袭文件test_3
抄袭文件的运行结果

未抄袭文件的运行结果

总结
此次作业对于我来说非常难,在完成时也让我学到了很多。在有限的时间里并没有非常完整的完成此次作业,希望以后继续努力与进步。

浙公网安备 33010602011771号