SóProvas


ID
370957
Banca
FCC
Órgão
TCE-GO
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

Para evitar descrever o mesmo fluxo de eventos diversas vezes quando se tratar de um comportamento comum a vários casos de uso, é recomendado escrever esse comportamento em um único caso de uso e relacioná-lo aos demais por meio de um relacionamento de

Alternativas
Comentários
  • No relacionamento de inclusão, o caso de uso é incluído e passa a fazer parte de outro. As utilidades em decompor um caso de uso para ser utilizado através de inclusão são muitas, mas entre as principais esta a possibilidade de decompor casos de uso complexos em partes menores ou mesmo separar partes que serão utilizadas em vários casos de uso.
  • Na UML há três tipos de relacionamentos entre Casos de Uso

    Inclusão - Possibilita a subdivisão de casos de uso, bem como evita a descrição de uma mesma sequência de interações. Permite agrupar funcionalidades comuns em um ponto único de utilização.

    Generalização - Pode existir entre dois casos de uso ou entre dois atores. Permite que tanto um caso de uso como um ator herdem características de outro mais genérico. O caso de uso ou ator herdeiro pode especializar o comportamento do caso de uso ou ator base. Utiliza o mesmo símbolo da herança de classes. UML também permite utilizar o conceito de entidade abstrata ao Caso de Uso - descrito em itálico.

    Extensão - Não confundir com generalização. Utilizado para expressar diferentes sequências de interações entre casos de uso. Caminhos alternativos ou exceções. Cada uma das diferentes sequências representa um comportamento opcional, que só ocorre sob certas condições ou cuja realização depende da escolha do ator.
  • Ilustrando o comentário acima, eis um exemplo:
  • Segundo Martin Fowler no livro UML Essencial:
    " A associação de inclusão ocorre quando há uma parte  do comportamento que é semelhante em mais de uma caso de uso e 
    você não quer ficar  copiando a descrição deste comportamento."
  • Com explicação e ilustração:

    http://celodemelo.wordpress.com/2007/03/17/entendedo-o-diagrama-de-casos-de-uso/
  • Se você é programador, uma dica pra você não confundir extensão com inclusão, o segundo você lembra do #include <biblioteca.h> lá do C, C++, onde você inclui no seu programa funções da biblioteca ou funções escritas por você mesmo, não sendo necessário escrever a função toda vez que você precisar, bastando chama-la no teu código principal, mesma coisa acontece aqui, onde você faz uma inclusão sempre que tiver um mesmo comportamento para vários casos de uso.

    Fica a dica.