团队项目——AI五子棋(小程序)

团队展示:

  队名:未来的将来的明天在那里等你 小组

  队员:

  龙天尧(队长)(3116005190),林毓植(3116005188),黄晖朝(3116005178),梁竟(3116005183),林俊博(3116005185),林立新(3116005186)

  

  Github项目地址:https://github.com/holidaysss/AI-Gobang

  项目描述

    AlphaGo Zero在世界舞台上取得的巨大成功体现了人工智能算法的快速发展和其蕴含着的应用价值,本团队借鉴AlphaGo Zero算法思想和架构,简单实现五子棋的人工智能棋手,通过人工智能自我的不断下棋,不断训练,并且不断迭代更新自身-自训练模式,从而训练一个水平极高的人工智能棋手,让广大玩家体验一把与“AlphaGo Zero”的感觉。本团队提出的程序-AI五子棋不仅加入人工智能元素,并且以微信小程序的方式部署,为所有微信用户提供简洁方便的模式风格轻松进行五子棋游戏。

  需求分析: 

     面向用户分析:
      全体微信用户都可以很便捷地参与游戏,随时随地都可以简单的借助微信小程序的便利发起游戏对战。

     功能性需求
      a. 正常进行五子棋游戏
      b. 基于微信小程序开发
      c. 多种游戏模式的选择
      d. AI元素的加入
     技术需求
      a. 微信小程序前端开发
      b. 服务器部署
      c. python web开发
      d. AlphaGo Zero 算法理解和实现
      e. python的编程开发

  项目分组:   

    前端:
      AI五子棋基于小程序开发,小程序的前端语言用的是JavaScript。前端设计主要从两个角度进行编程开发:游戏设计,信息处理。

       游戏设计:
        1. 五子棋棋盘,棋子等图像界面的设计
        2. 五子棋基础规则设定
          a. 棋子可以根据玩家的指定位置落到棋盘的指定位置-坐标
          b. 玩家只可以按照规则下棋,不存在连续下棋,未同意下撤回棋子,同个位置下两遍等异常情况
        3. 游戏基础功能设定,比如开始游戏,再来一菊,放弃下棋等
        4. 可以根据后端指示的游戏状态执行对应操作,特别地,棋盘的胜负状态是由后端判断的。

       信息处理:
        1. 可以为每一个微信用户生成一个唯一的Token或者标识
        2. 可以与后端进行正确的信息通信,并且执行后端要求的请求。同时也可以正常地向后端发送信息
        3. 以JSON格式作为数据规范格式,当前数据格式

    后端
      采用开发简单且功能强大的Flask作为后端开发语言,由于Flask是python web框架,所以在结合同样是python实现的人工智能算法上的操作上更加方便。后端开发主要从两个角度入手:游戏开发,Web开发

      游戏开发:
        1. 完整编程开发五子棋游戏,可以正常生成棋盘,并且可以进行三种游戏模式:人机模式,人人模式,鸡鸡模式。
        1. 初步理解AlphaGo Zero的算法思想和技术,并且尝试实现算法,训练人工智能模型。
        2. 整合训练好的模型和算法逻辑称为一个可实例化的对象 - 称人工智能棋手(AI棋手)
      Web开发:
        1. 正确与前端进行信息交流
        2. 准确每一个用户生成临时棋盘环境,每个用户的棋盘游戏环境互不干扰。
        3. 合理存放用户的token标识等数据
        4. 同个用户标识可以在不同时间段内生成多个棋盘,但是每一个时间段只能对应一个棋盘环境
        5. 服务器web框架的部署,性能,效率,安全和稳定等方面的测试

  

参考资料
AlphaGo Zero的主要论文文献,互联网上的AlphaGo Zero算法研究文章,AlphaGo Zero 相关的知识文章,微信小程序游戏类型开发知识文章,python后端开发知识文章,服务器搭建配置知识文章,python必要运行环境搭建配置知识文章。
AlphaZero: Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm
AlphaGo Zero: Mastering the game of Go without human knowledge

  队员风采:天尧

          人设:活泼可爱

           擅长:即兴伴奏,python

           一句话:“想要成绩好,上课不迟到。”

       毓植

          人设:天真浪漫

           擅长:唱歌,python

           一句话:“百分之五十的见解, 百分之五十的直觉。”

         

         晖朝

          人设:沉着冷静

           擅长:太极,python

           一句话:“饮一壶浊酒,删了库就走”

         竟竟

            人设:拾金不昧

           擅长:安卓,Java

           一句话:“听立新的。”

         俊博

          人设:宠辱不惊

          擅长:游戏,python

           一句话:“None”

         立新

          人设:能说会道

           擅长:数学,辩论,python

           一句话:“爱你,爱你,爱你,每天都要一起。”

  团队合照:

  

  (明天再拍。。。)

  团队特色:男团

