敏捷开发之道(九)设计(续)

        在上次的博文敏捷开发之道(八)设计中,咱们讲解了一下在传统开发过程当中的设计存在的一些缺陷和缘由。今天咱们讲解一下敏捷开发是如何对待设计的。

        在实际的开发过程当中,常常会存在两种设计极端,一种是过分设计,一种是设计不足。两种状况对于项目来说都会形成很差的影响,因此在开发过程当中应该尽可能去避免这两种极端,可是这两种极端的尺度对于项目开发人员来说又不是特别的容易界定,因此这就形成了咱们在实际的开发过程不可避免的出现两种极端。如何解决呢?

一、过分设计(over-engineering)

        过分设计一般是指开发人员在编写代码的过程当中,常常会封装一些类、在一些地方预留一些接口或者方法等等,这对开发的灵活性来很是重要,但凡是都有利弊两个方面,若是在开发的过程当中过分的进行封装、预留一些无用的接口或方法,那么对于开发人员来说就不会产生一些额外的工做,同时也会将一些简单的问题变的复杂。过分设计,一般出如今一些经验较为丰富,但在开发过程当中考虑的状况太多而缺少针对性的开发人员身上。

二、设计不足(under-engineering)

        设计不足是指设计出来的系统复用性差、扩展性不强、不能灵活的应对变化,换一种说法就是不可以灵活的应对需求的变化,编写的代码在某些特定的地方被一些特定的方法处理或调用,类似的功能屡次编写,相似的结构没法复用等等,这样对于开发人员来说就形成了重复编写一些无心义的代码对于开发人员的积极性来说就形成了致命的打击。设计不足,多半是由于经验有限,设计能力有限所致。

三、渐进式设计(Evolutionary Design)

        在敏捷开发中,过分设计和设计不足都是设计错误的表现方式,但二者之间又很难界定,因此在敏捷开发中对于设计采用的是渐进式的设计方式,它的特色在于系统的设计不局限于项目的开始或某一时刻,而注重在系统设计的整个过程当中,在项目的进行中将最新的需求映射到一次次的重构和迭代中,最大限度的知足客户的功能和非功能性能需求。

        事实上,敏捷开发中也并无彻底解决需求不断变化致使设计不断变动这样一个问题,但却提供了一个可行的实现思路,那就是渐进式的去设计,有计划性的去进行设计,既不在系统开发的初期过分的重视设计,也不在系统开发过程当中大范围的修改设计,敏捷开发强调在开发过程当中按部就班的优化设计和实现,这与敏捷开发与人为本,注重过程的基本思想是彻底一致的。

        到目前为止,关于敏捷开发的相关内容,我就先为你们介绍到这里,对于敏捷开发,还有不少的内容和工具须要咱们去不断学习和实践,因此,咱们还要不断的前行。

给你们推荐几本关于敏捷开发的书籍,以下:工具

http://pan.baidu.com/s/1i3ytxeX
性能

相关文章
相关标签/搜索