结对编程

第一次结对编程作业

十年热恋 提交于 2019-11-30 07:48:05
第一次结对编程作业 一、原型分析 二、原型开发工具 三、结对的过程 四、PSP PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 60 · Estimate · 估计这个任务需要多少时间 2000 2000 Development 开发 120 160 · Analysis · 需求分析 (包括学习新技术) 60 30 · Design Spec · 生成设计文档 120 160 · Design Review · 设计复审 40 40 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 250 300 · Design · 具体设计 450 500 · Coding · 具体编码 450 500 · Code Review · 代码复审 60 40 · Test · 测试(自我测试,修改代码,提交修改) 200 100 Reporting 报告 30 30 · Test Repor · 测试报告 40 40 · Size Measurement · 计算工作量 10 5 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 30 五、设计说明 六、困难及解决方法 困难描述 来源:

第一次结对编程作业

扶醉桌前 提交于 2019-11-30 07:47:14
原型分析 Need 本次作业要求开发一个自动化的出牌系统,提供的接口如下: 登录 开启一局游戏 出牌 查询排行榜 查询往期对战结果 首先是后台逻辑部分,十三水的游戏方式比较简单,程序只需要根据发牌接口提供的13张牌,将其分成获胜希望较大的三墩即可。 UI部分,根据要求,还要设计相应的登录界面、当前对战状态、排行榜界面、往期对战信息等。 最终目标是利用所提供的接口开发出可以直接运行的客户端。 Approach 第一阶段,利用原型设计工具设计UI界面,规划整个程序各部分的逻辑结构。 第二阶段,用Python实现程序的编写,用PyInstaller打包成exe程序。 UI设计 设计风格比较简洁统一,没有多余的元素,突出重点。 原型贴图举例 原型开发工具 墨刀,Adobe Photoshop 结对过程 讨论这次作业的要求 进行需求分析:需要实现哪些功能、要用到哪些工具、需要掌握哪些技能 具体的工作分配 UI的设计和讨论 PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 Estimate 估计这个任务需要多少时间 60 Development 开发 2500 Analysis 需求分析 (包括学习新技术) 600 Design Spec 生成设计文档 30 Design Review

第一次结对编程作业

痞子三分冷 提交于 2019-11-30 06:34:27
1.原型分析 该部分内容已隐藏,将在作业截止时展现 2.原型模型设计工具 因为是中文界面,于是我们小队决定使用墨刀 3.结对过程及讨论照片 结对过程是,我在qq上问兴源:结对吗。兴源回:好啊。 讨论照片: 该部分内容已隐藏,将在作业截止时展现 4.排版规范 我觉得我的排版挺规范的 5.psp表格 由于第一次作业没有涉及代码,我先把我能填的都填了,等代码写完之后再填剩下的 6.设计说明 该部分内容已隐藏,将在作业截止时展现 7.遇到的困难及解决方法 困难1 困难描述:不知道什么叫设计说明 解决尝试:问大佬 是否解决:因为还没问,所以不知道解决没有 有何收获:知道了什么叫设计说明 困难2: 困难描述:原型分析部分需要花很多的时间来学习和写博客 解决尝试:熬夜 是否解决:因为还没熬夜,所以不知道解决没有 有何收获:在熬夜之后感受到了客服困难所带来的快乐 8.原型设计心得 我:感觉用了中文的工具之后就很舒服,只要点点点,拉拉拉就完事了(虽然我在写这个心得的时候还没开始用原型设计工具) 兴源:该部分内容已隐藏,将在作业截止时展现 9.自己的学习进度条 来源: https://www.cnblogs.com/menmamizigeda/p/11569498.html

ASE 第一次结对编程

十年热恋 提交于 2019-11-30 06:07:35
问题定义 黄金点游戏源于经济学家Richar Thaler构思的在1997年伦敦金融时报进行了一次公开竞猜活动,该游戏有着一些很有意思的性质,因此老师将其作为第一次结对编程的题目。 问题定义 在黄金点游戏中,假设有N个玩家,游戏规则为,每人写一个或两个0~100之间的有理数 (不包括0或100),提交给服务器,服务器在当前回合结束时算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的玩家得到N分,离G最远的玩家得到-2分,其他玩家得0分。只有一个玩家参与时不得分。 问题难点 游戏规则为赢者通吃,在每轮游戏中只有第一名才会得到奖励,且只有最后一名才会被扣除一定分数,如何想法设法冒险在每轮中预测最准,最接近黄金点非常难。 游戏环境未知,而该游戏严重依赖于其他人的策略,同样的模型在不同人中进行比较,可能效果差异极大。 该游戏中能利用的信息几乎只有过往黄金点的信息,可用信息不足,很难学到比较好的模型。 在训练模型时基本只能和room0和room1中几个基于规则的bot对抗来调整,和实际比赛场景之间的Gap较大。 短期收益和长期收益的分配,短期指在当前轮次的尽可能高分,长期指一段时间的尽可能高分。 方法建模 模型介绍和动机 核心算法我们采用了q learning,一是因为时间紧张,而且都身在国外,二是该任务的数据较少而在线反馈又有限且缓慢

