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

  • 值得一看的補充版本演示視頻
    • 軟工錦鯉在這里
  • 程序版本鏈接及說明
    • 按時提交版本
      • 以基礎功能為主
      • github鏈接:first version
      • 測試環境說明
        • 本程序在python 3.6以上環境下運行
      • 操作說明:
        • 鍵入抽獎關鍵詞,支持:#我要紅包#或“我要換組“或”我支持調課“
        • 鍵入抽獎關鍵詞后,必須按回車向后臺提交關鍵詞
        • 選擇或鍵入抽獎時段
        • 點擊”抽獎“按鈕,開始抽獎
        • 點擊”停止“按鈕,抽獎完成
        • 獲得抽獎名單
    • 超時完善版本
      • 在基礎功能基礎上,完善并整合了附加功能
      • github鏈接:final version
      • 測試環境說明
        • 本程序在python 3.6以上環境下運行
        • 同時需要安裝配置以下內容:
          • jieba分詞
          • WordCloud詞云包
        • 附上安裝教程博客鏈接:
          • jieba分詞安裝:https://www.cnblogs.com/houjun/p/8513108.html
          • WordCloud詞云包安裝:https://www.cnblogs.com/hanyu258/p/7966657.html
      • 操作說明:
        • 鍵入抽獎關鍵詞,支持:#我要紅包#或“我要換組“或”我支持調課“
        • 鍵入抽獎關鍵詞后,必須按回車向后臺提交關鍵詞
        • 選擇或鍵入抽獎時段
        • 點擊”抽獎“按鈕,開始抽獎
        • 點擊”停止“按鈕,抽獎完成
        • 獲得抽獎名單,并輸出數據分析圖
  • 組員職責分工
    • 后敬甲(組長):文案設計、現場協調、進度跟進
    • 葛亮:原型界面設計
    • 黃澤:GUI界面制作
    • 婧茹:附加功能設計
    • 劉浩:GUI界面制作
    • 澤明:隨機算法設計+篩選算法設計
    • 文斌:附加功能設計
  • github 的提交日志截圖
    1471830-20181118212151924-504915212.png
  • 程序運行截圖
    1471830-20181118230744943-2127307823.png

  • 程序運行環境

    python 3.6.2

  • GUI界面
    1471830-20181118230908202-1981429707.png

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

成員分工貢獻比
敬甲進度協調+需求分析+博客、文案撰寫13
葛亮界面原型設計12
黃澤界面制作14
靖茹附加功能實現12
澤明隨機算法實現+篩選算法實現17
文斌附加功能實現15
劉浩界面制作+代碼分工17
  • 以下部分計入個人得分:
    • PSP表格(個人獨立發布)(1分)
    • 學習進度表(個人獨立發布)(1分)
  • PSP表格
PSPPersonal Software Process Stages預估耗時(分鐘)實際耗時(分鐘)
Planning計劃3045
?Estimate估計這個任務需要多少時間130120
Development開發200300
?Analysis需求分析 (包括學習新技術)2030
?Design Spec?生成設計文檔00
?Design Review?設計復審00
?Coding Standard?代碼規范(為目前的開發制定合適的規范)00
?Design具體設計3030
?Coding具體編碼00
?Code Review代碼復審00
?Test?測試(自我測試,修改代碼,提交修改)00
Reporting報告00
?Test Repor?測試報告00
?Size Measurement?計算工作量2030
?Postmortem & Process Improvement Plan?事后總結, 并提出過程改進計劃3015
合計500450

學習進度條

第N周新增代碼(行)累計代碼(行)本周學習耗時(小時)累計學習耗時(小時)重要成長
150050025251熟悉了c++有關vector,map用法 2學習了正則表達式 3學習了狀態轉換圖和有窮自動機
250550833看了有關軟件的使用,原型模型以及構建之法
360013504881修煉心性,debug能力有提升,心理素質加強= =
901350586感覺這周過于松弛= =,后面要狠

轉載于:https://www.cnblogs.com/yizhigu/p/9980230.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253006.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253006.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253006.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeakCanary——直白的展現Android中的內存泄露

之前碰到的OOM問題,終于很直白的呈現在我的眼前:我嘗試了MAT,但是發現不怎么會用。直到今天終于發現了這個新工具: 當我們的App中存在內存泄露時會在通知欄彈出通知: 當點擊該通知時,會跳轉到具體的頁面&am…

老司機做VR視頻,需要什么樣的全景相機?

做為一個在全景內容領域摸爬滾打一年有余的老司機,經歷了太多的坑。最近有不少朋友轉行進入這個領域,問我買什么樣的相機好。我現在項目太多,根本沒空詳盡解答。所以寫下這篇文章,不懂得自己看吧。 說白了,買什么樣子…

域乎曹勝虎:傳統互聯網“生病”了

11月17日,2018(第12屆)創業周暨全球創業周中國站在上海盛大召開,由上海域乎信息技術有限公司(以下簡稱“域乎”)承辦的區塊鏈專場論壇——《區塊鏈產業應用賦能精英論壇》成功舉辦,吸引了眾多業…

xml的方式配置AOP:Aspect Oriented Programming

在某些類中, 什么時機, 做什么事情 切入點(point-cut): 在某些類中(Class<?>[] itfc new Class<?>[] { IStudentService.class }) 通知: 什么時機, 做什么事情(InvocationHandler的invoke方法) 切面: 切入點 通知 織入(weaver): Proxy.newProxyInstance: 把切入…

[No0000112]ComputerInfo,C#獲取計算機信息(cpu使用率,內存占用率,硬盤,網絡信息)...

