敏捷软件开发宣言
个体和交互 胜过 过程和工具
可以工作的软件 胜过 面面俱到
客户合作 胜过 合同谈判
响应变化 胜过 遵循计划
虽然右项也具有价值,
但我们认为左项具有更大的价值。
敏捷宣言遵循的原则
我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。
即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。
经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。
在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。
在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
工作的软件是首要的进度衡量标准。
敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
不断地关注优秀的技能和好的设计会增强敏捷能力。
简单--使来完成的工作最大化的艺术---是根本的。
最好的架构、需求和设计出自于自组织的团队。
每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
面向对象设计原则
SRP 单一职责原则
就一个类而言,应该仅有一个引起它变化的原因。
OCP 开放-封闭原则
软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。
对扩展开放,对修改关闭
LSP Liskov替换原则
子类必须能够替换掉他们的基类型。
DIP 依赖倒置原则
抽象不应该依赖于细节,细节应该依赖于抽象。
ISP 接口隔离原则
不应该强迫客、户依赖于它们不用的方法,接口属于客户,不属于它所在的类层次结构。
REP 重用发布等价原则
重用的粒度就是发布的粒度。
CCP 共同封闭原则
包中的所有类对于同一类性质的变化应该是共同封闭的,一个变化若对
个体和交互 胜过 过程和工具
可以工作的软件 胜过 面面俱到
客户合作 胜过 合同谈判
响应变化 胜过 遵循计划
虽然右项也具有价值,
但我们认为左项具有更大的价值。
敏捷宣言遵循的原则
我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。
即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。
经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。
在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。
在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
工作的软件是首要的进度衡量标准。
敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
不断地关注优秀的技能和好的设计会增强敏捷能力。
简单--使来完成的工作最大化的艺术---是根本的。
最好的架构、需求和设计出自于自组织的团队。
每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
面向对象设计原则
SRP 单一职责原则
就一个类而言,应该仅有一个引起它变化的原因。
OCP 开放-封闭原则
软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。
对扩展开放,对修改关闭
LSP Liskov替换原则
子类必须能够替换掉他们的基类型。
DIP 依赖倒置原则
抽象不应该依赖于细节,细节应该依赖于抽象。
ISP 接口隔离原则
不应该强迫客、户依赖于它们不用的方法,接口属于客户,不属于它所在的类层次结构。
REP 重用发布等价原则
重用的粒度就是发布的粒度。
CCP 共同封闭原则
包中的所有类对于同一类性质的变化应该是共同封闭的,一个变化若对