团队作业第六次——团队Github实战训练
作业格式
- 课程名称:软件工程1916|W(福州大学)
- 作业要求:团队作业第六次—团队Github实战训练
- 团队名称:葫芦娃队
- 作业目标:确定和分析选题,绘制评审表
- github地址:https://github.com/Baka469/live-project
| 队员学号 | 队员昵称 | 博客地址 |
|---|---|---|
| 041602421 | der himmel | https://www.cnblogs.com/wenghaoo |
| 221600225 | wuliaoBoring | https://www.cnblogs.com/wuliaoBoring/ |
| 221600424 | BW.LIN | https://www.cnblogs.com/lbwblog/ |
| 221600432 | QZY | https://www.cnblogs.com/nuomituanzi/ 组长 |
| 221600431 | OFY | https://www.cnblogs.com/ofy666/ |
| 221600434 | 北风5620 | https://www.cnblogs.com/beifeng5620/ |
| 221600435 | XBN | https://www.cnblogs.com/xbnhhh/ |
组员分工
- 221600424
- 抽奖算法设计与开发
- 抽奖算法的测试
- 随笔编写
- 221600431
- 项目GUI界面设计
- 随笔编写
- 22160434
- 项目GUI界面设计
- 221600225
- 过滤算法设计与开发
- 过滤算法的测试
- 文件数据处理代码讨论
- 041602421
- 文件的读取块的代码编写
- 文件数据的处理
- 221600432
- 整合项目的测试
- 对项目进行整合处理
- 文件数据处理代码讨论
- 221600435
- 随笔编写
- 文件数据处理代码讨论
Github提交日志截图

程序运行截图
抽奖信息设置界面

抽奖结果展示界面

程序运行环境
windows 10,C#
基础功能的实现
- 抽奖算法
算法设计思路:采用加权随机算法,每位抽奖的参与者都有一定的权重,那么权重高的参与者自然有更高的概率获奖。但是为体现公平性每位参与者最多获得一次奖。
具体实现:先从奖池中选择一件奖品,然后再计算出所有当前所有参与者的权重总和sum,然后在1到sum之间随机选择一个数R,之后遍历整个集合,统计遍历的项的权重之和,如果大于等于R,就停止遍历,选择遇到的项,选择此项为获奖者。获奖者获奖后,奖品从奖池去除或减少(一种奖品可能不止一个),获奖者也放弃继续抽奖的资格。
附加功能的实现
- 数据挖掘
使用python编写脚本,结合matplotlib、PIL、seaborn等python库,对qq聊天记录进行分析,从年月日的角度把统计得到的数据进行可视化,生成发言统计图如下:



对统计过程中的热词进行了整理,生成热词云图:

