Restrições

Nos modelos UML, uma restrição é um mecanismo de extensão que permite refinar a semântica de um elemento de modelo UML. Uma restrição refina um elemento de modelo expressando uma condição ou uma restrição em uma declaração textual com a qual o elemento de modelo deve estar em conformidade.

Um exemplo de restrição é uma condição como por exemplo {count > 10}. Uma restrição deve ser aplicada no design de um sistema. A condição ou restrição é especificada no corpo da restrição.

Normalmente, as restrições não possuem nomes. Em vez disso, elas são identificadas pelo conteúdo de seus corpos. Algumas restrições comumente utilizadas são identificadas por nomes, para que o conteúdo de seus corpos não precisem ser repetidos. A restrição XOR é aplicada quando mais de uma associação possui uma conexão comum a uma classe.

É possível especificar o idioma utilizado para gravar o corpo de uma restrição, para que outras pessoas possam ler a restrição mais facilmente e entender sua condição ou restrição. É possível gravar o corpo de uma restrição nos seguintes idiomas:

Para obter informações adicionais sobre OCL, leia a especificação da Unified Modeling Language disponível no Web site do OMG (Object Management Group). Em geral, a sintaxe para o corpo ou as propriedades da linguagem do corpo não são aplicadas.

Uma restrição é exibida como um texto incluído entre chaves ({}) e aparece em um retângulo com o canto superior direito dobrado.

É possível incluir restrições no modelo com os seguintes objetivos:

As restrições em um modelo podem aparecer em qualquer tipo de diagrama UML, bem como em diagramas de forma livre.

Validação da Restrição

É possível validar uma restrição. O nível de validação da restrição aplicado depende do tipo de restrição que está sendo validada. Há três tipos de restrições:

A sintaxe e a expressão de uma restrição serão validadas se a restrição possuir o estereótipo «metaConstraint» aplicado a ela ou se estiver definida em um perfil.

Apenas a sintaxe de uma restrição será validada se ela não tiver o estereótipo «metaConstraint» aplicado e ela não estiver definida em um perfil.

Tarefas relacionadas
Aplicando Restrições a Elementos do Modelo
Validando Restrições OCL
Especificando Conteúdo para as Restrições de Elementos do Modelo
Especificando o Idioma do Conteúdo para as Restrições de Elementos do Modelo
Modelando o Workflow do Usuário Utilizando Diagramas de Atividades
Especificando o Fluxo de Controle e Dados em Diagramas de Atividade
Agrupando os Comportamentos em Atividades
Termos de uso | Feedback
(C) Copyright IBM Corporation 2004, 2005. Todos os Direitos Reservados.