UML软件工程组织

用Uml画蓝图
原作:Martin Fowler 译者:包春霞 [2004.2.18] UML软件工程组织

工程学很长时间以来一直影响着软件过程,寻求一种表达软件设计的方式,要能将设计移交给单独的小组来编写代码,就象建筑桥梁时所用的蓝图。这就允许稀缺的和昂贵的软件设计者将精力集中在蓝图上,而许多便宜的编码者集中在构建上。

作为结果用UML画蓝图(UmlAsBlueprint)要完整些。正向工程的思想是蓝图由设计者开发,而他的工作就是为编写代码的程序员做出详细设计。这个设计应该是足够完整的,以至安排出所有的设计决定,而且编码应该遵从这个相当直观的不需要什么思考的活动。设计者可以跟编程者为同一个人,但是一般设计者是更高级的为一个开发团队设计的开发者。

在逆向工程中,蓝图的目的是传达关于编码的详细信息,或者用纸文档或者是用交互式的图形浏览器。蓝图能用开发者更易于理解的图形形式显示有关类的每个细节。

为了处理任务所需要的细节,蓝图比草图需要更复杂的工具:专门的CASE (Computer Aided Software Engineering)工具就是这类软件(尽管CASE一词已经成为难听的字眼,现在供应商努力回避它)。正向工程工具支持画图,用资源库存放信息来备份。逆向工程工具读取源代码,把它解释到资源库并生成图形。能够做这种正向和逆向工程的工具叫做往返工具。一些工具使用源代码本身做为资源库,使用图形做为代码的图形视口。

这与编程有更密切的联系,常常直接与编程编辑器集成。我喜欢把它想象成三用工具


版权所有:UML软件工程组织