Unified Modeling Language
The UML is a modeling language for specifying, visualizing, constructing, and documenting the artifacts of a system-intensive process.
- Within a system-intensive process, a method is applied as a process to derive or evolve a system.
- As a language, it is used for communication. That is, a means to capture knowledge (semantics) about a subject and express knowledge (syntax) regarding the subject for the purpose of communication. The subject is the system under discussion.
- As a modeling language, it focuses on understanding a subject via the formulation of a model of the subject (and its related context). The model embodies knowledge regarding the subject, and the appropriate application of this knowledge constitutes intelligence.
- Regarding unification, it unifies the information systems and technology industry's best engineering practices across types of systems (software and non-software), domains (business versus software), and life-cycle processes.
- As it applies to specifying systems, it can be used to communicate "what" is required of a system, and "how" a system may be realized or implemented.
- As it applies to visualizing systems, it can be used to visually depict a system before it is realized.
- As it applies to constructing systems, it can be used to guide the realization of a system similar to a "blueprint".
- As it applies to documenting systems, it can be used for capturing knowledge about a system throughout its life cycle.
The UML is not:
- A visual programming language, but a visual modeling language.
- A tool or repository specification, but a modeling language specification.
- A process, but enables processes.
The UML is an evolutionary general-purpose, broadly applicable, tool-supported, and industry-standardized modeling language.
- As a general-purpose modeling language, it focuses on a set of concepts for acquiring, sharing, and utilizing knowledge coupled with extensibility mechanisms.
- As a broadly applicable modeling language, it may be applied to different types of systems (software and non-software), domains (business versus software), and methods or processes.
- As a tool-supported modeling language, tools are readily available to support the application of the language to specify, visualize, construct, and document systems.
- As an industry-standardized modeling language, it is not a proprietary and closed language but an open and fully extensible industry-recognized language.
The UML enables the capturing, communicating, and leveraging of strategic, tactical, and operational knowledge to facilitate increasing value by increasing quality, reducing costs, and reducing time-to-market while managing risks and being proactive in regard to ever-increasing change and complexity. --cited from Methods & Tools.