1. 什么是敏捷
一组方法论的集合, XP, Scrum,FDD...
2. 敏捷宣言
see http://agilemanifesto.org/iso/zhchs/
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
也就是说,尽管右项有其价值,我们更重视左项的价值
3. 瀑布式开发 vs 敏捷开发
专注于可交付的产品,从价值论的观点出发
5. practice
设计一个停车场,提供停车和开走2个功能。
TDD =>
park 分为2个case:
1)park_can_succ_if_not_full
2) park_shall_fail_if_full
unpark 分为2个case:
1) unpark_shall_succ_if_parked
2) unpark_shall_fail_if_not_parked
测试用例的名字要尽量长,注意这里的用例不是单元测试,而是单元功能测试。
2个人结对编程,先写测试用例,然后写实现,2个人交替进行。
注意:测试用例要反映系统的功能,如果没有管理员管理停车场的功能,在测试用例中就不能用manager.addParkingArea(pa), 而是应该在构造manager时把pa传递过去。
一组方法论的集合, XP, Scrum,FDD...
2. 敏捷宣言
see http://agilemanifesto.org/iso/zhchs/
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
也就是说,尽管右项有其价值,我们更重视左项的价值
3. 瀑布式开发 vs 敏捷开发
专注于可交付的产品,从价值论的观点出发
4. XP实践准则
refer to http://www.uml.org.cn/SoftWareProcess/pdf/new_chinaxp_training_121707PM.ppt
http://www.blogjava.net/raimundox/archive/2007/03/27/106669.html
5. practice
设计一个停车场,提供停车和开走2个功能。
TDD =>
park 分为2个case:
1)park_can_succ_if_not_full
2) park_shall_fail_if_full
unpark 分为2个case:
1) unpark_shall_succ_if_parked
2) unpark_shall_fail_if_not_parked
测试用例的名字要尽量长,注意这里的用例不是单元测试,而是单元功能测试。
2个人结对编程,先写测试用例,然后写实现,2个人交替进行。
注意:测试用例要反映系统的功能,如果没有管理员管理停车场的功能,在测试用例中就不能用manager.addParkingArea(pa), 而是应该在构造manager时把pa传递过去。