G09_接口设计之美_支持Agile敏捷开发_ok12.pdfVIP

G09_接口设计之美_支持Agile敏捷开发_ok12.pdf

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
G09_接口设计之美_支持Agile敏捷开发_ok12

G09_接口设计之美_支持 Agile 敏捷开发 内容 : 1. 一般架构设计 vs. 敏捷设计 2. 敏捷设计的主要观点 3. 架构的表述(Representation)与沟通(Communication) 4. 如何表述(Represent)”足够好的架构”呢? 5. 复习:代码造形的角色 6. 敏捷架构师:一般架构设计也能敏捷起来 7. 敏捷架构师+敏捷开发者 8. 敏捷架构师的素养 9. 架构师团队+敏捷迭代 10. 结语 1 1. 一般架构设计 vs. 敏捷设计 一般架构设计 :”Design is Code” 在一般的架构设计里,架构设计是完整的,架构师设计完成整体架构之后, 在交给开发者来编程,迅速落实为代码(Design is Code),进行必要的测试,给 予回馈。当需求有所变更时,开发者需要同时维护设计与代码,双重负担,开发 者敏捷不起来。 敏捷设计 :”Code is Design” 反之 ,在敏捷设计里,将架构设计被切分为许多部份,分散于整个开发流程 之中,包括规划、编程、测试、重构等各阶段;让设计直接表现于代码里(Code is Design),避免开发者同时维护设计与代码的负担,让开发者敏捷起来。 2. 敏捷设计的主要观点 在敏捷开发里,流行的敏捷设计观点是:“敏捷是把原来架构设计里的详细 设计放到了编码的过程中,开发人员要有架构师的思维,架构师的预先架构设计 要正好足够。”例如,2009 年 7 月 6 日陈序明先生在 IT168上发表的 文章里,就说到: 敏捷开发把原先软件过程前期的架构设计,分散到了整个敏捷开发软件过 程中。 架构设计包含两方面:1)架构;2)设计。其中设计中的详细设计需要大量的 时间,包含详细的流程,API,数据结构等设计。但软件开发阶段的 Code 编码 阶段,同样蕴含了很多详细设计的内容。换句话说,现在敏捷开发提倡 Code is 2 design,而以前是 Design is code。但是开发人员维护一套 Design,外加一套 Code,不堪重负,效率低。所以,现在是 Code is Design 盛行,敏捷盛行。基 于这两种原因,敏捷中将传统的架构设计分成:架构 + 设计 : (1)敏捷开发的架构保留架构部分; (2)转移设计到Code 编码阶段、重构阶段、Unit Test 阶段等。 而详细设计阶段,则在 Code 编码和 UT 单元测试阶段进行。这个阶段重构 很重要,重构使你的软件架构和组件结构自然呈现。所以在敏捷开发中架构设计 的内容发生了变化:敏捷开发中止于架构,轻详细设计。但详细设计不是消失不 见了,而是转移到了开发阶段,也即是:Code is design。这样既能拥抱变化, 又规避风险 ,又 Dont Repeat Yourself 。 其意味着 ,敏捷开发将传统的架构设计分成:架构 + 设计 。敏捷开发的架 构师,将架构部分做到”足够好”即可 。然后,将(详细)设计转移到代码撰写阶 段、重构阶段、以及单元测试阶段等。简而言之,在敏捷中,架构设计仅止于” 足够好”的架构,不进行详细设计 。但详细设计仍然存在 ,只是转移到了开发阶 段而已 。这些详细设计需要花费大量的时间,包含详细的流程、数据结构等设计; 而且在编程阶段,也蕴含了很多详细设计的内容。如 直接将设计表现于代码中 (Code is design),就能避免开发人员同时既要维护一套设计,又要维护一套代 码;可大幅减轻开发者

文档评论(0)

mliaojfangwi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档