201671010437+王小倩+《英文文本統計分析》結對項目報告


一:實驗名稱:軟件工程結對項目--英文文本統計

項目 內容
這個做業屬於哪一個課程 http://www.cnblogs.com/nwnu-daizh/
這個做業的要求在哪裏 https://www.cnblogs.com/nwnu-daizh/p/10569690.html
課程學習目標 熟悉軟件開發總體流程,提高自身能力
本次做業在哪一個具體方面幫助咱們實現目標 第一次體驗一個完整的工程

二:實驗目的與要求

(1)體驗軟件項目開發中的兩人合做,練習結對編程(Pair programming)。html

(2)掌握Github上增量發佈軟件的操做方法。
git


三:實驗步驟

任務1: 兩兩自由結對,對結對方的《實驗二 軟件工程我的項目》的項目成果進行評價,具體要求以下:

(1)對項目博文做業進行閱讀並進行評論,評論要點包括:博文結構、博文內容、博文結構與PSP中「任務內容」列的關係、PSP中「計劃共完成須要的時間」與「實際完成須要的時間」兩列數據的差別化分析與緣由探究。
     (2)克隆結對方項目源碼到本地機器,閱讀並測試運行代碼,結合運行結果評論程序代碼,評論要點包括:軟件結構、代碼規範、功能實現、人機交互等。
     (3)嘗試利用github中的Fork、Clone、Push、Pull request、Merge pull request對結對方倉庫中的源碼進行合做修改。
杜娣-實驗二
結對同伴的博客:點評內容:
讀完你的博文,發現你寫的博文結構清晰,內容標題醒目,令人一目瞭然。從博文內容上來看,需求分析很全面,寫出了該系統的基本功能,也使後續的工做過程清晰,功能明確。
  但也有一些不足之處,好比:
引用
功能實現
一、主要實現的功能:從磁盤中讀取英文文本,對文本進行處理,統計單詞的個數,最後按個數排序
引用
設計實現
一、在本地磁盤建立一個文本文件
二、經過map集合,以鍵值對的方式去存儲單詞和出現的詞數
三、定義一個文件字節,去讀取磁盤中的文件
四、建立一個spilt數組,用來分割字符串,經過調用map的key值獲取value,進行單詞統計
五、利用treemap實現comparator接口,對map集合進行排序
這兩部份內容寫的不是很具體,在功能實現方面,只表述了統計單詞個數以及排序,但沒有寫出指定單詞和高頻單詞的統計,以及最後將文本的全部單詞輸出到文件等功能,功能設計應該按照需求分析來展開寫。在設計實現方面,應該寫出建立了幾個類,這些類分別負責什麼功能和類之間的關係等,詳細內容能夠參考老師的做業要求。對比PSP中的時間比例發現,有些時間規劃不是很合理,因此但願你能下次改進,加油!
點評心得: 讀完同伴的博文,發現了有不少亮點值得本身去學習,好比博文結構順序清晰,內容標題醒目,令人一目瞭然。從博文內容上來看,項目需求分析很全面,寫出了該系統的基本功能,也使後續的工做過程清晰,功能明確。

任務2:採用兩人合做方式,設計開發一個英文文本統計分析軟件。


四:實驗內容

1. 需求分析

(1)實驗2要求的功能;github

(2)單詞頻數可視化柱狀圖要求是如下樣式:編程

(3)統計該文本行數及字符數;數組

(4)各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);學習

(5)可處理任意用戶導入的任意英文文本;測試

(6)人機交互界面要求GUI界面(WEB頁面、APP頁面均可);編碼

(7)附加分功能:統計文本中除冠詞、代詞、介詞以外的高頻詞;設計

(8)附加分功能:統計前10個兩個單詞組成的詞組頻率。代碼規範

2. 功能設計
該程序主要實現的功能是進行英文文本的統計,基於實驗二進行,實現統計該文本行數及字符數;各類統計功能均提供計時功能,顯示程序統計所消耗時間,可處理任意用戶導入的任意英文文本。
3. 設計實現(展現核心功能代碼)

(1)統計單詞數量並輸出


(2)繪製柱狀圖


(3)顯示用戶須要查詢的單詞詞頻數

4. 測試運行(各個功能實現界面截圖)







5. 結對過程(兩人在討論、細化和編程時的結對照片)

6. 小結感覺:兩人合做真的可以帶來1+1>2的效果嗎?

經過實驗二的我的項目和這次的結對項目,咱們不難發現,耗時最多的就是編程過程和修改bug。若是是我的項目,不免會由於我的的疏忽,輸入的錯誤,以及設計思路的誤差,每每會讓咱們的程序沒法順利進行下去,而結對編程的好處就在於,在編寫代碼時,一旦出現輸入錯誤,就會有人及時的提醒。還有在設計代碼時,有個同伴能夠一塊兒討論,融合兩我的不一樣的看法和觀點,咱們每每能夠得出更加準確且更加高效的設計思路,這大大提升了咱們編程的效率,並且咱們二人一塊兒討論出來的編程思路,也使得咱們的代碼功能更全面,效率更高,因此我認爲1+1確定>2。

7. 展現PSP
PSP2.1 任務內容 計劃共完成須要的時間(min) 實際完成須要的時間(min)
Planning 計劃 40 80
· Esitimate 估計這個任務須要多少時間,並規劃大體工做步驟 15 20
· Development 開發 400 800
· Analysis 需求分析(包括學習新技術) 60 60
· Design Spec 生成設計文檔 20 30
· Design Review 設計複審(和同事審覈設計文檔) 15 15
· Coing Standard 代碼規範(爲目前開發制定合適的規範) 20 20
· Design 具體設計 30 60
· Coding 具體編碼 400 600
· Code Review 代碼複審 10 10
· Test 測試(自我測試,修改代碼,提交修改) 20 25
· Reporting 報告 10 15
· Test Report 測試報告 15 25
· Size Measurement 計算工做量 5 3
· Postmortem&Process Improvement Plan 過後總結,並提出過程改進計劃 5 15

項目源代碼請點擊這裏查看...

相關文章
相關標籤/搜索