XP实验报告
实验名称:敏捷开发与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实验报告的更多相关文章
- 20145308刘昊阳 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
20145308刘昊阳 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ...
- 20145337实验三实验报告——敏捷开发与XP实践
20145337实验三实验报告--敏捷开发与XP实践 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 ** 实验步骤**### 敏捷开发与XP 软件工程包括下列领域:软件需求 ...
- 20162311 实验三 敏捷开发与XP实践 实验报告
20162311 实验三 敏捷开发与XP实践 实验报告 实验内容 一.研究学习IDEA中的Code菜单 使用Code ->Reformate Code功能将以下代码格式化 public clas ...
- 20162330 实验三 《敏捷开发与XP实践》 实验报告
2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验三 <敏捷开发与XP实践> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1623班 ...
- 2018-2019-2 20175217 实验三《敏捷开发与XP实践》实验报告
一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:吴一凡 学号:20175217 指导教师:娄嘉鹏 实验日期:2019年4月25日 实验时间:--- 实验序号:实验三 实验名称:敏捷开 ...
- 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告
2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...
- 2017-2018-2 20165237 实验三《 敏捷开发与XP实践》实验报告
2017-2018-2 20165237 实验三< 敏捷开发与XP实践>实验报告 实验报告表头: 知识点: 1.XP团队使用现场客户.特殊计划方法和持续测试来提供快速的反馈和全面的交流: ...
- 2017-2018-2 20165221 实验三《敏捷开发与XP实践》实验报告
实验报告封面 姓名:谭笑 学号:20165221 班级:1652班 实验名称: JAVA--敏捷开发与XP实践 指导老师:娄嘉鹏 试验时间:15:35--17:15 实验性质:选修 实验组次:21 实 ...
- 2017-2018-2 20165206 实验三 《敏捷开发与XP实践》实验报告
2017-2018-2 20165206 实验三 <敏捷开发与XP实践>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:韩啸 学号:20165206 指导教师: ...
随机推荐
- springboot--如何优雅的使用mybatis
这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis.到网上找了一下关于spring boot ...
- 多米诺骨牌放置问题(状压DP)
例题: 最近小A遇到了一个很有趣的问题: 现在有一个\(n\times m\)规格的桌面,我们希望用\(1 \times 2\)规格的多米诺骨牌将其覆盖. 例如,对于一个\(10 \times 11\ ...
- 【SDOI2009】HH去散步(矩阵快速幂)
题面 题目描述 HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回. 又因为HH是 ...
- IE浏览器右键菜单插件开发(上篇)——自定义一个IE右键菜单项
要做一个IE右键浏览器插件,得3步走. 第一,在IE右键菜单上添加自定义菜单名称,是通过注册表实现的,如下: string regkey = @"Software\Microsoft\Int ...
- 11.C++-临时对象分析
首先来参考以下代码: #include <stdio.h> class Test { int mi; public: Test(int i) { mi = i; } Test() { Te ...
- php文件上传原理详解(含源码)
1.文件上传原理 将客户端的文件上传到服务器,再将服务器的临时文件上传到指定目录 2.客户端配置 提交表单 表单的发送方式为post 添加enctype="multipart/form-da ...
- Firefox取消“订阅实时书签”功能
如果你勾选了Firefox“总是用实时书签订阅收取”, 一打开RSS页面就直接弹出添订阅实时书签对话,而当你想在火狐中直接查看RSS页面时,发现不知如何取消“订阅实时书签”功能了.就怨这个关闭功能藏的 ...
- git使用.gitignore设置不生效或不起作用的问题
偶然遇到的问题,记录如下: 通常我们在push项目时,会有些配置文件或本地文件不想上传到服务器上 这时候我们会通过设置.gitignore 文件 一般设置成这样: # 20170418 by 51a ...
- 学习JAVA的几大优处
首先:简单:我们都知道Java是目前使用较为广泛的网络编程语言之一.他容易学而且很好用,如果你学习过C++语言,你会觉得C++和 Java很像,因为Java中许多基本语句的语法和C++一样,像常用的循 ...
- 如何通过TortoiseGit(小乌龟)把本地项目上传到github上
1.第一步: 安装git for windows(链接:https://gitforwindows.org/)一路next就好了, 如果遇到什么问题可以参考我另外一篇文章~^ - ^ 2.第二步:安装 ...