团队作业第六次—团队Github实战训练

本博客介绍了一个团队在软件工程课程中,利用Github进行协作,开发一个公平公正的抽奖系统的全过程。团队成员分工明确,从需求分析、设计、编码到测试,详细记录了每个环节的时间消耗和遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作业要求

这个作业属于哪个课程软件工程1916-W(福州大学)
这个作业要求在哪里团队作业第六次—团队Github实战训练
团队名称基于云的胜利冲锋队
题目描述名称搭建一个相对公平公正的抽奖系统,根据QQ聊天记录,完成从统计参与抽奖人员颁布抽奖结果的基本流程。
这个作业的目标提高团队协作编码的能力,熟悉github的使用
Github地址https://github.com/codingkai001/live-project
其他参考文献1.邹欣.构建之法[M].3版:人民邮电出版社,2014.

团队阵容

队员学号队员姓名个人博客地址备注
221500201孙文慈https://www.cnblogs.com/swc221500201/
131601207陈序展https://www.cnblogs.com/chenxuzhan/
221600414冯凯https://www.cnblogs.com/codingkai/队长
221600415傅德泉https://www.cnblogs.com/dqblog/
221600416黄海山https://www.cnblogs.com/hhs-blog/
221600417黄乐兴https://www.cnblogs.com/hlxing/
221600439<script>https://www.cnblogs.com/aaaaaaaaaaaaaa/

组员职责分工

  • 孙文慈:初始化前端Vue项目。博客内容编写。
  • 陈序展:安装Vue CLI,element-ui以及环境的调试。博客内容编写。
  • 冯凯:读取QQ聊天记录并且序列化成json格式;博客内容收集整理。
  • 傅德泉:将处理完的json数据进行关键字提取。博客内容编写。
  • 黄海山:GUI原型设计。博客内容编写。
  • 黄乐兴:抽奖算法的编码实现。博客内容编写。
  • <script>:前后端框架的搭建,程序功能的集成,代码调试与部署。博客内容编写。

github 的提交日志截图

  • 创建仓库&准备阶段

创建仓库

  • 原型设计阶段

原型设计

  • 编码实现阶段

编码实现

  • 修改BUG&优化阶段

修改BUG

程序运行截图

源码编译

  • 从github将项目源码clone到本地
    clone
  • 切换到项目所在目录并安装
    install
  • 本地运行项目
    run

Release启动

https://github.com/codingkai001/live-project/releases/tag/0.1

解压后双击index.html

运行展示

  • 抽奖界面首页
    index
  • 设置关键字、选择聊天日期、设置奖品以及设置过滤条件
    setting
  • 根据设置筛选用户,展示抽奖结果
    show

程序开发 / 运行环境

  • 纯前端项目,开发语言为JavaScript,使用Vue + element-ui进行开发。
  • 运行环境:Chrome 60+及以上版本。

GUI界面

  • 首页
    index
  • 选择关键字&选择聊天日期
    set
  • 设置奖品列表、奖品个数、选择聊天记录、以及条件筛选
    set
  • 展示获奖名单
    show

基础功能实现

  • 实现完整GUI界面:项目GUI采用Vue+element-ui实现,界面简约大方。
  • 设置抽奖事件、文案、规则
    • 在输入框中输入抽奖关键词,将自动添加到关键字Label中,可自由添加或删除。
    • 在文本框中输入抽奖活动文案。
    • 使用简洁的日历界面可以方便的修改抽奖发言时段。
    • 抽奖过滤规则
    • filter
      • 过滤掉助教和老师
      • 过滤掉不活跃的成员
    • 弹出框展示抽奖结果名单,显示获奖的成员昵称、账号和奖品,自动将已获奖的同学屏蔽,以免一个同学多次在同一个抽奖中获多个奖项。

抽奖算法设计思路

  1. 抽奖算法
    使用多个维度设置抽奖算法,确保抽奖过程公平公正:
    • algo
    • algo
  2. 随机算法
    我们使用的伪随机数算法是XORSHIFT128+,这个算法的基本原理如下:
uint64_t state0 = 1;
uint64_t state1 = 2;
uint64_t xorshift128plus() {
  uint64_t s1 = state0;
  uint64_t s0 = state1;
  state0 = s0;
  s1 ^= s1 << 23;
  s1 ^= s1 >> 17;
  s1 ^= s0;
  s1 ^= s0 >> 26;
  state1 = s1;
  return state0 + state1;
}

