201671010431唐璐+《英文文本統計分析》

1、實驗目的與要求

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

博文簡要信息表

2、實驗內容和步驟

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

(一)具體要求以下:

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

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

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

(二)過程以下:

  • 點評博客:https://www.cnblogs.com/chenjing1/p/10557467.html-
  • 結對方的Github地址: https://github.com/chenjingjinglove/Chenjing
  • 點評內容:
    讀完博文後:
    1.博文結構相對完整,排版規範,但最後未對PSP作總結;
    2.項目實現上功能描述簡單,沒有實現柱狀圖功能;
    3.源碼上傳GitHub出現zip格式問題;
    最後java編程能力需增強,學習態度認真,繼續加油!
  • 點評心得:
    經過閱讀博文和學習對方項目內容,讓我深深體會到陳靖認真的學習態度,儘管編程能力欠缺,可是細心請教學長學姐,這一點是值得學習的,博文規範清晰,再反思個人項欠缺了不少,還要學習的地方太多,點評對方的項目,使咱們共同窗習,共同進步。

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

(一)需求分析:

1.實驗2要求的功能;github

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

3.統計該文本行數及字符數;學習

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

5.可處理任意用戶導入的任意英文文本;編碼

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

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

  • 高頻詞的統計

  • 柱狀圖的實現

  • 行數與字符數的統計

(三)程序運行結果:

  • 詞頻統計

  • 柱狀圖實現

  • 行數與字符數實現

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

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

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

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

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

源碼地址:

相關文章
相關標籤/搜索