1. 程式人生 > >軟工網絡16個人作業3

軟工網絡16個人作業3

易懂 圖片 bubuko stand 計劃 tab repo 簡潔 由於

1:博客作業要求地址

https://www.cnblogs.com/happyzm/p/9626779.html

2:PSP表格

結對學號:201621123018

結對博客地址:

結對碼雲地址:https://gitee.com/Lunter-zst/PersonalProject-Java (由於沒有結對碼雲,以我的碼雲代替)

結對照片:

技術分享圖片

3:PSP表格

PSP2.1 結對開發流程 預估耗費時間(分鐘) 實際耗費時間(分鐘)
Planning 計劃 10 5
· Estimate 明確需求和其他相關因素,估計每個階段的時間成本 10 5
Development 開發 200 225
· Analysis 需求分析 (包括學習新技術) 10 10
· Design Spec 生成設計文檔 10 5
· Design Review 設計復審 10 10
· Coding Standard 代碼規範 0 0
· Design 具體設計 30 20
· Coding 具體編碼 90 120
· Code Review 代碼復審 20 10
· Test 測試(自我測試,修改代碼,提交修改) 30 50
Reporting 報告 15 5
· 測試報告 5 2
· 計算工作量 5 2
· 並提出過程改進計劃 3 1

4:解題思路描述

看見題目發現是在上次的基礎上進一步改進,增加了三個功能--參數執行,詞組頻數,寫入文件。

  • 對於參數執行,只需將輸入的命令進行分割然後循環去比對讀取即可。
  • 對於詞組頻數,按詞組的長度要求去循環遍歷list(在之前讀取詞數的時候順便存入),然後入map,最後對map進行排序輸出。
  • 對於寫入文件,使用PrintWrite即可完成。

5:代碼說明

  • 主函數中對輸入參數進行判斷

    技術分享圖片

  • 文件讀取函數

    技術分享圖片

  • 詞組匹配入map

    技術分享圖片

  • 文件寫入函數

    技術分享圖片

6:單元測試

  • 運行全部參數測試

    技術分享圖片

    技術分享圖片

  • 對空命令進行測試

    技術分享圖片

  • 對錯誤參數進行測試

    技術分享圖片

7:代碼覆蓋率

  • 包含-i和-n參數

    -i G:\github\java\SoftwareEngineering\src\week2\1.txt -n 5

技術分享圖片

  • 包含-i和-m參數

    -i G:\github\java\SoftwareEngineering\src\week2\1.txt -m 3

技術分享圖片

  • 包含-i、-n和-o參數

    -i G:\github\java\SoftwareEngineering\src\week2\1.txt -n 5 -o G:\github\java\SoftwareEngineering\src\week2\test.txt

技術分享圖片

  • 包含全部參數

    -i G:\github\java\SoftwareEngineering\src\week2\1.txt -n 5 -m 3 -o G:\github\java\SoftwareEngineering\src\week2\test.txt

技術分享圖片

8:心路歷程與收獲

  • 本次實驗是在上次的實驗基礎上進一步完善,為了更方便的進行功能擴展,於是將之前混雜的代碼進行修改使得每個功能分別獨立出來,這使得代碼更加的簡潔也更方便他人理解。
  • 對於結對編程,為了對方能夠理解通常代碼都寫得比較易懂,也更方便於擴展。同時結對編程可以相互交流,減少了自己一個人苦苦思考的煩惱,使得編程過程更加輕松愉快。但是可以感受到結對編程在某些方面效率沒有各自編程高。

軟工網絡16個人作業3