github地址&#xff1a;https://github.com/charygao/SmsComputerMonitor 軟件用于實時監控當前系統資源等情況&#xff0c;并調用接口&#xff0c;當資源被超額占用時&#xff0c;發送警報到個人手機&#xff1b;界面模擬Console的顯示方式&#xff0c;信息緩沖大小由配置決定…

I2C總線之(一)---概述

概述&#xff1a;IC 是Inter-Integrated Circuit的縮寫&#xff0c;發音為"eye-squared cee" or "eye-two-cee" , 它是一種兩線接口。 IC 只是用兩條雙向的線&#xff0c;一條 Serial Data Line (SDA) &#xff0c;另一條Serial Clock (SCL)。 SCL&#xf…

js中級(1)

動畫(1) Css樣式提供了運動 過渡的屬性transition 從一種情況到另一種情況叫過渡 Transition:attr time linear delay&#xff1b; Attr 是變化的屬性 Time 是花費的時間 Linear 變化的速度 Delay 是延遲 復習background:url() no-repeat 50% 50% red; Background-image Ba…

I2C總線之(二)---時序

一、協議 1.空閑狀態 I2C總線總線的SDA和SCL兩條信號線同時處于高電平時&#xff0c;規定為總線的空閑狀態。此時各個器件的輸出級場效應管均處在截止狀態&#xff0c;即釋放總線&#xff0c;由兩條信號線各自的上拉電阻把電平拉高。 2.起始位與停止位的定義&#xff1a; 起始信…

微信小程序設置底部導航欄目方法

微信小程序底部想要有一個漂亮的導航欄目&#xff0c;不知道怎么制作&#xff0c;于是百度找到了本篇文章&#xff0c;分享給大家。 好了 小程序的頭部標題 設置好了&#xff0c;我們來說說底部導航欄是如何實現的。 我們先來看個效果圖 這里&#xff0c;我們添加了三個導航圖標…

HTTP協議(3)瀏覽器的使用之查看源碼

在做CTF的Web類題目時&#xff0c;推薦使用Firefox瀏覽器。下面介紹一些在解題過程中關于瀏覽器的常用技巧。首先就是查看源碼。在做Web題目時&#xff0c;經常需要查看網站源碼&#xff0c;有的flag直接就藏在源碼中&#xff0c;有些題目則是在源碼中給出提示和線索&#xff0…

Autofac IoC容器基本使用步驟【1】

原文&#xff1a;http://www.bkjia.com/Asp_Netjc/888119.html 【原文中有一個地方報錯&#xff0c;下面已修改】 一.基本步驟: 1.設計適合控制反轉(IoC)的應用程序 2.給應用程序Autofac 引用. 3.注冊組件. 4.創建一個Container以備后用. 5.從Container創建一個 lifetime scop…

I2C總線之(三)---以C語言理解IIC

為了加深對I2C總線的理解&#xff0c;用C語言模擬IIC總線&#xff0c;邊看源代碼邊讀波形&#xff1a; 如下圖所示的寫操作的時序圖&#xff1a; 讀時序的理解同理。對于時序不理解的朋友請參考“I2C總線之(二)---時序” 完整的程序如下&#xff1a; #include<reg51.h>…

結對編程總結

這個項目我和我的結對伙伴共花了兩個月時間&#xff0c;之所以選這個項目&#xff0c;因為我們之前都學習過Python&#xff0c;也做過類似的程序&#xff0c;相比較其他項目而言&#xff0c;這個項目更合適&#xff0c;也讓我們對詞頻統計方面的知識加深了了解。寫這個程序我們…

JavaScript初學者必看“new”

2019獨角獸企業重金招聘Python工程師標準>>> 譯者按: 本文簡單的介紹了new, 更多的是介紹原型(prototype)&#xff0c;值得一讀。 原文: JavaScript For Beginners: the ‘new’ operator 譯者: Fundebug 為了保證可讀性&#xff0c;本文采用意譯而非直譯。 <di…

libGDX-wiki發布

為方便大家學習和訪問&#xff0c;我將libgdx的wiki爬取到doku-wiki下&#xff0c;專門建立了以下地址。歡迎大家來共同完善。 http://wiki.v5ent.com 轉載于:https://www.cnblogs.com/mignet/p/ligbdx_wiki.html

I2C讀寫時序

1. I2C寫時序圖&#xff1a; 注意&#xff1a;最后一個byte后&#xff0c;結束標志在第十個CLK上升沿之后&#xff1a; 2. I2C讀時序圖&#xff1a; 注意&#xff1a;restart信號格式&#xff1b;讀操作結束前最后一組clk的最后一個上升沿&#xff0c;主機應發送NACK&#xff0…

網站性能優化

基本概念 1、網站吞吐量&#xff1a;TPS/每秒的事務數&#xff0c;QPS/每秒的查詢數&#xff0c;HPS/每秒的HTTP請求數 2、服務器性能指標&#xff1a;系統負載&#xff0c;內存使用&#xff0c;CPU使用&#xff0c;磁盤使用以及網絡I/O等 前端優化方法 1、減少HTTP請求&#x…

JAVA-容器(2)-Collection

&#xff08;基于JDK1.8源碼分析&#xff09; 一&#xff0c;Collection 所有實現Collection接口的類原則上應該提供兩種構造函數&#xff1a; 【1】無參構造-創建一個空的容器 【2】有參構造-創建一個新的Collection&#xff0c;這個新的Collection和傳入的Collection具有相同…

軟件測試工具LoadRunner中如何定義SLA?--轉載

軟件測試工具LoadRunner中如何定義SLA&#xff1f; 瀏覽&#xff1a;2242|更新&#xff1a;2017-04-09 22:50SLA 是您為負載測試場景定義的具體目標。Analysis 將這些目標與軟件測試工具LoadRunner在運行過程中收集和存儲的性能相關數據進行比較&#xff0c;然后確定目標的 SLA…