項 目 | 內 容 |
---|---|
這個做業屬於哪一個課程 | 軟件工程 |
這個做業的要求在哪裏 | 實驗四軟件工程結對項目 |
課程學習目標 | 熟悉軟件開發總體流程,提高自身能力。 |
本次做業在哪一個具體方面幫助咱們實現目標 | 第一次體驗一個完整的工程 |
項目源碼 | 源碼連接 |
項 目 | 內 容 |
---|---|
點評博客連接 | 201671030124 詞頻統計軟件項目報告 |
GitHub連接 | 源碼地址 |
點評內容 | 在讀完你的博文後,個人建議和意見以下: 1.博文結構清晰明瞭,採用簡化的軟件工程流程,讓讀者一目瞭然; 博文內容充實,實現了老師提的要求,尤爲是指定單詞詞頻統計功能, 實現了單詞詞頻的柱狀圖顯示,沒有投機取巧,值得我學習,但在設 計實現部分,只有文字描述,沒有流程圖,不能讓讀者直觀的明白你的 設計實現,須要改進;博文排版美觀大方,值得我學習。 2.你的博文結構與PSP中「任務內容」列聯繫比較緊密,大致流程按照PSP 中「任務內容」完成博文,但有些任務內容在博文中沒有體現。 3.你的PSP中「計劃共完成須要的時間」與「實際完成須要的時間」相差較大, 每一項實際完成須要的時間都比計劃共完成須要的時間要長,說明你對時 間的掌握還有自身能力的認識有必定的不足。在認真比對兩列數據後,我發 現你在具體設計和具體編碼部分超時嚴重,由此能夠看出,你的編程能力 還有待提升,須要必定的時間去練習。 |
點評心得 | 經過點評同窗的博文,我認識到本身與同窗的代碼風格有很大的類似之處, 這對後續的結對編程有必定的幫助; 經過此次點評,我也認識到本身的不足,排版不夠美觀大方,須要向同窗學習; 經過此次點評,我也發現了同窗的不足之處,編程能力不是很好, 我倆在編程方面都須要多加練習; 經過此次點評,我也認識到我倆在功能實現方面仍存在很大的不一樣, 在後續的結對編程中,仍須要必定的時間去磨合。 |
經過對項目要求的分析,本次結對項目的需求爲:
(1)實驗2要求的功能;
(2)繪製單詞頻數可視化柱狀圖;
(3)統計該文本行數及字符數;
(4)各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);
(5)可處理任意用戶導入的任意英文文本;
(6)人機交互界面要求GUI界面(WEB頁面、APP頁面均可);
(7)附加分功能:統計文本中除冠詞、代詞、介詞以外的高頻詞。html
統計文本行數和字符數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+"個字符"); }
咱們在實驗二的基礎上,分析了還需實現的功能。github
咱們分開實現了文本行數和字符數和計時功能,我負責統計文本行數和字符數。編程
最後的GUI界面由咱們兩人共同編寫。
學習
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 |
經過此次項目,我以爲在結對編程前期,可能兩人合做並不可以帶來1+1>2的效果,前期因爲兩人代碼風格不一樣、解決問題的思路不一樣、不能有效溝通等緣由,致使分歧較多,開發效率低下,但在渡過磨合期後,我以爲兩人合做可以帶來1+1>2的效果。在渡過了磨合期後,兩人統一了代碼風格,兩我的在一塊兒解決問題的速度也比一我的快,還能夠在編程的同時進行代碼複審,節約了時間也提升了效率。結對編程確實是一種比較好的開發方法,之後有機會我也會和隊友再次嘗試這種開發方法。測試