InfoQ

技术访谈

从实践出发探索架构的本质

受访人 潘加宇 温昱 采访人 Jason Lai(赖翥翔) 发布于 2008年2月1日 上午2时30分

社区
Architecture,
SOA
主题
企业架构,
业务流程建模,
架构
标签
模式与实践,
业务架构,
设计模式
概要
架构是什么?架构设计就是设计接口吗?如何成为一个好的架构师?架构种类很多,开发人员如何选择?如何划分用例的粒度?架构设计过程中一定要引入很多的文档吗?如何将需求转化成一个良好设计的架构?UMLChina首席专家潘加宇和资深咨询顾问温昱和读者分享了他们对这些让人迷惑的问题的看法。

个人简介
潘加宇,UMLChina首席专家,北京大学硕士,1999年创建UMLChina,研究需求和设计技能,2002年以“聚焦最后一公里”的方式,对外提供UML需求和设计的技术指导和训练服务。

温昱,资深咨询顾问,软件架构专家,著有《软件架构设计》,松耦合空间网站创办人。作为资深咨询顾问,已为众多知名企业提供了卓有成效的培训与咨询服务。

致谢:感谢SD2China大会提供采访支持,感谢浪潮软件质保中心副主任和架构社区编辑孙向晖提供智慧支持!
请二位向大家自我介绍一下。
我们今天讨论的主题,就是说是从需求到架构这样的一个过渡,那么我想请问一下二位,到底说软件开发这边,我们经常会提到一个词是架构,在二位的心目中架构到底是个什么?
好的,那目前有很多人有这么一个误解,认为架构设计其实就是设计接口,那么基本上就引入到设计模式的问题,那二位对这方面有什么看法呢?
刚才说三个环节,是什么?
那跟平时说的那个需求分析设计有什么区别?除了中间多了一个架构这两个字之外,他们的具体的区别在哪里?是什么?
那比如说拿一个RoR的那个项目,那比如说刚才那几个环节的话,他们产出的工件是什么样的工件呢?或者是一个Java项目也好,包括现在流行的Ruby的ROR项目,应该出什么样的工件呢?你的观点呢?
怎样再成长为一个比较好的,能够把握从需求到系统架构这些经验,有什么好的提高的方法,以及平时要注意什么?
那我想提一个问题,就是说在架构设计这块呢,好像刚才谈到的是一个自顶向下的这种方式,那其实就是另外在社区里边,还有另外一种事件是自底向上的,就是说把这个设计或者软件从一点一点这些特性给它堆砌起来的,那二位怎么看这样的这个设计方式呢?
我们现在引到一个新的问题,那就是从需求到架构的过渡环节中,有什么比较典型的案例分析呢?
关于这个架构这些种类吧,目前有这样四种,一个是业务架构,一个是信息架构,一个是应用架构还有技术架构,这个二位怎么看呢?
那就是RUP这边呢,他提出有一个四加一的视图,然后中间有一个很重要观点就是,有一个很重要的概念就是说用例视图,然后这里边呢人们经常会对这个用例视图里边的一个粒度会产生一些疑问,那我想问一下,就是说二位在这个对用例的粒度这方面怎么划分?二位有什么样的看法?
目前二位谈到的这些一些传统架构设计方法,会引入很多的文档,然后目前社区里边有另外一种呼声是说,我们要减少这些面面俱到的文档,然后让尽量精简这样的设计,然后就让代码,就把代码作为一种设计,那二位对这方面是怎么样一个看法呢?
那怎么保证就是说从需求到架构这个,这是一个就是细化解释的这个过程,怎么把需求就是转化成一个良好设计的架构,就是说除了技能方面,还有什么东西能够保证的吗?
加宇有什么看法?
show all  show all

10 条回复

回复

