作业描述
所属课程 | 软件工程1916|W(福州大学) |
---|---|
作业要求 | 团队作业第六次—团队Github实战训练 |
团队名称 | 待就业六人组 |
作业目标 | 搭建一个相对公平公正的抽奖系统,根据QQ聊天记录,完成从统计参与抽奖人员颁布抽奖结果的基本流程。 |
一、组员职责分工&组员贡献比例
成员 | 职责 | 贡献比例 |
---|---|---|
XRK | Web前端、博客编写 | |
Yellye | Web前端 | |
黎焕明 | 聊天记录处理、聊天记录分析 | |
Litm | 提取用户表、奖项表、奖项条件表 | |
oirving | 提取用户表、奖项表、奖项条件表 | |
supermingjun | 中奖算法 |
二、GitHub提交日志截图
三、程序运行截图
设置抽奖事件、文案、规则
查看抽奖结果
聊天记录分析
四、程序运行环境(待续)
- 编程语言
- 前端:HTML、JavaScript
- 后端:Java、python
- Apache Tomcat/8.0.32 (Ubuntu)
- 浏览器
- Google Chrome 版本73.0.3683.103(正式版本) (64位)
- Firefox Quantum 66.0.3(64位)
- IDE
- intellij idea
- eclipse
五、GUI界面
- 抽奖设置
- 抽奖结果查看
- 数据挖掘结果
六、基础功能实现
实现完整GUI界面——HTML代码
设置抽奖事件、文案、规则
导出抽奖结果(抽奖话题、中奖人员、对应奖项)
抽奖算法设计思路(图文)
- 筛选活跃用户
- 费雪耶兹算法抽奖
七、附加功能实现
- 支持对聊天记录进行分析与挖掘
八、遇到的困难以及解决办法
XRK
- 遇到的问题:在本次实训中,我负责的是把前端表单转换成json格式,利用post请求把数据发送到后台,以及通过异步回调,将后台的数据展现到前端界面中。虽然之前学过HTML和JavaScript,但是并不怎么涉及到异步传输的问题,所以在这上面卡了很久。
- 解决的办法:最终完成了这样功能,离不开互联网的帮助。通过网上查询相关的例子和其他人的博文讲解来学习。
Yellye
- 遇到的问题:
- 解决办法:
黎焕明
- 遇到的问题:
- 解决办法:
Litm
- 遇到的问题:前端的请求参数是json,后端处理接收数据的时候格式变掉了,修改了好长时间。但是还是没有找到原因。还有编码问题,第一次这样协同合作,问题还是很多的。
- 解决的办法:参数问题,就是百度查找,修改尝试。编码问题,不断修改尝试。经过这一次学习到了很多,第一次这样协同编码出问题是很正常的,希望之后会越来越好。
oirving
遇到的问题:我本次做的是把聊天记录表转换成的用户表,提取其中的信息并汇总,都是涉及一些数据的操作,没有特别难的点;最影响我进度的就是各成员的软件版本没有统一,我用的又是MacBook跟大家的系统不太一样,所以很多东西从GitHub上pull下来后不能直接使用,需要调试很久,非常影响进度。
解决办法:首先这个问题是每人电脑的差异,客观存在的问题,要把每个成员的软件版本都统一太麻烦了,所以我选择了用他们的电脑pull下来在他们的电脑写代码,实在是花费了太多时间去配置参数,拖不起啊。自己能力也需要加强,意识到了工程能力的差距。
supermingjun
- 遇到的问题:
- 解决办法:
九、PSP表格(六合一)
PSP2.1 | Personal Software Process Stages | XRK (预估耗时(分钟)/实际耗时(分钟) | Yellye (预估耗时(分钟)/实际耗时(分钟) | 黎焕明 (预估耗时(分钟)/实际耗时(分钟) | Litm (预估耗时(分钟)/实际耗时(分钟) | oirving (预估耗时(分钟)/实际耗时(分钟) | supermingjun (预估耗时(分钟)/实际耗时(分钟) |
---|---|---|---|---|---|---|---|
Planning | 计划 | ||||||
• Estimate | • 估计这个任务需要多少时间 | 30/30 | 30/30 | 40/40 | 80/80 | 30/30 | 50/50 |
Development | 开发 | ||||||
• Analysis | • 需求分析 (包括学习新技术) | 240/360 | 60/90 | 50/70 | 30/40 | 60/100 | 80/60 |
• Design Spec | • 生成设计文档 | 40/60 | |||||
• Design Review | • 设计复审 | ||||||
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 40/30 | |||||
• Design | • 具体设计 | 120/180 | 120/130 | 70/80 | 90/110 | 100/120 | 120/80 |
• Coding | • 具体编码 | 360/540 | 240/450 | 260/560 | 200/550 | 240/500 | 360/480 |
• Code Review | • 代码复审 | 120/180 | 150/200 | 60/80 | 60/120 | 100/120 | 40/90 |
• Test | • 测试(自我测试,修改代码,提交修改) | 160/180 | 60/100 | 50/80 | 60/150 | 60/80 | 50/80 |
Reporting | 报告 | ||||||
• Test Report | • 测试报告 | ||||||
• Size Measurement | • 计算工作量 | ||||||
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | ||||||
合计 | 1030/1470 | 660/1000 | 530/910 | 520/1150 | 520/980 | 780/930 |