所属课程 软件工程1916
作业要求 团队作业第六次—团队Github实战训练
团队名称 追光的人
作业目标 搭建一个相对公平公正的抽奖系统,根据QQ聊天记录,完成从统计参与抽奖人员颁布抽奖结果的基本流程。

目录


组员职责分工

队员学号 队员博客 此次作业任务
221600219 小墨 建立github数据库,协助修改bug;
221600240 真·大能猫 数据库编程;
221600212 kilig GUI编程;
221600235 fishkk 算法设计;
221600236 巴啦啦魔仙 算法设计;
221600103 lc 博客编写,辅助编程;
221600205 星夜、痕 过滤数据;

github 的提交日志截图


程序运行截图


GUI界面


基础功能实现


  • 实现完整GUI界面
  • 设置抽奖事件、文案、规则
  • 设置参与抽奖关键词,所有发某个关键词的用户可参与,比如:#我要参与换组活动#、#我要红包#、#我爱软工实践#、#我要当学习委员#

  • 抽奖活动文案
  • 抽奖发言时段

  • 抽奖过滤规则
    • 过滤掉平时不发言的同学
    • 过滤掉助教和老师
  • 奖品列表

  • 获奖名单

  • 提供不过滤、普通过滤、深度过滤等满足不同用户需求的抽奖功能选项

  • 抽奖算法设计思路
    • 通过Java爬虫处理输入的text聊天记录,过滤掉系统消息。将聊天记录存入到两张数据库的表中,一张记录聊天信息(index,date,name,qqNumber,key_changeGroup,key_redPackets,key_iLoveSEP),一张记录用户聊天频率用于深度过滤(qqNumber,name,chatTotalRecords,normalChatRecords)。
    • 不过滤:通过sql语句
      select distinct chatrecord.qqNumber,chatrecord.name,userinfo.chatTotalRecords from chatrecord left join userinfo on chatrecord.qqNumber=userinfo.qqNumber where date between ? and ? and key_changeGroup=1;
      筛选出符合要求的用户存入ArrayList中;
  • 初步过滤:在不过滤的基础上通过增加sql语句 and not (chatrecord.name like'助教%' or chatrecord.name like'教师%')
    筛选非助教,非教师的用户

  • 深度过滤:在初步过滤的通过sql语句userinfo.normalChatRecords>10
    筛选出发送非抽奖消息次数多于10次的用户
  • 随机lucknumbers生成:

    • 通过Date now = new Date();

      long nowtime =now.getTime();
      获取1970至今的毫秒数
    • 通过使用系统时间作为随机数种子生成随机数
      Random r=new Random();
      int ran1=r.nextInt(1000);

      使用双随机的方式生成lucknumbers: int lucknum=(int) (sum%(peoplenum));

      若奖品数大于参与人数,则返回所有用户的序列号。

遇到的困难及解决方法


  • 在读取文件的过程中出现乱码的现象,经过逐一排查后发现是数据库的编码格式不正确,改为utf8mb4之后顺利解决问题。
  • 没有与前端沟通好,导致编写数据库接口时多写了一些没有必要的接口却少了必要的接口;以及少了必要的字段。通过及时的沟通然后顺利解决了上述问题

每位组员的贡献比例:


队员学号 队员博客 贡献占比
221600219 小墨 11%
221600240 真·大能猫 16%
221600212 kilig 16%
221600235 fishkk 16%
221600236 巴啦啦魔仙 16%
221600103 lc 9%
221600205 星夜、痕 16%

PSP表格


小墨

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 10 20
•EStimate • 估计这个任务需要多少时间 10 20
Development 开发 160 140
• Analysis • 需求分析 (包括学习新技术) 20 20
• Design Spec • 生成设计文档 0 0
• Design Review • 设计复审 0 0
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 10 30
• Design • 具体设计 20 30
• Coding • 具体编码 60 30
• Code Review • 代码复审 10 20
• Test • 测试(自我测试,修改代码,提交修改) 30 10
Reporting 报告 40 30
• Test Repor • 测试报告 10 10
• Size Measurement • 计算工作量 10 10
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 20 10
合计 210 190

