做業要求:實驗二 軟件工程我的項目html
1.軟件定義
※程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個,統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。
※指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。
※高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。
2.軟件設計
根據需求分析,本程序有三個功能:
•統計文件中全部單詞及其詞頻數,且輸出到指定文件
•統計指定單詞在文件中出現的次數
•輸出前K個高頻詞的個數及其柱狀圖
程序流程圖:

編碼:
•功能1:統計文件中全部單詞及其詞頻數,且輸出到指定文件
讀取文件後進行詞頻排序

輸出排序結果到result.txt文件

•功能2:統計指定單詞在文件中出現的次數

•功能3:輸出前K個高頻詞的個數及其柱狀圖

3.軟件運行
•菜單界面

•用戶執行功能1
查看result.txt文件git

•用戶執行功能2
•用戶執行功能3
4.總結:設計的程序如何實現軟件設計模塊化的原則
在本程序中,須要實現全文單詞個數及其詞頻統計,用戶輸入任意單詞詞頻統計和任意個數高頻詞頻統計及柱狀圖顯示等多個功能,雖然這個程序只是一個小程序,但卻也包含多個功能,若是咱們將這若干個功能放在一個文件中,就會顯得很臃腫,凌亂和複雜,在調試和維護時也很麻煩,最好的方式就是一個功能一個文件,將功能分散開來,用主程序,子程序等框架把軟件的主要結構和流程描述出來,並定義和調試各部分模塊,再經過主函數來實現對其餘功能的調用,以功能塊爲單位進行程序設計,這樣下降錄了程序複雜度,使程序設計,調試等操做簡單化。
5.PSP我的軟件過程
PSP2.1 |
任務內容 |
計劃共完成須要的時間(min) |
實際完成須要的時間(min) |
Planning |
計劃 |
10 |
10 |
Estimate |
估計這個任務須要多少時間,並規劃大體工做步驟 |
10 |
10 |
Development |
開發 |
200 |
220 |
Analysis |
需求分析 (包括學習新技術) |
20 |
30 |
Design Spec |
生成設計文檔 |
5 |
7 |
Design Review |
設計複審 (和同事審覈設計文檔) |
5 |
6 |
Coding Standard |
代碼規範 (爲目前的開發制定合適的規範) |
3 |
2 |
Design |
具體設計 |
10 |
10 |
Coding |
具體編碼 |
120 |
150 |
Code Review |
Code Review |
10 |
15 |
Test |
測試 |
13 |
21 |
Reporting |
報告 |
9 |
6 |
Test Report |
測試報告 |
3 |
3 |
Size Measurement |
計算工做量 |
3 |
1 |
Postmortem & Process Improvement Plan |
過後總結 ,並提出過程改進計劃 |
3 |
3 |