个人项目

个人项目(java)

这个作业属于哪个课程 工程概论
这个作业要求在哪里 https://edu.cnblogs.com/campus/jmu/ComputerScience21/homework/13034
这个作业的目标 熟悉Github并设计查重系统

Github:https://github.com/liu-jin915/qiyue/tree/main

需求

题目:论文查重

描述如下:

设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。

原文示例:今天是星期天,天气晴,今天晚上我要去看电影。
抄袭版示例:今天是周天,天气晴朗,我晚上要去看电影。
要求输入输出采用文件输入输出,规范如下:

从命令行参数给出:论文原文的文件的绝对路径。
从命令行参数给出:抄袭版论文的文件的绝对路径。
从命令行参数给出:输出的答案文件的绝对路径。
我们提供一份样例,课堂上下发,上传到班级群,使用方法是:orig.txt是原文,其他orig_add.txt等均为抄袭版论文。

注意:答案文件中输出的答案为浮点型,精确到小数点后两位。

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Estimate 估计这个任务需要多少时间 600 300
Development 开发 120 240
Analysis 需求分析 (包括学习新技术) 120 80
Design Spec 生成设计文档 40 30
Design Review 设计复审 20 20
Coding Standard 代码规范 (为目前的开发制定合适的规范) 40 60
Design 具体设计 480 300
Coding 具体编码 300 240
Code Review 代码复审 10 10
Test 测试(自我测试,修改代码,提交修改) 60 60
Reporting 报告 60 60
Test Repor 测试报告 30 30
Size Measurement 计算工作量 5 5
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 20 30
合计 header 1440 600

开发环境

  • 操作系统:64-bit Windows10
  • 使用语言:java
  • IDE:Eclipse
  • 外部包:jieba分词

计算模块接口的设计与实现过程

先导入jieba分词所需要的文件,将文件读入并分词,并计算余弦相似度

使用缓冲流读入文件与写入文件

计算模块接口部分的性能改进


计算模块部分单元测试展示

余弦相似度算法

测试


计算模块部分异常处理说明

读入与写入文件异常

posted @ 2023-09-20 19:45  七枂--  阅读(18)  评论(0编辑  收藏  举报