1. 程式人生 > >福大軟工1816 · 團隊現場編程實戰(抽獎系統)

福大軟工1816 · 團隊現場編程實戰(抽獎系統)

ror 新技術 report clas 可用 機會 啊啊啊 發出 英文字母

福大軟工1816 · 團隊現場編程實戰(抽獎系統)

隊員職責分工

團隊成員 分工
張揚 預處理算法、抽獎算法、解決其他問題、本次博客撰寫
韞月 "創建抽獎活動"頁面的開發、“已發布”“已結束”等頁面的動態生成
愈明 "創建抽獎活動"頁面的開發、彈窗交互
文婧 "已發布"、"已結束"頁面的開發
地秀 "已發布"、"已結束"頁面的開發
全炯 各個頁面的整合、頁面切換、使用QSS進行美化
俊彥 輔助預處理算法的開發、輔助抽獎算法的設計
李翔 數據庫搭建、數據庫接口設計、Github合並的管理
加偉 數據庫搭建、數據庫接口設計
澤波 隨機算法設計

github 的提交日誌截圖

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

程序運行截圖

由於我們對pyqt的不熟悉,最終未能開發出可用的GUI(沒整合到一起)。我們開發出了以下功能:

  • 帶有權重計算的自適應抽獎算法

    技術分享圖片

    技術分享圖片

  • 對聊天記錄的處理算法(預處理算法)

  • 抽獎活動創建頁面

    技術分享圖片

  • 彈窗式三頁面切換功能

    技術分享圖片

  • 基於中文分詞技術的聊天內容分析並生成詞雲

    技術分享圖片

  • 基於對Smart QQ抓包的實時聊天記錄保存模塊

    技術分享圖片

  • 用於支持抽獎系統的數據庫模塊

    技術分享圖片

  • 簡單的已發布、已結束界面

    技術分享圖片

    程序運行環境

    • Python 3.6
    • 依賴庫PyQt5qqbotjiebawordcloud

GUI界面

  • 初始頁面

    技術分享圖片

  • 創建活動頁面

    技術分享圖片

基礎功能實現

僅實現後臺算法,未實現GUI部分

  • 抽獎算法

    技術分享圖片

    技術分享圖片

附加功能實現

  • 聊天記錄分析並生成詞雲(對某OpenCV圖像處理群聊天記錄的分析結果)

    技術分享圖片

  • QQ聊天記錄自動爬取

    技術分享圖片

    鼓勵有想法且有用的功能

遇到的困難及解決方法

  • 張揚

    • 遇到的困難:團隊對PyQt的不熟悉
    • 解決方法:問題一時間得不到解決,只能說大家的學習程度還不夠,後面要接著學。
  • 文婧

    • 遇到的困難:遇到的最大的困難是對PyQt的不熟悉,沒法用它寫出自己想要的界面。
    • 解決方法:上網搜教程,問隊友,但是最終還是沒辦法解決這個困難,沒能實現自己負責的界面,非常對不起團隊。
  • 韞月

    • 遇到的困難:
      1.從前端到後端的繼承不熟悉
      2.組件的動態生成不熟悉
      3.總之pyqt不熟悉
      4.pycharm的.ui轉.py的功能突然ERROR
    • 解決方法:
      還能怎麽辦,找度娘啊啊啊啊!
      瘋狂找案例,瘋狂搬磚,瘋狂Ctrl+R試運行,瘋狂傳ui文件給隊友再接收py文件
  • 愈明

    • 困難1:最初設計GUI界面時,對產品功能分析不夠明確,導致初版界面邏輯混亂。
      解決方法:通過和隊友討論,更加明確產品功能,重新規劃界面,解決了問題。
    • 困難2:對pyqt具體編程不夠熟悉,導致ui界面設計進展緩慢。
      解決方法:現場學習教程,請教隊友,努力加快進度。
  • 地秀

    • 用pyqt設計界面,但是pyqt不是非常熟練

    解決方法:這是非常難受的一件事情,只好一邊百度一邊做設計

    • UI設計的時候,.ui文件轉成.py文件,要在pycharm安裝插件,但是一直安裝不成功

    解決方法:按照百度的方法,一步一步操作,但是不對,只好一遍一遍重復操作,最後發現是自己粗心,英文字母打錯了,以後可以直接復制就直接復制吧┭┮﹏┭┮

  • 澤波

    • 遇到困難:python使用不熟悉,配置有問題
  • 全炯

    • 困難
      PyQt掌握的情況並不夠好,會和能在短時間內做出來是兩個概念。
      討論和設計必不可少,但要建立在較好掌握的情況下,否則合並的時候會很痛苦
    • 解決
      知恥而後勇,奮力掌握並精通
      更加註重細節
      要學會找輪子
  • 俊彥

    • 困難:
      PyQt掌握不好
    • 解決:
      轉向協助後端代碼的開發
  • 李翔

    • 遇到的困難:數據庫接口需要有返回值時的語句出現問題,SQL語句的傳參問題
  • 加偉

馬後炮

  • 俊彥:如果往前推幾天,那麽我會多放一些時間來進行PyQt的學習
  • 李翔:如果沒有這次現場編程開發,那麽我就任然菜的安詳
  • 愈明:如果再給我一次機會,我一定不會選擇進實驗班orz
  • 文婧:如果可以回到過去,那麽我一定邊看教程邊動手
  • 韞月:沒有馬後炮,一切都是自己太菜了
  • 張揚:如果可以重來,我想重新考慮一下要不要選這門課

PSP表格

個人PSP

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃
· Estimate · 估計這個任務需要多少時間
Development 開發
· Analysis · 需求分析 (包括學習新技術)
· Design Spec · 生成設計文檔
· Design Review · 設計復審
· Coding Standard · 代碼規範 (為目前的開發制定合適的規範)
· Design · 具體設計
· Coding · 具體編碼
· Code Review · 代碼復審
· Test · 測試(自我測試,修改代碼,提交修改)
Reporting 報告
· Test Repor · 測試報告
· Size Measurement · 計算工作量
· Postmortem & Process Improvement Plan · 事後總結, 並提出過程改進計劃
合計

學習進度表

個人學習進度條

第N周 新增代碼(行) 累計代碼(行) 本周學習耗時(小時) 累計學習耗時(小時) 重要成長

福大軟工1816 · 團隊現場編程實戰(抽獎系統)