结对编程

结对编程(阶段一)

孤街浪徒 提交于 2020-03-23 09:08:49
一、实验目标   1)体验敏捷开发中的两人合作。   2)进一步提高个人编程技巧与实践。 二 、实验内容   1)根据以下问题描述,练习结对编程(pair programming)实践;   2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。   3)要求在结对编程工作期间,两人的角色至少切换 4 次;   4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。 三、 问题描述 生命游戏 生命游戏是英国数学家 约翰·何顿·康威 在 1970 年发明的细胞自动机,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死亡的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。 游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行。例如,设想每个方格中都可放置一个生命细胞,生命细胞只有两种状态:“生”或“死”。图中,用黑色的方格表示该细胞为“死”, 其它颜色表示该细胞为“生” 。 游戏开始时, 每个细胞可以随机地(或给定地)被设定为“生”或“死”之一的某个状态, 然后,再根据如下生存定律计算下一代每个细胞的状态: 每个细胞的状态由该细胞及周围 8 个细胞上一次的状态所决定

北航软工结对项目

倾然丶 夕夏残阳落幕 提交于 2020-03-22 18:13:45
结对项目 项目 内容 本作业属于北航 2020 年春软件工程 博客园班级连接 所属教学班 006 本作业是本课程结对项目作业 作业要求 我在这个课程的目标是 收获团队项目开发经验,提高自己的软件开发水平 这个作业在哪个具体方面帮助我实现目标 体验结对编程 项目代码 Github 仓库 需求分析 与上一次的个人项目作业相类似,本次的任务关键在于交点的求解。至于新需求“交点绘制”,是简单扩展,实际上是将每个交点的坐标反馈到用户。 本次任务增加了两种图形:线段与射线,它们都是特殊的直线。为什么是特殊的“直线”呢?因为本质上,这两种图形都是将无限长直线进行截断而形成的。 由于这种性质,我们不难发现,整体的求解过程几乎没有改变。上一次的求解划分方法抄录如下 直线与直线 平行:交点个数 0 同一条直线:交点个数无限 相交:交点个数 1 直线与圆 相离:交点个数 0 相切:交点个数 1 相交:交点个数 2 圆与圆 相离:交点个数 0 相切:交点个数 1 相交:交点个数 2 内含:交点个数 0 但是,射线与线段毕竟不是直线,因此我们需要考虑因截断带来的影响,即所求得的交点是否在图形上。而求解交点的过程,依旧是参见 Paul Bourke 先生的 文章 。 除此以外,我们还需要考虑射线与线段之间的新的交点,即端点的重合。 根据上述分析过程,不难得到所需的实体,UML 图如下(使用 StarUML

第二次结对编程作业

江枫思渺然 提交于 2020-03-22 17:58:01
1、结对同学地址: https://www.cnblogs.com/fzu-031702148/ UI视频地址: https://v.youku.com/v_show/id_XNDQwODg4NTcwNA==.html?spm=a2h3j.8428770.3416059.1 本作业博客链接: https://www.cnblogs.com/fzu-031702148/p/11675619.html 仓库地址 https://github.com/vjudge0913/13Water/ 2、具体分工 陈启昌:网页前端html、与服务器交互 刘华一:网页后端python、写博客 3、PSP表格 Planning 计划 预计耗时 实际耗时 Planning 计划 15 30 Estimate 估计这个任务需要多少时间 40 50 Development 开发 500 850 Analysis 需求分析 (包括学习新技术) 120 230 Design Spec 生成设计文档 60 60 Design Review 设计复审 15 10 Coding Standard 代码规范 (为目前的开发制定合适的规范) 70 60 Design 具体设计 120 180 Coding 具体编码 500 800 Code Review 代码复审 50 50 Test 测试(自我测试,修改代码,提交修改

2020软件工程-结对项目作业

谁说胖子不能爱 提交于 2020-03-22 17:19:11
2020软件工程-结对项目作业 1. 项目简介 github链接 https://github.com/CapFreddy/BUAASE-PairPrograming 教学班级:周五班 006 项目 内容 这个作业属于哪个课程 https://edu.cnblogs.com/campus/buaa/BUAA_SE_2020_LJ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/buaa/BUAA_SE_2020_LJ/homework/10466 ) 我在这个课程的目标是 提升软件开发能力 这个作业在哪个具体方面帮助我实现目标 提升了个人编程能力, 测试和提升代码性能的能力 2. PSP时间花费 PSP2.1 Personal SoftWare Process Stages 预计耗时 实际耗时 Planning 计划 120 60 Estimte 估计这个任务需要多少时间 1800 1700 Development 开发 1100 1000 Analysis 需求分析 0 0 Desing Spaec 生成设计文档 100 40 Design Review 设计复审 100 10 Coding Standard 代码规范 0 0 Design 具体设计 60 40 Coding 具体编码 1100 180 Code Review 代码复审 60

实验二 结对编程

烈酒焚心 提交于 2020-03-22 17:08:15
实验目标 1. 体验敏捷开发中的两人合作。 2. 进一步提高个人编程技巧与实践。 实验内容 1. 根据以下问题描述,练习结对编程(pair programming)实践; 2. 要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求; 3. 要求在结对编程工作期间,两人的角色至少切换 4 次; 4. 编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。 实验记录 阶段一: 一、查阅相关资料对敏捷开发和结对编程的理解 敏捷开发: 敏捷开发是一种从1990年代开始逐渐引起广泛关注的新型软件开发方法,是一种能应对快速变化需求的软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。敏捷软件开发描述了一套软件开发的价值和原则,在这些开发中,需求和解决方案皆通过自组织跨功能团队达成。敏捷软件开发主张适度的计划、进化开发、提前交付与持续改进,并且鼓励快速与灵活的面对开发与变更。这些原则支援许多软件开发方法的定义和持续进化。 结对编程: 结对编程技术是一个非常简单和直观的概念,能达到事半功倍的工作效果。但是

实验二:结对编程 第一阶段

北战南征 提交于 2020-03-21 11:52:23
一、实验目标: 1)体验敏捷开发中的两人合作。 2)进一步提高个人编程技巧与实践。 二 、实验内容: 1)根据以下问题描述,练习结对编程(pair programming)实践; 2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。 3)要求在结对编程工作期间,两人的角色至少切换 4 次; 4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。 三、 问题描述 四则运算 :开发一个自动生成小学四则运算题目的命令行 “软件”。实现 输入你要出题的个数,随机产生四则运算,然后用户回答,并且进行打分。 规则:用随机数实现100以内的加、减、乘、除运算,其中和与积不能超过100,差不为负(即须大减小),商不为小数或分数(即必须整除)。 要求总计输出10个运算式,每输出一个运算式,等待输入结果,然后进行对错判断并输出。最后输出统计答对的题数与分数。 四、第一阶段实验内容 1)查阅相关资料加深对敏捷开发和结对编程的理解; 敏捷开发: 敏捷开发包含迭代开发,增量开发。其中敏捷开发最核心的时迭代开发,敏捷一定是采用 迭代开发 的方式。那么什么是"迭代开发"呢? 迭代的英文是 iterative,直译为"重复",迭代开发其实就是"重复开发"。对于大型软件项目,传统的开发方式是采用一个大周期(比如半年)进行开发, 整个过程就是一次"大开发"

