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

  • 值得一看的补充版本演示视频
    • 软工锦鲤在这里
  • 程序版本链接及说明
    • 按时提交版本
      • 以基础功能为主
      • github链接:first version
      • 测试环境说明
        • 本程序在python 3.6以上环境下运行
      • 操作说明:
        • 键入抽奖关键词,支持:#我要红包#或“我要换组“或”我支持调课“
        • 键入抽奖关键词后,必须按回车向后台提交关键词
        • 选择或键入抽奖时段
        • 点击”抽奖“按钮,开始抽奖
        • 点击”停止“按钮,抽奖完成
        • 获得抽奖名单
    • 超时完善版本
      • 在基础功能基础上,完善并整合了附加功能
      • github链接:final version
      • 测试环境说明
        • 本程序在python 3.6以上环境下运行
        • 同时需要安装配置以下内容:
          • jieba分词
          • WordCloud词云包
        • 附上安装教程博客链接:
          • jieba分词安装:https://www.cnblogs.com/houjun/p/8513108.html
          • WordCloud词云包安装:https://www.cnblogs.com/hanyu258/p/7966657.html
      • 操作说明:
        • 键入抽奖关键词,支持:#我要红包#或“我要换组“或”我支持调课“
        • 键入抽奖关键词后,必须按回车向后台提交关键词
        • 选择或键入抽奖时段
        • 点击”抽奖“按钮,开始抽奖
        • 点击”停止“按钮,抽奖完成
        • 获得抽奖名单,并输出数据分析图
  • 组员职责分工
    • 后敬甲(组长):文案设计、现场协调、进度跟进
    • 葛亮:原型界面设计
    • 黄泽:GUI界面制作
    • 婧茹:附加功能设计
    • 刘浩:GUI界面制作
    • 泽明:随机算法设计+筛选算法设计
    • 文斌:附加功能设计
  • github 的提交日志截图
    1471830-20181118212151924-504915212.png
  • 程序运行截图
    1471830-20181118230744943-2127307823.png

  • 程序运行环境

    python 3.6.2

  • GUI界面
    1471830-20181118230908202-1981429707.png

  • 基础功能实现
    • 实现了抽奖资格的筛选,算法分为以下几次筛选:
      • 删除掉不含抽奖关键词的发言记录(包括空记录发言)
      • 删除掉包含抽奖关键词的系统发言记录
      • 删除不在抽奖时间段内的发言记录
      • 统计发言频率,删除发言次数低于一定数量的同学的发言记录
    • 随机抽取算法
      • 首先随机从1-20之间随机生成两个数a,b
      • 定义函数变换:如a*b,a^b,e^ab。这再对这两个数a,b机型随机函数变换。重复n次,最后的值可能大于QQ号数,所以对所取到的值取余。对应文本处理中返回的set的n个下标元素(即qq号)。取过的qq号就从set中删除,避免重复。
  • 附加功能实现
    • 在提交版本中,未完成完整的附加功能;
    • 在之后完善的版本中,完成了以下数据分析功能:
      • 按时间对聊天记录进行分析,生成群聊活跃度分析图
      • 对聊天内容进行分析,随机生成群聊词汇云图
      • 结果如图:
        1471830-20181118215028928-611008183.png
  • 遇到的困难及解决方法
    • 后敬甲
      • 困难:在最初开始的时候,编程语言没有统一好,没有很仔细地考虑整合代码的问题,导致最后的算法无法整合,早上的工作很多都打了水漂。
      • 解决方法:是自己的问题,需要好好反思,在实践课结束以后,和大家留下来开会,冷静下来,重新定了方案。经过了半个下午+整个晚上的团队编程,有了最后的结果!大家一起努力的感觉很棒,在此感谢各位队友!
    • 葛亮
      • 困难:原型设计在沟通上出了问题,实际使用的图片和界面的尺寸、图标位置发生了些冲突。
      • 解决方案:通过耐心地和队友沟通,修改了原型和图片的尺寸,使图片和界面相契合。
    • 黄泽
      • 困难:之前没有接触过Python Tkinter,现学现卖存在困难。
      • 解决方案:跟着教程走,刚就完事儿了!
    • 婧茹
      • 困难:之前没有接触过Python算法,对数据分析不熟悉。
      • 解决方案:不会就百度,百度不了就请教文斌小哥哥~
    • 刘浩
      • 困难:对前端的工作不够熟悉,在此次编程之前仅仅停留在初步了解的阶段,做起来不太顺手。
      • 解决方案:疯狂baidu+疯狂调试
    • 泽明
      • 困难:算法需求需要多层次划分,文本中QQ昵称和抽奖时间段限制不好做。
      • 解决方案:算法对文本进行类似于流水线处理,QQ昵称难以处理,因为时间限制,只能很遗憾地选择不处理昵称,用QQ号来代替。
    • 文斌
      • 困难:自动分享的功能,可以做到自动发送文本消息给个人QQ,但无法做到发送生成的图片给QQ群。
      • 解决方案:选择放弃了这个功能,选择新的功能:对获奖名单生成数据云图和分析群聊活跃度。
  • 团队作业贡献比

