在敏捷开发中采用演进式架构设计

    在敏捷开发过程中,我们还需要对系统架构进行设计吗?事实上,Martin Fowler在《Is Design Dead?》一文中已经给出了答案,那就是我们同样不能忽略对系统架构的设计。与计划性的设计(Planned Design)不同,我们需要演进式的设计(Evolutionary Design)。在敏捷开发的生命周期中,我们通过每一次迭代来丰富与更新我们的设计方案,以使其最大限度地符合客户对系统的需求。这里所指的需求,包括 功能性需求和非功能性需求。

    在Agile Journal四月刊中,IBM's Methods Group的敏捷专家Scott W. Ambler详细地阐述了在敏捷语境中的架构设计方法,他提出了所谓“架构预测(Architectural Envisioning)”的方法,以应对敏捷开发中逐步演进的架构设计过程。

    Scott指出,敏捷模型驱动开发(Agile Model Driven Development,AMDD)明确地包括了初始需求分析与架构建模,这个过程发生在敏捷项目开发的第0次迭代中。所谓第0次迭代,就相当于项目的热 身活动,是项目得以启动的基础。在此迭代期间,团队需要充分地理解项目的范围,甄别可行地技术策略。这个阶段所能够收集到的信息将有助于你对整个项目最初 的粗略估计,以制定合适的项目计划,从而获得启动项目的资金与足够的支持。

更多内容,请阅读发表在捷道·敏捷堂的文章

posted on 2008-05-11 21:00 张逸 阅读(4601) 评论(6)  编辑 收藏 网摘 所属分类: Design & Pattern

评论

#1楼 2008-05-12 01:23 镜涛      

对敏捷的理解还不是特别深刻。继续学习   回复  引用  查看    

#2楼 2008-05-12 03:05 WGforward      

对架构的理解还不是特别深刻。继续学习   回复  引用  查看    

#3楼 2008-05-12 03:07 石桥头[未注册用户]

和上面2位朋友一样 哎   回复  引用    

#4楼 2008-05-12 13:18 Colin Han      

对架构的理解还不是特别深刻。继续学习   回复  引用  查看    

#5楼 2008-05-12 13:24 Colin Han      

呵呵,开个玩笑 :)

敏捷之道第一期详细的看过了。非常好。最近也在思考这些问题。应该说,我们公司的项目开发流程还是偏向敏捷的。但是,实际做的时候总有些把握不住。因此,最近正在恶补敏捷开发的理论知识。

希望楼主能够共享更多实际项目中的经验。
最近正在看《敏捷软件开发:原则、模式与实践(C#版)》觉得其中前面几章中有一段以一个小程序将重构和单元测试的实际过程描述出来的方式非常好。看后受益匪浅。还有最后附录的两个项目的比较。我觉的都是非常好的教学方式。如果楼主也以这样的方式来讲述就太好了。
  回复  引用  查看    

#6楼 2008-06-22 03:11 陈欢鑫[未注册用户]

表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品,如果在用户界面(User Interface,UI)上缺乏吸引人的特色,界面不友好,操作不够体贴,即使这件产品性能非常优异,架构设计合理,业务逻辑都满足了客户的需求,却仍然难以讨得客户的欢心。俗语云:“佛要金装,人要衣装”,特别是对于Web应用程序而言,Web网页就好比人的衣装,代表着整个系统的身份与脸面,是招徕“顾客”的最大卖点。

  回复  引用    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1192606




相关文章:

相关链接:

导航

公告

我的个人主页:
logo.gif
我的著作与译作

《软件设计精要与模式》

《WCF服务编程》

MVP_Horizontal_BlueOnly.png

From 03-03-2006
Counter: site stats
审批小组成员时,如有超过6个待审批成员,无法翻页察看。操作不便。

与我联系

搜索

 

常用链接

我参加的小组

我参与的团队

随笔分类(266)

随笔档案(258)

最新随笔

积分与排名

最新评论

阅读排行榜

评论排行榜