It can also be used for modeling hardware (engineering systems) and is used for business process modeling and organizational structure modeling. The UML is an open method used to specify, visualize, construct and document the artifacts of an object-oriented software-intensive system under development. The UML represents a compilation of best engineering practices which have proven to be successful in modeling large, complex systems, especially at the architectural level. For large enterprise applications ones that run core business applications and must be running to keep a company going has to be more than just various code modules.
In order for there to be a clear structured architecture there must be a way to enable scalability, security and have a beefy execution that programmers can quickly find and fix bugs that show up after the original programmers have moved to other projects. The benefits of structure (and of modeling and design) compound as application size grows large. Another benefit of structure is that it enables code reuse: Design time is the easiest time to structure an application or program as a collection of self-contained modules or components. Using UML a business no matter what the size can achieve the foundation and layout of the goals they are looking to accomplish.
With UML You can model just about any type of application, running on any type and combination of hardware, operating system, programming language, and network, in UML. Its flexibility lets you model distributed applications that use just about any middleware on the market. This is the reason that UML fits the business community.