201671010437 王小倩+詞頻統計軟件項目報告


一:實驗名稱:軟件工程我的項目--詞頻統計


二:實驗目的與要求

(1)掌握軟件項目我的開發流程。html

(2)掌握Github上發佈軟件項目的操做方法。
java


三:實驗步驟

任務一:嘗試按照《構建之法》第2章中2.3所述PSP流程,使用JAVA編程語言,獨立完成一個英文文本詞頻統計的軟件開發。
任務二:將包含任務1源碼的完整工程文件提交到你註冊Github帳號下的項目倉庫中。
任務三:完成我的項目報告博文做業。
git


四:實驗內容

1. 需求分析
1.程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。

2.程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。

3.指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。

4.高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。

5.統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。
2. 功能設計
該程序主要實現的功能是進行單詞的詞頻統計,且可以容納10萬單詞,如對《Harrypotter》進行單詞的詞頻統計,還要繪製柱狀圖,並實現指定單詞詞頻統計、高頻詞彙的統計、以及該文本全部單詞的數量和對應的詞頻數等功能。
3. 設計實現
該程序共有四個類,包括一個主函數和三個功能類。
Test.java:主函數Test用來控制整個程序的流程,讀入文本、單詞詞頻統計、柱狀圖的顯示
WordCount.java:指定單詞詞頻統計,可顯示對應單詞在文本中出現的次數和柱狀圖。
HighWordCount.java:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。
SortWord.java:統計文本全部單詞數量及詞頻數,並將單詞及詞頻數按字典順序輸出到文件result.txt。
4. 測試運行

(1)控制檯功能展現:
github

(2)查詢單詞詞頻
編程

(3)查詢單詞詞頻柱狀圖
編程語言

(4)查詢高頻單詞
函數

(5)將文本按字典順序輸出到result.txt中

學習

5.代碼片斷

--對單詞進行排序,並將對應的詞頻放到指定文件中--
測試

--遍歷輸出排序的單詞--
編碼

6. 總結
在該程序實現過程當中,因爲很長時間沒有用java代碼來寫項目,因此十分生疏,形成大量時間花費在編寫代碼上,課後會鞏固以前學過的知識,提升代碼編寫的能力。從程序上,將程序按照功能,劃分紅多個模塊來實現,基於軟件設計的模塊原則,各功能之間創建了必要的聯繫,共同實現了該程序的主要功能。
7. 展現PSP
PSP2.1 任務內容 計劃共完成須要的時間(min) 實際完成須要的時間(min)
Planning 計劃 40 80
· Esitimate 估計這個任務須要多少時間,並規劃大體工做步驟 200 400
· Development 開發 200 400
· Analysis 需求分析(包括學習新技術) 60 60
· Design Spec 生成設計文檔 20 15
· Design Review 設計複審(和同事審覈設計文檔) 15 15
· Coing Standard 代碼規範(爲目前開發制定合適的規範) 20 20
· Design 具體設計 20 30
· Coding 具體編碼 300 400
· Code Review 代碼複審 10 10
· Test 測試(自我測試,修改代碼,提交修改) 20 25
· Reporting 報告 10 15
· Test Report 測試報告 15 25
· Size Measurement 計算工做量 5 3
· Postmortem&Process Improvement Plan 過後總結,並提出過程改進計劃 5 10

項目源代碼請點擊這裏查看...

相關文章
相關標籤/搜索