课程 | 软件工程1916|W(福州大学) |
---|---|
团队名称 | 修!咻咻! |
做业要求 | 团队做业第六次—团队Github实战训练 |
团队目标 | 搭建一个相对公平公正的抽奖系统,根据QQ聊天记录,完成从统计参与抽奖人员颁布抽奖结果的基本流程。 |
git项目 | https://github.com/huangquanhuan/live-project |
开发工具 | Vistual Studio |
队员学号 | 队员姓名 | 我的博客地址 | git地址 |
221600126 | 刘忠燏 | http://www.cnblogs.com/Downstream-1998/ | https://github.com/Downstream1998 |
221600207 | 黄权焕 | https://www.cnblogs.com/hyry/ | https://github.com/huangquanhuan |
221600328 | 苏明辉 | https://www.cnblogs.com/ahuigg/ | https://github.com/398315418 |
221600330 | 吴可强 | https://www.cnblogs.com/masgak/ | https://github.com/masgak |
221600331 | 向鹏 | https://www.cnblogs.com/xiang-peng/ | https://github.com/Snug-XP |
队员学号 | 队员姓名 | 分工 | 贡献度 |
221600126 | 刘忠燏 | 对数据的结构化处理,编写活动类和活动管理类 | 20 |
221600207 | 黄权焕 | 图形界面编辑,奖励类的编写,全部类与页面的交互和最终成品的调试改bug | 22 |
221600328 | 苏明辉 | 编写博客,抽奖类的编写 | 18 |
221600330 | 吴可强 | 附加做业的编写,博客编写 | 19 |
221600331 | 向鹏 | 人员类、管理人员类的编写,抽奖类的修正,最终成品的调试改bug | 21 |
一、设置活动管理
html
二、导入聊天记录
前端
三、运行结果
python
核心算法介绍:git
此方法决定了奖项归属于那一部分人群(高活跃度或低活跃度),最后在这我的群中选择一位做为获奖者。github
热度随月份变化的条形图,对聊天数据进行正则匹配,将统计完的数据存储到列表中,使用plt绘画出相应图形
正则表达式
热度在一天的时间段内变化图,分析聊天记录中有关小时的数据存入excel文件中,再由excel文件使用plt绘画出相应图形
算法
经过对聊天记录的分析,能够看出该群一天中活跃度比较高的时间段是早晨九点多,晚上十一二点达到活跃度达到最高。从月份活跃度上也能够看出,在放假期间(二月与七八月)活跃度达到低点,开学后逐渐回升。从词云上也能够看到有四六级,考研,二手,电动车等与大学生密切相关的词语,由此也能够明显感觉到互联网大数据与咱们我的息息相关。express
使用黑名单机制,活动更加为所欲为编程
自定义奖励数目、名称、奖品、人数,一切尽在掌握c#
使用活跃度计算抽奖资格。活跃度低于多少就丧失抽奖资格,并对于特殊身份以及恶意刷屏者都作了限制,例若有人之前正常发言,抽奖时恶意刷屏这样只会下降该活跃度而不是直接拉入黑名单。
监测刷屏的淘汰算法。
保留最近五次不重复发言的hashcode值为<键,值>数组a。初始Map a[5] = {-1,-1};新发言的值进行两次数组遍历。第一次遍历:监测hashcode是否重复,若重复将hashcode对应值+1,若不然进入第二次循环:监测是否有空位置,如有则插入,若无则将遍历到的最后一个位置((进入位置-1)mod 5)进行数据替换。使用静态变量保留每次最新访问的下标,且逢5归0。值知足条件时按算法一进行处理。
Regex KeywordRegex = new Regex( @"#(?<code>[^\\#|.]+)#", RegexOptions.Compiled, TimeSpan.FromMilliseconds(200) );
对vs以及git操做不熟悉
因为平时不多使用git与vs编程,在同步与拉取远程仓库时常常失败并且根本不知道问题出在哪里,再加上没有学习过c#,对相关操做不熟悉,编写相应列表与类时,在无限循环的尝试过程当中浪费了大量时间。
python中文件格式错误
由于只要掌握了pil的使用,制做相应海报应该是很容易的事情。可是控制台时不时爆出的 Non-UTF-8 code starting with '\xbd' in file
错误确实让人头大。画图与打印海报也会出现中文乱码问题,之前不多对文本进行操做因此这种问题仍是第一次碰到,尝试了开头加上 # -- coding:utf-8 --与gbk的声明,以及使用特定的编码方式打开,但都不行。
对python不经常使用库不了解,例如jieba、imageio等,只知道中文分隔须要这个东西,但不知道为何须要,也不知道工做原理是什么。以致于真正须要使用时无法直接拿来用,而是用了其余更复杂效率更低的方法。
- 解决方法
多找资料和git手册,熟悉使用vs对git进行操做,并向队友学习了好几回。
最后发现乱码并非编码问题,而是因为使用了外国字体,文字打印上去时字体出错。更改了文件编码方式与中文字体才解决问题。
参考官方源码以及其余人的博客介绍,了解它包括哪些函数与函数的做用,弄明白了才知道怎么用
黄权焕:若是时间长一点,那么我还有不少idea能够实现呢
刘忠燏:若是咱们在进机房前,把准备工做作得再充分一点,那么就不会把时间浪费在配置环境上,编写类的时候也不会出现功能模糊不清的状况。
苏明辉:若是时间能再多一点协调沟通,那么咱们将作得更好。
向鹏:若是能拿到相关教程,学习一段时间,那么咱们就不会感受很慌张
吴可强:若是我能力强一些,那么个人团队就能够更快更完美的完成这项项目。
1.黄权焕
PSP2.1 | Pesonal SoftWare Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 40 |
Estimate | 估计这个任务须要多少时间 | 10 | 10 |
Development | 开发 | 60 | 120 |
Analysis | 需求分析(包括学习新技术) | 120 | 130 |
Design Spec | 生成设计文档 | 30 | 40 |
Design Review | 设计复审 | 20 | 30 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 0 | 0 |
Design | 具体设计 | 230 | 300 |
Coding | 具体编码 | 450 | 600 |
Code Review | 代码复审 | 0 | 0 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 70 |
Reporting | 报告 | 100 | 120 |
Test Report | 测试报告 | 20 | 25 |
Size Measurement | 计算工做量 | 10 | 10 |
Postmortem&Process Improvement Plan | 过后总结,并提出过程改进计划 | 30 | 30 |
合计 | 1180 | 1525 |
2.刘忠燏
PSP2.1 | Pesonal SoftWare Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 30 |
Estimate | 估计这个任务须要多少时间 | 20 | 30 |
Development | 开发 | 700 | 760 |
Analysis | 需求分析(包括学习新技术) | 40 | 100 |
Design Spec | 生成设计文档 | 20 | |
Design Review | 设计复审 | 20 | 20 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 10 | |
Design | 具体设计 | 50 | |
Coding | 具体编码 | 500 | 555 |
Code Review | 代码复审 | 30 | 15 |
Test | 测试(自我测试,修改代码,提交修改) | 30 | 70 |
Reporting | 报告 | 35 | 45 |
Test Report | 测试报告 | 10 | 10 |
Size Measurement | 计算工做量 | 15 | 15 |
Postmortem&Process Improvement Plan | 过后总结,并提出过程改进计划 | 10 | 20 |
合计 | 760 | 810 |
3.苏明辉
PSP2.1 | Pesonal SoftWare Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 100 |
Estimate | 估计这个任务须要多少时间 | 10 | 10 |
Development | 开发 | 200 | 210 |
Analysis | 需求分析(包括学习新技术) | 120 | 130 |
Design Spec | 生成设计文档 | 30 | 40 |
Design Review | 设计复审 | 20 | 30 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 0 | 0 |
Design | 具体设计 | 220 | 360 |
Coding | 具体编码 | 200 | 200 |
Code Review | 代码复审 | 0 | 0 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 70 |
Reporting | 报告 | 100 | 120 |
Test Report | 测试报告 | 20 | 25 |
Size Measurement | 计算工做量 | 10 | 10 |
Postmortem&Process Improvement Plan | 过后总结,并提出过程改进计划 | 30 | 30 |
合计 | 1080 | 1325 |
4.向鹏
PSP2.1 | Pesonal SoftWare Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 120 | 170 |
Estimate | 估计这个任务须要多少时间 | 10 | 10 |
Development | 开发 | ||
Analysis | 需求分析(包括学习新技术) | 120 | 130 |
Design Spec | 生成设计文档 | 30 | 40 |
Design Review | 设计复审 | 20 | 40 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 0 | 0 |
Design | 具体设计 | 160 | 200 |
Coding | 具体编码 | 450 | 550 |
Code Review | 代码复审 | 0 | 0 |
Test | 测试(自我测试,修改代码,提交修改) | 20 | 30 |
Reporting | 报告 | 30 | 40 |
Test Report | 测试报告 | 20 | 25 |
Size Measurement | 计算工做量 | 10 | 10 |
Postmortem&Process Improvement Plan | 过后总结,并提出过程改进计划 | 30 | 30 |
合计 | 1170 | 1275 |
5.吴可强
PSP2.1 | Pesonal SoftWare Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 40 |
Estimate | 估计这个任务须要多少时间 | 10 | 10 |
Development | 开发 | ||
Analysis | 需求分析(包括学习新技术) | 120 | 130 |
Design Spec | 生成设计文档 | 30 | 40 |
Design Review | 设计复审 | 20 | 30 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 0 | 0 |
Design | 具体设计 | 420 | 560 |
Coding | 具体编码 | 300 | 320 |
Code Review | 代码复审 | 0 | 0 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 70 |
Reporting | 报告 | 100 | 120 |
Test Report | 测试报告 | 20 | 25 |
Size Measurement | 计算工做量 | 10 | 10 |
Postmortem&Process Improvement Plan | 过后总结,并提出过程改进计划 | 30 | 30 |
合计 | 1150 | 1385 |