Você está na página 1de 3

Antes UML 1.

0
A UML tem evoluído desde a segunda metade da década de 1990 e tem suas raízes nos
métodos de programação orientada a objetos desenvolvidos no final dos anos 1980 e início
dos 1990.

Ele é originalmente baseado nas notações do método Booch , na técnica de modelagem de


objetos (OMT) e na engenharia de software orientada a objetos (OOSE), que integrou em uma
única linguagem.

UML
A Unified Modeling Language ( UML ) é uma linguagem de modelagem de propósito geral e de
desenvolvimento no campo da engenharia de software que se destina a fornecer uma maneira
padrão de visualizar o design de um sistema.

A criação da UML foi motivada originalmente pelo desejo de padronizar os sistemas de


notação e abordagens díspares para o projeto de software. Ele foi desenvolvido por Grady
Booch , Ivar Jacobson e James Rumbaugh na Rational Software em 1994–1995, com
desenvolvimento adicional liderado por eles até 1996.

Em 1997, a UML foi adotada como padrão pelo Object Management Group (OMG), e tem sido
gerenciada por esta organização desde então. Em 2005, a UML também foi publicada pela
International Organization for Standardization (ISO) como um padrão ISO aprovado. Desde
então, o padrão foi revisado periodicamente para cobrir a última revisão da UML.

UML 1.X
VERSÃO DATA DE LANÇAMENTO ESPECIFICAÇÕES
1.1 Dezembro de 1997 Capacidade de especificar um Design de Baixo
nível
1.2 Julho de 1999 Corrigiu pequenas falhas do UML
1.3 Fevereiro de 2.000 * Correção de Inconsistências nos Documentos
* Melhoria do Mapeamento
1.4 Setembro de 2.001 Mudança no Diagrama de Interação
1.5 Março de 2.003 Inclusão da Semântica de ação na UML 1.4

UML 2.X
VERSÃO DATA DE LANÇAMENTO ESPECIFICAÇÕES
* Mudanças em sua própria Arquitetura
* Refinamento e Aumento de qualidade da
2.0 Julho de 2.005
Generalidade dos Diagramas
* Introdução de Novos Diagramas
2.1.2 Outubro de 2.007 Pequenas Revisões e Mudanças
Resolveu inúmeros problemas de
2.2 Janeiro de 2.009 Inconsistências e adicionou alguns
esclarecimentos necessários
2.3 Maio de 2.010 * Esclareceu associações e classes de
Associação
* Acrescentou Classificador Final
* Atualizou diagramas de Componentes,
estruturas compostas, ações e etc...

* Correções e Atualizações de algumas classes


* Pacotes: Adicionou-se o atributo de pacote
URI
* “Ações” Atualizado
* Removidos eventos de Criação, Execução,
Operação enviar-receber, sinalização enviar-
2.4.1 Julho de 2.011
receber foram todos removidos
* Evento de Destruição renomeado para
especificação de ocorrência de destruição
* Perfis: Estereótipos mudados e a exigência de
primeira letra maiúscula, <metaclasse> e a
aplicação de estereótipos

2.5.1 Dezembro de 2.017

A infraestrutura UML não faz mais parte da especificação UML. Toda a especificação UML é

constituídos neste documento.

 Package Merge não é usado dentro da especificação. Cada metaclasse é especificada


completamente em uma cláusula.

 A especificação é organizada para reduzir as referências futuras tanto quanto possível. Isso
significa que tópicos como Modelos que são abrangentes em seus efeitos aparecem no início
da especificação.

 Cada cláusula tem uma seção de documentação gerada a partir do metamodelo que contém
todas as metaclasses com suas propriedades, e todas as metaassociações com suas
propriedades. Todas as referências cruzadas neste gerado a documentação inclui hiperlinks
para seus destinos.

 Os níveis de conformidade L0, L1, L2 e L3 foram eliminados, porque não foram considerados
úteis em

prática. Uma ferramenta é compatível com toda a UML ou não. Uma ferramenta pode cumprir
parcialmente com UML implementando um subconjunto de seu metamodelo, notação e
semântica, caso em que o fornecedor deve declarar qual subconjunto ele implementa.

No entanto, o próprio metamodelo permanece inalterado em relação à superestrutura UML


2.4.1, com algumas exceções:

 O metamodelo foi particionado em pacotes, correspondendo à estrutura de cláusulas desta


especificação. Todos esses pacotes pertencem a um pacote de nível superior denominado
UML; eles também são importados para UML para que metaclasses podem ser referidas por
seu nome não qualificado em UML.

 Muitas restrições OCL foram corrigidas ou adicionadas onde estavam ausentes. Para fazer
isso, alguns nomes de propriedades pertencentes à associação e as associações
correspondentes foram alteradas para evitar ambigüidade em expressões OCL.
 Um pequeno número de multiplicidades inferiores foram relaxadas de 1 a 0, a fim de
representar os valores padrão que não pode ser formalmente representado usando MOF.
Nestes casos, a ausência de um valor significa a presença de um valor padrão. Esses casos não
podiam ser representados em versões anteriores da UML. Todos eles ocorrem na Cláusula 15:
Atividades e são explicitadas no texto ali.

 A propriedade LoopNode :: loopVariable foi feita composta, a fim de permitir o intercâmbio


de variáveis de loop,

o que não era possível de uma forma padrão na UML 2.4.1.

 NamedElement :: clientDependency tornou-se derivado.

 {encomendado} foi adicionado ou removido de algumas propriedades para tornar a


semântica consistente.

Referências: https://www.omg.org/spec/UML/2.5.1/PDF - Acessado em 11/08/2020

https://www.omg.org/spec/UML - Acessado em 11/08/2020

https://www.mindomo.com/pt/mindmap/versoes-uml-164c4e92e9c8458ca29cd8e569b1511f -
Acessado em 11/08/2020