二、选题要求

  • 确立团队选题,确定之后每个团队需要写描述要做的究竟是什么系统,预期的用户量是多少。
  • 围绕选题项目内容的 真实、可用、有价值(有情怀 作为加分项)目标来分别阐述。
  • 建立和初步熟悉团队git的协作方式。项目后续的代码、文档都要通过Coding.net增量式管理。实现文档的版本化和增量式管理。
  • 请立刻建立团队项目的git仓库。

三、团队安排

1. 团队计划

第 6 

1.团队组队、团队博客

 

2.团队介绍、成员展示、角色分配、选题确定

 

3.制定团队计划安排,团队贡献分的规定

第7周

1.需求规格说明书

 

2.原型设计,队员估计任务难度并学习必要的技术

 

3.编码规范完成、平台环境搭建完成、初步架构搭建

第8周

1.原型改进(给目标用户展现原型,并进一步理解需求)

 

2.架构设计,WBS, 团队成员估计各自任务所需时间

 

3.测试计划

第9周

1. 团队项目Alpha任务分配计划

 

2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交

第10周

1.用户反馈+测试计划改进

 

2. 团队Alpha阶段个人总结

 

3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理

第11周

1. 团队项目Alpha博客:事后分析

 

2. 每个团队有一人必须离开,自己寻找下一个接纳自己的团队。团队发博客宣布离队和接纳的成员。

第12周

1. 团队项目Beta任务分配计划,介绍新成员

 

2. 连续7天的Beta敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交

第13周

1. 团队项目Beta博客:发布说明、测试报告、展示博客

 

2. 团队Beta阶段个人总结

第14周

1. 团队项目Beta博客:事后分析, 宣布每人的贡献分

第15周

1.团队整个阶段总结,分析用户数据,整理文档,保证以后的团队能接手。

2. PSP

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

3. 团队成员绩效评估方法

成员的绩效 = 团队获得的分数 + 个人的团队贡献分
在项目alpha 和 beta 阶段评审后, 团队会得到一个项目分数(每个成员都会得到同样的分数,做为自己的原始分数的一部分)。团队成员的努力程度不同,达成目标的程度不同,帮助同伴的付出不同,那就要在“团队贡献分” 上有所区分。 所有人贡献分的总和为 20N,其中N为团队的人数。 在alpha/beta 之后,团队按照自己制定的规则,把 (20N)瓜分给每人,这就是 “团队贡献分”。
要求:请每人阅读教材 “人、绩效和职业道德”一章,然后团队开一个讨论会,协商讨论团队贡献分的分配规则。每人得分为自然数,并且每个人分数不能相同。 请写一个团队博客详细说明每个团队的成员计划如何帮助团队完成任务,以及团队贡献分的分配规则。

转载于:https://www.cnblogs.com/macrae/p/9781123.html

