PSP2.1 | 我的開發流程 | 預估耗費時間(分鐘) | 實際耗費時間(分鐘) |
---|---|---|---|
Planning | 計劃 | 60 | 75 |
· Estimate | 明確需求和其餘相關因素,估計每一個階段的時間成本 | 60 | 75 |
Development | 開發 | 700 | 960 |
· Analysis | 需求分析 (包括學習新技術) | 100 | 120 |
· Design Spec | 生成設計文檔 | 60 | 65 |
· Design Review | 設計複審 | 30 | 45 |
· Coding Standard | 代碼規範 | 30 | 60 |
· Design | 具體設計 | 60 | 100 |
· Coding | 具體編碼 | 300 | 420 |
· Code Review | 代碼複審 | 60 | 80 |
· Test | 測試(自我測試,修改代碼,提交修改) | 60 | 70 |
Reporting | 報告 | 100 | 140 |
· | 測試報告 | 45 | 60 |
· | 計算工做量 | 25 | 30 |
· | 並提出過程改進計劃 | 30 | 50 |
WordCount.exe
後,正確的參數的長度只有4和6兩種,指令只有「-n/-m/-i/-o」四種且都爲「-n/-m」開頭,出於實現便利的考慮,設置爲「-n/-m」不一樣時出現,"-o"則自主決定是否跟在參數尾,分析事後這樣對於參數的判斷就比較簡單了。Main
類與FileDeal
兩個類,Main
類主要涉及一部分參數的篩選,並決定執行調用FileDeal
類的什麼方法。FileDeal
類中包含了FileDeal()
構造方法,用於一部分參數的設定;FileNotExist()
向前端界面輸出報錯信息;getConnection()
創建與文件的鏈接;getChars()
獲取字符總數;getLines()
獲取行數;getWords()
獲取單詞數;getWordsSort()
統計單詞出現次數並排序;getGroups()
統計詞組出現次數並排序;wordstoString()
輸出單詞統計結果,並寫入文件;groupstoString()
輸出詞組統計結果,並寫入文件。doGet()
方法,也包含了一部分篩選參數的語句,根據不一樣篩選結果將表單參數傳遞至後臺交由Servlet的相應函數進行處理,。getConnection()
方法實現與文件創建鏈接getWordsSort()
方法經過映射(Map)與比較器實現對文件中單詞的統計及排序,結果返回一個包含鍵值對的數組infoIds
。wordstoString()
方法獲取上一步得到的infoIds
數組,按照格式將結果輸出反饋至前臺,並根據是否給定「-o」參數決定是否將統計結果輸出到文件中。getGroups()
處理詞組的方法與其餘的方法等基本與處理單詞的相似,此處再也不貼代碼及闡述。運行index.jsp時的輸入界面
html
含沒法識別指令(-r爲例):-m 10 -r d:\1.txt
與-n 10 -r d:\1.txt
前端
無可識別指令參數(-n/-m):10 3 d:\1.txt
git
參數不完整(-o後缺失):-n 10 -i d:\1.txt -o
與-m 3 -i d:\1.txt -o
編程
參數數值小於0:-n -2 -i d:\1.txt
與-m -3 -i d:\1.txt
數組
指定文件不存在:-n 10 -i d:\d.txt
app
一次傳入多個指令(-n/-m):-n 10 -m 3 -i d:\1.txt -o d:\output.txt
jsp
正確參數:-n 10 -i d:\1.txt
與-m 3 -i d:\1.txt
與-n 10 -i d:\1.txt -o d:\output.txt
與-m 3 -i d:\1.txt -o d:\output.txt
。(注:因爲單詞判斷條件爲前四個爲字母,因此當選定詞組長度爲1時,輸出的結果與單詞統計結果不一致)
函數
文件數據測試單元測試
英文文件
學習
純中文文件
空白文件
參數爲-n 10 -i d:\1.txt -o d:\output.txt
,正常執行並輸出到文件時。
參數爲-m 3 -i d:\1.txt -o d:\output.txt
,正常執行並輸出到文件時。
參數爲10 3 d:\1.txt
,錯誤參數不經過時。