一.需求分析
用戶需求:編程
1.程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。學習
2.程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。測試
3.指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。編碼
4.高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。設計
5.統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。
二.功能設計
基本功能:3d
1.讀入讀出文件功能(將文件進行讀取,存放)
2.用戶輸入功能(用戶輸入想要查詢的單詞,以及查詢高頻單詞的個數)
3.詞頻統計功能
4.排序功能(降序排序和按字典順序排序)
5.顯示功能(顯示柱狀圖,顯示前k個高頻單詞的詞頻,顯示指定單詞出現的次數)
備註:由於編碼能力有限,因此只能實現部分功能,沒有按照老師的要求將功能所有實現。
三.設計實現
本次設計沒有徹底按照老師的要求,本身搜了一篇文章,直接保存,而後統計這個文檔裏的詞頻。
四.部分代碼設計
五:運行結果
六:總結
由於能力不足,能作到這一步。這次軟件項目我的開發項目讓我對軟件開發有了更深入的理解,一個完整的軟件開發過程當中,任何一個步驟都是不可缺乏的。在開始這次軟件開發後,我先是進行了軟件的需求分析,分析後開始設計,代碼的編寫仍是沒有流程中說的那麼簡單,在通過挺長時間的編程後,,通過測試,實現了部分功能。
七:PSP代碼規範
PSP | 任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
---|---|---|---|
Planning | 計劃 | 8 | 6 |
Estimate | 估計這個任務須要多少時間,並規劃大體工做步驟 | 6 | 6 |
Development | 開發 | 60 | 90 |
Analysis | 需求分析(包括學習新技術) | 10 | 8 |
Design Spec | 生成設計文檔 | 15 | 25 |
Design Review | 設計複審 | 3 | 5 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 3 | 3 |
Design | 具體設計 | 20 | 30 |
Coding | 具體編碼 | 100 | 150 |
Code Review | 代碼複審 | 5 | 20 |
Test | 測試(自我測試,修改代碼,提交修改) | 5 | 12 |
Reporting | 報告 | 7 | 15 |
Test Report | 測試報告 | ||
Size Measurement | 計算工做量 | 1 | 1 |
Postmortem & Process Improvement Plan | 過後總結,並提出過程改進計劃 | 2 | 3 |