課程 | 軟件工程1916|W(福州大學) |
---|---|
團隊名稱 | 修!咻咻! |
做業要求 | 團隊做業第六次—團隊Github實戰訓練 |
團隊目標 | 搭建一個相對公平公正的抽獎系統,根據QQ聊天記錄,完成從統計參與抽獎人員頒佈抽獎結果的基本流程。 |
git項目 | https://github.com/huangquanhuan/live-project |
開發工具 | Vistual Studio |
隊員學號 | 隊員姓名 | 我的博客地址 | git地址 |
221600126 | 劉忠燏 | http://www.cnblogs.com/Downstream-1998/ | https://github.com/Downstream1998 |
221600207 | 黃權煥 | https://www.cnblogs.com/hyry/ | https://github.com/huangquanhuan |
221600328 | 蘇明輝 | https://www.cnblogs.com/ahuigg/ | https://github.com/398315418 |
221600330 | 吳可強 | https://www.cnblogs.com/masgak/ | https://github.com/masgak |
221600331 | 向鵬 | https://www.cnblogs.com/xiang-peng/ | https://github.com/Snug-XP |
隊員學號 | 隊員姓名 | 分工 | 貢獻度 |
221600126 | 劉忠燏 | 對數據的結構化處理,編寫活動類和活動管理類 | 20 |
221600207 | 黃權煥 | 圖形界面編輯,獎勵類的編寫,全部類與頁面的交互和最終成品的調試改bug | 22 |
221600328 | 蘇明輝 | 編寫博客,抽獎類的編寫 | 18 |
221600330 | 吳可強 | 附加做業的編寫,博客編寫 | 19 |
221600331 | 向鵬 | 人員類、管理人員類的編寫,抽獎類的修正,最終成品的調試改bug | 21 |
一、設置活動管理
html
二、導入聊天記錄
前端
三、運行結果
python
核心算法介紹:git
此方法決定了獎項歸屬於那一部分人羣(高活躍度或低活躍度),最後在這我的羣中選擇一位做爲獲獎者。github
熱度隨月份變化的條形圖,對聊天數據進行正則匹配,將統計完的數據存儲到列表中,使用plt繪畫出相應圖形
正則表達式
熱度在一天的時間段內變化圖,分析聊天記錄中有關小時的數據存入excel文件中,再由excel文件使用plt繪畫出相應圖形
算法
經過對聊天記錄的分析,能夠看出該羣一天中活躍度比較高的時間段是早晨九點多,晚上十一二點達到活躍度達到最高。從月份活躍度上也能夠看出,在放假期間(二月與七八月)活躍度達到低點,開學後逐漸回升。從詞雲上也能夠看到有四六級,考研,二手,電動車等與大學生密切相關的詞語,由此也能夠明顯感覺到互聯網大數據與咱們我的息息相關。express
使用黑名單機制,活動更加爲所欲爲編程
自定義獎勵數目、名稱、獎品、人數,一切盡在掌握c#
使用活躍度計算抽獎資格。活躍度低於多少就喪失抽獎資格,並對於特殊身份以及惡意刷屏者都作了限制,例若有人之前正常發言,抽獎時惡意刷屏這樣只會下降該活躍度而不是直接拉入黑名單。
監測刷屏的淘汰算法。
保留最近五次不重複發言的hashcode值爲<鍵,值>數組a。初始Map a[5] = {-1,-1};新發言的值進行兩次數組遍歷。第一次遍歷:監測hashcode是否重複,若重複將hashcode對應值+1,若不然進入第二次循環:監測是否有空位置,如有則插入,若無則將遍歷到的最後一個位置((進入位置-1)mod 5)進行數據替換。使用靜態變量保留每次最新訪問的下標,且逢5歸0。值知足條件時按算法一進行處理。
Regex KeywordRegex = new Regex( @"#(?<code>[^\\#|.]+)#", RegexOptions.Compiled, TimeSpan.FromMilliseconds(200) );
對vs以及git操做不熟悉
因爲平時不多使用git與vs編程,在同步與拉取遠程倉庫時常常失敗並且根本不知道問題出在哪裏,再加上沒有學習過c#,對相關操做不熟悉,編寫相應列表與類時,在無限循環的嘗試過程當中浪費了大量時間。
python中文件格式錯誤
由於只要掌握了pil的使用,製做相應海報應該是很容易的事情。可是控制檯時不時爆出的 Non-UTF-8 code starting with '\xbd' in file
錯誤確實讓人頭大。畫圖與打印海報也會出現中文亂碼問題,之前不多對文本進行操做因此這種問題仍是第一次碰到,嘗試了開頭加上 # -- coding:utf-8 --與gbk的聲明,以及使用特定的編碼方式打開,但都不行。
對python不經常使用庫不瞭解,例如jieba、imageio等,只知道中文分隔須要這個東西,但不知道爲何須要,也不知道工做原理是什麼。以致於真正須要使用時無法直接拿來用,而是用了其餘更復雜效率更低的方法。
- 解決方法
多找資料和git手冊,熟悉使用vs對git進行操做,並向隊友學習了好幾回。
最後發現亂碼並非編碼問題,而是因爲使用了外國字體,文字打印上去時字體出錯。更改了文件編碼方式與中文字體才解決問題。
參考官方源碼以及其餘人的博客介紹,瞭解它包括哪些函數與函數的做用,弄明白了才知道怎麼用
黃權煥:若是時間長一點,那麼我還有不少idea能夠實現呢
劉忠燏:若是咱們在進機房前,把準備工做作得再充分一點,那麼就不會把時間浪費在配置環境上,編寫類的時候也不會出現功能模糊不清的狀況。
蘇明輝:若是時間能再多一點協調溝通,那麼咱們將作得更好。
向鵬:若是能拿到相關教程,學習一段時間,那麼咱們就不會感受很慌張
吳可強:若是我能力強一些,那麼個人團隊就能夠更快更完美的完成這項項目。
1.黃權煥
PSP2.1 | Pesonal SoftWare Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 30 | 40 |
Estimate | 估計這個任務須要多少時間 | 10 | 10 |
Development | 開發 | 60 | 120 |
Analysis | 需求分析(包括學習新技術) | 120 | 130 |
Design Spec | 生成設計文檔 | 30 | 40 |
Design Review | 設計複審 | 20 | 30 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 0 | 0 |
Design | 具體設計 | 230 | 300 |
Coding | 具體編碼 | 450 | 600 |
Code Review | 代碼複審 | 0 | 0 |
Test | 測試(自我測試,修改代碼,提交修改) | 60 | 70 |
Reporting | 報告 | 100 | 120 |
Test Report | 測試報告 | 20 | 25 |
Size Measurement | 計算工做量 | 10 | 10 |
Postmortem&Process Improvement Plan | 過後總結,並提出過程改進計劃 | 30 | 30 |
合計 | 1180 | 1525 |
2.劉忠燏
PSP2.1 | Pesonal SoftWare Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 20 | 30 |
Estimate | 估計這個任務須要多少時間 | 20 | 30 |
Development | 開發 | 700 | 760 |
Analysis | 需求分析(包括學習新技術) | 40 | 100 |
Design Spec | 生成設計文檔 | 20 | |
Design Review | 設計複審 | 20 | 20 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 10 | |
Design | 具體設計 | 50 | |
Coding | 具體編碼 | 500 | 555 |
Code Review | 代碼複審 | 30 | 15 |
Test | 測試(自我測試,修改代碼,提交修改) | 30 | 70 |
Reporting | 報告 | 35 | 45 |
Test Report | 測試報告 | 10 | 10 |
Size Measurement | 計算工做量 | 15 | 15 |
Postmortem&Process Improvement Plan | 過後總結,並提出過程改進計劃 | 10 | 20 |
合計 | 760 | 810 |
3.蘇明輝
PSP2.1 | Pesonal SoftWare Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 60 | 100 |
Estimate | 估計這個任務須要多少時間 | 10 | 10 |
Development | 開發 | 200 | 210 |
Analysis | 需求分析(包括學習新技術) | 120 | 130 |
Design Spec | 生成設計文檔 | 30 | 40 |
Design Review | 設計複審 | 20 | 30 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 0 | 0 |
Design | 具體設計 | 220 | 360 |
Coding | 具體編碼 | 200 | 200 |
Code Review | 代碼複審 | 0 | 0 |
Test | 測試(自我測試,修改代碼,提交修改) | 60 | 70 |
Reporting | 報告 | 100 | 120 |
Test Report | 測試報告 | 20 | 25 |
Size Measurement | 計算工做量 | 10 | 10 |
Postmortem&Process Improvement Plan | 過後總結,並提出過程改進計劃 | 30 | 30 |
合計 | 1080 | 1325 |
4.向鵬
PSP2.1 | Pesonal SoftWare Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 120 | 170 |
Estimate | 估計這個任務須要多少時間 | 10 | 10 |
Development | 開發 | ||
Analysis | 需求分析(包括學習新技術) | 120 | 130 |
Design Spec | 生成設計文檔 | 30 | 40 |
Design Review | 設計複審 | 20 | 40 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 0 | 0 |
Design | 具體設計 | 160 | 200 |
Coding | 具體編碼 | 450 | 550 |
Code Review | 代碼複審 | 0 | 0 |
Test | 測試(自我測試,修改代碼,提交修改) | 20 | 30 |
Reporting | 報告 | 30 | 40 |
Test Report | 測試報告 | 20 | 25 |
Size Measurement | 計算工做量 | 10 | 10 |
Postmortem&Process Improvement Plan | 過後總結,並提出過程改進計劃 | 30 | 30 |
合計 | 1170 | 1275 |
5.吳可強
PSP2.1 | Pesonal SoftWare Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 30 | 40 |
Estimate | 估計這個任務須要多少時間 | 10 | 10 |
Development | 開發 | ||
Analysis | 需求分析(包括學習新技術) | 120 | 130 |
Design Spec | 生成設計文檔 | 30 | 40 |
Design Review | 設計複審 | 20 | 30 |
Coding Standard | 代碼規範(爲目前的開發制定合適的規範) | 0 | 0 |
Design | 具體設計 | 420 | 560 |
Coding | 具體編碼 | 300 | 320 |
Code Review | 代碼複審 | 0 | 0 |
Test | 測試(自我測試,修改代碼,提交修改) | 60 | 70 |
Reporting | 報告 | 100 | 120 |
Test Report | 測試報告 | 20 | 25 |
Size Measurement | 計算工做量 | 10 | 10 |
Postmortem&Process Improvement Plan | 過後總結,並提出過程改進計劃 | 30 | 30 |
合計 | 1150 | 1385 |