論文查重演算法

hhuang1231發表於2024-03-13

論文查重演算法

這個作業屬於哪個課程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024
這個作業要求在哪裡 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136
這個作業的目標 開發個人專案

github:https://github.com/hhuang1231/3122004572

PSP表格

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 15 10
Estimate 估計這個任務需要多少時間 15 10
Development 開發 60 60
Analysis 需求分析 (包括學習新技術) 120 120
Design Spec 生成設計文件 30 20
Design Review 設計複審 5 5
Coding Standard 程式碼規範 (為目前的開發制定合適的規範) 5 5
Design 具體設計 30 20
Coding 具體編碼 15 15
Code Review 程式碼複審 5 5
Test 測試(自我測試,修改程式碼,提交修改) 30 30
Reporting 報告 30 40
Test Repor 測試報告 10 10
Size Measurement 計算工作量 10 10
Postmortem & Process Improvement Plan 事後總結, 並提出過程改進計劃 10 10
合計 390 380

設計與實現

  1. PaperChecker用於完成整個功能
    • 其中main函式作為暴露功能的介面
    • readFile函式用於讀取檔案
    • calculateSimilarity函式用於計算相似度。主要的演算法是將每個檔案的文字都根據一個引數分割為若干份詞,之後對他們取交集,從而計算出相似度。
  2. PaperChecker用於測試整個功能

效能監控


由圖可發現,多數時間花費在分割字詞之上。

單元測試

測試函式,主要針對各種文字以及分割長短進行測試

覆蓋率

異常處理

要求不能為負數

相關文章