團隊現場編程

  • 值得一看的補充版本演示視頻
  • 程序版本連接及說明
    • 按時提交版本
      • 以基礎功能爲主
      • github連接:first version
      • 測試環境說明
        • 本程序在python 3.6以上環境下運行
      • 操做說明:
        • 鍵入抽獎關鍵詞,支持:#我要紅包#或「我要換組「或」我支持調課「
        • 鍵入抽獎關鍵詞後,必須按回車向後臺提交關鍵詞
        • 選擇或鍵入抽獎時段
        • 點擊」抽獎「按鈕,開始抽獎
        • 點擊」中止「按鈕,抽獎完成
        • 得到抽獎名單
    • 超時完善版本
      • 在基礎功能基礎上,完善並整合了附加功能
      • github連接:final version
      • 測試環境說明
      • 操做說明:
        • 鍵入抽獎關鍵詞,支持:#我要紅包#或「我要換組「或」我支持調課「
        • 鍵入抽獎關鍵詞後,必須按回車向後臺提交關鍵詞
        • 選擇或鍵入抽獎時段
        • 點擊」抽獎「按鈕,開始抽獎
        • 點擊」中止「按鈕,抽獎完成
        • 得到抽獎名單,並輸出數據分析圖
  • 組員職責分工
    • 後敬甲(組長):文案設計、現場協調、進度跟進
    • 葛亮:原型界面設計
    • 黃澤:GUI界面製做
    • 婧茹:附加功能設計
    • 劉浩:GUI界面製做
    • 澤明:隨機算法設計+篩選算法設計
    • 文斌:附加功能設計
  • github 的提交日誌截圖
  • 程序運行截圖
    html

  • 程序運行環境前端

    python 3.6.2python

  • GUI界面
    c++

  • 基礎功能實現
    • 實現了抽獎資格的篩選,算法分爲如下幾回篩選:
      • 刪除掉不含抽獎關鍵詞的發言記錄(包括空記錄發言)
      • 刪除掉包含抽獎關鍵詞的系統發言記錄
      • 刪除不在抽獎時間段內的發言記錄
      • 統計發言頻率,刪除發言次數低於必定數量的同窗的發言記錄
    • 隨機抽取算法
      • 首先隨機從1-20之間隨機生成兩個數a,b
      • 定義函數變換:如a*b,a^b,e^ab。這再對這兩個數a,b機型隨機函數變換。重複n次,最後的值可能大於QQ號數,因此對所取到的值取餘。對應文本處理中返回的set的n個下標元素(即qq號)。取過的qq號就從set中刪除,避免重複。
  • 附加功能實現
    • 在提交版本中,未完成完整的附加功能;
    • 在以後完善的版本中,完成了如下數據分析功能:
      • 按時間對聊天記錄進行分析,生成羣聊活躍度分析圖
      • 對聊天內容進行分析,隨機生成羣聊詞彙雲圖
      • 結果如圖:
  • 遇到的困難及解決方法
    • 後敬甲
      • 困難:在最初開始的時候,編程語言沒有統一好,沒有很仔細地考慮整合代碼的問題,致使最後的算法沒法整合,早上的工做不少都打了水漂。
      • 解決方法:是本身的問題,須要好好反思,在實踐課結束之後,和你們留下來開會,冷靜下來,從新定了方案。通過了半個下午+整個晚上的團隊編程,有了最後的結果!你們一塊兒努力的感受很棒,在此感謝各位隊友!
    • 葛亮
      • 困難:原型設計在溝通上出了問題,實際使用的圖片和界面的尺寸、圖標位置發生了些衝突。
      • 解決方案:經過耐心地和隊友溝通,修改了原型和圖片的尺寸,使圖片和界面相契合。
    • 黃澤
      • 困難:以前沒有接觸過Python Tkinter,現學現賣存在困難。
      • 解決方案:跟着教程走,剛就完事兒了!
    • 婧茹
      • 困難:以前沒有接觸過Python算法,對數據分析不熟悉。
      • 解決方案:不會就百度,百度不了就請教文斌小哥哥~
    • 劉浩
      • 困難:對前端的工做不夠熟悉,在這次編程以前僅僅停留在初步瞭解的階段,作起來不太順手。
      • 解決方案:瘋狂baidu+瘋狂調試
    • 澤明
      • 困難:算法需求須要多層次劃分,文本中QQ暱稱和抽獎時間段限制很差作。
      • 解決方案:算法對文本進行相似於流水線處理,QQ暱稱難以處理,由於時間限制,只能很遺憾地選擇不處理暱稱,用QQ號來代替。
    • 文斌
      • 困難:自動分享的功能,能夠作到自動發送文本消息給我的QQ,但沒法作到發送生成的圖片給QQ羣。
      • 解決方案:選擇放棄了這個功能,選擇新的功能:對獲獎名單生成數據雲圖和分析羣聊活躍度。
  • 團隊做業貢獻比git

成員 分工 貢獻比
敬甲 進度協調+需求分析+博客、文案撰寫 13
葛亮 界面原型設計 12
黃澤 界面製做 14
靖茹 附加功能實現 12
澤明 隨機算法實現+篩選算法實現 17
文斌 附加功能實現 15
劉浩 界面製做+代碼分工 17
  • PSP表格
PSP Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 40 60
•Estimate •估計這個任務須要多少時間 300 900
Development 開發 250 800
•Analysis •需求分析 (包括學習新技術) 150 200
•Design Spec •生成設計文檔 30 20
•Design Review •設計複審 0 0
•Coding Standard •代碼規範(爲目前的開發制定合適的規範) 30 40
•Design •具體設計 20 30
•Coding •具體編碼 300 700
•Code Review •代碼複審 0 0
•Test •測試(自我測試,修改代碼,提交修改) 30 60
Reporting 報告 0 0
•Test Repor •測試報告 0 0
•Size Measurement •計算工做量 10 20
•Postmortem & Process Improvement Plan •過後總結, 並提出過程改進計劃 30 45
合計 1200
  • 學習進度條
第N周 新增代碼(行) 累計代碼(行) 本週學習耗時(小時) 累計學習耗時(小時) 重要成長
4 0 340 5 25 Leangoo工具學習
5 300 640 15 40 哈希算法、優先隊列、結構體等c++內容複習
8 0 640 10 50 d代碼方面暫無
10 0 640 5 55 Github代碼管理學習、leangoo工具完善
11 100 740 10 65 主要是和團隊編程,學習了些python基礎
相關文章
相關標籤/搜索