实验名称:敏捷开发与XP实践

实验人员:20162309邢天岳(结对搭档20162313苑洪铭)

实验日期:2017.5.5

实验内容:1.在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。提交截图,加上自己学号水印。(此处注意要将Eclipse的内容替换成IDEA)

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

3.完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。(这里同样要将Eclipse转换成IDEA)

4.以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。

实验目的:以结对的方式对项目的开发进行学习,对上次实验所完成的Complex代码进行测试,与结对搭档共同创建项目来学习教材上关于重构环节的学习,相互检查结对伙伴的代码,巩固学习。Java密码学的实验内容是运行博客上的密文代码,通过运行程序来学习代码的加密方法。

实验具体步骤:

(一)敏捷开发与XP

•敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

敏捷开发包括很多模式。其中,极限编程(eXtreme Programming,XP) 是一种全新而快捷的软件开发方法。

•一项实践在XP环境中成功使用的依据通过XP的法则呈现,包括:快速反馈、假设简单性、递增更改、提倡更改、优质工作。

XP软件开发的基石是XP的活动,包括:编码、测试、倾听、设计。

项目成员用户成功执行XP活动的技术通过XP实践来呈现,包括编程、团队、过程相关的12条实践,我们关注其中的编码标准,结对编程,代码集体所有,测试,重构等实践。上次实验已经讲过TDD,通过学习这些实践,可以形成以测试为核心的开发流程。

敏捷可以作为一种做事的方式,掌握好的在以后的工作中也会受益无穷。

在实验1的过程中,需要在idea上运行实验题目中所给的代码,这个过程相对比较简单,运行过程中有绿条出现就可以了。

实验2是对前一次实验程序的成果验收,Complex程序的产品代码进过检查后,没有逻辑错误出现,但测试代码却无法在idea上运行(不是运行错误,是无法运行),考虑到测试代码和产品代码是否存在出入,在咨询王彪同学后,发现在测试代码上,继承语句extend的对象发生错误,导致运行异常,修改后可正常运行



此处需要继承的是TestCase类中的方法。

(二)重构

•重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更。

•一个完整的重构流程包括:

1.从版本控制系统代码库中Check out code

2.读懂代码(包括测试代码)

3.发现bad smell

4.Refactoring

5.运行所有的Unit Tests

6.往代码库中Check in code

重构的内容需要加入结对搭档的项目,在idea中使用refactor直接操作就可以了。修改参数、加入新的东西都可以实现。

(三)java密码学

这个过程需要运行博客中的代码,在idea或是bash命令行中均可以完成,但在导入第二个.dat文件时失败,在马军同学的帮助下,将运行的程序包括设计的类均用rm移动到一起,再次运行就可以了,密码学的学习对我而言相对陌生,参考了老师的博客后再学习效果会相对好一些。

XP实验报告的更多相关文章

  1. 20145308刘昊阳 《Java程序设计》实验三 敏捷开发与XP实践 实验报告

    20145308刘昊阳 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ...

  2. 20145337实验三实验报告——敏捷开发与XP实践

    20145337实验三实验报告--敏捷开发与XP实践 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 ** 实验步骤**### 敏捷开发与XP 软件工程包括下列领域:软件需求 ...

  3. 20162311 实验三 敏捷开发与XP实践 实验报告

    20162311 实验三 敏捷开发与XP实践 实验报告 实验内容 一.研究学习IDEA中的Code菜单 使用Code ->Reformate Code功能将以下代码格式化 public clas ...

  4. 20162330 实验三 《敏捷开发与XP实践》 实验报告

    2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验三 <敏捷开发与XP实践> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1623班 ...

  5. 2018-2019-2 20175217 实验三《敏捷开发与XP实践》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:吴一凡 学号:20175217 指导教师:娄嘉鹏 实验日期:2019年4月25日 实验时间:--- 实验序号:实验三 实验名称:敏捷开 ...

  6. 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告

    2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...

  7. 2017-2018-2 20165237 实验三《 敏捷开发与XP实践》实验报告

    2017-2018-2 20165237 实验三< 敏捷开发与XP实践>实验报告 实验报告表头: 知识点: 1.XP团队使用现场客户.特殊计划方法和持续测试来提供快速的反馈和全面的交流: ...

  8. 2017-2018-2 20165221 实验三《敏捷开发与XP实践》实验报告

    实验报告封面 姓名:谭笑 学号:20165221 班级:1652班 实验名称: JAVA--敏捷开发与XP实践 指导老师:娄嘉鹏 试验时间:15:35--17:15 实验性质:选修 实验组次:21 实 ...

  9. 2017-2018-2 20165206 实验三 《敏捷开发与XP实践》实验报告

    2017-2018-2 20165206 实验三 <敏捷开发与XP实践>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:韩啸 学号:20165206 指导教师: ...

随机推荐

  1. [JSOI2004]平衡点

    题面在这里 题意 ...见链接吧 sol 在此发一篇模拟退火的题解 不得不说luogu的数据真是太良心啦 一句话解释模拟退火:在一个慢慢缩小的范围内随机状态寻找最优解,当转移状态更优时直接接受,当当前 ...

  2. Poj2723:Get Luffy Out

    题意 给出 n 对钥匙,每对只能挑一把使用,每把只能用一次,当一对钥匙中的一把被使用后,另一把也就不能再用了:然后给出 m 道门,每个门都有两把钥匙可以打开,问最多能开几道门(按给出的顺序开). So ...

  3. Net 面试随想

    佳节已去,至今已半月有余,近来园中唱衰net的声音幽幽而起,net不成熟的大环境一直被作为诟病,net core的跨平台去年抄的火热,是否为net 崛起的最后一根稻草,结合我面试的情况,作为小白,嘟囔 ...

  4. php 命令行插件 - phpsh

    phpsh 是php的一个命令行插件,个人觉得很不错,在此简单介绍下: 1.安装 readline sudo easy_install readline 2.到 https://github.com/ ...

  5. eclipse的常用快捷键和一些基本设置!!!

    对于一些比较繁琐简单的代码没必要天天敲,为了提高效率,还是需要使用一些快捷键的:下面就说了一些比较基本的. alt+shift+s+c     无参构造器 alt+shift+s+O    有参构造器 ...

  6. JavaIO 总结

    另外参考文章:http://www.ibm.com/developerworks/cn/java/j-lo-javaio/ 一. File类 file.createNewFile();file.del ...

  7. python 中的 args,*args,**kwargs的区别

    一.*args的使用方法 *args 用来将参数打包成tuple给函数体调用 例子一:def function(*args):      print(args, type(args))function ...

  8. zabbix添加自定义监控项

    zabbix添加自定义监控项 author:headsen  chen   2017-10-16  17:23:17 个人原创,转载请注明作者,出处,否则依法追究法律责任 主机端配置: 首先安装好za ...

  9. Linux系统命令归纳

    常规操作命令: # netstat -atunpl |egrep "mysql|nginx"# vimdiff php.ini*# runlevel# rpm -e httpd - ...

  10. Android proguard (混淆)

    混淆(Proguard)用法 最近项目中遇到一些混淆相关的问题,由于之前对proguard了解不多,所以每次都是面向Stackoverflow的编程.copy别人的答案内心还可以接受,但是copy了之 ...