真·大能猫

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 10 10
• Estimate • 估计这个任务需要多少时间 10 10
Development 开发 30 45
• Analysis • 需求分析 (包括学习新技术) 20 30
• Design Spec • 生成设计文档 0 0
• Design Review • 设计复审 10 10
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 10 10
• Design • 具体设计 20 35
• Coding • 具体编码 180 250
• Code Review • 代码复审 60 60
• Test • 测试(自我测试,修改代码,提交修改) 25 30
•Reporting •报告 0 0
• Test Report • 测试报告 0 0
• Size Measurement • 计算工作量 15 15
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 5 10
合计 395 490

kilig

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
•EStimate • 估计这个任务需要多少时间 500 240
Development 开发
• Analysis • 需求分析 (包括学习新技术) 120 120
• Design Spec • 生成设计文档 30 30
• Design Review • 设计复审
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 20 20
• Design • 具体设计
• Coding • 具体编码 240 180
• Code Review • 代码复审 30 120
• Test • 测试(自我测试,修改代码,提交修改) 60 50
Reporting 报告
• Test Repor • 测试报告 30 30
• Size Measurement • 计算工作量 30 30
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 30 20
合计 590 600

fishkk

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
•EStimate • 估计这个任务需要多少时间 60 80
Development 开发
• Analysis • 需求分析 (包括学习新技术) 60 60
• Design Spec • 生成设计文档 60 40
• Design Review • 设计复审 120 110
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 60 50
• Design • 具体设计 120 120
• Coding • 具体编码 120 150
• Code Review • 代码复审 60 120
• Test • 测试(自我测试,修改代码,提交修改) 60 50
Reporting 报告
• Test Repor • 测试报告 40 50
• Size Measurement • 计算工作量 30 20
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 60 50
合计 790 850

巴啦啦魔仙

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
•EStimate • 估计这个任务需要多少时间 500 240
Development 开发
• Analysis • 需求分析 (包括学习新技术) 120 120
• Design Spec • 生成设计文档 30 30
• Design Review • 设计复审
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 20 20
• Design • 具体设计
• Coding • 具体编码 240 180
• Code Review • 代码复审 30 120
• Test • 测试(自我测试,修改代码,提交修改) 60 50
Reporting 报告
• Test Repor • 测试报告 30 30
• Size Measurement • 计算工作量 30 30
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 30 20
合计 590 600

lc

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
•EStimate • 估计这个任务需要多少时间 100 275
Development 开发
• Analysis • 需求分析 (包括学习新技术) 20 25
• Design Spec • 生成设计文档 40 40
• Design Review • 设计复审 10 10
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 30 30
• Design • 具体设计
• Coding • 具体编码 80 80
• Code Review • 代码复审
• Test • 测试(自我测试,修改代码,提交修改) 20 25
Reporting 报告
• Test Repor • 测试报告
• Size Measurement • 计算工作量 10 15
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 20 10
合计 270 275

星夜、痕

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划         
•EStimate • 估计这个任务需要多少时间    240  640  
Development  开发         
• Analysis • 需求分析 (包括学习新技术)   180    240 
• Design Spec • 生成设计文档    30   20 
• Design Review • 设计复审       
• Coding Standard • 代码规范 (为目前的开发制定合适的规范)    30    30
• Design • 具体设计        
• Coding • 具体编码    240   240 
• Code Review • 代码复审    60  120  
• Test • 测试(自我测试,修改代码,提交修改)  60   50  
Reporting 报告        
• Test Repor • 测试报告  30    30 
• Size Measurement • 计算工作量   30    30 
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划    30  20  
    合计   630     780

