• 团队作业第六次—团队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的提交日志截图

    程序运行截图


    程序运行环境

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

    GUI界面


    基础功能实现

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

    附加功能实现

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

    • PlusA.txt

      • 发言时间段
      • 发言次数
      • 内容云图
    • PlusB.txt

      • 发言时间段
      • 发言次数
      • 内容云图

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

    遇到的困难及解决方法

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

    一句话吐槽

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

    PSP表格

    • 黄少勇
    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 60 60
    Estimate 估计这个任务需要多少时间 600 500
    Development 开发 500 350
    Analysis 需求分析 (包括学习新技术) 0 100
    Design Spec 生成设计文档 0 0
    Design Review 设计复审 0 0
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 0 0
    Design 具体设计 0 0
    Coding 具体编码 0 0
    Code Review 代码复审 0 0
    Test 测试(自我测试,修改代码,提交修改) 100 50
    Reporting 报告 0 0
    Test Report 测试报告 0 0
    Size Measurement 计算工作量 0 0
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 0 0
    合计 600 500
    • 黄种鑫
    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 60 60
    Estimate 估计这个任务需要多少时间 600 400
    Development 开发 500 250
    Analysis 需求分析 (包括学习新技术) 0 100
    Design Spec 生成设计文档 0 0
    Design Review 设计复审 0 0
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 0 0
    Design 具体设计 0 0
    Coding 具体编码 0 0
    Code Review 代码复审 0 0
    Test 测试(自我测试,修改代码,提交修改) 100 50
    Reporting 报告 0 0
    Test Report 测试报告 0 0
    Size Measurement 计算工作量 0 0
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 0 0
    合计 600 500
    • 孔伟民
    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 60 60
    Estimate 估计这个任务需要多少时间 600 400
    Development 开发 500 300
    Analysis 需求分析 (包括学习新技术) 0 50
    Design Spec 生成设计文档 0 0
    Design Review 设计复审 0 0
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 0 0
    Design 具体设计 0 0
    Coding 具体编码 0 0
    Code Review 代码复审 0 0
    Test 测试(自我测试,修改代码,提交修改) 100 50
    Reporting 报告 0 0
    Test Report 测试报告 0 0
    Size Measurement 计算工作量 0 0
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 0 0
    合计 600 500
    • 李东权
    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 60 60
    Estimate 估计这个任务需要多少时间 600 300
    Development 开发 500 150
    Analysis 需求分析 (包括学习新技术) 0 100
    Design Spec 生成设计文档 0 0
    Design Review 设计复审 0 0
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 0 0
    Design 具体设计 0 0
    Coding 具体编码 0 0
    Code Review 代码复审 0 0
    Test 测试(自我测试,修改代码,提交修改) 100 50
    Reporting 报告 0 0
    Test Report 测试报告 0 0
    Size Measurement 计算工作量 0 0
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 0 0
    合计 600 500
    • 林弘杰
    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 60 60
    Estimate 估计这个任务需要多少时间 600 500
    Development 开发 500 350
    Analysis 需求分析 (包括学习新技术) 0 100
    Design Spec 生成设计文档 0 0
    Design Review 设计复审 0 0
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 0 0
    Design 具体设计 0 0
    Coding 具体编码 0 0
    Code Review 代码复审 0 0
    Test 测试(自我测试,修改代码,提交修改) 100 50
    Reporting 报告 0 0
    Test Report 测试报告 0 0
    Size Measurement 计算工作量 0 0
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 0 0
    合计 600 500
  • 相关阅读:
    object-c中NSString与int和float的相互转换
    Keras
    TensorFlow白皮书
    java split进行字符串分割
    Java进行post和get传参数
    MySQL 导出数据
    解析xml并且导入mysql
    MySQL显示中文
    java使用sax解析xml
    mysql connection refused
  • 原文地址:https://www.cnblogs.com/magicNumber/p/10752228.html
Copyright © 2020-2023  润新知