20162306 陈是奇 实验报告三

实验三——敏捷开发与XP实践

  • 实验内容
  1. XP基础
  2. XP核心实践
  3. 相关工具
  • 实验要求
    1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程
    2.完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导
  1. 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。
  • 实验准备

    (一)敏捷开发与XP

    通过阅读博客对于实验有了初步了解和认识。
    1、敏捷开发是什么?
    敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。“敏捷流程”是一系列价值观和方法论的集合。从2001年开始,一些软件界的专家开始倡导“敏捷”的价值观和流程,他们肯定了流行做法的价值,但是强调敏捷的做法更能带来价值。
    2、敏捷开发的模式

    3、XP是什么?
    极限编程(eXtreme Programming,XP)是 是一种全新而快捷的软件开发方法。XP团队使用现场客户、特殊计划方法和持续测试来提供快速的反馈和全面的交流:

    XP是以开发符合客户需要的软件为目标而产生的一种方法论
    XP是一种以实践为基础的软件工程过程和思想
    XP认为代码质量的重要程度超出人们一般所认为的程度
    XP特别适合于小型的有责任心的、自觉自励的团队开发需求不确定或者迅速变化的软件

  • 实验步骤

    (二)编码标准
    实验一:在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。

    在之前的编程中因为IDEA总出现问题,所以一直没有使用IDEA,代码基本上在虚拟机中写。通过这次的实验,也确确实实的感受到了IDEA的便利。Code中的很多功能能使得代码写的像书上一样标准,美观。

    实验二:

    在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push; 提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。

    实验三:

    完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
    之前很少动手写代码,更不太看别人的代码,通过这个实验深切的感觉到修改别人的代码是一个能让自己快速进步的方法,理解搭档的代码,找出其中的问题,与他在进行交流沟通,确确实实发现了一个人发现不了的问题,真正意义上的实现了“做中学”,1+1>2的效应。

    实验四:

    以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。提交学习成果码云链接和代表性成果截图,要有学号水印。
    刚看到这个实验就觉得十分有趣,对于我们学校的学生,本就该有对于密码的敏感,现在又与Java结合到一起,再结合本学期的密码工作概论的课程,对于密码学能相对好理解一些。
    什么是密码学呢?

    密码学: 主要是研究保密通信和信息保密的学科, 包括信息保密传输和信息加密存储等。

    密码学包含密码编码学( Cryptography) 和密码分析学(Cryptanalyst)两个分支。编码学与分析学相互促进,又相互制约。一方面,两者在加强密码分析的安全上相互促进; 另一方面,两者在实施更为有效的攻击方面也相互影响。

    在博客中主要学习了java的对称加密和非对称加密(DES算法和RSA算法),当时没有全部截图下来,就截了一张。。。

  • 实验总结

    这次实验的内容比较多,也比较杂,当然收获也很多,先是感受到了IDEA的对代码处理的方便快捷,又在修改别人代码的过程中受益匪浅,也对密码学有了一定的了解与认识。。。希望以后能在结对学习中收获更多。

posted @ 2017-05-14 14:36  20162306陈是奇  阅读(93)  评论(0编辑  收藏  举报