UML(统一建模语言)将上世纪90年代出现的众多面向对象的图形建模语言联合了起来,结束了一个纷纷扰扰的巴别塔时代。
Unified Modeling Language 是一个开放的标准,由对象管理组织(OMG)作为描述和涉及软件系统的视图表示法。在软件开发中扮演着组织与决策的高级抽象工具。可以归纳为三种使用模式:
草稿、蓝图、编程语言
开发人员使用UML协助沟通系统的某些方面,通过正向工程与反向工程在编写代码前获从已有代码构建UML图。
通过使用草稿来帮助团队人员沟通想法或者展示所要做事情的可选方案:这里不会谈论即将要写的所有代码,仅就重要的东西进行讨论,并在开始编程之前将一部分设计可视化。如用10分钟讨论下需要几小时进行的编程,或者用一天时间来讨论一个需要两周完成的迭代。
把UML当作蓝图则需要遵循严格规则,列出所有设计决策从而开发出一套完整的设计蓝图。程序员在此基础上进行编码。这个过程就如同职业工程师创建工程图,移交给建筑公司来施工建造。设计人员可以对所有细节画蓝图,也可以对特定的区域绘制蓝图。一般来说,设计人员开发蓝图级模型只做到子系统的接口,而让开发人员负责实现细节。
草稿与蓝图的区别是完整度。在逆向工程中,蓝图的目标是传达关于代码的详细信息,可以在纸质文档或交互式的图形浏览器上。由于其能够以图形的形式展示类的每个细节,更易于开发人员理解。草稿是动态的与轻量级的,强调沟通与重要信息交互。简言之,草稿是探索性的,而蓝图是定义性的。