随着软件产品的价值提高,企业欲寻找技术以改善软件生产流程、提高质量、降低成本并缩短产品上市时间。这些技术包括组件技术,可视化编程,模式和框架的应用。企业也寻求能管理系统因范围和规模扩大而衍生的复杂性的技术。他们也意识到需要解决周期性的体系结构问题,如物理分布、并发性、复制、安全性、负载平衡和容错性。另外,万维网的开发虽然让不少事物简化,却加剧了这些架构问题。统一建模语言(UML)旨在回应这些需求。Page-Jones 在 Fundamental Object-Oriented Design in UML 一书中总结了 UML 的主要目的,如下:
为用户提供现成的、有表现力的可视化建模语言,以便他们开发和交换有意义的模型。
为核心概念提供可扩展性 (Extensibility) 和特殊化 (Specialization) 机制。
独立于特定的编程语言和开发过程。
为了解建模语言提供一个正式的基础。
鼓励面向对象工具市场的发展。
支持更高层次的开发概念,如协作,框架,模式和组件。
整合最佳的工作方法 (Best Practices)。