1.對項目博文做業進行閱讀並進行評論,評論要點包括:博文結構、博文內容、博文結構與PSP中「任務內容」列的關係、PSP中「計劃共完成須要的時間」與「實際完成須要的時間」兩列數據的差別化分析與緣由探究。html
2.克隆結對方項目源碼到本地機器,閱讀並測試運行代碼,結合運行結果評論程序代碼,評論要點包括:軟件結構、代碼規範、功能實現、人機交互等。java
3.嘗試利用github中的Fork、Clone、Push、Pull request、Merge pull request對結對方倉庫中的源碼進行合做修改。git
1.實驗2要求的功能;github
2.單詞頻數可視化柱狀圖要求是如下樣式:編程
3.統計該文本行數及字符數;學習
4.各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);測試
5.可處理任意用戶導入的任意英文文本;編碼
6.人機交互界面要求GUI界面(WEB頁面、APP頁面均可)。設計
1.結對過程:首先在看到老師發佈的實驗任務書時,我先是找到個人結對方,接下來就開始了咱們的計劃。由於結對編程在開發過程當中,須要有兩個角色,分別是「駕駛員」和「領航員」,且駕駛員的做用是控制鼠標和鍵盤的使用,即負責編碼工做,而領航員得做用是坐在駕駛員一旁觀察和思考,即負責檢查錯誤、考慮解決方案。但鑑於咱們兩個的Java編程能力都比較薄弱,一人完成不了編碼的任務,因此在整個開發過程當中,咱們都是採用兩人互相合做的方式,這兩個角色的任務沒有那麼分工明確,但在開發過程當中,兩我的均付出了本身的努力。 下面就是咱們這次結對編程的步驟:首先咱們在拿到題目後,根據老師的需求,咱們經過坐在一塊兒討論的方式,明確了設計思路,並編寫了需求分析(因爲老師在實驗任務書中的需求分析寫的比較明確,因此這個階段用時不是不少);緊接着就是具體編碼這一步驟了,這一階段對咱們來講是最困難的,在這一階段中,咱們互相吸收結對方比較好的意見並採用,在遇到技術盲區時,咱們也是各自先查找資料,各自先學習,在兩我的都查找完成後,再坐在一塊兒發表各自的想法,最後再用於項目中;而後就是代碼複審和測試階段,在這一階段中我是負責代碼複審的工做,而結對方負責項目的測試階段,在雙方的工做都完成後,再坐在一塊兒說出本身的意見,即咱們發表一下咱們以爲這個項目有什麼不足的地方,且有哪些地方是能夠改進的;最後就是撰寫設計報告了,即寫博文,這一階段咱們先是本身寫本身的,在雙方都寫完後,再坐在一塊兒互相看對方的博文,並指出結對方的博文的不足之處,再總結一下這一項目的開發對咱們的學習做用。經過以上結對編程步驟,咱們這一組的結對編程任務就完成了,固然在這一過程當中,咱們遇到了不少不懂的問題,最後的任務完成的也不是很完美,但咱們會繼續努力。 下面是咱們兩人在討論、細化和編程時的結對照片:
PSP2.1 | 任務內容 | 計劃共完成須要的時間(min) | 實際完成所須要的時間(min) |
---|---|---|---|
Planning | 計劃 | 12 | 8 |
Estimate | 估計這個任務須要多少時間,並規劃大體工做步驟 | 15 | 10 |
Development | 開發 | 600 | 800 |
Analysis | 需求分析(包括學習新技術) | 15 | 10 |
Design Spec | 生成設計文檔 | 20 | 30 |
Design Review | 設計複審(審覈設計文檔) | 15 | 20 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 15 | 20 |
Design | 具體設計 | 15 | 20 |
Coding | 具體編碼 | 600 | 900 |
Code Review | 代碼複審 | 20 | 30 |
Test | 測試(自我測試,修改代碼,提交修改) | 50 | 70 |
Reporting | 報告 | 50 | 60 |
Test Report | 測試報告 | 30 | 40 |
Size Measurement | 計算工做量 | 15 | 20 |
Postmortem & Process Improvement Plan | 過後總結,並提出過程改進計劃 | 20 | 30 |
經過這次實驗,咱們發如今整個項目開發過程當中遇到的問題仍是不少。從咱們的PSP展現能夠看出來,在開發和具體編碼階段,咱們計劃所須要的時間和實際完成須要的時間相差太大,也用時最多,緣由是咱們兩人的Java編程能力都比較薄弱,須要學習新的知識,因此致使咱們用時最多。在開發過程當中,咱們相互討論,互相幫助,互相吸收對方好的建議和意見,這也鍛鍊了咱們的責任心,包容心,由於在這個過程當中,不免兩人會有不一樣的想法,這就須要兩人相互溝通,交流,統一意見。 整個實驗下來,我也深入感覺到結對編程的好處:首先能夠加強咱們的溝通能力和團隊凝聚力;其次能夠增長代碼的質量,在開發過程當中減小代碼的錯誤率;最重要的一點是能夠學習本身之前沒接觸過的新的知識。因此這次實驗對咱們的幫助很大,但願之後還能夠一塊兒進步!