成员分工贡献比
敬甲进度协调+需求分析+博客、文案撰写13
葛亮界面原型设计12
黄泽界面制作14
靖茹附加功能实现12
泽明随机算法实现+筛选算法实现17
文斌附加功能实现15
刘浩界面制作+代码分工17
  • 以下部分计入个人得分:
    • PSP表格(个人独立发布)(1分)
    • 学习进度表(个人独立发布)(1分)
  • PSP表格
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3045
?Estimate估计这个任务需要多少时间130120
Development开发200300
?Analysis需求分析 (包括学习新技术)2030
?Design Spec?生成设计文档00
?Design Review?设计复审00
?Coding Standard?代码规范(为目前的开发制定合适的规范)00
?Design具体设计3030
?Coding具体编码00
?Code Review代码复审00
?Test?测试(自我测试,修改代码,提交修改)00
Reporting报告00
?Test Repor?测试报告00
?Size Measurement?计算工作量2030
?Postmortem & Process Improvement Plan?事后总结, 并提出过程改进计划3015
合计500450

学习进度条

第N周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
150050025251熟悉了c++有关vector,map用法 2学习了正则表达式 3学习了状态转换图和有穷自动机
250550833看了有关软件的使用,原型模型以及构建之法
360013504881修炼心性,debug能力有提升,心理素质加强= =
901350586感觉这周过于松弛= =,后面要狠

转载于:https://www.cnblogs.com/yizhigu/p/9980230.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeakCanary——直白的展现Android中的内存泄露

之前碰到的OOM问题,终于很直白的呈现在我的眼前:我尝试了MAT,但是发现不怎么会用。直到今天终于发现了这个新工具: 当我们的App中存在内存泄露时会在通知栏弹出通知: 当点击该通知时,会跳转到具体的页面&am…

老司机做VR视频,需要什么样的全景相机?

做为一个在全景内容领域摸爬滚打一年有余的老司机,经历了太多的坑。最近有不少朋友转行进入这个领域,问我买什么样的相机好。我现在项目太多,根本没空详尽解答。所以写下这篇文章,不懂得自己看吧。 说白了,买什么样子…

域乎曹胜虎:传统互联网“生病”了

11月17日,2018(第12届)创业周暨全球创业周中国站在上海盛大召开,由上海域乎信息技术有限公司(以下简称“域乎”)承办的区块链专场论坛——《区块链产业应用赋能精英论坛》成功举办,吸引了众多业…

[No0000112]ComputerInfo,C#获取计算机信息(cpu使用率,内存占用率,硬盘,网络信息)...

github地址:https://github.com/charygao/SmsComputerMonitor 软件用于实时监控当前系统资源等情况,并调用接口,当资源被超额占用时,发送警报到个人手机;界面模拟Console的显示方式,信息缓冲大小由配置决定…

I2C总线之(一)---概述

概述:IC 是Inter-Integrated Circuit的缩写,发音为"eye-squared cee" or "eye-two-cee" , 它是一种两线接口。 IC 只是用两条双向的线,一条 Serial Data Line (SDA) ,另一条Serial Clock (SCL)。 SCL&#xf…

I2C总线之(二)---时序

一、协议 1.空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 2.起始位与停止位的定义: 起始信…

微信小程序设置底部导航栏目方法

微信小程序底部想要有一个漂亮的导航栏目,不知道怎么制作,于是百度找到了本篇文章,分享给大家。 好了 小程序的头部标题 设置好了,我们来说说底部导航栏是如何实现的。 我们先来看个效果图 这里,我们添加了三个导航图标…

HTTP协议(3)浏览器的使用之查看源码

在做CTF的Web类题目时,推荐使用Firefox浏览器。下面介绍一些在解题过程中关于浏览器的常用技巧。首先就是查看源码。在做Web题目时,经常需要查看网站源码,有的flag直接就藏在源码中,有些题目则是在源码中给出提示和线索&#xff0…

Autofac IoC容器基本使用步骤【1】

