Definiçao de uml
UML includes a set of graphic notation techniques to create visual models of object-oriented software-intensive systems.
UML is used to specify, visualize, modify, construct and document the artifacts of an object-oriented software-intensive system under development.[2] UML offers a standard way to visualize a system's architectural blueprints, including elements such as:
activities actors business processes database schemas (logical) components programming language statements reusable software components.[3]
UML combines techniques from data modeling (entity relationship diagrams), business modeling (work flows), object modeling, and component modeling. It can be used with all processes, throughout the software development life cycle, and across different implementation technologies.[4] UML has synthesized the notations of the Booch method, the Object-modeling technique (OMT) and Object-oriented software engineering (OOSE) by fusing them into a single, common and widely usable modeling language.[citation needed] UML aims to be a standard modeling language which can model concurrent and distributed systems. UML is a de facto industry standard,[citation needed] and is evolving under the control of the Object Management Group (OMG).
UML models may be automatically transformed to other representations (e.g. Java) by means of QVT-like transformation languages. UML is extensible, with two mechanisms for customization: profiles and