項目 | 內容 |
---|---|
軟件工程 | 任課教師博客主頁連接:https://home.cnblogs.com/u/nwnu-daizh/ |
做業要求: (1)體驗軟件項目開發中的兩人合做,練習結對編程。 (2)掌握Github上增量發佈軟件的操做方法。 |
做業連接地址:http://www.javashuo.com/article/p-bjcswxqf-ma.html |
課程學習目標: 掌握Github上增量發佈軟件的操做方法。 |
熟悉軟件開發總體流程,提高自身能力 |
往Github上上傳代碼,讓咱們學習到了Github的基本操做方法。 | 第一次體驗一個完整的工程 |
要給出所點評做業的博客:http://www.javashuo.com/article/p-zdawclob-dy.html
github連接地址:https://github.com/lzh2540330731/-/blob/master/%E6%96%B0%E5%BB%BA%E6%96%87%E6%9C%AC%E6%96%87%E6%A1%A3.java
點評內容:你的博文上有流程圖和測試運行截圖,並且流程圖作的很好,使博文看起來很完整,這一點很值得我學習。
點評心得:看了同伴的博文,讓我學習到了不少東西,同伴的博文寫的很完整,代碼也很規範。在之後的學習中,我應該多向他請教,好好提高本身的編程能力。html
須要給出結對項目源碼在Github的倉庫主頁連接地址:https://github.com/daxd123/mygit/blob/master/main.java
博文做爲結對項目實施過程的文字資料,請完整包含下面7個部分:
a.需求分析:
①在實驗二的基礎上實現如下功能;
②統計該文本行數及字符數;
③各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);
④可處理任意用戶導入的任意英文文本;
⑤人機交互界面要求GUI界面(WEB頁面、APP頁面均可);
⑥附加分功能:統計文本中除冠詞、代詞、介詞以外的高頻詞;
⑦附加分功能:統計前10個兩個單詞組成的詞組頻率。
b.軟件設計:
c.核心功能代碼展現:java
while ((thechar = isr.read()) != -1) { char letter = (char) thechar; if ((letter >= 'a' && letter <= 'z') || (letter >= 'A' && letter <= 'Z')) { sb.append(letter); } else if (sb.length() != 0) { String theword = new String(sb); if (wordList.containsKey(theword)) { wordList.put(theword, wordList.get(theword) + 1); } else { wordList.put(theword, 1); } sb.delete(0, sb.length()); } }
d. 程序運行:
git
e. 描述結對的過程,提供兩人在討論、細化和編程時的結對照片(非擺拍):
github
f. 提供這次結對做業的PSP:算法
任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
---|---|---|
計劃 | 20 | 25 |
估計這個任務須要多少時間,並規劃大體工做步驟 | 15 | 28 |
開發 | 240 | 310 |
需求分析 (包括學習新技術) | 20 | 25 |
生成設計文檔 | 20 | 25 |
設計複審 (和同事審覈設計文檔) | 6 | 9 |
代碼規範 (爲目前的開發制定合適的規範) | 10 | 12 |
具體設計 | 25 | 26 |
具體編碼 | 130 | 160 |
代碼複審 | 20 | 40 |
測試(自我測試,修改代碼,提交修改) | 40 | 80 |
報告 | 90 | 110 |
測試報告 | 20 | 20 |
計算工做量 | 30 | 40 |
過後總結 ,並提出過程改進計劃 | 40 | 60 |
①結對中劉振華充當領航員角色,達星斗充當駕駛員角色。先是一塊兒討論作了大致類的設計和算法流程設計,接着咱們就開始一塊兒編程。兩我的編程仍是比一我的來的效率高些,有問題一塊兒討論,錯誤也第一時間被指出,特別是一開始的討論,就先定義和封裝了幾個要用到的函數,避免了後期推翻修改,提升了開發效率。不過缺點也是有的,就是一我的在編程的時候,另外一我的很差打擾,默默滴看,後面發現沒有徹底按照領航員的設計來實現。函數沒有徹底按照預期抽象出來,致使效能分析處有問題!設計當中的接口和新增功能未實現,但類圖當中的設計將其抽象出來方便了後續的代碼優化。
②此次的體會真的很深,實打實的結對,兩人分工合做完成一個看似不難的任務,實際執行過程當中仍是遇到很多困難,結對的最大好處就在此處體現:在遇到困難的時候老是能夠經過提醒和討論解決之!
③兩我的的合做老是賽過一我的埋頭苦寫代碼的,經過兩我的結對的交流和探討,會比日常一我的設計節約了很多的時間。因爲咱們編程能力仍是很生疏,在編程期間也在網上找了不少資料,也找了其餘能力強一點的同窗給咱們進行了指導。編程