UML es un lenguaje con un alcance muy grande y que cubre diversos conjuntos de dominios arquitectónicos en el diseño de aplicaciones.
Por ello, no todas sus capacidades de modelados son necesariamente útiles en todos los dominios o aplicaciones.
UML permite seleccionar sólo aquellas partes del lenguaje que sean realmente útiles.