福大软工1816 · 团队现场编程实战(抽奖系统)

  • 值得一看的补充版本演示视频
  • 程序版本链接及说明
    • 按时提交版本
      • 以基础功能为主
      • github链接:first version
      • 测试环境说明
        • 本程序在python 3.6以上环境下运行
      • 操作说明:
        • 键入抽奖关键词,支持:#我要红包#或“我要换组“或”我支持调课“
        • 键入抽奖关键词后,必须按回车向后台提交关键词
        • 选择或键入抽奖时段
        • 点击”抽奖“按钮,开始抽奖
        • 点击”停止“按钮,抽奖完成
        • 获得抽奖名单
    • 超时完善版本
      • 在基础功能基础上,完善并整合了附加功能
      • github链接:final version
      • 测试环境说明
      • 操作说明:
        • 键入抽奖关键词,支持:#我要红包#或“我要换组“或”我支持调课“
        • 键入抽奖关键词后,必须按回车向后台提交关键词
        • 选择或键入抽奖时段
        • 点击”抽奖“按钮,开始抽奖
        • 点击”停止“按钮,抽奖完成
        • 获得抽奖名单,并输出数据分析图
  • 组员职责分工
    • 后敬甲(组长):文案设计、现场协调、进度跟进
    • 葛亮:原型界面设计
    • 黄泽: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分)
  • PSP表格
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3045
?Estimate估计这个任务需要多少时间3045
Development开发100120
?Analysis需求分析 (包括学习新技术)2030
?Design Spec?生成设计文档00
?Design Review?设计复审00
?Coding Standard?代码规范(为目前的开发制定合适的规范)00
?Design具体设计3030
?Coding具体编码200300
?Code Review代码复审00
?Test?测试(自我测试,修改代码,提交修改)00
Reporting报告2020
?Test Repor?测试报告1010
?Size Measurement?计算工作量2030
?Postmortem & Process Improvement Plan?事后总结, 并提出过程改进计划3015
合计490550
  • 学习进度表(个人独立发布)(1分)
第N周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
1180124010588学会了Tkinter

转载于:https://www.cnblogs.com/fleur1025/p/9980248.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值