首页 > 其他分享 >个人项目

个人项目

时间:2024-09-14 22:49:13浏览次数:1  
标签:文件 路径 个人 项目 30 60 论文 方法

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13229
这个作业的目标 设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。

一、项目GitHub链接

https://github.com/Blueww8/Blueww

二、PSP表格

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

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

总体设计:

分为四个类:Main , MainTest , SimilarityMain , SimilarityMainTest .

包含的方法:main(String[] args) 方法,testSimilarity() 方法,setUp() 方法,calculateVector(String str, int index) 方法,cosineSimilarity() 方法,similarity()方法,testMain 方法等

类的执行流程:

1.用户首先运行 Main 类中的 main 方法。

2.main 方法中创建了一个 Scanner 对象,用于从控制台获取用户输入的文件路径。

3.用户输入原始论文文件路径、抄袭版论文文件路径和要保存相似度结果的文件路径。

4.如果用户输入的文件路径为空,则程序输出相应的提示信息并结束。

5.否则,程序会创建一个 DecimalFormat 实例,然后使用输入的文件路径创建 SimilarityMain 实例。

6.SimilarityMain 实例的 similarity() 方法被调用来计算两篇论文的相似度。

7.计算得到的相似度结果会被打印到控制台。

8.程序将相似度结果写入用户指定的输出文件,并在控制台上显示操作结果。

9.如果在写入文件时出现异常(IOException),则捕获异常并输出错误信息。

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

改进计算模块思路:

在这个地方花费的时间较多,改进时我增加了异常处理机制,引入了语义信息。

性能分析图

标签:文件,路径,个人,项目,30,60,论文,方法
From: https://www.cnblogs.com/Blueww/p/18413167

相关文章

  • 个人学习笔记7-5:动手学深度学习pytorch版-李沐
    #人工智能##深度学习##语义分割##计算机视觉##神经网络#计算机视觉13.10转置卷积例如,卷积层和汇聚层,通常会减少下采样输入图像的空间维度(高和宽)。然而如果输入和输出图像的空间维度相同,在以像素级分类的语义分割中将会很方便。转置卷积(transposedconvolution)可以增加......
  • 个人项目
    https://github.com/z-ronin/z-ronin2.开发环境:IntelliJIDEACommunityEdition2024.1PSP表格计算机模块设计与实验类:Main:这是唯一的类,包含了程序的入口点main方法以及用于文件处理、相似度计算和结果输出的辅助方法。函数:main(String[]args):程序的入口点,负责处......
  • CMake构建学习笔记16-使用VS进行CMake项目的开发
    目录1.概论2.详论2.1创建工程2.2加载工程2.3配置文件2.4工程配置2.5调试执行3.项目案例4.总结1.概论在之前的系列博文中,我们学习了如何构建第三方的依赖库,也学习了如何去组建自己的CMake项目,尤其是学习了CMake的核心配置文件CMakeLists.txt如何编写。长期以来,CMakeLis......
  • 个人项目
    所属课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-34作业要求https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13229作业目标学会github的使用,熟悉markdown格式,熟悉个人开发流程,了解项目单元测试Github链接:https://github.com/Qiteng925/Q......
  • 个人项目
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-12这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-12/homework/13220这个作业的目标学会论文查重算法,学会使用git等操作github地址https://github.com/nurimanguli/322......
  • 个人项目
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13229这个作业的目标开发个人项目,实现项目单元测试个人github仓库地址:https://github.com/Kun3M/322200......
  • c语言快递小项目
    structpack_head{  intfd;//通信的文件描述符  unsignedchartype; //消息类型  unsignedcharusertype;//用户类型:1:用户 2:快递员   charname[32]; //用户名  charpaaswd[32];//密码  charbuf[32]; //调试信息  stru......
  • 【来学Vue吧】创建一个Vue项目
    ......
  • 将项目里的moment替换为day.js
    day.js有和moment.js完全一样的API,但是它的体积却比moment要小的很多,moment打包后的体积有280kb左右,而day.js打包后只有6.3KB。它非常轻量化,因为它可以利用treeShaking如果你的项目里面使用的是moment.js,而你想要把它替换成day.js,很简单,直接使用一个webpack插件即可,而无需做任何......
  • 5 个最佳开源无代码项目管理工具
    想象一下,你是一名项目经理,每天早上刚坐到办公桌前,咖啡还在手里,你的手机和电脑屏幕上已经被各种未完成的任务、项目更新和团队消息填满。你快速浏览着的电子邮件,分配任务的通知不断弹出,而每一个通知都要求你迅速做出决策。与此同时,团队成员纷纷通过即时消息工具询问进度更新、讨......