工程概论第二次作业-个人项目.

发布时间 2023-09-20 21:22:34作者: 百念

------------恢复内容开始------------
GITHUB仓库链接
https://github.com/daixiongxiong/daixiongxiong/tree/843e59cf9b2252382239cf099634e1c88eea8a1e/202121331100

这个作业属于哪个课程 https://edu.cnblogs.com/campus/jmu/ComputerScience21
这个作业要求在哪里 https://edu.cnblogs.com/campus/jmu/ComputerScience21/homework/13034
这个作业的目标 实现工程概论第一次编程

需求

题目:论文查重

描述如下:

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

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

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

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

PSP表格

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

编译成功:

计算模块接口的设计与实现过程
在这个代码中,主要包含三个类:PaperCheck,FileReader,and FileWriter。PaperCheck 类是主类,它包含了 main 方法,负责接收命令行参数,调用其他方法进行文件读取、相似度计算和结果输出。FileReader 类负责读取文件内容,FileWriter 类负责将结果写入到文件中。在 PaperCheck 类中,有四个方法:main,readFileContent,calculateSimilarity,和 writeResultToFile。main 方法是程序的入口点,负责初始化并调用其他方法。readFileContent 方法读取文件内容,calculateSimilarity 方法计算两篇文章之间的相似度,writeResultToFile 方法将相似度写入到输出文件中。
计算模块部分异常处理说明
在代码中,我们可以为可能出现的异常情况进行处理。例如,我们可以为文件读取、文件写入等操作失败的情况编写异常处理代码。