團隊現場編程實戰(抽獎系統)

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

組長博客連接html

本次做業連接前端

隊員職責分工

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

github 的提交日誌截圖

程序運行截圖

因爲咱們對pyqt的不熟悉,最終未能開發出可用的GUI(沒整合到一塊兒)。但有較爲簡陋的版本做爲備選方案。咱們開發出瞭如下功能:python

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

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

  • 抽獎活動建立頁面算法

  • 彈窗式三頁面切換功能sql

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

  • 基於對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語句的傳參問題
  • 加偉

    • 困難:
      • 作數據庫接口的函數時,若須要返回數據庫中的值,會形成返回值與關閉數據庫鏈接的衝突。
      • 在接口中直接傳參數會出現問題。
      • 作數據庫的時候不清楚前端的須要,致使對接的時候須要作較大更改。
    • 解決:
      • 返回值是sqlite3類,他在關閉數據庫鏈接後就不存在了。所以要把它存成其餘形式保存。
      • 須要用到佔位符‘ ?’傳入的參數記得後面加+
      • 屢次討論後獲得解決

馬後炮

  • 俊彥:若是往前推幾天,那麼我會多放一些時間來進行PyQt的學習
  • 李翔:若是沒有此次現場編程開發,那麼我就職然菜的安詳
  • 愈明:若是再給我一次機會,我必定不會選擇進實驗班orz
  • 文婧:若是能夠回到過去,那麼我必定邊看教程邊動手
  • 韞月:沒有馬後炮,一切都是本身太菜了
  • 張揚:若是能夠重來,我想從新考慮一下要不要選這門課
  • 全炯:之前我沒得選,但如今仍是沒得選。世上一切都會遲到,只有軟工實踐如期而來

我的貢獻分分配

通過計算後的我的貢獻分

我的部分

我的PSP

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

學習進度條

第N周 新增代碼(行) 累計代碼(行) 本週學習耗時(小時) 累計學習耗時(小時) 重要成長
1 900 900 40 40 複習了C++ Primer Plus,學習單元測試等代碼分析方法
2 0 900 6 46 學習《構建之法》3~8章,學習使用Axure、Min構建原型和導圖
3 1000 1900 30 76 學習C++實現爬蟲,複習python實現爬蟲
4 0 1900 40 116 學習itchat等語聊機器人API的使用
5 0 1900 8 124 研究itchat的源代碼,趕第六次做業(此次時間安排不太合理)
6~9 0 1900 0 124 光顧着作原型設計了
10 300 2200 20 144 學習了pyqt,研究sqlite
11 627 2527 10 164 學習pyqt
相關文章
相關標籤/搜索