UML 作为蓝图
2003 年 5 月 28 日
长期以来,受工程学影响的软件流程一直在寻找一种方法来表达软件设计,以便将设计传递给另一个团队编写代码,就像蓝图用于建造桥梁一样。这将使稀缺且昂贵的软件设计师能够专注于蓝图,而许多更便宜的编码人员则专注于构建。
因此,UmlAsBlueprint 是一种 UmlMode,它专注于完整性。在正向工程中,蓝图是由设计师开发的,设计师的工作是为程序员构建详细的设计。该设计应该足够完整,以至于所有设计决策都已确定,并且编程应该成为一项非常直接的活动,几乎不需要思考。设计师可以与程序员是同一个人,但通常设计师是更高级的开发人员,为程序员团队设计。
在逆向工程中,蓝图旨在传达有关代码的详细信息,无论是纸质文档还是交互式图形浏览器。蓝图可以以图形形式显示有关类的所有详细信息,开发人员更容易理解。
蓝图需要比草图更复杂的工具才能处理任务所需的细节。专门的 CASE(计算机辅助软件工程)工具属于此类别(尽管 CASE 这个词已经成为一个贬义词,供应商现在试图避免使用它)。正向工程工具支持图表绘制,并以存储库作为备份来保存信息。逆向工程工具读取源代码并将其解释到存储库中并生成图表。可以同时进行正向和逆向工程的工具被称为往返工具。
一些工具使用源代码本身作为存储库,并使用图表作为代码的图形视窗。这些工具与编程联系更加紧密,通常直接与编程编辑器集成。我喜欢将这些工具视为无往返工具。