第7章 什么是敏捷设计

7.1 软件出了什么错

    在软件开发过程中,我们经常发现代码越来越难以维护。需求变化时,很难去修改代码,修改后很容易引起意想不到的bug。在开发初期,程序员尚能清楚地掌握代码,能轻松的进行维护。随着项目地进行,设计越来越复杂,代码越来越混乱,程序员自己也不清楚修改某处代码,是否会引起别的问题。

7.2 设计的臭味——腐化软件的气味

    出现下面任何一种现象,都说明软件正在腐化。

  • 僵化性:难以修改代码。每个改动会引起其它改动,牵一发而动全身。
  • 脆弱性:对系统的改动,会引起一个在概念上看起来无关的bug。
  • 牢固性:各部分代码纠结在一起,很难把一部分代码分离出来进行复用。

      在OOD中,经常会提到“高内聚、低耦合”。僵化性、脆弱性、牢固性的出现,说明系统违背了“高内聚、低耦合”的设计原则。

第7章 什么是敏捷设计

7.2.2 敏捷团队不允许软件腐化

    不要抱怨需求的变更破坏了你的设计。记住:用户永远是对的,需求一定会变化,而且变化方向是难以预测的。敏捷团队几乎不预测需求的变更方向,不为预测的变更进行超前的设计。在需求变更成为现实时,才去修改设计。这是一个迭代的过程,每个迭代中,程序员根据最新的需求修改设计,在每次迭代结束后,当前的设计都是贴切地符合当前需求的。敏捷程序员不会幻想在项目之初进行设计,然后一直保持这个设计到项目结束。It’s impossible!

第7章 什么是敏捷设计

 

7.3.2 怎样做一个敏捷开发人员

 

  • 遵循敏捷实践去发现问题
  • 应用设计原则去诊断问题
  • 应用设计模式去解决问题

7.4 保持尽可能好的设计

    敏捷开发人员致力于保持设计恰当、干净。换言之,保持设计贴切地符合需求。需求变更出现后,如果当前的设计不能满足(这个变更是第一颗子弹),立即修改设计,使设计满足当前需求,且满足类似的需求变更。敏捷开发人员绝对不允许腐化出现

 

7.5 结论

    敏捷设计是一个过程,不是一个事件。它是一个持续的应用原则、模式及实践来改进软件结构和可读性的过程。它致力于保持系统设计在任何时候都能贴切地满足当前需求。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33895 人正在系统学习中

来源:姚sir的话

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2009年11月8日
下一篇 2009年11月8日

相关推荐