能不能改善一下网速 发表人 harry wang 发表于 2008年2月1日 上午8时35分
Re: 能不能改善一下网速 发表人 rolle xu 发表于 2008年2月1日 下午11时37分
《软件架构设计》:一本包装出来的浮躁精品 发表人 Charlie Zhang 发表于 2008年2月4日 下午8时42分
Re: 《软件架构设计》:一本包装出来的浮躁精品 发表人 justin wang 发表于 2008年2月5日 上午1时17分
关于什么是张恂的标准 发表人 Charlie Zhang 发表于 2008年2月5日 上午2时5分
Re: 关于什么是张恂的标准 发表人 Alex Xu 发表于 2008年2月12日 下午9时26分
Re: 《软件架构设计》:一本包装出来的浮躁精品 发表人 Robin Chang 发表于 2008年2月5日 上午1时25分
确实网速很慢,视频看得不是很舒服 发表人 旭辉 叶 发表于 2008年2月23日 上午12时10分
何以见得!? 发表人 Eric Xu 发表于 2008年5月12日 下午9时40分
Re: 何以见得!? 发表人 Eric Xu 发表于 2008年5月12日 下午9时59分
  1. 返回顶部

    能不能改善一下网速

    2008年2月1日 上午8时35分 发表人 harry wang

    能不能改善一下网速

  2. 返回顶部

    Re: 能不能改善一下网速

    2008年2月1日 下午11时37分 发表人 rolle xu

    也不支持缓冲 效果太烂了

  3. 返回顶部

    《软件架构设计》:一本包装出来的浮躁精品

    2008年2月4日 下午8时42分 发表人 Charlie Zhang

    又一本包装出来的浮躁精品:评温昱《软件架构设计》 也许是我的粗心,我看错了,读得不够仔细,不够认真。 从软件专业的角度看,我认为这是一本非常初级的、所谓的软件架构设计图书。在周筠、孟岩等人的眼里,这是一本隆重推出的原创精品,不知道它是否符合博文视点其他股东和投资人的精品标准。而我个人的鉴定意见是,此书完全达不到精品尤其是原创精品的标准。显然,在周筠、孟岩的精品标准与张恂的精品标准之间存在着巨大的 Gap。那么,什么是咱中国软件人、程序员所能广泛认同的精品标准,这是我想建议大家来一起研究的。 我给所有图书的作者、编者、责编、总编、总监、总裁,以及形形色色的书托们 ... 等等一切利益相关者(包括张恂在内)的建议是:无论何时、何地,请千万不要投机取巧,千万不要忽悠读者。 好了,我要看书、编程去了,继续学习中 ... 软件架构设计专家 张恂 www.zhangxun.com

  4. 返回顶部

    Re: 《软件架构设计》:一本包装出来的浮躁精品

    2008年2月5日 上午1时17分 发表人 justin wang

    “显然,在周筠、孟岩的精品标准与张恂的精品标准之间存在着巨大的 Gap。那么,什么是咱中国软件人、程序员所能广泛认同的精品标准,这是我想建议大家来一起研究的。” 有个问题,张恂的标准到底是什么?

  5. 返回顶部

    Re: 《软件架构设计》:一本包装出来的浮躁精品

    2008年2月5日 上午1时25分 发表人 Robin Chang

    又一本包装出来的浮躁精品:评温昱《软件架构设计》 也许是我的粗心,我看错了,读得不够仔细,不够认真。 从软件专业的角度看,我认为这是一本非常初级的、所谓的软件架构设计图书。在周筠、孟岩等人的眼里,这是一本隆重推出的原创精品,不知道它是否符合博文视点其他股东和投资人的精品标准。而我个人的鉴定意见是,此书完全达不到精品尤其是原创精品的标准。显然,在周筠、孟岩的精品标准与张恂的精品标准之间存在着巨大的 Gap。那么,什么是咱中国软件人、程序员所能广泛认同的精品标准,这是我想建议大家来一起研究的。 我给所有图书的作者、编者、责编、总编、总监、总裁,以及形形色色的书托们 ... 等等一切利益相关者(包括张恂在内)的建议是:无论何时、何地,请千万不要投机取巧,千万不要忽悠读者。 好了,我要看书、编程去了,继续学习中 ... 软件架构设计专家 张恂 www.zhangxun.com
    成天就看到这个人在这里骂街,也不见你写出两本真正有用的东西来。看到别人写了一点东西出来就眼红了,难道你跟温昱有仇吗?看了很多你骂他的文章,今天实在有些看不过去了。 书虽然是初级了点,但是对于刚入门或想入门的SA来说也是好事呀,看问题不要太偏执。

  6. 返回顶部

    关于什么是张恂的标准

    2008年2月5日 上午2时5分 发表人 Charlie Zhang

    justin wang: 有个问题,张恂的标准到底是什么?
    简单地说,就是更加自律和专业(more professional),向更专业、技术水平更高的作者学习,起码要达到行业的平均水准。 软件研发作为一门科学和工程的艺术,也是一门特殊的专业和职业(profession),这项工作非常强调逻辑性,而科学的逻辑分析、思维和判断能力是需要经过长期专业、刻苦的训练才有可能掌握的。 客观上,温昱的《软件架构设计》恰恰缺乏概念完整性(concept integrity),逻辑混乱,写作水平表现得非常业余。我很难相信,这是一位资深软件架构师的创作。建议有关人士最好不要再表演下去了。 至于什么是软件技术图书的精品,什么是原创精品,我想众多西方的软件科学家、工程师、大师级专家们已经为我们作出了表率,大家都有收藏,不用我再赘举了吧。他们的著作所反映出来的那些质量属性,应该就是精品的标准。 张恂

  7. 返回顶部

    Re: 关于什么是张恂的标准

    2008年2月12日 下午9时26分 发表人 Alex Xu

    说的好。作为一个技术人员一定要有所操守。不能昧着良心糊弄。那样只能会误人误己。

  8. 返回顶部

    确实网速很慢,视频看得不是很舒服

    2008年2月23日 上午12时10分 发表人 旭辉 叶

    希望管理员自己能够测试一下,并改善

  9. 返回顶部

    何以见得!?

    2008年5月12日 下午9时40分 发表人 Eric Xu

    “如果你手上的人,他的素质是非常低的,高中生程序员。” 看来潘加宇直接把【素质】和【学历】挂钩,不愧是北京大学硕士,素质果然很高啊。

  10. 返回顶部

    Re: 何以见得!?

    2008年5月12日 下午9时59分 发表人 Eric Xu

    我就是一名高中生程序员,我在虚心学习你们的思想的同时,同时享受这种没有任何依据的侮辱,我不能认同素质可以和学历挂钩,在工作中我认为学历所起到的最大的作用还是敲门砖的作用,实际工作中的技术水平则完全取决勤奋、天赋和经验,就算在开发中会用到大学中我没有学习到的知识,我相信这我也能像学习一门新技术一样在较短时间入门。我认为大学知识并不全部是我需要的,而在社会中需要仅仅大学生这个身份。做为一个北京大学硕士,从你简单的谈吐中我更加能确定我的认识。

独家内容

程立谈架构、敏捷和SOA实践

支付宝首席架构师程立在本文分享了支付宝技术架构的发展,对架构的认识,成功架构的特点,如何避免架构设计的失败,以及在敏捷和SOA方面的实践等。

Emmanuel Bernard谈Bean验证规范

InfoQ有幸采访到了Emmanuel Bernard,向其了解Bean验证框架及专家组正在寻求的社区参与的更多相关信息。

通过索引器简化C#类型信息访问

作为一个有别于Java、Ruby等语言的一个特性,C#可以用索引器(Indexer)将类型本身以对象数组的形式供外部使用。同时,把索引器和LINQ结合使用倒是一个非常不错的组合,索引器做接口、LINQ完成内部检索逻辑,客户程序在无需记住具体方法名称的前提下,按照键值检索即可,索引器内部则依托LINQ to系列的基础,提供对各种异构数据源的访问。

产品负责人成功之道

Scrum中,产品负责人这个角色具有很大的影响力,能够带来很高的价值。但要想运用得当,可没那么轻而易举。如果做得好,就可以在客户和开发者之间建立更为融洽的关系,并能够增加组织的竞争优势。

硝烟中的Scrum和XP

在本书中,作者Henrik Kniberg讲述了他在一年的时间里,带领40人的团队实施Scrum的过程。他们试过了多种团队尺寸(3~12人)、sprint长度(2~6星期),定义“完成”的不同方式,不同的backlog格式,各种测试策略,在多个Scrum团队之间进行同步的多种方式。他们还尝试过XP实践——持续集成、结对编程、测试驱动开发等等,还试过了把XP跟Scrum组合。

软件开发中的准时化生产

准时化生产(Just In Time)是精益生产(Lean Production)和丰田生产系统(Toyota Production System)中的概念,敏捷开发与准时化生产中的很多观点和实践是一致的,精益思想作为精益生产背后的指导思想也正在积极地影响着软件开发领域,向其中不断注入创新与活力。

Tapestry for Nonbelievers

I. Drobiazko和R. Zubairov合作撰写了一篇文章,详细介绍Apache Tapestry 版本5——一个面向组件web框架。文章向读者展示了创建组件方法,并谈到了Tapestry中的IoC以及Ajax的相关特性。

ESB拓扑方案

在本文中,Adrien Louis讨论了两种基于ESB的SOA拓扑方案的优缺点:单个公司级ESB vs. 彼此互联的“部门级”ESB系统。Adrien讨论了每种方案对管理、业务监测、治理、可靠性和编配等问题的影响。