Regras de Análise Estática para Revisão de Modelos UML

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.

Feedback