合做者:201731062301 201731062304(學號)html
本次做業連接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882git
先找好結對的小夥伴,閱讀做業內容及要求,再進行商討、作好分工以及填寫 PSP表格中的預估耗時部分。本人負責實現基礎功能,結對夥伴在本人的基礎上負責實現新功能。完成後進行代碼複審、單元測試、效能分析。github
下圖爲兩人結對編程照片:正則表達式
PSP2.1 |
Personal Software Process Stages |
預估耗時(分鐘) |
實際耗時(分鐘) |
Planning |
計劃 | 45 |
45 |
· Estimate | · 估計這個任務須要多少時間 | 45 | 45 |
Development |
開發 | 910 |
1295 |
· Analysis | · 需求分析 (包括學習新技術) | 45 | 60 |
· Design Spec | · 生成設計文檔 | 30 | 45 |
· Design Review | · 設計複審 (和同事審覈設計文檔) | 20 | 60 |
· Coding Standard | · 代碼規範 (爲目前的開發制定合適的規範) | 30 | 30 |
· Design | · 具體設計 | 45 | 60 |
· Coding | · 具體編碼 | 600 | 800 |
· Code Review | · 代碼複審 | 60 | 90 |
· Test | · 測試(自我測試,修改代碼,提交修改) | 80 | 150 |
Reporting |
報告 | 90 |
115 |
· Test Report | · 測試報告 | 30 | 45 |
· Size Measuremen | · 計算工做量 | 25 | 25 |
· Postmortem & Process Improvement Plan | · 過後總結, 並提出過程改進計劃 | 35 | 45 |
合計 | 1045 |
1455 |
總結分析:在本次項目完成後,發現預估時間和實際時間相差很大,主要表如今開發階段,其中又主要集中在具體編碼和測試、修改中。在具體編碼過程當中困難重重,好比統計單詞總數和‘!’、‘?’等字符須要用到正則表達式。因而上網查資料並對正則表達式的使用進行了學習,又如,統計詞頻並按頻率由高到低、字母表順序輸出,須要用到Dictionary。在後期的代碼複審以及修改也花了較多時間。編程
項目要求:統計文件字符數、單詞總數、有效行數以及統計詞頻並按照頻率由高到低、字母表順序輸出。單元測試
(1)統計字符:即統計整個字符串的長度;學習
(2)統計行數:將文件字符一行行傳入來統計行數;測試
(3)統計單詞總數:採用正則表達式進行判斷單詞是否符合要求,若符合,則用列表存儲;編碼
(4)統計詞頻並按照頻率由高到低、字母表順序輸出:用Dictionary。spa
在本次結對編程過程,發現1+1>2,開發效率明顯提升。在知識方面學習到不少,在結對夥伴的身上也學到不少。
1.編程方面:好比,在統計單詞總數時,一塊兒查資料,學習正則表達式的使用;
2.單元測試:本人學會了寫單元測試;
3.對GitHub的push操做更加的熟練;
4.對本身的要求更高了。