一、组员职责分工及贡献分

学号 成员 分工 贡献分
031602428 苏路明 整合代码,抽奖算法实现部分 12
031602401 陈瀚霖 设计算法、文案 8
031602406 程晓宏 提取抽奖名单 12
031602438 叶一帆 抽奖界面、海报界面 15
031602407 何家健 设计算法、文案 6
031602410 黄海潮 设计算法、文案 8
031602429 王锦扬 原型设计 8
031602442 郑孔宇 撰写博客,思考附加需求(orz 根本没时间实现) 8
031602439 俞凯欣 原型设计 9
031602421 林世杰 用户权重算法设计、实现 14

二、github 的提交日志截图

  • 抽奖系统之拖鞋旅游队

  • 按时完成版本与超时提交版本独立。

  • 超时提交部分

  • 按时提交部分

三、程序运行截图

  • 先按照格式输入时间信息和其他信息
  • 点击抽奖即可生成结果界面
  • 生成文案功能(超时提交)

    四、程序运行环境

  • 程序语言:python
  • 程序运行环境:桌面程序(可在pycharm里直接运行)

五、GUI界面

  • 主界面
  • 获奖名单界面
  • 生成文案界面(超时提交)

六、基础功能实现

  • 过滤算法:
    1.不过滤:对参与抽奖的用户不进行过滤。
    2.普通过滤:对权重低于5的用户进行过滤。
    3.深度过滤:对权重低于10的用户进行过滤。

  • 采用的抽奖算法
    1.根据得出的权重 Value 进⾏行行累加计算得 TotalValue,并根据 key 的个数得出KeyCount.
    2.将每个⼈的 Value 除 TotalValue 得到 T_value(小于 1 的数).
    3.将得到的 T_value(0.02KeyCount))得到 P_Value.
    4.取⼀个 0-1 之间的随机数 Random
    5.Math 的值为 Random*(1-P_Value).
    注:权重越高的用户得到的P_Value值越大,Math值由随机数和P_Value值决定,两者权重五五开,权重越高的用户获奖的几率越高,同时也保证权重相对低的用户也有获奖的机会。

  • 抽奖算法2
    由于时间关系,只实现了由上述算法的抽奖方式,而没有采用分等奖品的抽奖方式,在此就不赘述了。

  • 用户权重计算方法
    1.系统消息用户权重为0,未发言过的用户权重为0。
    2.消息发送得越多的用户权重越高,但是增长也会逐渐降低。
    3.采用用户参与聊天的次数和发言数量结合来产生权重。例如,用户A与用户B发言数量相当,但是用户A只在某一时段参与聊天,而用户B在多个时段参与聊天,用户B的权重有可能会比用户A高。(在本次算法中,来不及实现)

  • 提取某项参与抽奖用户
    1.用户过滤,剔除不在抽奖时段参与抽奖的用户。
    2.用户去重,用户多次发送参与同一抽奖,只占一份名单。

  • 抽奖算法详细文档

七、附加功能实现

  • 自动爬取聊天记录功能:无
  • 对聊天记录进行分析与挖掘:无
  • 获奖名单海报生成,但不能自动分享。
  • 鼓励有想法且有用的功能:文案以海报方式输出。

