UML (Unified Modeling Language) é um padrão universal de linguagem de modelação visual, utilizado para descrever, visualizar, construir e documentar artefactos de sistemas de software.
Quando se trata de linguagem, muitos amigos começam a ter medo.

Várias linguagens de programação
Mas a UML não é uma linguagem de programação, mas sim uma linguagem de modelação visual. A razão pela qual é chamada de linguagem é que a UML fornece vocabulário e regras para a comunicação. Os utilizadores podem comunicar com o mesmo software sem barreiras dentro da estrutura desse vocabulário e regras, de modo a que vários utilizadores tenham o mesmo entendimento da mesma coisa. .
Desde o final da década de 1960, com a contínua popularização da tecnologia informática, a procura das pessoas por software tem aumentado de dia para dia, a escala do software também tem vindo a expandir-se e a complexidade do software também tem vindo a aumentar. Devido à falta de orientação teórica científica, é difícil garantir o progresso do desenvolvimento de software. Os custos de desenvolvimento de software estão constantemente a aumentar. As pessoas chamam-lhe vividamente uma crise de software.
o que fazer? Depois o trabalho de desenvolvimento de software deve ser feito como um projeto. Assim sendo, surgiu também o conceito de engenharia de software. A engenharia de software visa estudar as leis objetivas da produção de software e estabelecer conceitos, princípios, métodos, tecnologias e ferramentas relevantes para a produção de software para orientar as atividades de produção de software. É claro que os resultados foram satisfatórios.
Com o contínuo aprofundamento da investigação sobre engenharia de software, a programação orientada a objectos entrou no campo de visão das pessoas. Desde a década de 1980 até ao início da década de 1990, nasceram muitos métodos de análise e design orientados a objectos, tendo também surgido um grande número de livros que introduzem métodos orientados a objectos. Isto parece um pouco uma centena de escolas de pensamento em disputa. Cada autor lidera um grupo de profissionais, e os métodos têm muitas semelhanças, mas também diferenças subtis.
Isto também traz confusão aos profissionais da mesma área. Quando se fala da mesma coisa, podem apresentar diferentes métodos de representação orientados a objetos, o que dificulta seriamente a compreensão e a comunicação da mesma coisa.
Neste momento, alguém sugeriu que unificássemos e utilizássemos os mesmos padrões. Ninguém parecia ouvir o seu chamamento e ignorou-o. Existe uma organização chamada OMG (Object Management Group) que também tentou uniformizar a orientação a objectos, mas apenas recebeu uma carta pública de protesto de todos os metodologistas.
Quando Martin Fowler fala sobre esta situação, conta uma piada no seu livro "UML Essentials: The Author of a Concise Guide to the Standard Object Modeling Language":
R: Qual é a diferença entre um metodologista e um terrorista?
B: Os terroristas podem negociar.

Existe um enorme fosso entre os métodos de representação orientados a objetos
Na reunião anual da OOPSLA (Sistemas de Programação Orientada a Objectos, Linguagens e Aplicações) de 1995, Grady Booch e Jim Rumbaugh descreveram publicamente a sua abordagem fundida, o Documento de Método Unificado 0.8 (Método Unido), pela primeira vez.
Após uma série de disputas entre várias partes, em Janeiro de 1997, todas as organizações apresentaram uma proposta para um padrão de método. de modelação unificada.
Após um processo de competição entre todas as partes, a OMG adotou a versão 1.1 como norma oficial da OMG. Após uma série de modificações, a UML1.4 e a UML1.5 tornaram-se relativamente maduras.
Quando muitas pessoas falam de UML, atribuem principalmente o crédito dos criadores a Grady Booch, Ivar Jacobson e Jim Rumbaugh, chamando-lhes “Três Amigos”.
Grady Booch Ivar Jacobson Jim Rumbaugh
Criador da UML Sanyou
É claro que algumas pessoas manifestaram oposição e acreditaram que fizeram certas contribuições na fase inicial, mas na fase posterior, os membros do comité OMG fizeram muitas contribuições e, entre os três, Jim Rumbaugh foi o único que fez uma contribuição na fase posterior.
Métodos e aspetos de representação