課程名 | 軟件工程 |
實驗二 | 詞頻統計軟件項目報告 |
詞頻(TF) | 是一個詞語出現的次數除以該文件的總詞語數。 |
實驗目的 | (1)掌握軟件項目我的開發流程。 (2)掌握Github上發佈軟件項目的操做方法。 |
環境配置 | 使用的JDK版本爲 jdk8u161,windows版下載連接: http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-windows-x64.exe •使用的JRE版本爲jre8u161,windows版下載連接: http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jre-8u161-windows-x64.exe |
實驗要求 | 軟件開發要求: 1.程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。 2.程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。 3.指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞  在文本中出現的次數和柱狀圖。 4.高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。 5.統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。 |
實驗內容:
java
需求分析 1.使用java語言,對存放在java中的W.txt中的全部單詞進行統計。 2.將指定單詞統計的結果按照要求顯示(按照柱形圖的形式顯示)。 3.高頻單詞的統計功能,輸入整數K,按照單詞的詞頻數顯示前K個數以及單詞。 4.將單詞及詞頻數按字典順序輸出到文件result.txt.要求代碼健壯,代碼簡介,代碼質量高。 功能設計 該Java程序實現的功能是進行單詞的詞頻統計,能讀取容納英文原版《哈利波特》10萬詞以上的文章。進行單詞的詞頻統計,還要繪製柱狀圖,並實現指定單詞詞頻統計、高頻詞彙的統計該文本全部單詞的數量和對應的詞頻數...... 測試運行 代碼 //讀入《哈利波特》 String line "src/word.txt"; File file = new File(line); InputStreamReader is = new InputStreamReader(new FileInputStream(file), "utf-8"); BufferedReader buff = new BufferedReader(is); List String readLine = null;//單詞列表初始爲空 while((readLine = buff.readLine())!=null){ String[] WordsArr = readLine.split("[^a-zA-z]"); for(String word:WordsArr){ if(word.length()!=0){ list.add(word);//將截取後的純單詞放入list } } } buff.close(); WordsCount = new TreeMap<String,Integer>();//鍵值對存儲單詞信息,String爲單詞,Integer爲單詞出現次數 //詞頻統計(查詢單次出現次數,並循環進行累加統計) for(String lists:list){ if(WordsCount.get(lists)!=null){ WordsCount.put(lists, WordsCount.get(lists)+1);//單次出現頻次累加 }else{ WordsCount.put(lists, 1); } } |
實驗總結:
在這次實驗做業中,發現了不少關於本身在Java編碼方面的不足之處,在選擇函數的時候會選擇錯誤的時候,最後利用網絡資源和書籍解決本身的疑問點。
git
展現PSP:
github
PSP2.1 | 任務內容 | 計劃共完成需求(min) | 實際完成需求的時間(min) |
PLaning | 計劃 | 200 | 180 |
. Estimate | . 估計這個任務需求多少時間,並規劃大體工做步驟 | 140 | 150 |
Development | 開發 | 150 | 140 |
.. Analysis | 需求分析(包括學習新技術) | 60 | 50 |
. Design Spec | . 生成設計文檔 | 60 | 55 |
. Design Review | . 設計複審(和同事審覈設計文檔) | 100 | 80 |
. Coding Standard | 代碼規範(爲目前的開發制定合適的規範 | 180 | 150 |
. Designtd> | 具體設計 | 120 | 100 |
. Coding | 具體編碼 | 180 | 170 |
. Code Review | .代碼複審 | 9 | 9 |
. Test | . 測試(自我測試,修改代碼,提交修改) | 60 | 55 |
Reporting | 報告 | 30 | 25 |
.. Test Report | . 測試報告 | 60 | 40 |
. Size Measurement | 計算工做量 | 60 | 50 |
. Postmortem&Process Improvement | .過後總結,並提出過程改進計劃 | 20 | 20 |