博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20155228 实验三 敏捷开发与XP实践
阅读量:5220 次
发布时间:2019-06-14

本文共 2053 字,大约阅读时间需要 6 分钟。

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

实验内容

1. XP基础

2. XP核心实践

3. 相关工具

实验要求

1.没有Linux基础的同学建议先学习 课程;

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

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

实验步骤

(一)敏捷开发与XP

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。“敏捷流程”是一系列价值观和方法论的集合。其中,极限编程(eXtreme Programming,XP)`是一种全新而快捷的软件开发方法。

(二)编码标准

编程标准包含:具有说明性的名字、清晰的表达式、直截了当的控制流、可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性。编码标准中的版式就是一个很好的例子,版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要因素。

运行结果截图

1073846-20170506114112429-1135586651.png

遇到的问题和解决办法

IDEA的code菜单中提供了很多对代码进行版面调整的快捷功能,并绑定有快捷键方便使用,现将部分功能总结于截图中。

(三)结对编程

结对编程是XP中的重要实践。在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工作。驾驶员(Driver)是控制键盘输入的人。写设计文档,进行编码和单元测试等XP开发流程。领航员(Navigator)起到领航、提醒的作用。审阅驾驶员的文档、驾驶员对编码等开发流程的执行;考虑单元测试的覆盖率;思考是否需要和如何重构;帮助驾驶员解决具体的技术问题。

运行结果截图

1073846-20170506114125867-1987266235.png

遇到的问题和解决办法

下载别人的代码时直接用clone就可以了,但是要把自己的代码上传到别人的项目里,就必须要别人把自己加入到项目中,值得一提的是,如果仅仅设置为开发者,是没有办法上传代码到项目中的别人分支的,只能将代码上传到别人项目中的自己分支里。为了能把测试代码和产品代码放在一起方便使用,所以应该加入项目时应该设置为管理员。

(四)版本控制

不论是对于团队还是个体,版本控制都提供了很多好处。

  • 版本控制提供项目级的undo(撤销)功能:没有什么事情是终结版本,任何错误必须很容易回滚。 假设你在使用世界上最复杂的文字处理系统。它具备了所有的能想到的功能,就是没有支持 DELETE(删除)键。想象你打字的时候得多么的谨慎和缓慢吧,特别是一篇超大的文档的快临近末尾的时候,一个不小心就要重头再来(试想你选中所有的文字,不小心按了DELETE键,因为没有撤销功能,只好重新录入)。编辑文字和版本控制相同,任何时候都需要回滚,无论是一个小时,一天,还是一周,这让你的团队工作自由快速的工作, 而且对于修正错误也非常自信。
  • 版本控制允许多人在同一代码上工作,只要遵守一定的控制原则就行。再也不会发生诸如一个人覆盖了另一个人编辑的代码,导致那个人的修改无效这样的情况。
  • 版本控制系统保存了过去所作的修改的历史记录。如果你遭遇到一些惊讶的代码,通过版本控制系统可以很容易找出是谁干的,修改了什么,修改的时间,如果幸运的话,还能找出原因。
  • 版本控制系统还支持在主线上开发的同时发布多个软件版本。在软件发布的时候也不需要整个团队的停止工作,不需要冻结代码。
  • 版本控制也是项目级的时间机器,你可以选择任何一个时间,精确地查看项目在当时的情况。 这对研究非常有用, 也是重现以前某个有问题的发布版本的基础。

(五)重构

重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更。重构中一个非常关键的前提就是“不改变软件外部行为”,它保证了我们在重构原有系统的同时,不会为原系统带来新的BUG,以确保重构的安全。

运行结果截图

1073846-20170506114136445-874378507.png

遇到的问题和解决办法

IDEA中重构操作和教程中的Eclipse有些不同,IDEA中重构的办法是右键选择想要重构的类成员,选择refactor进行重构

运行结果截图

1073846-20170506114356007-2104986097.png

遇到的问题和解决办法

在使用JAVA语言编写DES算法时,我和学习搭档进行了分工,我负责写密钥生成和加密算法,学习搭档负责写解密算法和测试代码。我们在开始写代码前进行了充分的讨论,确定了四部分代码之间产生联系的细节设计,使得代码在写好之后就可以直接放在一起完成一个完整的算法过程。

PSP时间统计

步骤 耗时 百分比
需求分析 10min 8%
设计 20min 16%
代码实现 60min 50%
测试 10min 8%
总结分析 20min 16%

转载于:https://www.cnblogs.com/besti20155228/p/6816221.html

你可能感兴趣的文章
NPM慢怎么办 - nrm切换资源镜像
查看>>
CoreData 从入门到精通(四)并发操作
查看>>
Swift - UIView的常用属性和常用方法总结
查看>>
Swift - 异步加载各网站的favicon图标,并在单元格中显示
查看>>
Java编程思想总结笔记Chapter 5
查看>>
[LeetCode]662. Maximum Width of Binary Tree判断树的宽度
查看>>
WinForm聊天室
查看>>
【Python学习笔记】1.基础知识
查看>>
梦断代码阅读笔记02
查看>>
selenium学习中遇到的问题
查看>>
大数据学习之一——了解简单概念
查看>>
Linux升级内核教程(CentOS7)
查看>>
Lintcode: Partition Array
查看>>
分享适合个人站长的5类型网站
查看>>
类别的三个作用
查看>>
【SICP练习】85 练习2.57
查看>>
runC爆严重安全漏洞,主机可被攻击!使用容器的快打补丁
查看>>
Maximum Product Subarray
查看>>
solr相关配置翻译
查看>>
通过beego快速创建一个Restful风格API项目及API文档自动化(转)
查看>>