201671010402-陳靖——英文文本統計分析》結對項目報告

1、實驗目的與要求

  • 1.體驗軟件項目開發中的兩人合做,練習結對編程(Pair programming)。
  • 2.掌握Github上增量發佈軟件的操做方法。

2、實驗內容和步驟

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

(一)具體要求以下:

  • 1.對項目博文做業進行閱讀並進行評論,評論要點包括:博文結構、博文內容、博文結構與PSP中「任務內容」列的關係、PSP中「計劃共完成須要的時間」與「實際完成須要的時間」兩列數據的差別化分析與緣由探究。html

  • 2.克隆結對方項目源碼到本地機器,閱讀並測試運行代碼,結合運行結果評論程序代碼,評論要點包括:軟件結構、代碼規範、功能實現、人機交互等。git

  • 3.嘗試利用github中的Fork、Clone、Push、Pull request、Merge pull request對結對方倉庫中的源碼進行合做修改。github

(二)過程以下:

所點評的結對方的博客園地址連接 http://www.javashuo.com/article/p-rqphfriw-ho.html
點評內容 首先從博文結構來看,你的整體結構還算工整,可是博文的排版不夠規範,好比說各級標題看着不夠清晰,還有PSP表格的製做也是錯誤的;其次從博文內容來看,你的內容相對於比較簡單,尤爲是對該程序的功能設計和設計實現比較簡單,好比說沒有指出該程序中用了哪些類及這些類的功能;再者從功能實現來看,沒有徹底實現該程序的功能,好比說柱狀圖這一功能沒有實現,還有沒有將單詞及詞頻數按字典順序輸出到result.txt文件中;再還有從軟件結構和代碼規範來看,你的軟件結構和代碼總體還算規範,惟一美中不足的就是沒有添加註釋;還有就是從你上傳到GitHub的代碼來看,該項目的src文件未上傳到GitHub上;最後從你的PSP展現能夠看出,你在「開發」和「具體編碼」這兩個階段的「計劃完成所須要的時間」和「實際完成所用的時間」相差較大,緣由多是你的Java編程能力相對比較薄弱。但願之後的博文中注意這些問題,好好學習,再接再礪,加油!
結對方GitHub連接地址 https://github.com/tanglu007/lu
點評心得 首先從結對方的博客能夠看出,咱們在實驗過程當中均存在不少問題,並且在遇到問題時,咱們沒有很快的解決問題,歸其緣由也是由於咱們的專業知識太差,因此才致使後來咱們沒有在老師規定思惟時間內完成該系統的因此功能;其次,咱們存在的最大的問題就是Java的編程能力太薄弱,因此這次任務對於咱們來講仍是比較困難,但咱們會盡可能本身找資料,本身抽時間學習來彌補本身的不足;最後,我意識到結對合做對開發一個系統的重要性,明白了一我的的力量是有限的,因此兩人合做很好的解決了這一問題。

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

(一)需求分析:

  • 1.實驗2要求的功能;編程

  • 2.單詞頻數可視化柱狀圖要求是如下樣式:學習

  • 3.統計該文本行數及字符數;測試

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

  • 5.可處理任意用戶導入的任意英文文本;設計

  • 6.人機交互界面要求GUI界面(WEB頁面、APP頁面均可)。3d

(二)核心功能代碼展現:

  • 高頻詞的統計

  • 柱狀圖的實現

  • 行數與字符數的統計

(三)程序運行結果:

  • 詞頻統計

  • 柱狀圖實現

  • 行數與字符數實現

  • 將統計結果返回到result.txt文檔中

(四)描述結對的過程,提供兩人在討論、細化和編程時的結對照片。

  • 1.結對過程:首先在看到老師發佈的實驗任務書時,我先是找到個人結對方,接下來就開始了咱們的計劃。由於結對編程在開發過程當中,須要有兩個角色,分別是「駕駛員」和「領航員」,且駕駛員的做用是控制鼠標和鍵盤的使用,即負責編碼工做,而領航員得做用是坐在駕駛員一旁觀察和思考,即負責檢查錯誤、考慮解決方案。但鑑於咱們兩個的Java編程能力都比較薄弱,一人完成不了編碼的任務,因此在整個開發過程當中,咱們都是採用兩人互相合做的方式,這兩個角色的任務沒有那麼分工明確,但在開發過程當中,兩我的均付出了本身的努力。
    下面就是咱們這次結對編程的步驟:首先咱們在拿到題目後,根據老師的需求,咱們經過坐在一塊兒討論的方式,明確了設計思路,並編寫了需求分析(因爲老師在實驗任務書中的需求分析寫的比較明確,因此這個階段用時不是不少);緊接着就是具體編碼這一步驟了,這一階段對咱們來講是最困難的,在這一階段中,咱們互相吸收結對方比較好的意見並採用,在遇到技術盲區時,咱們也是各自先查找資料,各自先學習,在兩我的都查找完成後,再坐在一塊兒發表各自的想法,最後再用於項目中;而後就是代碼複審和測試階段,在這一階段中我是負責代碼複審的工做,而結對方負責項目的測試階段,在雙方的工做都完成後,再坐在一塊兒說出本身的意見,即咱們發表一下咱們以爲這個項目有什麼不足的地方,且有哪些地方是能夠改進的;最後就是撰寫設計報告了,即寫博文,這一階段咱們先是本身寫本身的,在雙方都寫完後,再坐在一塊兒互相看對方的博文,並指出結對方的博文的不足之處,再總結一下這一項目的開發對咱們的學習做用。經過以上結對編程步驟,咱們這一組的結對編程任務就完成了,固然在這一過程當中,咱們遇到了不少不懂的問題,最後的任務完成的也不是很完美,但咱們會繼續努力。代碼規範

  • 2.下面是咱們兩人在討論、細化和編程時的結對照片:

(五)這次結對做業的PSP展現:

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編程能力都比較薄弱,須要學習新的知識,因此致使咱們用時最多。在開發過程當中,咱們相互討論,互相幫助,互相吸收對方好的建議和意見,這也鍛鍊了咱們的責任心,包容心,由於在這個過程當中,不免兩人會有不一樣的想法,這就須要兩人相互溝通,交流,統一意見。
    整個實驗下來,我也深入感覺到結對編程的好處:首先能夠加強咱們的溝通能力和團隊凝聚力;其次能夠增長代碼的質量,在開發過程當中減小代碼的錯誤率;最重要的一點是能夠學習本身之前沒接觸過的新的知識。因此這次實驗對咱們的幫助很大,但願之後還能夠一塊兒進步!

任務三:博文簡要信息表:

項目 內容
做業所屬課程:軟件工程 任課教師博客主頁連接:https://www.cnblogs.com/nwnu-daizh/
做業要求 做業連接地址:http://www.javashuo.com/article/p-bjcswxqf-ma.html
課程學習目標 熟悉軟件開發總體流程,提高自身能力
本次做業在哪一個具體方面幫助咱們實現目標 第一次體驗一個完整的工程

源碼地址:

相關文章
相關標籤/搜索