Esse conteúdo se
aplica à versão 7.5.4 ou posterior. As
regras para análise de modelos UML podem ajudá-lo a determinar se um modelo UML segue boas práticas. É possível
detectar diversos tipos de problemas em um modelo. Por exemplo, é possível examinar um modelo quanto a relacionamentos semânticos quebrados, especificações ausentes ou convenções de nomenclatura Java™
corretas. As regras de revisão UML são agrupadas nas seguintes categorias: integralidade, correção, acoplamento, nomenclatura Java,
estilo e rastreabilidade.
Regras de Perfeição
A tabela a seguir lista as regras na categoria de perfeição:
| Nome da Regra |
Descrição |
| Classes Abstratas Possuem Subclasses Concretas |
Esta regra identifica todas as classes abstratas em um modelo que não
possuem subclasses concretas, porque classes abstratas não podem ser instanciadas
e devem ter implementações concretas para serem úteis. |
| Elementos órfãos |
Esta regra identifica todos os elementos (excluindo pacotes) que não possuem relacionamentos
com quaisquer outros elementos. Elementos que são órfãos podem ser bons candidatos para exclusão do
modelo. |
Regras de Correção
A tabela a seguir lista as regras na categoria de correção:
| Nome da Regra |
Descrição |
| Operações de Interfaces São Públicas |
Esta regra identifica todas as interfaces de um modelo que declaram operações
não-públicas, porque todas as operações de uma interface devem ser publicamente visíveis
para que implementações concretas da interface se refiram a elas. |
| Atributos de Interfaces São Públicos |
Esta regra identifica todas as interfaces de um modelo que declaram atributos
não-públicos, porque todos os atributos de uma interface devem ser publicamente visíveis
para que implementações concretas da interface se refiram a eles. |
Regras de Acoplamento
A tabela a seguir lista as regras na categoria
de dependência:
| Nome da Regra |
Descrição |
| Dependência de modelo cruzado |
Esta regra localiza todos os classificadores em um modelo lógico que referencia
classificadores em um modelo lógico diferente (modelo ou pacote). |
| Dependência de pacote cruzado |
Esta regra localiza todos os classificadores em um pacote que referencia
classificadores em um pacote diferente. É possível excluir dependências de subpacote
da análise. |
Regras de Nomenclatura Java
A tabela a seguir lista as regras na categoria de nomenclatura Java:
| Nome da Regra |
Descrição |
| Os nomes de elementos são identificadores Java válidos |
Esta regra identifica todos os elementos de modelo que não seguem convenções de nomenclatura Java
padrão, porque, para transformar um modelo UML em código Java válido,
todos os elementos de um modelo devem ter nomes válidos no Java. |
| Nomes de Tipos Começam com uma Letra Maiúscula |
Esta regra identifica todos os tipos em um modelo cujos nomes não começam
com uma letra maiúscula, porque a convenção de nomenclatura padrão no Java
é para nomes de tipos que começam com uma letra maiúscula. |
| Nomes de Recursos Começam com uma Letra Minúscula |
Esta regra identifica todos os nomes de recursos que não começam
com uma letra minúscula, porque a convenção de nomenclatura padrão no Java
é para nomes de recursos que começam com uma letra minúscula. |
| Nomes de Pacotes Estão em Letras Minúsculas |
Esta regra identifica todos os nomes de pacotes em um modelo que não contenham
todas as letras minúsculas, porque a convenção de nomenclatura padrão no Java é para nomes
de pacotes que contenham apenas letras minúsculas. |
| Atributos do Subtipo Têm Nomes Diferentes dos Atributos do Supertipo |
Esta regra identifica todos os tipos de um modelo que possuem atributos
cujos nomes sejam iguais aos atributos de um supertipo, porque nomear um atributo de um
subtipo com o mesmo nome de um atributo em um supertipo oculta o atributo do supertipo
em todas as especializações. |
Regras de Estilo
A tabela a seguir lista as regras na categoria de estilo:
| Nome da Regra |
Descrição |
| Classes Concretas Não Possuem Subclasses Abstratas |
Esta regra identifica todas as classes concretas que possuem uma classe abstrata
como uma subclasse, porque esta situação indica um possível problema no fluxo de design. |
| Nenhuma Referência a Subclassificadores |
Esta regra identifica todas as referências a subclassificadores, porque essas
referências são consideradas uma má prática. |
| Atributos Públicos São Constantes |
Esta regra identifica todos os atributos públicos de um modelo, porque os
atributos não devem ser editáveis fora dos classificadores. Utilize métodos get e set
ou declare atributos como constantes, em vez de declará-los como públicos. |
| Interfaces Não Possuem Atributos ou Associações de Saída |
Esta regra identifica todas as interfaces que possuem atributos ou associações
de saída, porque as interfaces devem especificar o comportamento, não os membros de dados. |
Regras de Rastreabilidade
A tabela a seguir lista as regras na
categoria de rastreabilidade:
| Nome da Regra |
Descrição |
| O elemento está envolvido em um ciclo de relacionamento de rastreio |
Esta regra identifica todos os elementos que estão envolvidos em um ciclo
de relacionamento de rastreio. |
| O elemento não tem uma implementação |
Esta regra identifica todos os elementos que não possuem uma implementação. |
| O elemento não tem uma especificação |
Esta regra identifica todos os elementos que não possuem uma especificação. |