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