八、遇到的困难及解决方法

  • 苏路明

    • 遇到的困难和问题:没有极速开发经验,团队技能不一,开发技能不足
    • 解决方法:了解题意,根据队员技能情况分工,开发硬钢
    • 吐槽:有压力才有动力,然而这原本一早上的任务也太重了吧,一早上的课就变成一早上一晚上了,要考试了啊... 原本以为只有一早上,所以求稳选择了python作为团队开发语言,早知道会推迟,肯定选取其他大家都比较有接触过的开发语言呀,导致团队开发力量后期不足。
  • 陈瀚霖

    • 遇到的困难和问题:第一次遇到这种实际应用的功能的算法 有点束手无措。
    • 解决方法:和同学合作解决。
    • 吐槽:都是全新的挑战太累了。
  • 程晓红

    • 遇到的困难和问题:与其他部分的参数传递
    • 解决方法:在算法设计环节主要的解决方法是查阅了网上的算法之后,再和队友一起讨论。在算法设计之初没有严密的定义各部分接口之间传递参数的格式,再后面完善的过程中,算法经历了重构,比较费时。
    • 吐槽:如果对编程的爱多一点点,那么就不会那么难过。
  • 叶一帆

    • 遇到的困难和问题:遇到python tkinter 可视化界面不提供日期控件
    • 解决方法:只好妥协,用其他方式代替达到差不多的效果
    • 吐槽:如果早知道会推迟时间,就做web服务了
  • 何家健

    • 遇到的困难和问题:一开始不知道具体用什么算法来解决有点手足无措。
    • 解决方法:百度看了别人的算法,再加上跟同学讨论。
    • 吐槽:算法基本都大同小异。
  • 黄海潮

    • 遇到的困难和问题:设计抽奖算法的时,不同人数和分等奖品的设计,算法没办法全部适用。
    • 解决方法:关于在qq和微信群的人数得出人数限制,考虑到算法中重新解决设计。
    • 吐槽:实际应用的算法设计,时间不够,考虑不够周全。
  • 王锦扬

    • 遇到的困难和问题:海报以及原型的设计会考虑多种格式,在这方面挺纠结的。
    • 解决方法:经过详细讨论最后选出确定的方案。
    • 吐槽:如果能回到过去,那么我不会选这课了。
  • 郑孔宇

    • 遇到的困难和问题:如何使用python对数据挖掘分析。
    • 解决方法:百度一下啥都有。
    • 吐槽:wordcloud这个库有毒,下载后又说其他库不行,单独调用又可以,而且库下载速度忒慢了,最后还没完成附加功能2部分,只能沦落到写博客,我崩溃了。
  • 俞凯欣

    • 遇到的困难和问题:负责了做获奖海报和抽奖界面的原型设计,图片的分辨率问题传给前端不方便写进GUI界面。
    • 解决方法:用PS改了图片分辨率。
    • 吐槽:如果时间再长一点,那么可能做得更好!
  • 林世杰

    • 遇到的困难和问题:python不熟悉。
    • 解决方法:百度啊。
    • 吐槽:这个游戏太秀了,直接从零开始学习py,语法一堆出错。

九、个人部分

  • 个人PSP表格
PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 40 45
· Estimate · 估计这个任务需要多少时间 40 45
Development 开发 380 450
· Analysis · 需求分析 (包括学习新技术) 30 40
· Design Spec · 生成设计文档 0 0
· Design Review · 设计复审 (和同事审核设计文档) 0 0
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 0 0
· Design · 具体设计 40 90
· Coding · 具体编码 280 280
· Code Review · 代码复审
· Test · 测试(自我测试,修改代码,提交修改) 30 40
Reporting 报告 40 55
· Test Report · 测试报告 20 30
· Size Measurement · 计算工作量 10 15
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 10 10
合计 460
  • 学习进度表
第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
1 300 300 8 8 入门Visual studio的使用(包括单元测试)
2 0 300 6 14 了解正则表达式的使用
3 0 300 10 24 加深掌握了Axure的使用,学会了使用NABCD模型进行需求分析
4 500 800 36 60 加强了python/java爬虫基础,在java代码方面有很大的提升,解除了数据分析和可视化设计
5 0 800 10 70 竞品分析
6 0 800 12 82 UML设计,需求收集
7 0 800 10 92 需求分析,思维导图设计
8 150 950 22 114 团队现场编程,收验团队成果,思考与改善整体架构

转载于:https://www.cnblogs.com/Sulumer/p/9979342.html