遇到的困难及解决方法
- 041602421
- 困难:在数据处理时想要用正则表达式来进行匹配编写,但是对正则表达式不熟悉导致调试很久
- 解决方法 :通过百度以及与组员一起讨论,最后通过正则表达式进行正确的匹配。
- 221600225
- 困难:在进行过滤算法的编写过程中,对C#的语法不够熟练。
- 解决方法 :在看书和百度还有同学的讨论下最后慢慢熟练编写起来。
- 221600424
- 困难:对github的使用不太熟练,在实训过程中有时pull、push、同步远程仓库时出错
- 解决方法 :熟能生巧,多用几次后对github的使用有了更加深刻的理解
- 221600431
- 困难:对C#窗体程序的不熟悉,导致写GUI时不好对textbox等控件的输入进行错误检测
- 解决方法 :百度和与同学讨论
- 221600432
- 困难:时间紧张,没有要求并严格执行好代码规范,函数接口规范,导致调bug花了许多时间,自己分工也不够合理
- 解决方法 :下次要改进分工安排,提前写好规范要求文档。
- 221600434
- 困难:对VS2017连接配置GITHUB不熟悉。
- 解决方法 :现学现用,孰能生巧,后面查阅博客解决了
- 221600435
- 困难:在与组员讨论数据处理时对正则表达式不够熟悉。
- 解决方法 :通过百度以及讨论最后得出正确的式子。
- 马后炮
- 没有如果,没有那么。
- 如果再来一次重来的机会,那么我要多学点东西装会逼。
- 如果还有一次重来的机会,那么我一定好好学习代码。
- 如果时间利用更高效的话,整合对接功能就不会那么仓促了。
- 组员工作贡献比例:
| 学号 | 姓名 | 此次作业任务 | 贡献比例 |
|---|---|---|---|
| 221600432 | 邱志勇 | 整合项目的测试、对项目进行整合处理、文件数据处理代码讨论 | 0.14 |
| 041602421 | 翁昊 | 文件的读取块的代码编写、文件数据的处理 | 0.13 |
| 221600225 | 林鹏飞 | 过滤算法设计与开发、过滤算法的测试文件、数据处理代码讨论 | 0.15 |
| 221600424 | 林滨伟 | 抽奖算法设计与开发、抽奖算法的测试、附加功能的设计与实现 | 0.20 |
| 221600431 | 欧福源 | 项目GUI界面设计、随笔编写 | 0.13 |
| 221600434 | 吴何 | 项目GUI界面设计 | 0.13 |
| 221600435 | 徐炳南 | 随笔编写、文件数据处理代码,测试代码 | 0.12 |
PSP表格
- 041602421 翁昊
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | ||
| - Estimate | 估计这个任务需要多少时间 | 330 | 265 |
| Development | 开发 | ||
| - Analysis | 需求分析 (包括学习新技术) | 40 | 30 |
| - Design Spec | 生成设计文档 | 15 | 15 |
| - Design Review | 设计复审 | 20 | 15 |
| - Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 35 | 20 |
| - Design | 具体设计 | 15 | 10 |
| - Coding | 具体编码 | 100 | 80 |
| - Code Review | 代码复审 | 20 | 15 |
| - Test | 测试(自我测试,修改代码,提交修改) | 50 | 45 |
| Reporting | 报告 | ||
| - Test Report | 测试报告 | 15 | 15 |
| - Size Measurement | 计算工作量 | 10 | 5 |
| - Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 15 |
| 合计 | 330 | 265 |
- 221600225 林鹏飞
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | ||
| - Estimate | 估计这个任务需要多少时间 | 360 | 280 |
| Development | 开发 | ||
| - Analysis | 需求分析 (包括学习新技术) | 50 | 40 |
| - Design Spec | 生成设计文档 | 25 | 15 |
| - Design Review | 设计复审 | 20 | 15 |
| - Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 35 | 20 |
| - Design | 具体设计 | 15 | 10 |
| - Coding | 具体编码 | 90 | 80 |
| - Code Review | 代码复审 | 20 | 15 |
| - Test | 测试(自我测试,修改代码,提交修改) | 55 | 45 |
| Reporting | 报告 | ||
| - Test Report | 测试报告 | 20 | 15 |
| - Size Measurement | 计算工作量 | 10 | 5 |
| - Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 15 | 15 |
| 合计 | 355 | 275 |
- 221600424 林滨伟
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | ||
| - Estimate | 估计这个任务需要多少时间 | 365 | 285 |
| Development | 开发 | ||
| - Analysis | 需求分析 (包括学习新技术) | 55 | 40 |
| - Design Spec | 生成设计文档 | 20 | 15 |
| - Design Review | 设计复审 | 25 | 20 |
| - Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 40 | 25 |
| - Design | 具体设计 | 15 | 10 |
| - Coding | 具体编码 | 95 | 80 |
| - Code Review | 代码复审 | 15 | 15 |
| - Test | 测试(自我测试,修改代码,提交修改) | 60 | 50 |
| Reporting | 报告 | ||
| - Test Report | 测试报告 | 25 | 15 |
| - Size Measurement | 计算工作量 | 5 | 5 |
| - Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 10 |
| 合计 | 365 | 285 |
- 221600431 欧福源
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | ||
| - Estimate | 估计这个任务需要多少时间 | 325 | 260 |
| Development | 开发 | ||
| - Analysis | 需求分析 (包括学习新技术) | 40 | 30 |
| - Design Spec | 生成设计文档 | 20 | 20 |
| - Design Review | 设计复审 | 15 | 10 |
| - Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 35 | 30 |
| - Design | 具体设计 | 20 | 15 |
| - Coding | 具体编码 | 100 | 85 |
| - Code Review | 代码复审 | 20 | 15 |
| - Test | 测试(自我测试,修改代码,提交修改) | 40 | 25 |
| Reporting | 报告 | ||
| - Test Report | 测试报告 | 20 | 15 |
| - Size Measurement | 计算工作量 | 5 | 5 |
| - Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 10 |
| 合计 | 325 | 260 |
- 221600432 邱志勇
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | ||
| - Estimate | 估计这个任务需要多少时间 | 345 | 260 |
| Development | 开发 | ||
| - Analysis | 需求分析 (包括学习新技术) | 50 | 40 |
| - Design Spec | 生成设计文档 | 30 | 20 |
| - Design Review | 设计复审 | 20 | 10 |
| - Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 45 | 30 |
| - Design | 具体设计 | 25 | 15 |
| - Coding | 具体编码 | 80 | 75 |
| - Code Review | 代码复审 | 25 | 15 |
| - Test | 测试(自我测试,修改代码,提交修改) | 35 | 25 |
| Reporting | 报告 | ||
| - Test Report | 测试报告 | 20 | 15 |
| - Size Measurement | 计算工作量 | 5 | 5 |
| - Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 10 |
| 合计 | 345 | 260 |
- 221600434 吴何
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | ||
| - Estimate | 估计这个任务需要多少时间 | 325 | 280 |
| Development | 开发 | ||
| - Analysis | 需求分析 (包括学习新技术) | 35 | 40 |
| - Design Spec | 生成设计文档 | 20 | 20 |
| - Design Review | 设计复审 | 30 | 15 |
| - Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 40 | 35 |
| - Design | 具体设计 | 25 | 15 |
| - Coding | 具体编码 | 90 | 80 |
| - Code Review | 代码复审 | 30 | 20 |
| - Test | 测试(自我测试,修改代码,提交修改) | 25 | 25 |
| Reporting | 报告 | ||
| - Test Report | 测试报告 | 15 | 15 |
| - Size Measurement | 计算工作量 | 5 | 5 |
| - Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 10 |
| 合计 | 325 | 280 |
- 221600435 徐炳南
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | ||
| - Estimate | 估计这个任务需要多少时间 | 325 | 245 |
| Development | 开发 | ||
| - Analysis | 需求分析 (包括学习新技术) | 30 | 25 |
| - Design Spec | 生成设计文档 | 15 | 10 |
| - Design Review | 设计复审 | 20 | 20 |
| - Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 30 | 20 |
| - Design | 具体设计 | 15 | 10 |
| - Coding | 具体编码 | 90 | 65 |
| - Code Review | 代码复审 | 30 | 15 |
| - Test | 测试(自我测试,修改代码,提交修改) | 60 | 45 |
| Reporting | 报告 | ||
| - Test Report | 测试报告 | 15 | 15 |
| - Size Measurement | 计算工作量 | 10 | 5 |
| - Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 15 |
| 合计 | 325 | 245 |
团队作业第六次——团队Github实战训练的更多相关文章
- 团队作业第六次—团队Github实战训练
作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 团队作业第六次-团队Github实战训练 团队目标 搭建一个相对公平公正的抽奖系统,根据QQ聊天记录,完成从统计参与抽 ...
- 团队作业第六次—团队Github实战训练(追光的人)
所属课程 软件工程1916 作业要求 团队作业第六次-团队Github实战训练 团队名称 追光的人 作业目标 搭建一个相对公平公正的抽奖系统,根据QQ聊天记录,完成从统计参与抽奖人员颁布抽奖结果的基本 ...
- 团队作业第六次-团队Github实战训练
格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目系统设计与数据库设计 团队名称:为了交项目干杯 GitHub地址:地址 作业目标:搭建一个相对公平公正的抽奖系统,根据QQ聊天记录, ...
- 团队Github实战训练
班级:软件工程1916|W 作业:团队Github实战训练 团队名称:SkyReach Github地址:Github地址 贡献比例表 队员学号 队员姓名 此次活动任务 贡献比例 221600106 ...
- bug终结者 团队作业第六、七周
bug终结者 团队作业第六.七周 作业要求:团队作业第六.七周 博客编辑:20162322 朱娅霖 一.修改<需求规格说明书> <需求规格说明书>2.0版(即初稿) <需 ...
- 团队作业八——第二次团队冲刺(Beta版本)第7天&项目汇总
项目汇总 第一天:http://www.cnblogs.com/newteam6/p/6879383.html 第二天:http://www.cnblogs.com/newteam6/p/688078 ...
- 团队作业八——第二次团队冲刺(Beta版本)第6天
团队作业八--第二次团队冲刺(Beta版本)第6天 一.每个人的工作 (1) 昨天已完成的工作 简单模式逻辑代码涉及与相关功能的具体实现 (2) 今天计划完成的工作 修改完善注册登录内容界面,编辑错题 ...
- 团队作业八——第二次团队冲刺(Beta版本)第5天
团队作业八--第二次团队冲刺(Beta版本)第5天 一.每个人的工作 (1) 昨天已完成的工作 完成界面跳转界面. (2) 今天计划完成的工作 简单模式逻辑代码涉及与相关功能的具体实现 (3) 工作中 ...
- 团队作业八——第二次团队冲刺(Beta版本)第4天
团队作业八--第二次团队冲刺(Beta版本)第4天 一.每个人的工作 (1) 昨天已完成的工作 做一下用户注册的功能和登录功能. (2) 今天计划完成的工作 完成界面跳转 (3) 工作中遇到的困难 界 ...
随机推荐
- Android避免OOM(内存优化)
Android内存优化是性能优化很重要的一部分,而如何避免OOM又是内存优化的核心. Android内存管理机制 android官网有一篇文章 Android是如何管理应用的进程与内存分配 Andro ...
- ubuntu 14.04 安装 OpenCV -2.4.13
1. 安装 (1) 更新软件源 sudo apt-get update sudo apt-get upgrade (2)删除以前安装的 FFMPEG 和 x264 库: sudo apt-get re ...
- Linux系统打开core dump的配置【转】
什么是core dump core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump.core du ...
- kafka系列二、kafka manager的安装和使用
1. Yahoo kafka manager介绍 项目地址:https://github.com/yahoo/kafka-manager Requirements: Kafka 0.8.1.1 or ...
- windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速
原文地址:http://www.jianshu.com/p/c245d46d43f0 写在前面的话 2016年11月29日,Google Brain 工程师团队宣布在 TensorFlow 0.12 ...
- 使用RMS API 自定义Office(Word、Excel、PPT)加密策略
什么是RMS: Microsoft Windows Rights Management 服务 (RMS),是一种与应用程序协作来保护数字内容(不论其何去何从)的安全技术,专为那些需要保护敏感的 Web ...
- pyspark遇到报错:_PYSPARK_DRIVER_CONN_INFO_PATH
1. 环境 : centos,启动pyspark,执行如下python命令: import pyspark from pyspark import SparkContext from pyspark ...
- 基于react/vue的移动端终极适配方案vw单位(更新css-modules配置)
传送门: https://segmentfault.com/a/1190000014185590
- redux最佳实践
对于初学者,redux的理念很难理解.其实redux并不难,redux核心理念就是数据仓库,所有数据操作来源都是明确的.只不过不是直接操作数据,而是交给特定的角色做特定的工作,分工明确. pro ...
- C 长字符串换行方法
C中字符串有时候会出现很长的情况,如果不换行书写查看起来很不方便. 长字符串拆分成多行处理也是C规范的一部分. 方法1. 利用双引号" " ,将长字符串分成多个子串换行,C会自动无 ...