团队作业第六次——团队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) 工作中遇到的困难 界 ...
随机推荐
- CentOS中安装Nginx
一.背景 最近在写一些自己的项目,用到了nginx,所以自己动手来在Centos7上安装nginx,以下是安装步骤. 二.基本概念以及应用场景 1.什么是nginx Nginx是一款使用C语言开发的高 ...
- Windows Server 2008 R2 服务器系统安装图文教程
https://www.jb51.net/os/535658.html http://www.machenike.com/article.php?id=207
- 深入解析内存原理:DRAM的基本原理
前面我们知道了在一个简单的SRAM 芯片中进行读写操作的步骤了,然后我们来了解一下普通的DRAM 芯片的工作情况.DRAM 相对于SRAM 来说更加复杂,因为在DRAM存储数据的过程中需要对于存储的信 ...
- nginx简单介绍
代理服务器:一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器. 一个完整的代理请求过程为: 客户端首先与代理服务器创建连 ...
- Android OAuth认证
OAuth认证 为了安全地访问在线服务,用户需要在服务上进行身份验证,即要提供他们的身份的证明.对于一个要访问第三方服务的程序来说,安全问题甚至更复杂.不仅仅是用户需要在访问服务前要进行身份验证,而且 ...
- PS设计漂亮网站主页图片的实例教程
制作一个好的网页,需要花费大量的时间,包含的内容也是非常多的,其中有按钮.横幅.图标及其它素材等.制作的时候先规划好大致的框架,然后由上至下慢慢细化各部分的内容,注意好整体搭配.最终效果 一.在我们打 ...
- js----jquery和js的区别
1.在htlm页面中引入jquery文件后,想获取<input>输入框的数据 <input type='text' id = 'username>' var text = $( ...
- 网页异步加载之AJAX理解
AJAX AJAX介绍 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 是一种用于创建快速动态网页的技术 AJAX ...
- python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- centos7 下安装配置python3.6
一.首先,官网下载python3的所需版本. wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz 二.然后,解压缩文件> ...