福大软工1816 · 团队现场编程实战(抽奖系统)之 拖鞋旅游队相关推荐

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

    组员职责分工 林燊 分工 协调组内成员编码 完成原始数据的格式化处理,分类别抽取出数据特征 审查最终各成员代码 协助优化各模块代码 董钧昊 分工 完成基于字典形式的数据库建立 实现抽奖标准算法--开局 ...

  2. 福大软工1816 · 第七次作业 - 需求分析报告之拖鞋旅游队

    [组长博客链接] 031602428 苏路明 [计划安排] 阶段 主要任务 时间 任务内容 1 项目选题 09.22 - 10.10 确定选题内容,收集用户需求,明确定位,竞品分析,选题报告 2 需求 ...

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

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 一.组员职责分工 组员 职责 白晨曦 任务分配,过滤算法 乐忠豪 完成抽奖功能 蔡子阳 完成文案生成与qqbot 黄培鑫 完 ...

  4. 福大软工1816 · 第一次作业 - 准备

    福大软工1816 · 第一次作业 - 准备 期待→迷茫→恐惧→振作or放弃? 前言:个人情况概述 虽然长辈都说我是个聪明的孩子,但我觉得也许那只是客套话-- 还记得从小学时我的成绩仅处于中游偏下,初中 ...

  5. 福大软工1816:项目测评

    福大软工 · 第十次作业 - 项目测评(团队) 评测 个人上手体验 查看课程表上效仿了超级课程表,界面美观 功能多,整合了课程表.查成绩.考场查询.历年卷.易班.空教室.图书馆.教务通知.大物实验.嘉 ...

  6. 福大软工1816:Alpha事后诸葛

    福大软工·第十一次作业-Alpha事后诸葛亮 组长博客链接 本次作业博客链接 项目Postmortem 模板 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描 ...

  7. 福大软工1816 ·软工之404NoteFound团队选题报告

    目录 NABCD分析引用 N(Need,需求): A(Approach,做法): B(Benefit,好处): C(Competitors,竞争): D(Delivery,交付): 初期 中期 个人贡 ...

  8. 福大软工1816 - 404 Note Found选题报告

    目录 NABCD分析引用 N(Need,需求): A(Approach,做法): B(Benefit,好处): C(Competitors,竞争): D(Delivery,交付): 初期 中期 个人贡 ...

  9. 福大软工 · 第七次作业 - 需求分析报告(404 Note Found队)

    目录 组队后的团队项目的整体计划安排 项目logo及思维导图 项目logo 思维导图 产品思维导图 产品思维导图-引导 产品思维导图-后端数据处理.存储 产品思维导图-短信识别 产品思维导图-智能分析 ...

最新文章

  1. gitlab windows安装_gitlab pages之gitlab-runner 安装(windows)
  2. python怎么读文件后删去空格以行为单位进行排序-python 大文件以行为单位读取方式比对...
  3. C++ 11 新特性 nullptr 学习
  4. [云炬创业基础笔记]第六章商业模式测试7
  5. 加速度和陀螺仪 日常活动识别 跌倒检测_巢湖房屋安全检测,幼儿园房屋质量检测新趋势-房屋鉴定专业团队...
  6. 用树莓派和PC机搭建多节点私人以太坊网络
  7. 你是外包,麻烦不要偷吃零食,注意素质...
  8. linux中sed工具的简单解析与实例参考
  9. 手把手教我班小姐姐学java之多态
  10. sci写作sci写作模板_2020年写作主题
  11. 7.2 高速缓冲存储器-Cache
  12. 计算机论文目录大全,毕业论文目录范文
  13. 奇虎360面经:测试
  14. WordPress安装主题时出现安装失败的解决方法
  15. PS学习笔记------运用脚本及自动化批量处理
  16. 消防工程师 1.1 消防给水及设施(2)
  17. Scikit-learn API:train_test_split函数 将数据分割为训练集和测试集
  18. HTML之form表单
  19. 基于Python的指数基金量化投资 ——A股所有个股名称和证券代码获取
  20. 运营必备的神器 | C1N短网址

热门文章

  1. C++真有那么难学吗?
  2. java语言入门(二)之JAVA的基本语法
  3. 微信诞生记:从无到有的开发历程
  4. 0.96寸OLED用两点式画直线算法思路分享—代码开源—简单易懂超详细
  5. SQL的内外连接方式
  6. Dell Inspiron 3650 +750ti 安装黑苹果
  7. 选择全光谱灯护眼吗,建议家长购买什么光的比较好
  8. JSPSSM204旅游景点线路网站 java毕业设计源码含论文和答辩ppt
  9. python旋转矩阵90°_用Python旋转矩阵
  10. c++游戏五子棋游戏