zoukankan      html  css  js  c++  java
  • Lifegame第一阶段任务

    LifeGame 第一阶段任务

    敏捷开发和结对编程

    • 敏捷开发

    敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

    img

    • 敏捷开发的特点:

    ​ 适应性:在软件开发中,存在很多不稳定因素,大多数开发方式依靠设计规划,难以解决这些不稳定因素,但是敏捷开发却不一样,它欢迎变化,它就是应对变化而存在的。

    ​ 面向人:敏捷开发要更加侧重于人,侧重于参与这个项目的人员。不仅包括开发人员,还要包括管理人员等。

    • 十二个原则

      1. 通过早期和持续交付有价值的软件,实现客户满意度。

      2. 欢迎不断变化的需求,即使是在项目开发的后期。要善于利用需求变更,帮助客户获得竞争优势。

      3. 不断交付可用的软件,周期通常是几周,越短越好。

      4. 项目过程中,业务人员与开发人员必须在一起工作。

      5. 项目必须围绕那些有内在动力的个人而建立,他们应该受到信任。

      6. 面对面交谈是最好的沟通方式。

      7. 可用性是衡量进度的主要指标。

      8. 提倡可持续的开发,保持稳定的进展速度。

      9. 不断关注技术是否优秀,设计是否良好。

      10. 简单性至关重要,尽最大可能减少不必要的工作。

      11. 最好的架构、要求和设计,来自团队内部自发的认识。

      12. 团队要定期反思如何更有效,并相应地进行调

        整。

    • 结对编程

      ​ 结对编程是一种敏捷的软件开发技术,其中两个程序员在一个工作站上一起工作。一种是驱动程序,编写代码,另一种是观察者导航员,在键入代码时j检查每一行。两位程序员经常切换角色。

      ​ 在清华大学的公开课上已经很好的演示了如何进行的结对编程。就像这样

    下面是引用同伴的所写的实验报告。

    一、实验目标:

    1)体验敏捷开发中的两人合作。
    2)进一步提高个人编程技巧与实践。

    二、实验内容:

    1)根据以下问题描述,练习结对编程(pair programming)实践;
    2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求;
    3)要求在结对编程工作期间,两人的角色至少切换 4 次;
    4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。

    三、问题描述(二选一)

    生命游戏:
    生命游戏是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死亡的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。
    游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行。例如,设想每个方格中都可放置一个生命细胞,生命细胞只有两种状态:“生”或“死”。图中,用黑色的方格表示该细胞为“死”, 其它颜色表示该细胞为“生” 。游戏开始时, 每个细胞可以随机地(或给定地)被设定为“生”或“死”之一的某个状态, 然后,再根据如下生存定律计算下一代每个细胞的状态:

    • 每个细胞的状态由该细胞及周围 8 个细胞上一次的状态所决定;
    • 如果一个细胞周围有 3 个细胞为生,则该细胞为生,即该细胞若原先为死则转为生,若原先为生则保持不变;
    • 如果一个细胞周围有 2 个细胞为生,则该细胞的生死状态保持不变;
    • 在其它情况下,该细胞为死,即该细胞若原先为生则转为死,若原先为死则保持不变。

    四、实验过程

    第一阶段

    • 组队情况
    • 确认选题:生命游戏
    • 开发平台:IntelliJ IDEA(Java 编译运行工具)
    • 协同工具:Team Viewer(可以实现控制伙伴电脑沟通协作),GitHub(用来托管项目代码)
    • 课题理解: 我们先参考了一些生命游戏的制作,关键的设计在于规则的运行,以及GUI的处理,并且需要两者配合,可能需要两个线程,一个用来处理图像的变化,另外一个用来处理规则的运行。
    • 其他:项目github地址
  • 相关阅读:
    游标加标量函数
    将一个Excel文件分隔成多个
    网页抓取的一个小例子
    ajax跨域问题
    ssh连接至Ubuntu服务器时,提示以下错误:REMOTE HOST IDENTIFICATION HAS CHANGED!
    Python 实现汉诺塔问题(递归)
    Ubuntu下环境变量设置
    文件上传 jqueryForm
    Oracle数据库安装完成后相关问题的解决
    Java中16进制与字符串之间的相互转换
  • 原文地址:https://www.cnblogs.com/csLu/p/12542851.html
Copyright © 2011-2022 走看看