201671030111李蓉《英文文本統計分析》結對項目報告

 項     目   內     容 
這個做業屬於哪一個課程 軟件工程
這個做業的要求在哪裏 實驗四軟件工程結對項目
課程學習目標 熟悉軟件開發總體流程,提高自身能力。
本次做業在哪一個具體方面幫助咱們實現目標 第一次體驗一個完整的工程
項目源碼 源碼連接

1、任務一:

 項     目   內     容 
點評博客連接 201671030124 詞頻統計軟件項目報告
GitHub連接 源碼地址
點評內容 在讀完你的博文後,個人建議和意見以下:
1.博文結構清晰明瞭,採用簡化的軟件工程流程,讓讀者一目瞭然;
博文內容充實,實現了老師提的要求,尤爲是指定單詞詞頻統計功能,
實現了單詞詞頻的柱狀圖顯示,沒有投機取巧,值得我學習,但在設
計實現部分,只有文字描述,沒有流程圖,不能讓讀者直觀的明白你的
設計實現,須要改進;博文排版美觀大方,值得我學習。
2.你的博文結構與PSP中「任務內容」列聯繫比較緊密,大致流程按照PSP
中「任務內容」完成博文,但有些任務內容在博文中沒有體現。
3.你的PSP中「計劃共完成須要的時間」與「實際完成須要的時間」相差較大,
每一項實際完成須要的時間都比計劃共完成須要的時間要長,說明你對時
間的掌握還有自身能力的認識有必定的不足。在認真比對兩列數據後,我發
現你在具體設計和具體編碼部分超時嚴重,由此能夠看出,你的編程能力
還有待提升,須要必定的時間去練習。
點評心得 經過點評同窗的博文,我認識到本身與同窗的代碼風格有很大的類似之處,
這對後續的結對編程有必定的幫助;
經過此次點評,我也認識到本身的不足,排版不夠美觀大方,須要向同窗學習;
經過此次點評,我也發現了同窗的不足之處,編程能力不是很好,
我倆在編程方面都須要多加練習;
經過此次點評,我也認識到我倆在功能實現方面仍存在很大的不一樣,
在後續的結對編程中,仍須要必定的時間去磨合。

2、任務二:

1.需求分析:

經過對項目要求的分析,本次結對項目的需求爲:
(1)實驗2要求的功能;
(2)繪製單詞頻數可視化柱狀圖;
(3)統計該文本行數及字符數;
(4)各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);
(5)可處理任意用戶導入的任意英文文本;
(6)人機交互界面要求GUI界面(WEB頁面、APP頁面均可);
(7)附加分功能:統計文本中除冠詞、代詞、介詞以外的高頻詞。html

2.軟件設計:

3.核心功能代碼展現:

統計文本行數和字符數git

try {//try代碼塊,當發生異常時會轉到catch代碼塊中
            //讀取指定的文件
            Scanner s = new Scanner(System.in);//建立scanner,控制檯會一直等待輸入,直到敲回車結束
            System.out.println("請輸入想要統計的文件名:");//輸入提示信息
            String a = s.nextLine();//定義字符串變量,並賦值爲用戶輸入的信息
            //建立類進行文件的讀取,並指定編碼格式爲utf-8
            InputStreamReader read = new InputStreamReader(new FileInputStream(a),"utf-8"); 
            BufferedReader in = new BufferedReader(read);//可用於讀取指定文件     
            String str=null;//定義一個字符串類型變量str
            int line = 0;//定義一個整型變量,用於統計行數
            int character = 0;//定義一個整型變量,用於統計字符數
            
            while ((str = in.readLine())!= null) {//readLine()方法, 用於讀取一行,只要讀取內容不爲空就一直執行
                line++;//每循環一次就進行一次自增,用於統計文本行數
                character += str.length();//用於統計總字符數
       
            }
            in.close(); //關閉流
            System.out.println("該文本共有"+line+"行");
            System.out.println("該文本共有"+character+"個字符");
        }

4.程序運行:

  • (1)主界面:
  • (2)查詢高頻詞:

  • (3)查詢單詞詞頻:


  • (4)字典順序輸出:


  • (5)行數字符數統計:

5.結對過程:

  • 咱們在實驗二的基礎上,分析了還需實現的功能。github

  • 咱們分開實現了文本行數和字符數和計時功能,我負責統計文本行數和字符數。編程

  • 最後的GUI界面由咱們兩人共同編寫。
    學習

6.PSP流程:

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

7.總結:

經過此次項目,我以爲在結對編程前期,可能兩人合做並不可以帶來1+1>2的效果,前期因爲兩人代碼風格不一樣、解決問題的思路不一樣、不能有效溝通等緣由,致使分歧較多,開發效率低下,但在渡過磨合期後,我以爲兩人合做可以帶來1+1>2的效果。在渡過了磨合期後,兩人統一了代碼風格,兩我的在一塊兒解決問題的速度也比一我的快,還能夠在編程的同時進行代碼複審,節約了時間也提升了效率。結對編程確實是一種比較好的開發方法,之後有機會我也會和隊友再次嘗試這種開發方法。測試

相關文章
相關標籤/搜索