天转凉了,注意保暖,好吗(需求规格说明书放在github了)相关推荐

  1. python发微信提醒天气冷了注意保暖_天气变冷的短信问候语_天凉了注意保暖的微信问候语...

    天气变冷的短信问候语 降温了,花落的声音风知道,思念的感觉心知道,变冷的温 度冬知道. 关于天气变冷的短信问候怎么说呢 ? 下面是小编给大家 分享的天气变冷的短信问候语,仅供大家参阅. 天气变冷的短信 ...

  2. 百度测试开发岗面试题(2019秋招)

    百度去面试了两次,7月份提前批一次,这是我第一次去面试,果然凉的透透的,然后是正式批的时候,大概9.10月份吧,具体几号忘了,当时是在他们的食堂里,一站式面试,面试最后通过了.记录一下百度两次面试遇到 ...

  3. 吉林市一日游 规格说明书

    1. 引言 1.1 编写目的 此需求规格说明书编制目的是明确本次活动的目的.流程.注意事项,供参加活动的同学确认此次活动的具体情况,并根据说明书来进行本次出游活动. 本文档仅供东北师范大学2016级计 ...

  4. 面试唯品会实习测试岗、抖音实习测试岗【真实投稿】

    文章投稿:某位不愿透露信息的小伙伴 唯品会暑期实习测试面经 6.11 一面(25min) 自我介绍 以前实习有做过测试,参与哪些流程? 印象深刻的bug? 购物车用例 数据库对比查询优化?主要是做什么 ...

  5. 2020华为测试工程师面试前三天面经汇总准备

    结合面经,做总结 主要考察:代码能力,测试是否能设计,项目经验 1.python常见语法 1.1 Python的内存管理机制是什么呢?Java的内存管理机制是什么呢? 内存管理主要包括内存分配和内存回 ...

  6. 我们应当怎样做需求分析[转]

    又到新年了,日历又要从2011年翻到2012年了,这使我有太多的感慨,进而勾起了对太多往事的回忆.过去的10年,毫无疑问是中国软件业发展最快的10年.当我们刚刚毕业的时候,还在使用VB.PB开发一些简 ...

  7. 论激情引领探索,探索产生成就感,成就感反馈激情之螺旋上升——大学阶段最酷的体验之软工实践

    这个作业属于哪个课程 2022年福大-软件工程W班 这个作业要求在哪里 软件工程实践总结&个人技术博客 这个作业的目标 总结回顾学习过程 其他参考文献 - 前言: 我承认,这个标题确实有点标题 ...

  8. [ZT]软件和需求的实践(林星《IBM DeveloperWorks》)

    软件和需求的实践(1) --------------------------------------------------------------------------------   林星(转载 ...

  9. IT中的DEV SIT UAT PET SIM PRD 都是什么意思?

    缩写 英文 中文 DEV development 开发 SIT System Integrate Test 系统整合测试 UAT User Acceptance Test 用户验收测试 PET Per ...

最新文章

  1. 使用 Kanban精益创新
  2. Spark+hadoop+mllib及相关概念与操作笔记
  3. 数据结构——马踏棋盘题解(贪心算法)
  4. MySQL 中的反斜杠 \\,真是太坑了!!
  5. php mac 常用代码,在Mac上使用PHP exec shell(代码签名)重新分配IPA
  6. NodeJS开发c++扩展模块
  7. oracle模拟重叠事务,ORACLE的事务读一致性与语句读一致性
  8. 【软件工程】设计原则与设计模式
  9. qgis二次开发环境搭建(超级详细)
  10. 368.最大整数子集
  11. Spine 2D骨骼动画插件 for Unity
  12. pc端+移动端电商源码
  13. Solaris adsl上网
  14. 架构师日常-团队管理
  15. 【计算机网络】MTU和MSS
  16. mysql proxool.xm_pom.xml · McAntilic_清水闲人/koala - Gitee.com
  17. 咩话,event前总是要判定?
  18. jQuery效果(隐藏和显示)
  19. 配合清退工作,建议将金融科技纳入监管沙盒
  20. 鸿蒙音波萨顶顶,假唱被揭穿5位明星,筷子兄弟丢人到国外,萨顶顶竟然拿反话筒!...

热门文章

  1. mysql不使用自增_自增ID有什么坏处?什么样的场景下不使用自增ID?
  2. java 调用servlet_[Java Servlet]调用 Servlet
  3. mysql decode语句_mysql数据灾难恢复方案
  4. Map、HashMap、TreeMap、LinkedHashMap
  5. 二层交换机可以划分vlan吗_二层交换机上,属于不同VLAN的PC该如何通信
  6. linux csr蓝牙驱动,csr4.0蓝牙适配器驱动下载
  7. php使用referer,php中HTTP_REFERER函数用法实例
  8. win7系统怎么样在计算机里找桌面,如何在64位win7电脑中创建一个“显示桌面”的快捷方式...
  9. oracle 的目录是空的,oracle sqlplus在@命令路径中有空格的问题
  10. Python基础类型之元组