关于这个算法,其实现的特点是内存小、计算速度快,但不具有密码学安全性。事实上,对于抽奖,我们也不需要这个。可以阅读相关论文,我们在此不再赘述:
Further scramblings of Marsaglia’s xorshift generators, Sebastiano Vigna, Universit`a degli Studi di Milano, Italy, http://vigna.di.unimi.it/ftp/papers/xorshiftplus.pdf

遇到的困难及解决方法

  • 孙文慈
    • 不太会使用Vue,通过网上查找教程解决。
  • 陈序展
    • 第一次接触Vue,不懂得如何安装Vue CLI,以及进行项目的创建和插件的添加。通过查看官方文档,掌握相关方法解决。
    • 对于git命令及相关操作不熟悉。上网查看教程,学习相关命令和操作解决。
  • 冯凯
    • 在聊天记录的处理过程中,存在许多杂乱的数据,这给数据的序列化带来许多麻烦。通过数据过滤,格式调整,然后再读取数据进行序列化操作。
  • 傅德泉
  • 黄海山
    • 对墨刀原型工具运用不熟悉,通过查找墨刀设计教程,学习不熟悉的操作解决。
    • 对github命令不熟悉。通过查找网上的github教程,学习各种基本命令解决。
  • 黄乐兴
    • 抽奖的流程较为复杂,无法马上编写出一个完整的抽奖算法。解决的方法是采用迭代的开发模式,一步一步增加抽奖的功能,并且在增加功能的同时考虑代码的耦合性,尽可能地让功能模块化,方便日后的维护。
  • <script>

团队实战总结

由于团队成员在作业发布之后就开始组内分工,提前进行各个模块功能的开发准备,使得整个程序的开发进度比较顺利,在上机课上提前完成了作业的各项要求与程序的运行测试。因此,本次团队Github实战训练算是比较圆满地完成了任务,机会永远是留给有准备的人。

团队成员贡献比例

学号分工贡献率
221500201初始化前端Vue项目7%
131601207安装Vue CLI,element-ui以及环境的调试15%
221600414读取QQ聊天记录并且序列化成json格式17%
221600415将处理完的json数据进行关键字提取12%
221600416GUI原型设计15%
221600417抽奖算法的编码实现16%
221600439前后端框架的搭建,程序功能的集成,代码调试与部署18%

团队成员PSP表格

PSP表格-孙文慈

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划
• Estimate• 估计这个任务需要多少时间6070
Development开发6070
• Analysis• 需求分析 (包括学习新技术)00
• Design Spec• 生成设计文档00
• Design Review• 设计复审00
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)00
• Design• 具体设计00
• Coding• 具体编码4060
• Code Review• 代码复审00
• Test• 测试(自我测试,修改代码,提交修改)2010
Reporting报告00
• Test Report• 测试报告00
• Size Measurement• 计算工作量00
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划00
合计6070

PSP表格-陈序展

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划
• Estimate• 估计这个任务需要多少时间120120
Development开发120120
• Analysis• 需求分析 (包括学习新技术)00
• Design Spec• 生成设计文档00
• Design Review• 设计复审00
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)00
• Design• 具体设计00
• Coding• 具体编码100100
• Code Review• 代码复审00
• Test• 测试(自我测试,修改代码,提交修改)2020
Reporting报告00
• Test Report• 测试报告00
• Size Measurement• 计算工作量00
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划00
合计120120

PSP表格-冯凯

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划
• Estimate• 估计这个任务需要多少时间180250
Development开发180250
• Analysis• 需求分析 (包括学习新技术)00
• Design Spec• 生成设计文档00
• Design Review• 设计复审00
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)00
• Design• 具体设计00
• Coding• 具体编码120200
• Code Review• 代码复审00
• Test• 测试(自我测试,修改代码,提交修改)6050
Reporting报告00
• Test Report• 测试报告00
• Size Measurement• 计算工作量00
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划00
合计180250

PSP表格-傅德泉

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划
• Estimate• 估计这个任务需要多少时间5080
Development开发5080
• Analysis• 需求分析 (包括学习新技术)00
• Design Spec• 生成设计文档00
• Design Review• 设计复审00
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)00
• Design• 具体设计00
• Coding• 具体编码3050
• Code Review• 代码复审00
• Test• 测试(自我测试,修改代码,提交修改)2030
Reporting报告00
• Test Report• 测试报告00
• Size Measurement• 计算工作量00
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划00
合计5080

PSP表格-黄海山

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划
· Estimate· 估计这个任务需要多少时间100130
Development开发
· Analysis· 需求分析 (包括学习新技术)2030
· Design Spec· 生成设计文档2020
· Design Review· 设计复审2020
· Coding Standard· 代码规范 (为目前的开发制定合适的规范)00
· Design· 具体设计1010
· Coding· 具体编码3030
· Code Review· 代码复审00
· Test· 测试(自我测试,修改代码,提交修改)1010
Reporting报告
· Test Repor· Test Repor1010
· Size Measurement· 计算工作量00
· Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划1010
合计120130

PSP表格-黄乐兴

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划
? Estimate? 估计这个任务需要多少时间290230
Development开发270220
? Analysis? 需求分析 (包括学习新技术)6030
? Design Spec? 生成设计文档4030
? Design Review? 设计复审22020
? Coding Standard? 代码规范 (为目前的开发制定合适的规范)63030
? Design? 具体设计3030
? Coding? 具体编码8070
? Code Review? 代码复审00
? Test? 测试(自我测试,修改代码,提交修改)1010
Reporting报告2010
? Test Report? 测试报告00
? Size Measurement? 计算工作量00
? Postmortem & Process Improvement Plan? 事后总结, 并提出过程改进计划2010
合计290230

PSP表格-<script>

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划
• Estimate• 估计这个任务需要多少时间170150
Development开发120100
• Analysis• 需求分析 (包括学习新技术)00
• Design Spec• 生成设计文档00
• Design Review• 设计复审00
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)00
• Design• 具体设计00
• Coding• 具体编码120100
• Code Review• 代码复审00
• Test• 测试(自我测试,修改代码,提交修改)2010
Reporting报告00
• Test Report• 测试报告00
• Size Measurement• 计算工作量00
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划00
合计140110

转载于:https://www.cnblogs.com/CodingMaster/p/10753647.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值