第二次结对编程作业

江枫思渺然 提交于 2020-03-20 00:28:36
链接 结对同学的博客链接 本作业博客的链接 Github项目地址 具体分工 潘海东:后端,前端,博客撰写 方瑞雄:前端,博客撰写 演示视频 点击链接播放即可,可能需要一些广告 由于B站审核通过不了,只能发到优酷,委屈各位 ,但是还是希望大家先看一下我们的视频! https://v.youku.com/v_show/id_XNDM5ODE4NzYwMA==.html?spm=a2h3j.8428770.3416059.1 强烈推荐 我们提供体验版微信小程序,可以直接用微信扫码体验游戏,但是需要管理员通过,请 提前 联系管理员wx:phd02428 qq:1647790440( 哈哈哈 ,这二维码超级大)(一开始是想完全发布出去,只需要在微信搜索我们小程序的名字就可以直接使用,且不需要管理员的同意,但是由于题材比较特殊,可能涉及 赌博 就没办法通过审核,发布不了) 请一定一定联系下管理员,不然就算是申请通过了,也不会收到通知的。 由于为了保证完整的背景图,取消掉了微信小程序原有的顶部导航栏,没有了返回按钮,因此这个小程序对苹果用户不友好,想返回上一个页面只能重新扫码进入小程序,安卓用户可以直接用返回键回到上一个页面。(之后会想办法更新添加返回按钮 没有之后,都是假的 )赌徒,要么从头做人,要么一赌到底! PSP表格 PSP2.1 Personal Software Process

