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

团队Echo完成了软件工程课程的Github实战训练,通过处理聊天记录数据,实现了抽奖算法、过滤算法和部分数据可视化功能,成员分工明确,克服了多项技术挑战。

班级:软件工程1916|W
作业:团队作业第六次—团队Github实战训练
团队名称:Echo
作业目标:完成团队Github实战训练
抽奖地址:http://echo.ituoniao.net/
github地址: https://github.com/huangzhongxin/live-project

目录

团队博客汇总

队员学号队员姓名个人博客地址备注
221600418黄少勇http://www.cnblogs.com/huangshaoyong
221600420黄种鑫http://www.cnblogs.com/huangzhongxin队长
221600421孔伟民http://www.cnblogs.com/kwm42
221600422李东权http://www.cnblogs.com/Ldqblogs
221600425林弘杰http://www.cnblogs.com/lhj20190212

组员分工及工作量

学号姓名任务贡献比例
221600418黄少勇抽奖算法的具体实现21%
221600420黄种鑫WEB前端的实现21%
221600421孔伟民过滤算法的实现22%
221600422李东权数据预处理17%
221600425林弘杰将文本数据进行结构化处理存为Excel,附加功能的部分实现19%

github的提交日志截图

1634575-20190422223247016-1721580985.png

程序运行截图

1634575-20190422223358684-1026742479.png
1634575-20190422223409264-381557873.png

程序运行环境

  • 编程语言
    • 前端:HTML,CSS,JavaScript
    • 后端:Java,python
  • IDE
    • IDEA
    • VSCode

      GUI界面

1634575-20190422223358684-1026742479.png
1634575-20190422223409264-381557873.png

基础功能实现

首先对文本数据进行处理,提取出一条聊天记录的日期,时间,qq号,昵称,内容这些属性,接着就是过滤算法就是首先拿到读好的数据集,其中包含发言记录,每个人的类型(老师or学生)每个人的总发言次数,根据输入的参数:[开始时间,结束时间,发言次数限制,是否过滤老师,关键词],遍历数据集,第一遍把不在指定时间内发言,没有发过抽奖关键字的以及是否过滤老师,统计出区间段内的发言次数,第二次统计出在区间内发言次数达到规定的人,从而过滤出可参加抽奖的人员名单,给后面的处理做准备;而抽奖算法就是筛选好list,生成n(n为中奖总人数)个0到list.size()-1的随机数random,找到第random挑聊天记录,记录QQ和昵称,如过中奖的两条记录的QQ号相同,则从新抽过

附加功能实现

计划用python脚本对聊天记录进行数据分析与挖掘,然后在后端调用脚本生成发言次数,发言时间段,内容云图的图片,可以在后端查看,但由于时间有限,仅实现了生成发言次数,发言时间段,内容云图的图片的脚本,并不能在后端查看,只能手动运行脚本。以下是对数据PlusA.txt和PlusB.txt处理后生成的图片

  • PlusA.txt
    • 发言时间段
      1634575-20190422215840503-278468700.png
    • 发言次数
      1634575-20190422215937881-558141714.png
    • 内容云图
      1634575-20190422220003010-2087999516.png
  • PlusB.txt
    • 发言时间段
      1634575-20190422220301015-1303496611.png
    • 发言次数
      1634575-20190422220316572-170803912.png
    • 内容云图
      1634575-20190422220748923-998275208.png

从PlusB.txt的内容云图,我们大概可以分析出,该群是一个卖东西的群,而且大概是一个发布二手信息的群,在群里发布信息一般会带有价格,而且可以小刀,就是讲价

遇到的困难及解决方法

  • 黄少勇
    • 抽奖如何实现公平:兼顾发送口令多的人和少的人?选择以每条抽奖记录抽奖而不是以每个QQ号为抽奖依据
  • 黄种鑫
    • 怎么实现picker的滑动?框架组件Bug,在手机上完美使用,电脑上无法正常使用,弃用picker。由于时间有限,改用input输入框实现并加以格式验证
  • 孔伟民
    • 过滤不符合人数的算法有没有更好的选择?目前没有想到更好的想法,时间有限先完成功能参数是否要有默认值?前端会传入必要的参数,不设置默认值
  • 李东权
    • 怎么读取excel表格?根据具体格式是xlsx还是xls,查阅资料,选择合适的数据类型进行处理
  • 林弘杰
    • 怎么将数据可视化?利用python提供matplotlib模块可以很方便的将数据可视化,生成折线图,柱状图,可以很直观的了解到我们要分析数据

一句话吐槽

  • 黄少勇
    • 如果再给我一天,那么我明天再做。
  • 黄种鑫
    • 如果重新来,那么这个作业我不会用这个框架。
  • 孔伟民
    • 如果再给我debug,那么我的bug只会更多。
  • 李东权
    • 如果可以划水,那么我就要划水。
  • 林弘杰
    • 如果再多给我点时间,那么我的云图会更加清晰。

PSP表格

  • 黄少勇

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

  • 黄种鑫

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

  • 孔伟民

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

  • 李东权

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

  • 林弘杰

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

转载于:https://www.cnblogs.com/magicNumber/p/10752228.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值