团队作业第六次—团队Github实战训练(追光的人)的更多相关文章

  1. 团队作业第六次—团队Github实战训练

    作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 团队作业第六次-团队Github实战训练 团队目标 搭建一个相对公平公正的抽奖系统,根据QQ聊天记录,完成从统计参与抽 ...

  2. 团队作业第六次——团队Github实战训练

    作业格式 课程名称:软件工程1916|W(福州大学) 作业要求:团队作业第六次-团队Github实战训练 团队名称:葫芦娃队 作业目标:确定和分析选题,绘制评审表 github地址:https://g ...

  3. 团队作业第六次-团队Github实战训练

    格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目系统设计与数据库设计 团队名称:为了交项目干杯 GitHub地址:地址 作业目标:搭建一个相对公平公正的抽奖系统,根据QQ聊天记录, ...

  4. 团队Github实战训练

    班级:软件工程1916|W 作业:团队Github实战训练 团队名称:SkyReach Github地址:Github地址 贡献比例表 队员学号 队员姓名 此次活动任务 贡献比例 221600106 ...

  5. bug终结者 团队作业第六、七周

    bug终结者 团队作业第六.七周 作业要求:团队作业第六.七周 博客编辑:20162322 朱娅霖 一.修改<需求规格说明书> <需求规格说明书>2.0版(即初稿) <需 ...

  6. 团队作业八——第二次团队冲刺(Beta版本)第7天&项目汇总

    项目汇总 第一天:http://www.cnblogs.com/newteam6/p/6879383.html 第二天:http://www.cnblogs.com/newteam6/p/688078 ...

  7. 团队作业八——第二次团队冲刺(Beta版本)第6天

    团队作业八--第二次团队冲刺(Beta版本)第6天 一.每个人的工作 (1) 昨天已完成的工作 简单模式逻辑代码涉及与相关功能的具体实现 (2) 今天计划完成的工作 修改完善注册登录内容界面,编辑错题 ...

  8. 团队作业八——第二次团队冲刺(Beta版本)第5天

    团队作业八--第二次团队冲刺(Beta版本)第5天 一.每个人的工作 (1) 昨天已完成的工作 完成界面跳转界面. (2) 今天计划完成的工作 简单模式逻辑代码涉及与相关功能的具体实现 (3) 工作中 ...

  9. 团队作业八——第二次团队冲刺(Beta版本)第4天

    团队作业八--第二次团队冲刺(Beta版本)第4天 一.每个人的工作 (1) 昨天已完成的工作 做一下用户注册的功能和登录功能. (2) 今天计划完成的工作 完成界面跳转 (3) 工作中遇到的困难 界 ...

随机推荐

  1. SpringBoot2+Druid+JdbcTemplate+MySql实现增删改查

    1.配置pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...

  2. OpenJudge 2755:神奇的口袋

    总时间限制: 10000ms 内存限制: 65536kB 描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40.John现在有n个想要得到的物品,每个物品的体 ...

  3. 函数的学习1——定义函数&传递实参——参考Python编程从入门到实践

    定义函数 def greet_user(): print("Hello") greet_user() # PEP8 函数和类的定义后空两行 1. 向函数传递参数 def greet ...

  4. git使用代理加快下载

    git -c http.proxy=socks5://127.0.0.1:1086 clone https://github.com/.../...

  5. visual studio code 命令行创建发布一个项目

    安装vs core 打开按ctrl+~键打开终端 输入dir看看有什么文件,输入md Test 创建一个文件夹,选择文件后创建一个项目 输入dotnet可以查看信息 执行dotnet --help或者 ...

  6. Build step 'Send files or execute commands over SSH' changed build result to UNSTABLE

    删除logs文件夹日志即可

  7. 查看线程CPU利用率

    查看线程CPU利用率 方法1:利用ps命令查看对应的线程 1. ps -ef | grep 进程名称 2. ps -mp 进程ID -o THREAD,pid,tid,cmd,time,%cpu,%m ...

  8. Python与Golang协程异同

    背景知识 这里先给出一些常用的知识点简要说明,以便理解后面的文章内容. 进程的定义: 进程,是计算机中已运行程序的实体.程序本身只是指令.数据及其组织形式的描述,进程才是程序的真正运行实例. 线程的定 ...

  9. 在SQL Server中,为何都建议禁止 VIA 协议,VIA协议具体内容是什么?

    在SQL Server 在SQL Server中,为何都建议禁止 VIA 协议,VIA协议具体内容是什么? 中,为何都建议禁止 VIA 协议,VIA协议具体内容是什么? 在SQL Server中,为何 ...

  10. svg实现圆环进度条

    开源实现:https://github.com/lugolabs/circles 自行实现:圆环与svg画布间剩的空间太多. <!DOCTYPE html> <html> &l ...