第一次结对编程作业

試著忘記壹切 提交于 2019-11-30 05:42:31
问题重述与分析 问题重述 最终的黄金点比赛会进行10000轮。每轮比赛中共有 $N$ 位玩家参与,每个玩家要在 5s 内提交两个数,系统会将所有数作平均并乘0.618得到一个黄金点。提交数字最接近黄金点的玩家得 N 分,距离最远的 -2 分,其余玩家得分不变。目标是让累计得分尽量高。 问题分析 我们认为策略驱动模型更适合这个任务,而不是数据驱动。即根据历史数据从若干个给定策略中挑选一个作为回答,而不是直接去回归黄金点。比起直接回归策略,策略驱动的方法 action 空间更小,学习起来要简单一些。而至于用于策略选择的模型,我们尝试采用了 DQN(虽然两人都没怎么接触过,但这不失为一次学习的机会)。 Bot 算法设计 算法描述 我们的 Bot 是基于老师给的 RLDemo 修改的。 Action 空间 RLDemo 中给定了 8 个 action,其中前七个都是根据固定策略生成两个相同的数。我们觉得这样做有些“浪费”,因为若可以提交两个数,提交两个不同的数要更保险一些。我们便将前七个策略两两组合,再加上第八个策略,构成了一个大小为 C(7, 2) + 1 = 22 的 Action 空间。 State 我们简单地采用前十个黄金点组成的 10 维向量作为 State。 我们设计了一个简单的三层网络作为 DQN 的模型 class DQN(nn.Module): def __init__

第一次结对编程作业

不打扰是莪最后的温柔 提交于 2019-11-30 04:26:49
一、问题重述与分析: 1.1 问题重述:     黄金点比赛共进行10000 rounds,每个round 5s时间,每位玩家(Bot)需在5s内提交2个数字去逼近黄金点。提交数字最接近黄金点(距离取绝对值)的玩家获最高分n(房间内玩家数量),最远离黄金点的玩家扣2分,其余玩家积分不变。10000 rounds后,得分最多的玩家获胜。   黄金点定义:在每个round内,n位玩家所提交2n个数字,取平均值,乘以0.618,即为该轮黄金点。 1.2 问题分析:   可采用解决方法:策略驱动,数据数据。   策略驱动:如何让自己的策略脱颖而出?由于各玩家都会采用策略,如趋势判定、阈值判定、大数扰动等,配合强化学习,可能能做出极好的Bot。但由于组内两个人对RL、DQN等强化学习模型都没怎么接触过,不确定能否写出work的强化学习Bot。但假如不用强化学习,手动设定的策略由于不可调整,很容易被好的学习模型学到我们的策略,一定得不到高分。   数据驱动:不考虑策略,仅依赖数据产生预测值,如滑动平均、灰色预测、RNN等。但是,假如玩家中有人故意出大数干扰,数据驱动很可能会失效。 二、Bot算法设计: 2.1 算法描述:     Number1:以该round以前的10个黄金点作为输入,训练一个LSTM模型,输出预测黄金点,并与前10个黄金点做平均;   Number2:前一个黄金点乘以0

结对编程:中小学自动试卷生成程序分析

