É possível visualizar determinados relacionamentos UML entre elementos
do modelo, especificações e execuções.
O recurso de rastreabilidade inclui os seguintes
relacionamentos UML:
- Abstração*
- Abstração com estereótipo <<Trace>>*
- Abstração com estereótipo <<Derived>>*
- Abstração com estereótipo <<Refine>>*
- Agregação
- Associação
- Classe de Associação
- Composição
- Dependência*
- Implementação*
- Associação Direcionada
- Extensão*
- Generalização*
- Inclusão*
- Execução*
- Manifestação
- Permissão
- Realização*
- Substituição*
- Ligação de gabarito
- Uso
- Uso com estereótipo <<Call>>
- Uso com estereótipo <<Create>>
- Uso com estereótipo <<Instantiate>>
- Uso com estereótipo <<Responsibility>>
- Uso com estereótipo <<Send>>
* Apenas esses relacionamentos são considerados ao relatar
relacionamentos de rastreio circulares.
Relacionamentos de Dependência Implícita
Os relacionamentos
de dependência implícita são links de rastreabilidade derivados
dos elementos em um modelo quando nenhum elemento de modelo representa a
dependência. Por exemplo, se um diagrama de seqüência mostrar uma mensagem de
um objeto de vida para outro. A mensagem entre os objetos de vida
implica em uma dependência estática entre os elementos do modelo representados
pelos objetos de vida.
Uma dependência implícita entre
dois elementos UML ocorrerá se uma das situações a seguir for verdadeira:
- Ambos os elementos de modelo estão no mesmo pacote.
- Cada elemento do modelo está em um pacote diferente e o pacote do
elemento do modelo de origem possui um relacionamento de Permissão, Importar Pacote ou
Importar Elemento com o pacote do elemento de modelo de destino.
- Cada elemento do modelo está em um pacote diferente e o pacote do
elemento do modelo de origem possui um relacionamento de Importar Elemento ou Permissão
com o elemento do modelo de destino.
Nota: Se uma das situações acima não for verdadeira, um erro
de violação de acesso será listado na visualização Problemas.
Um elemento do modelo que acessa um elemento do modelo em um outro pacote
sem um relacionamento de Permissão, Importar Pacote ou Importar Elemento
com o pacote do elemento do modelo de destino é uma violação de acesso
que pode não ser resolvida.
Os seguintes casos de uso
possuem relacionamentos de dependência implícita:
- Um
BehavioredClassifier UML possui uma interação com linhas de vida que
representam elementos UML. Um relacionamento Refinar Implícito é detectado a partir
de cada elemento UML para a interação.
- Existe uma mensagem UML de lifeline1 para lifeline2. Um relacionamento Uso Implícito
é detectado a partir do elemento que é representado por lifeline1 para
o elemento que é representado por lifeline2.
- Uma classe, uma interface ou um artefato UML possui uma operação. A operação
possui um tipo de retorno ou tipo de parâmetro de Classificador. Um relacionamento
de Uso Implícito é detectado a partir da classe, da interface ou do artefato para o
classificador de retorno e para cada parâmetro de classificador.