20155211 实验三 敏捷开发与XP实践
实验内容
- XP基础
- XP核心实践
- 相关工具
实验要求
完成实验、撰写实验报告,实验报告以博客方式发表在博客园。
实验步骤
(一)敏捷开发与XP
- 敏捷开发(AgileDevelopment)是一种以人为核心、迭代、循序渐进的开发方法。
- 极限编程(eXtremeProgramming,XP)是一种全新而快捷的软件开发方法。
(二)编码标准
- 编写代码一个重要的认识是“程序大多时候是给人看的”,编程标准使代码更容易阅读和理解,甚至可以保证其中的错误更少。
- 编程标准包含:具有说明性的名字、清晰的表达式、直截了当的控制流、可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性。
(三) 结对编程
-
结对编程中有两个角色:
- 驾驶员(Driver)是控制键盘输入的人。写设计文档,进行编码和单元测试等XP开发流程。
- 领航员(Navigator)起到领航、提醒的作用。审阅驾驶员的文档、驾驶员对编码等开发流程的执行;考虑单元测试的覆盖率;思考是否需要和如何重构;帮助驾驶员解决具体的技术问题。
-
驾驶员和领航员不断轮换角色,不要连续工作超过一小时,每工作一小时休息15分钟。领航员要控制时间。
-
主动参与。任何一个任务都首先是两个人的责任,也是所有人的责任。没有“我的代码”、“你的代码”或“他/她的代码”,只有“我们的代码”。
-
只有水平上的差距,没有级别上的差异。两人结对,尽管可能大家的级别资历不同,但不管在分析、设计或编码上,双方都拥有平等的决策权利。
- 因为git push的时候最开始出现的是同学们博客中普遍出现的问题,后报错,经过上网查找及翻阅学长学姐的博客都没有找到解决问题,所以三个测试用例没有上传到码云上。
(四)重构
-
在不改变软件外部行为的基础上,改变软件内部的结构
-
在IDEA上重构Student类
(五)Java密码学算法
- DES算法
时空分析
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 15min | 1/6 |
设计 | 35min | 7/18 |
代码实现 | 15min | 1/6 |
测试 | 10min | 1/9 |
分析总结 | 15min | 1/6 |