所在位置:UML新闻 - 内容 论坛精华    
业务驱动开发者的趋势
Charles Babcock

[2004/5/17]

在软件开发领域几个重要的趋势背后,是对简化开发以及使得软件开发人员和业务人员更紧密的合作的推动。

第一个趋势是业务和系统分析人员对UML更广泛的应用。第二个就是敏捷开发和极限编程的日益被接受,这两个相互关联的趋势正使得业务人员更多地参与到开发过程之中,给予更多的反馈。最后,还有面向方面开发的趋势,它使得开发人员可以为一个或者更多的应用提供例如安全性等重要的功能。

UML

UML的最大潜力就在于它具有从软件开发中剔除众多“臆想(guesswork)”的能力。UML是定义良好的符号集、图形表达方式以及语法。它使得业务和系统分析人员可以通过画图来向软件开发人员描述预期的应用程序。这其中,编程的专门技术并不是必不可缺的,但了解系统工作的知识是(不可缺少)的。

UML起源于1997年,是由OMG推出的一个标准,但现在才渐渐成熟。UML开始被各企业的开发人员所使用并已经被植入多个产品中,诸如IBM Rational的XDE以及Borland公司的Together Control Center。

UML2.0的最终版本尚未完全确定(is pending),但其关键部分已经在去年秋天被OMG投票通过。UML2.0克服了UML1.0的缺点,UML1.0只能表示一个单独的软件应用,而不能表示一系列相关联的应用或者系统。

IBM历史上著名的工程师Alan Brown认为,UML2.0提供了业务人员和软件开发人员之间的桥梁,“他们并不是完全同步的”,可以在一个业务需求工具中创建得到一个UML模型,并将其导入到开发工具中。

但对于UML2.0更高版本,大家有着更多的期待。开发工具们正在朝着更加可视化的建模环境努力:对象可以拖拉,并通过线条连接。在UML的未来版本中,开发中系统的错误将会被可视化地显示出来,并在更早的阶段被捕捉。PivotPoint科技公司的CEO和OMG分析和设计专家组(该小组负责制定UML2.0规约)的副主席,Cris Kobryn,认为,“如果你要对1万行代码负责,要是有一个清晰的表或者图来帮助的话,不是要清晰得多吗?”,因此,开发人员将不会去翻看20页长的头疼的代码,而会选择去看一个详细的UML图,来发现错误,并进行改正。

敏捷开发以及极限编程

敏捷开发是一个年轻的运动,在技术上并没有太多的变化,只是通过一个结构化的方式拉近了开发人员和业务人员之间的距离。其方法依赖于业务人员基于软件原型的频繁反馈以及保证软件满足业务需求的频繁测试。

极限编程,其中有:两个开发人员结对编程,一个负责开发代码,另一个负责评审开发者的工作;检查是否满足业务需求;紧密地和业务人员合作。这里有一个基本的认识:当两个开发人员从各自不同的观点来一起工作时,会加快开发速度并尽早发现错误。敏捷开发和极限编程有一个共同的目标:在开发过程中尽早地满足业务需求。

顾问公司J. Walter Thompson的助理开发主任John Tripp在其同事中进行了一个长达一年的极限编程测试,发现开发人员在该方式下“开发了多得多的代码”,John 的团队开发了一个协作过程入口(portal),提供给分布在世界各地的2600个雇员使用,来管理项目工作流、时间表以及项目经费。

(自 informationweek,UMLChina袁峰 摘译,不得转载用于商业用途)