做業格式
超時提交的緣由:一個是分工時沒有嚴格要求代碼規範的註釋,致使後期調試bug花費比較多的時間,而是部分組員知識量不足,花費了許多時間在教學使用github,還有就是心態煩躁,影響了效率,之後應該以合理的心態,去處理各類問題。python
組員分工
- 221600424
- 221600431
- 22160434
- 221600225
- 過濾算法設計與開發
- 過濾算法的測試
- 文件數據處理代碼討論
- 041602421
- 221600432
- 整合項目的測試
- 對項目進行整合處理
- 文件數據處理代碼討論
- 221600435
Github提交日誌截圖
![](http://static.javashuo.com/static/loading.gif)
程序運行截圖
抽獎信息設置界面
![](http://static.javashuo.com/static/loading.gif)
抽獎結果展現界面
![](http://static.javashuo.com/static/loading.gif)
git
程序運行環境
windows 10,C#github
基礎功能的實現
- 抽獎算法
算法設計思路:採用加權隨機算法,每位抽獎的參與者都有必定的權重,那麼權重高的參與者天然有更高的機率獲獎。可是爲體現公平性每位參與者最多得到一次獎。
具體實現:先從獎池中選擇一件獎品,而後再計算出全部當前全部參與者的權重總和sum,而後在1到sum之間隨機選擇一個數R,以後遍歷整個集合,統計遍歷的項的權重之和,若是大於等於R,就中止遍歷,選擇遇到的項,選擇此項爲獲獎者。獲獎者獲獎後,獎品從獎池去除或減小(一種獎品可能不止一個),獲獎者也放棄繼續抽獎的資格。
附加功能的實現
- 數據挖掘
使用python編寫腳本,結合matplotlib、PIL、seaborn等python庫,對qq聊天記錄進行分析,從年月日的角度把統計獲得的數據進行可視化,生成發言統計圖以下:
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
對統計過程當中的熱詞進行了整理,生成熱詞雲圖:
![](http://static.javashuo.com/static/loading.gif)
遇到的困難及解決方法
- 041602421
- 困難:在數據處理時想要用正則表達式來進行匹配編寫,可是對正則表達式不熟悉致使調試好久
- 解決方法 :經過百度以及與組員一塊兒討論,最後經過正則表達式進行正確的匹配。
- 221600225
- 困難:在進行過濾算法的編寫過程當中,對C#的語法不夠熟練。
- 解決方法 :在看書和百度還有同窗的討論下最後慢慢熟練編寫起來。
- 221600424
- 困難:對github的使用不太熟練,在實訓過程當中有時pull、push、同步遠程倉庫時出錯
- 解決方法 :熟能生巧,多用幾回後對github的使用有了更加深入的理解
- 221600431
- 困難:對C#窗體程序的不熟悉,致使寫GUI時很差對textbox等控件的輸入進行錯誤檢測
- 解決方法 :百度和與同窗討論
- 221600432
- 困難:時間緊張,沒有要求並嚴格執行好代碼規範,函數接口規範,致使調bug花了許多時間,本身分工也不夠合理
- 解決方法 :下次要改進分工安排,提早寫好規範要求文檔。
- 221600434
- 困難:對VS2017鏈接配置GITHUB不熟悉。
- 解決方法 :現學現用,孰能生巧,後面查閱博客解決了
- 221600435
- 困難:在與組員討論數據處理時對正則表達式不夠熟悉。
- 解決方法 :經過百度以及討論最後得出正確的式子。
- 馬後炮
- 沒有若是,沒有那麼。
- 若是再來一次重來的機會,那麼我要多學點東西裝會逼。
- 若是還有一次重來的機會,那麼我必定好好學習代碼。
- 若是時間利用更高效的話,整合對接功能就不會那麼倉促了。
221600432 |
邱志勇 |
整合項目的測試、對項目進行整合處理、文件數據處理代碼討論 |
0.14 |
041602421 |
翁昊 |
文件的讀取塊的代碼編寫、文件數據的處理 |
0.13 |
221600225 |
林鵬飛 |
過濾算法設計與開發、過濾算法的測試文件、數據處理代碼討論 |
0.15 |
221600424 |
林濱偉 |
抽獎算法設計與開發、抽獎算法的測試、附加功能的設計與實現 |
0.20 |
221600431 |
歐福源 |
項目GUI界面設計、隨筆編寫 |
0.13 |
221600434 |
吳何 |
項目GUI界面設計 |
0.13 |
221600435 |
徐炳南 |
隨筆編寫、文件數據處理代碼,測試代碼 |
0.12 |
PSP表格
Planning |
計劃 |
|
|
- Estimate |
估計這個任務須要多少時間 |
330 |
265 |
Development |
開發 |
|
|
- Analysis |
需求分析 (包括學習新技術) |
40 |
30 |
- Design Spec |
生成設計文檔 |
15 |
15 |
- Design Review |
設計複審 |
20 |
15 |
- Coding Standard |
代碼規範 (爲目前的開發制定合適的規範) |
35 |
20 |
- Design |
具體設計 |
15 |
10 |
- Coding |
具體編碼 |
100 |
80 |
- Code Review |
代碼複審 |
20 |
15 |
- Test |
測試(自我測試,修改代碼,提交修改) |
50 |
45 |
Reporting |
報告 |
|
|
- Test Report |
測試報告 |
15 |
15 |
- Size Measurement |
計算工做量 |
10 |
5 |
- Postmortem & Process Improvement Plan |
過後總結, 並提出過程改進計劃 |
10 |
15 |
|
合計 |
330 |
265 |
Planning |
計劃 |
|
|
- Estimate |
估計這個任務須要多少時間 |
360 |
280 |
Development |
開發 |
|
|
- Analysis |
需求分析 (包括學習新技術) |
50 |
40 |
- Design Spec |
生成設計文檔 |
25 |
15 |
- Design Review |
設計複審 |
20 |
15 |
- Coding Standard |
代碼規範 (爲目前的開發制定合適的規範) |
35 |
20 |
- Design |
具體設計 |
15 |
10 |
- Coding |
具體編碼 |
90 |
80 |
- Code Review |
代碼複審 |
20 |
15 |
- Test |
測試(自我測試,修改代碼,提交修改) |
55 |
45 |
Reporting |
報告 |
|
|
- Test Report |
測試報告 |
20 |
15 |
- Size Measurement |
計算工做量 |
10 |
5 |
- Postmortem & Process Improvement Plan |
過後總結, 並提出過程改進計劃 |
15 |
15 |
|
合計 |
355 |
275 |
Planning |
計劃 |
|
|
- Estimate |
估計這個任務須要多少時間 |
365 |
285 |
Development |
開發 |
|
|
- Analysis |
需求分析 (包括學習新技術) |
55 |
40 |
- Design Spec |
生成設計文檔 |
20 |
15 |
- Design Review |
設計複審 |
25 |
20 |
- Coding Standard |
代碼規範 (爲目前的開發制定合適的規範) |
40 |
25 |
- Design |
具體設計 |
15 |
10 |
- Coding |
具體編碼 |
95 |
80 |
- Code Review |
代碼複審 |
15 |
15 |
- Test |
測試(自我測試,修改代碼,提交修改) |
60 |
50 |
Reporting |
報告 |
|
|
- Test Report |
測試報告 |
25 |
15 |
- Size Measurement |
計算工做量 |
5 |
5 |
- Postmortem & Process Improvement Plan |
過後總結, 並提出過程改進計劃 |
10 |
10 |
|
合計 |
365 |
285 |
Planning |
計劃 |
|
|
- Estimate |
估計這個任務須要多少時間 |
325 |
260 |
Development |
開發 |
|
|
- Analysis |
需求分析 (包括學習新技術) |
40 |
30 |
- Design Spec |
生成設計文檔 |
20 |
20 |
- Design Review |
設計複審 |
15 |
10 |
- Coding Standard |
代碼規範 (爲目前的開發制定合適的規範) |
35 |
30 |
- Design |
具體設計 |
20 |
15 |
- Coding |
具體編碼 |
100 |
85 |
- Code Review |
代碼複審 |
20 |
15 |
- Test |
測試(自我測試,修改代碼,提交修改) |
40 |
25 |
Reporting |
報告 |
|
|
- Test Report |
測試報告 |
20 |
15 |
- Size Measurement |
計算工做量 |
5 |
5 |
- Postmortem & Process Improvement Plan |
過後總結, 並提出過程改進計劃 |
10 |
10 |
|
合計 |
325 |
260 |
Planning |
計劃 |
|
|
- Estimate |
估計這個任務須要多少時間 |
345 |
260 |
Development |
開發 |
|
|
- Analysis |
需求分析 (包括學習新技術) |
50 |
40 |
- Design Spec |
生成設計文檔 |
30 |
20 |
- Design Review |
設計複審 |
20 |
10 |
- Coding Standard |
代碼規範 (爲目前的開發制定合適的規範) |
45 |
30 |
- Design |
具體設計 |
25 |
15 |
- Coding |
具體編碼 |
80 |
75 |
- Code Review |
代碼複審 |
25 |
15 |
- Test |
測試(自我測試,修改代碼,提交修改) |
35 |
25 |
Reporting |
報告 |
|
|
- Test Report |
測試報告 |
20 |
15 |
- Size Measurement |
計算工做量 |
5 |
5 |
- Postmortem & Process Improvement Plan |
過後總結, 並提出過程改進計劃 |
10 |
10 |
|
合計 |
345 |
260 |
Planning |
計劃 |
|
|
- Estimate |
估計這個任務須要多少時間 |
325 |
280 |
Development |
開發 |
|
|
- Analysis |
需求分析 (包括學習新技術) |
35 |
40 |
- Design Spec |
生成設計文檔 |
20 |
20 |
- Design Review |
設計複審 |
30 |
15 |
- Coding Standard |
代碼規範 (爲目前的開發制定合適的規範) |
40 |
35 |
- Design |
具體設計 |
25 |
15 |
- Coding |
具體編碼 |
90 |
80 |
- Code Review |
代碼複審 |
30 |
20 |
- Test |
測試(自我測試,修改代碼,提交修改) |
25 |
25 |
Reporting |
報告 |
|
|
- Test Report |
測試報告 |
15 |
15 |
- Size Measurement |
計算工做量 |
5 |
5 |
- Postmortem & Process Improvement Plan |
過後總結, 並提出過程改進計劃 |
10 |
10 |
|
合計 |
325 |
280 |
Planning |
計劃 |
|
|
- Estimate |
估計這個任務須要多少時間 |
325 |
245 |
Development |
開發 |
|
|
- Analysis |
需求分析 (包括學習新技術) |
30 |
25 |
- Design Spec |
生成設計文檔 |
15 |
10 |
- Design Review |
設計複審 |
20 |
20 |
- Coding Standard |
代碼規範 (爲目前的開發制定合適的規範) |
30 |
20 |
- Design |
具體設計 |
15 |
10 |
- Coding |
具體編碼 |
90 |
65 |
- Code Review |
代碼複審 |
30 |
15 |
- Test |
測試(自我測試,修改代碼,提交修改) |
60 |
45 |
Reporting |
報告 |
|
|
- Test Report |
測試報告 |
15 |
15 |
- Size Measurement |
計算工做量 |
10 |
5 |
- Postmortem & Process Improvement Plan |
過後總結, 並提出過程改進計劃 |
10 |
15 |
|
合計 |
325 |
245 |