原文:http://www.bkjia.com/Asp_Netjc/888119.html 【原文中有一个地方报错,下面已修改】 一.基本步骤: 1.设计适合控制反转(IoC)的应用程序 2.给应用程序Autofac 引用. 3.注册组件. 4.创建一个Container以备后用. 5.从Container创建一个 lifetime scop…

I2C总线之(三)---以C语言理解IIC

为了加深对I2C总线的理解&#xff0c;用C语言模拟IIC总线&#xff0c;边看源代码边读波形&#xff1a; 如下图所示的写操作的时序图&#xff1a; 读时序的理解同理。对于时序不理解的朋友请参考“I2C总线之(二)---时序” 完整的程序如下&#xff1a; #include<reg51.h>…

结对编程总结

这个项目我和我的结对伙伴共花了两个月时间&#xff0c;之所以选这个项目&#xff0c;因为我们之前都学习过Python&#xff0c;也做过类似的程序&#xff0c;相比较其他项目而言&#xff0c;这个项目更合适&#xff0c;也让我们对词频统计方面的知识加深了了解。写这个程序我们…

JavaScript初学者必看“new”

2019独角兽企业重金招聘Python工程师标准>>> 译者按: 本文简单的介绍了new, 更多的是介绍原型(prototype)&#xff0c;值得一读。 原文: JavaScript For Beginners: the ‘new’ operator 译者: Fundebug 为了保证可读性&#xff0c;本文采用意译而非直译。 <di…

libGDX-wiki发布

为方便大家学习和访问&#xff0c;我将libgdx的wiki爬取到doku-wiki下&#xff0c;专门建立了以下地址。欢迎大家来共同完善。 http://wiki.v5ent.com 转载于:https://www.cnblogs.com/mignet/p/ligbdx_wiki.html

I2C读写时序

1. I2C写时序图&#xff1a; 注意&#xff1a;最后一个byte后&#xff0c;结束标志在第十个CLK上升沿之后&#xff1a; 2. I2C读时序图&#xff1a; 注意&#xff1a;restart信号格式&#xff1b;读操作结束前最后一组clk的最后一个上升沿&#xff0c;主机应发送NACK&#xff0…

软件测试工具LoadRunner中如何定义SLA?--转载

软件测试工具LoadRunner中如何定义SLA&#xff1f; 浏览&#xff1a;2242|更新&#xff1a;2017-04-09 22:50SLA 是您为负载测试场景定义的具体目标。Analysis 将这些目标与软件测试工具LoadRunner在运行过程中收集和存储的性能相关数据进行比较&#xff0c;然后确定目标的 SLA…

骁龙820和KryoCPU:异构计算与定制计算的作用 【转】

本文转载自&#xff1a;https://www.douban.com/group/topic/89037625/ Qualcomm骁龙820处理器专为提供创新用户体验的顶级移动终端而设计。为实现消费者所期望的创新&#xff0c;移动处理器必须满足日益增长的计算需求且降低功耗&#xff0c;同时还要拥有比以往更低的温度&…

亚马逊Rekognition发布针对人脸检测、分析和识别功能的多项更新

今天亚马逊Rekognition针对人脸检测、分析和识别功能推出了一系列更新。这些更新将为用户带来多项能力的改今&#xff0c;包括从图像中检测出更多人脸、执行更高精度的人脸匹配以及获得图像中的人脸得到更准确的年龄、性别和情感属性。Amazon Rekognition的客户可以从今天开始使…

华为敏捷 DevOps 实践:产品经理如何开好敏捷回顾会议

开篇小故事&#xff1a;前几年&#xff0c;一本叫《沉思录》的书在国内突然曝光度很多&#xff0c;因为前某国家领导人“摆案头&#xff0c;读百遍”。《沉思录》是古罗马皇帝马可奥勒写给自己的书&#xff0c;内容大部分是在鞍马劳顿中写的。其实有一句“我们所听到的不过只是…

Android虚拟化引擎VirtualApp探究

2019独角兽企业重金招聘Python工程师标准>>> 介绍 首先需要说明的是&#xff0c;VirtualApp并不是前些阵子滴滴开源的插件化框架VirtualApk。 VirtualApp是一个更加黑科技的东西&#xff0c;他可以创建一个虚拟空间&#xff0c;你可以在虚拟空间内任意的安装、启动和…

揭开全景相机的创业真相

&#xff08;Bubl全景相机&#xff09; 国外一开源&#xff0c;国内就自主。这在VR&#xff08;虚拟现实&#xff09;领域体现的淋漓尽致——Google的Cardborad一开源&#xff0c;国内就有数百家厂商蜂拥做了各种插手机的VR盒子。到了全景相机&#xff0c;这一幕似乎又开始重演…