余生长醉 提交于 2019-11-30 03:38:16
相较于个人项目着重培养独立解决问题的能力而言,结对编程提供了一个共同进步的机会。通过分析对方的代码,我们可以经由对方的优点而见贤思齐,可以经由对方的不足而互助共勉。现在,我想谈一谈我对志豪同学工程文件优缺点的理解。 我认为,实现需求是软件开发的第一步,在这一点上志豪同学几近完美。他不仅仅是实现了逻辑层面上的出题功能,也没有满足于不够便利的命令行输入,而是做出了友好度更高、可用性更好的图形用户界面。密码输入时做暗文处理、切换类型时按钮“三选一”、一键切换账号、“生成试卷”按钮提示试卷类型、Console同步输出、使用相对文件夹输出txt文件,这些细节无一不体现出他的设计之用心。也正因于此,软件的使用体验很是出色。金无足赤,我认为如果生成试卷之后程序能够弹框提示,那么会更加完美。txt文件中题目没有标明题号,也是一个小小的不足。 谈完使用体验,现在回到代码本身。我认为代码所体现的面向对象的编程思想很值得学习。用不同的类分别表示登录窗口、账号匹配功能、出题功能、出题窗口与类型切换窗口,通过创建对象、事件处理、方法调用等方式实现功能之间的切换,这是非常棒的设计理念。GUI各类组件的合理使用与调用同样体现了设计者设计之巧妙,程序中的异常处理体现出设计者扎实的Java编程基础。很惭愧,我没有设计图形用户界面,而是在代码美化、性能优化上多下了一些功夫

结对编程

≡放荡痞女 提交于 2019-11-30 03:37:50
先附题目: 个人项目:中小学数学卷子自动生成程序 用户: 小学、初中和高中数学老师。 功能: 1、 命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个。否则提示“请输入正确的用户名、密码”,重新输入用户名、密码; 2、 登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学、初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取值范围为1-100; 3、 题目数量的有效输入范围是“10-30”(含10,30,或-1退出登录),程序根据输入的题目数量生成符合小学、初中和高中难度的题目的卷子(具体要求见附表)。同一个老师的卷子中的题目不能与以前的已生成的卷子中的题目重复(以指定文件夹下存在的文件为准,见5); 4、 在登录状态下,如果用户需要切换类型选项,命令行输入“切换为XX”,XX为小学、初中和高中三个选项中的一个,输入项不符合要求时,程序控制台提示“请输入小学、初中和高中三个选项中的一个”;输入正确后,显示“”系统提示“准备生成XX数学题目,请输入生成题目数量”,用户输入所需出的卷子的题目数量

结对编程——队友代码分析

☆樱花仙子☆ 提交于 2019-11-30 03:37:48
队友的中小学数学卷子自动生成程序项目部分功能已完成,但还有部分功能未实现。 代码是 C++语言编写,分为四部分:小学、初中、高中的题目生成函数,以及主函数。 1.main函数中匹配账号密码 2.生成小学、初中、高中题目。 代码优点:整个代码逻辑清晰,简洁易懂,代码书写规范。 代码缺点:好多需求都没有实现。 题目生成并不能生成想要数量的题目,每次只能生成两道题。 可以生成 “年-月-日-时-分-秒.txt”的形式 的 txt文件,但是没有内容写入。 缺少需求的第四项切换类型选项。 生成的每道题中,所运用的运算符并不是随机生成的,而是根据操作数固定生成运算符的位置。 没有加入括号。 总的来说并没有很好的完成这次个人项目,缺项漏项太多,没有完成全部需求。 来源: https://www.cnblogs.com/jhthy/p/11553423.html

结对编程之对队友的代码分析与评价

寵の児 提交于 2019-11-30 03:34:29
优点: 代码的缩进、排列整洁美观,大致思路清晰,主函数方面关键转折点的注释也恰到好处,整个主函数的可读性非常强。除了主函数之外,对两个类的创建也十分符合逻辑,一个 Paper 类负责打印出一整张卷子,一个 Question 类负责打印出每道题目,在 Paper 类中按输入的题目数循环实现 Question 类布置完整张卷子,再在主函数中按要求实现 Paper 类,即可打印出整张卷子,从而实现整个系统的基本功能。除此而外,对这两个类分别的处理也十分具有层次感,因为考虑到题目分小学、初中、高中三大类,相应的试卷也分小学、初中、高中三大类,所以在 Question 类中又分了三个小类来实现对小学、初中、高中题目的区别,而 Paper 类中也类似地划分了三个小类,层次分明,条理清晰。 缺点: 两个类的相关代码注释有点不够详细,读完后不太清楚部分函数的具体功能。另外,个人觉得 Paper 类或许不用划分成三个小类,因为 Question 类中已经分好了小学、初中、高中题目,不同类题目写到同一类 Paper 上就已经实现了不同的 Paper 了,所以个人认为 Paper 类或许不用划分(当然这只是我自己的粗略想法,鉴于本人没有读懂部分函数,所以也可能只是我自己想得太简单了) 来源: https://www.cnblogs.com/hlx1024/p/11552674.html