201671010436 王雪刚 实验四 《英文文本统计分析》结对项目报告
一:實驗名稱:軟件工程結對項目
二:實驗目的與要求
(1)體驗軟件項目開發中的兩人合作,練習結對編程(Pair programming)。
(2)掌握Github上增量發布軟件的操作方法。
三:實驗步驟
任務一:兩兩自由結對,對結對方的《實驗二 軟件工程個人項目》的項目成果進行評價。
1、對項目博文作業進行閱讀并進行評論,評論要點包括:博文結構、博文內容、博文結構與PSP中“任務內容”列的關系、PSP中“計劃共完成需要的時間”與“實際完成需要的時間”兩列數據的差異化分析與原因探究。
2、克隆結對方項目源碼到本地機器,閱讀并測試運行代碼,結合運行結果評論程序代碼,評論要點包括:軟件結構、代碼規范、功能實現、人機交互等。
3、嘗試利用github中的Fork、Clone、Push、Pull request、Merge pull request對結對方倉庫中的源碼進行合作修改。
任務二:采用兩人合作方式,設計開發一個英文文本統計分析軟件。
任務三:完成博文作業。
四:實驗內容
| 項目 | 內容 |
| 這個作業屬于哪個課程 | http://www.cnblogs.com/nwnu-daizh/ |
| 這個作業的要求在哪里 | https://www.cnblogs.com/nwnu-daizh/p/10569690.html |
| 課程學習目標 | 熟悉軟件開發整體流程,提升自身能力。 |
| 本次作業在哪個具體方面幫助我們實現目標 | 第一次體驗一個完整的工程 |
任務一:作業互評
結對對象評論鏈接地址:https://www.cnblogs.com/bkcq/p/10558650.html結對對象github源代碼鏈接地址:https://github.com/201671010403/- <hr>點評內容:讀完你的博文之后,就我個人而言,此篇博文條列清晰,一下就能讓人了然與胸,但其中也有很多的不足之處。從博文結構上看,太過于簡單,可以在markdown編輯器下學習一些語法,接受一些新知識,新事物來充實你的博文。從博文內容上看,功能實現過于片面,基本功能的實現不完整,比如柱狀圖的實現。從PSP表上看,我們的JAVA編程功底太差,不止是你,我也是,希望在以后的作業中學習中都能不斷的進步。你的程序編碼段:
設計實現:1.在本地磁盤中創建了一個文本文件,摘取英語文本。2.通過map集合和定義的文本字節,實現讀取存儲等功能。3.利用類treemap〈K,V〉基于樹的接口實現。整個實現過程不夠完整,功能實現片面,也沒有按照需求分析來實現。以上是我的個人看法,希望對你的博文改進有所幫助,有什么觀點誤解還望指出。<hr>閱讀心得:在看了結對對象的實驗二作業后,我深刻意識到自己的不足,包括在整體結構上。幾次接觸markdown編輯器之后,基礎語法已經能夠運用自如,在之后的每篇博文里,我將嚴格要求自己,一步一步完善自己的博文,查缺補漏,在編程方面也將努力,把之前的不足盡快糾正。任務二:采用兩人合作方式,設計開發一個英文文本統計分析軟件
需求分析
3、統計該文本行數及字符數;4、各種統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);5、可處理任意用戶導入的任意英文文本;6、人機交互界面要求GUI界面(WEB頁面、APP頁面都可);
1、實驗二的功能;
2、單詞頻數可視化柱狀圖要求是以下樣式:軟件設計說明:
本次項目主要目的是實現可導入任意英文文本文件,統計該英文文件中單詞數和各單詞出現的頻率(次數),并能將單詞按字典順序輸出;將單詞及頻率寫入文件;實現GUI界面;將單詞及頻率寫入指定位置。
算法設計
1) 文章分割成單詞
簡單概述下算法:把從文件提取的文章存放在String字符串中,然后進行逗號,句號,空格分割,基本上可以分割成單詞。
2)按字典排序算法
這里字符串的排序和數字的排序一樣。
3)統計詞頻
利用hashmap的compareTo()方法,map存在則put并count++(計數),不存在則put進去。
- 核心功能代碼展示
- 程序運行:程序運行時每個功能界面截圖
1、統計文本單詞總數
2、統計單詞出現的次數
3、統計出現頻率最高的前8個單詞結果
4、統計文本行數
5、GUI界面
6、單詞頻數可視化柱狀圖
7、輸出到文件result.txt中
8、在GitHub中的倉庫管理以及代碼的共同合作及修改
1)代碼克隆,檢查及修改
2) issues交互
3) pull request請求與項目同步
9、所用集成開發環境eclipse。
使用的JDK版本為 jdk8u161(jdk1.8)。
數據庫SQL serve2016。
- 結對過程、結對照片
- 提供此次作業的psp
| psp2.1 | 任務內容 | 計劃總共需要完成的時間(min) | 實際完成需要的時間(min) |
| Planning | 計劃 | 10 | 20 |
| Estimate | 估計需要時間,并計劃大致工作步驟 | 10 | 10 |
| Development | 開發 | 200 | 240 |
| Analysis | 需求分析 | 10 | 15 |
| Design Spec | 生成設計文檔 | 30 | 25 |
| Design Review | 設計復審 | 10 | 8 |
| Coding Standard | 代碼規范 | 20 | 25 |
| Design | 具體設計 | 20 | 30 |
| Coding | 具體編碼 | 360 | 420 |
| Code Review | 代碼復審 | 30 | 40 |
| Test | 測試 | 15 | 20 |
| Reporting | 報告 | 8 | 10 |
| Text Report | 測試報告 | 5 | 8 |
| Size Measurement | 計算報告量 | 5 | 5 |
| Postmortem&Process Improvement plan | 總結,并提出改進計劃 | 15 | 20 |
小結感受
通過本次結編程項目,深刻的體會到一個人的力量畢竟有限,無論是在邏輯設計還是技術實現上,都存在很大差距,整個項目的完成過程中,每個人都發揮出了各自的長處,達到了結對編程的目的,1+1>2的效果很明顯,兩人都必須參與程序的編碼工作,在結對編程中兩個人輪流做對方的角色,達到知識互補,將代碼質量提到最高,在結對編程模式下,我們之間沒有水平上的高低比較,雙方都是平等地、互補地進行工作,我們一起分析、起設計、寫代碼并測試運行,直到最后的文檔生成,在開發層次,結對編程能提供更好的設計質量和代碼質量,兩人合作能有更強的解決問題的能力,對我們自身來說,結對編程能帶來更多的自信心,每個模塊的實現都能帶來更多的成就感,這有利于項目可以更好的進行下去,結對能更好并且有效地交流,相互學習和傳遞經驗,因為一個人的知識已經被其他人共享。如果運用得當,結對編程能達到更好的效果。結對項目源碼在GitHub的倉庫主頁鏈接地址:https://github.com/201671010436/jieduibiancheng
轉載于:https://www.cnblogs.com/wangxuegang/p/10638965.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的201671010436 王雪刚 实验四 《英文文本统计分析》结对项目报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 报错:org.apache.hadoop
- 下一篇: LeetCode 59 _ Sprial