項目 | 內容 |
---|---|
這個做業屬於哪一個課程 | 2016級計算機科學與工程學院軟件工程(西北師範大學) |
這個做業的要求在哪裏 | 實驗二 軟件工程我的項目 |
咱們在這個課程的目標是 | 1.掌握軟件項目我的開發流程。 2.掌握Github上發佈軟件項目的操做方法。 |
1、需求分析
本次實驗要求:
使用JAVA編程語言,獨立完成一個英文文本詞頻統計的軟件開發。軟件基本功能要求以下:
1.程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。
2.程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。
3.指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。
4.高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。
5.統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。html
2、功能設計
1.程序可讀入文件file.txt,該文件內存放《哈利波特》英文原版全書;
2.程序可輸出單詞及對應的詞頻數;
3.可查看並輸出指定單詞的單詞及詞頻數;
4.可將單詞及詞頻存入文件result.txt中。
3、設計實現
運用HashMap的排序函數來對HashMap裏面的全部數據按值進行排序,以至能輸出所須要輸出的n個高頻詞及詞頻。
4、測試運行
程序運行後,輸出單詞及相對應的詞頻,直接輸出到文件「result.txt」裏面,運行界面只顯示「success!」提示信息:
輸出到文件「result.txt」的單詞及詞頻以下:
統計高頻詞,輸入想要查詢的高頻詞的個數,輸出相應的單詞及詞頻:
統計最高詞頻的單詞及相應的詞頻:
退出程序:
5、部分代碼片斷
輸入要統計的高頻詞個數,輸出高頻詞及對應的詞頻:
6、總結
本次的實驗我感受對我來講總體是很難的,由於Java的基礎原本就不太好,再加上已經有很長時間沒有用Java寫過程序,因此感受有些力不從心,在這個過程當中,我就經過查資料、請教同窗來解決好比說排序等問題,因此之後還得繼續增強Java等語言的編程水平,多加練習。本次實驗的遺憾就是沒有完成做業的一個要求——顯示柱狀圖。
7、PSP展現git
PSP2.1 | 任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
---|---|---|---|
Planning | 計劃 | 10 | 20 |
Estimate | 估計這個任務須要多少時間,並規劃大體工做步驟 | 20 | 30 |
Development | 開發 | 300 | 420 |
Analysis | 需求分析(包括學習新技術) | 120 | 100 |
Design Spec | 生成設計文檔 | 120 | 120 |
Design Review | 設計複審 | 30 | 20 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 10 | 8 |
Design | 具體設計 | 90 | 120 |
Coding | 具體編碼 | 120 | 180 |
Code Review | 代碼複審 | 30 | 35 |
Test | 測試(自我測試,修改代碼,提交修改) | 30 | 40 |
Reporting | 報告 | 60 | 70 |
Test Report | 測試報告 | 20 | 25 |
Size Measurement | 計算工做量 | 20 | 20 |
Postmortem & Process Improvement Plan | 過後總結,並提出過程改進計劃 | 20 | 30 |
點此查看源碼github