团队现场编程实战(抽奖系统)

福大软工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
相关文章
相关标签/搜索