您的位置:首页 > 其它

实验三 敏捷开发与XP实践

2015-06-05 00:28 288 查看
实验三 敏捷开发与XP实践

一、实验内容

1. XP基础

2. XP核心实践

3. 相关工具

二、实验要求

1.完成实验、撰写实验报告,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。

2. 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

三、实验步骤

(一)敏捷开发与XP

1.软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。

2.软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。

3.软件开发流:人们在开发、运营、维护软件的过程中有很多技术、做法、习惯和思想体系。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”。软件开发流程的目的是为了提高软件开发、运营、维护的效率,并提高软件的质量、用户满意度、可靠性和软件的可维护性。

4.软件工程=开发流程+工具,软件=程序+软件工程

常见的开发流程有:

RUP(Rational Unified Process)

PSP(Personal Software Process )

TSP(Team Software Process )

Agile Process

……

5.敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。“敏捷流程”是一系列价值观和方法论的集合。

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

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



(二)编码标准

编程标准包含:具有说明性的名字、清晰的表达式、直截了当的控制流、可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性。

编码标准中的版式就是一个很好的例子,版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要因素。

程序没有最基本的缩进,让人读起来很费劲,这个问题在Eclipse中比较容易解决,例如:



再根据代码逻辑加入一些空行:



!注意:

1.Java中的一般的命名规则有:

要体现各自的含义

包、类、变量用名词

方法名用动宾

包名全部小写,如:io,awt

类名第一个字母要大写,如:HelloWorldApp

变量名第一个字母要小写,如:userName

方法名第一个字母要小写:setName

...

2.关于代码标准,可以遵循以下原则:



(三)结对编程

结对编程是XP中的重要实践。结对编程中有两个角色:

驾驶员(Driver)是控制键盘输入的人。

领航员(Navigator)起到领航、提醒的作用。

(四)版本控制(说明:此部分我是在自己电脑上进行的操作,没有在实验楼里用git)

XP的集体所有制的一个主要优势是提升了开发程序的速度,因为一旦代码中出现错误,任何程序员都能修正它。 这意味着代码要放到一个大家都能方便获取的地方,我们叫代码仓库。这引出另外一个话题叫版本控制(Version Control)。流行的版本控制工具有CVS,SVN,Git等。Git是Linus除了Linux操作系统外的另外一个重要发明。

首先,我下载了git for windows,进行安装,然后创建版本库。接着进行实验操作:

1.创建HelloWorld目录,如下图所示:



提交代码,用git status查看一下代码状态:



此时代码为:



修改代码之后再次提交:



此时代码为:



通过git log查看代码提交记录:



(五)重构

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

2.重构中一个非常关键的前提就是“不改变软件外部行为”,它保证了我们在重构原有系统的同时,不会为原系统带来新的BUG,以确保重构的安全。重构几乎是现代IDE的标配:

a.重构功能一——Rename



Rename完成后:



b.重构功能二——封装





对name、age、id全部操作后,再对34,35行进行修改,因为每次打印学生信息都这么写代码违反了DRY原则,造成代码重复,正常的重构可以使用Eclipse中的Extract Method...。最终代码为:





(六)实践项目

基于Java的贪吃蛇:



































七、遇到的问题及解决办法

1.在实验楼里操作git时,开通代码库时由于没有提前看清楚要求,导致命名错误,无法进行实验

解决办法:首先在网上学习了git的相关知识,看的是廖学锋的讲解,感觉收获很大。并下载了git for windows,在自己的电脑上进行了实验操作。

2.一开始面对贪吃蛇完全没有头绪,不知从何编起

解决办法:网上查阅了许多资料,大致了解了设计的几个步骤。首先进行伪代码编写:利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。总结来说,要综合应用JAVA的面向对象思想,封装类,接口等概念来完成本游戏。然后对代码进行了学习。

八、实验体会

这次试验印象比较深刻,感觉所运用的知识以及所获取的知识都比较实用。例如git,不仅这次实验用的到,平时也可以对自己的文件进行版本控制。并且感受到,自己动手操作才能更好的理解知识。而且在实验的过程中,对不断出现的新知识的查阅、吸收对自己也是一个很大的提高。另外,这次实验让完成一个游戏的设计。感觉难度较大。虽然通过学习能够大致理解设计的一个思想和流程,但是对于代码的编写和敏感度还需要进一步提高。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: