Grady Booch - '.NET将改变你的生活!'

** http://rational.devx.com/index.htm/content_ID/5997 **


** Grady Booch - '.NET ** ** 将改变你的生活 ** ** !' **

**_ 一名最具影响力的语言方法论领袖讲解 _ ** **_ .NET _ ** **_ 如何从根本上改变开发者工作的方式。 _ ** **_ _ **

作者: Stuart J. Johnston

自公司从 1980 年建立以来, G rady Booch 就是主要理论软件科学家。它是统一模型语言( UML )的最初开发者之一。因此,他在从事程序语言、工具和方法论——从机器语言和部件语言, COBOL and FORTRAN 和 ADA 到 C, C++ 和 Java ——的不断发展中,地位是特殊的。

现在,由于微软要利用它的 .NET 推动开发世界更进一步发展,使其进入一个分布式 Web 服务的世界, Rational 自然就来填充空隙,并为提供开发人员用于最大限度地利用 Web 服务模型的工具。

微软有雄心的 NET 初步行动提供了很多开发人员用于建立 Web 服务的基本工具。这包括 NET 框架,通用语言运行时,一套类库,新的 C# 编程语言,一个名为 Visual Studio .NET 的新版本的微软集成开发环境和语言。

** 对于升级的需要 **

但是尽管微软为初步行动提供了工具,但这决不意味着开发人员向前发展需要所有的工具。为什么呢?因为随着世界转向一个高度分布式的模型,应用程序的灵活性不断增长,开发人员需要能跨网络中许多计算机扩展的工具。

“ .NET 将改变你的生活,因为它实际上代表了另一种开发应用程序的方式。” Booch 说,“过去的情况是,考虑大的企业系统银行系统或零售系统,开发团队必须将所有事物建立在他们自己的操作系统上。”

这就是说,开发人员必须不断地将程序和管理资源用于编写所需基本架构的定置部分。中间件和传输层技术如 COM 和 COM+ 简化了这些技术的复杂性,但开发人中仍需知道这些技术是如何工作的。

. “ NET 所提供的实际上是那些通过类型服务的规范代码,每个企业应用程序以一种最终开发者易于获得的方式使用和交付这些服务。 .NET 为应用程序构建者提升了抽象层次,使他们能够在过去必须由自己创建的基础上进行构建。” Booch 说,“这是一个好事情,因为他们现在能将精力集中到能增加价值的事情上及他们具有经验的领域中,而不必构建所有的基本架构。”

然而,在微软的基本架构和工具与开发人员创建下一代应用程序的实际需求间仍存在差别。“在过去如果没有上万也有上千的项目中,我们的经验是,要获得最好的实践…可视化模型,控制变化等等…,这就是我们工具实际存在的地方。”

在这方面,自从 .NET 出现以来, Rational 在大约 15 个月的时间里作出过一系列关于它与微软的工具进行高度集成的声明。上个春天, Rational 就宣布它的所有开发周期工具实际上已经集成到了 Visual Studio. NET 中,这包括需求分析,可视化模型,修改和配置管理及测试。

在 Visual Studio .NET 的 ß 版本中已经可以使用 Rational's Quantify® 的性能造型和 PureCoverage® 的代码覆盖和测试工具了,在将来的发行版本中它们也将包含进 IDE 。该公司已经宣布 Rational Suite 也将支持 .NET 。

** 有望在开发中发生根本变化 **

然而,移植到 Web 服务模型并不只是减少对于你自己架构的需求,增加抽象性和复杂性。应用程序从用户桌面转向互联网这种做法,最终会开发过程发生根本变化。

例如,由于提供所谓“联合”服务——应用程序由运行在不同服务器端上的组件构成,甚至由不同的开发商提供——的服务器经常位于地理位置不同的地方,对于开发者情况也经常是这样。经常一个虚拟开发小组位于不同位置、不同时区。至少,这使得安排和管理会议非常困难。因此,有必要发展协作工具,以处理这些差异。

另外,在新的环境中开发应用程序不仅增加了对开发队伍的需求,就开发队伍而言,也需要工作一致。

“在你开始了解 .NET 后,由于连续的变化,你会感到它相当复杂,并且连续的变化意味着你将获得一个以不同速率变化的以 Web 为中心的应用程序。” Booch 说,“接口部分,中间件部分,后端部分都将以不同速率变化。这就意味着,在开发周期中,你必须同时做多件事,必须同时拥有多个稳定的发行版,特别是当你的客户基础相当大时。这就是说,测试过程、发行过程及整个(应用程序开发)过程互相交叠。”

“事实上,微软的工具是相当优秀的,但我们已有的经验没有必要扩展到人们实际上遇到的那样大的应用程序。” Booch 说,“ Visual Studio .NET 将弥补之间的差别,但是,只有微软的集成开发环境和 Rational 的工具相结合,开发人员才能获得用于成功的企业级能力。”
一套完整的开发周期管理工具需要满足所有这些要求。 Booch 强调了一些他认为最重要的 Rational 的工具。

“ Rational ClearCase 是一个扩展的非常好的配置管理工具。当你处理大型应用程序,特别是构建于 .NET 上的应用程序时, Rational ClearCase 是处理多个发行版、持续变化的理想平台,而持续变化是这个领域的游戏名” Booch 说。

** 进行全局审视——局部也能发挥作用 ** ** **

除了配置管理,他还认为需要为单个开发者提供用于使他们理解如何才能与计划协调的途径。一个重要产品是公司初次发行的 UML 可视化模型工具—— Rational Rose 。“如果我考虑一个分布应用程序——盯住一小段 c# 代码,它将告诉我一些局部的东西,但我不会获得任何这段特定代码片段和分布式应用程序的整体行为。因此我必须进行一定程度的提取,这使我求助于 UML 。”

实际上, UML 和 Rational Rose 已经结合在一起了,以为整个系统设计提供重点,特别是当大型应用程序包含运行在网络中所有设备上的组件时,两者相结合尤为重要。

“单个人很容易只关心对局部的优化,但是在分布式环境中,对局部作出的决定必须对全局产生影响。最好的做法是,首先拥有结构处理过程,即用于进行构建的拓扑,生存的环境,以及联结各个部分的基本机制,并且建立特殊的体系结构,并将它交付给可以作出明智局部决定的应用程序开发者。”

这样, UML 自然就成为了 .NET 应用程序开发中的主要推动力,因为它支持同一系统许多不同的视。

“当考虑更复杂的问题时,我让更多股东从事系统自身的开发,他们每个人的视都与其它人不同,而有一种通用语言让这些股东相互通讯。通用语言就是 UML ,当然, Rational Rose 是帮助团队使用 UML 进行工作的工具。” Booch 说。

** 低劣质量的终结 **

当然, UML 和 Rational Rose ,用于可视化模型的工具,而只是整个开发周期的一部分,在 Rational 的其它产品线中已经反映出了这种观点。例如, Rational RequisitePro 提供了一种定义、调整和跟踪应用程序需求的方法。在过去,将一组非常聪明的人集合在一起,匆匆拼凑 Excel 数据表格去跟踪应用程序的需求,这种做法曾经受到过惩罚,但分布式应用程序,包括 .NET ,开发的巨大复杂性使得质量低劣的方法不再有效。

“事实上,在缺乏人力资源和经济资源的情况下,对构建进行定义,及其优先权与智力进行交换就越来越重要,因此,象 Rational RequisitePro 之类的工具使你有办法对正在建立和获得的项目作出明智的企业决策。” Booch 增加道。

** 开发者面前的圣杯 ** ** ? **

然而, Rational 对于 .NET 和 Web 服务的贡献超出了面向产品的范畴。公司与它的很多伙伴,包括微软和 IBM ,一直在从事称为“可重用资产细则”(即 RAS )的设计。其目的是使面向对象的编程及经过了二十年开发者和供应商才了解的组件重用性成为现实。

“其原因是在应用程序中存在很多可重用的部分。 RAS 告诉你如何通过 UML 对它们进行描述,因此它只是用于表示复杂系统中不同结构部分的基本规则。” Booch 说。一旦完成,公司将把 RAS 交给对象管理小组——也是检查 UML 的标准化组织。“我们考查人们在如 .NET 之类的平台上进行构建的通用机制,并将它们做成规范,交付给客户,这样他们就能加速建立他们的真实系统。”

这些活动的中心当然是 UML 。而且,随着它在方案中的地位越来越重要,它是否有可能成为被 .NET 框架的 CLR (通用语言运行时)所支持的语言?

尽管 Booch 拒绝对产品计划细节作评论,但他没有停止过对其计划的介绍。“现在我们能够通过 Rational Rose 的实时产品从状态设备中生成代码。在非实时情况下这样的事情是不是也有可能呢?完全可以。我们见到过客户采用序列图表和其它相似的东西——它们表示系统行为的线程,并依靠它们生成代码。”

虽然对将来的产品没有做详细描述,但可以肯定的是:随着微软交付 .NET , Rational 意将提供用于设计、构建、测试和扩展分布式的基于 Web 的应用程序的工具。

_ Stuart J. Johnston _ _ 西雅图一位成功的技术新闻记者,他写过很多关于微软产品的文章。最近,他与人合作了一本关于微软 _ _ .NET _ _ 的电子书。他为 _ _ InfoWorld, Computerworld, Information Week, PC World _ _ 和 _ _ XML Magazine _ _ 工作过,为 _ _ DevX _ _ 写过文章。他为 _ _ PC World _ _ 的“缺点和修正”专栏供稿,为 _ _ Information Week _ _ 的“钻石表”专栏供过四年稿。 _ _ _

Published At
Categories with Web编程
Tagged with
comments powered by Disqus