实验二 结对编程

此生再无相见时 提交于 2020-03-19 13:29:08
一、实验目标: 1)体验敏捷开发中的两人合作。 2)进一步提高个人编程技巧与实践。 二 、实验内容: 1)根据以下问题描述,练习结对编程(pair programming)实践; 2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。 3)要求在结对编程工作期间,两人的角色至少切换 4 次; 4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。 三、问题描述(二选一) 1)生命游戏 生命游戏是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死亡的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。 游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行。例如,设想每个方格中都可放置一个生命细胞,生命细胞只有两种状态:“生”或“死”。图中,用黑色的方格表示该细胞为“死”, 其它颜色表示该细胞为“生” 。 游戏开始时, 每个细胞可以随机地(或给定地)被设定为“生”或“死”之一的某个状态, 然后,再根据如下生存定律计算下一代每个细胞的状态: 每个细胞的状态由该细胞及周围 8 个细胞上一次的状态所决定;

第二次结对编程作业

五迷三道 提交于 2020-03-15 17:46:48
1、在文章开头给出结对同学的博客链接、本作业博客的链接、你所Fork的同名仓库的Github项目地址 队友的博客: 陈秋琴 队友的本次博客: 戳 Github地址: 在这里 2、给出具体分工 秋琴:交互,API,算法。 雅辉:界面,算法调试,博客。 3、给出PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 60 Estimate ·估计这个任务需要多少时间 30 60 Development 开发 2760 3570 Analysis 需求分析 (包括学习新技术) 120 180 Design Spec 生成设计文档 60 60 Design Review 设计复审 30 30 Coding Standard 代码规范 (为目前的开发制定合适的规范) 20 30 Design 具体设计 90 120 Coding 具体编码 2100 2700 Code Review 代码复审 120 150 Test 测试(自我测试,修改代码,提交修改) 200 300 Reporting 报告 120 135 Test Repor 测试报告 45 60 Size Measurement 计算工作量 30 30 Postmortem & Process Improvement Plan

第四次作业--结对项目

こ雲淡風輕ζ 提交于 2020-03-08 07:09:39
(1)提供你的结对成员的博客链接 王婷的博客链接地址是: https://www.cnblogs.com/wangting999/ (2)结对成员对四则运算项目代码进行代码互审,并给出代码审查结果表 内容 王婷 宋清雪 概要部分 代码是否符合需求和规格 符合 符合 代码设计是否考虑周全 是 是 代码可读性如何 易读懂 可读性高 代码容易维护么 易维护 易维护 代码的每一行都执行并检查过了吗 是 是 设计规范部分 设计是否遵从已知的设计模式或项目中常用的模式 是 是 有没有硬编码或字符串/数字等存在 有 有 代码有没有依赖于某一平台,是否会影响将来的移植 否 否 开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现? 否 否 否 否 有没有无用的代码可以清除? 没有 没有 代码规范部分 修改的部分符合代码标准和风格么? 符合 符合 具体代码部分 有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? 已处理 已检查 对错误进行处理,检查了异常 参数传递有无错误,字符串的长度的字节的长度还是字符的长度,是以0开始计数还是还是以1开始计数? 无错误 从0开始 无错误 从0开始 边界条件是如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环?