Diretriz: Critérios de Inpeção dos Artefatos
Relacionamentos
Descrição Principal

Esse guia define um conjunto de diretrizes para inspeção dos artefatos necessários para realização de um caso de uso. Os artefatos estão subdivididos de acordo com as etapa com a qual ele se relaciona durante o desenvolvimento do caso de uso. Lembrando que essas etapas são consideradas padrões, podendo ser configuradas, alteradas e, até mesmo, novas etapas serem inseridas, de modo a refletir a realidade do projeto.

Especificação Inicial

Durante a análise do progresso da etapa de especificação inicial dentro do RUP, foram identificados quatro artefatos relacionados à sua realização. Nesse momento, a preocupação é identificar o caso de uso e certificar que o mesmo apresenta uma descrição inicial, contendo a descrição das funcionalidades e eventos relacionados ao caso de uso. Os itens abaixo descrevem como verificar se esses artefatos realmente representam a descrição inicial do caso de uso:

Diagrama de Caso de Uso

Basicamente, deve-se verificar se o caso de uso está inserido no diagrama de caso de uso, com as relações com outros casos de uso e atores definidas. Em caso positivo temos que , caso contrário , onde DCU indica o Diagrama de Caso de Uso e uc o caso de uso que está sendo avaliado.

Descrição Funcional

Visa identificar se está definida, no documento de requisitos, uma seção específica para o caso de uso, contendo os principais itens da descrição funcional do caso de uso. Dentre estes itens temos: a descrição detalhada do caso de uso, as entradas permitidas pelo caso de uso, as saídas esperadas, pré-requisitos e pós-requisitos relativos à execução do caso de uso. Para cada item citado, atribuí-se o valor 1 caso o mesmo já tenha sido documentado, caso contrário, atribuí-se o valor 0. O resultado da inspeção da descrição funcional se dá através da fórmula

onde é a função que retorna se o item x foi ou não desenvolvido para realização do caso de uso uc, e é o conjunto de itens que devem estar contidos na descrição funcional do caso de uso.

Fluxo de Eventos

Deverá ser verificado se o fluxo de eventos do caso uso está documentado. É importante observar se o fluxo principal foi definido, se fluxos alternativos e subfluxos são necessários, e se eles estão, ou não, documentados. Atribui-se o valor 1 para os itens desenvolvidos e 0 para os que ainda precisam ser feitos. O resultado da avaliação do fluxo de eventos se dá através da fórmula

onde é a função que retorna se foi ou não desenvolvido para realização do caso de uso uc, e é o conjunto de itens (fluxo principal, fluxo alternativo, subfluxos) que devem ser inspecionados durante a avaliação dos fluxos relacionados ao caso de uso.

Protótipo de Interface

Se houver necessidade de incorporar as funcionalidades do caso de uso em um protótipo inicial, temos que deverá ser verificado se cenários de uso foram definidos, se o projeto de interface do caso de uso foi realizado e se o protótipo contém as interfaces que representarão a funcionalidade do caso de uso. Para cada resposta positiva, temos que deverá ser atribuído o valor 1, em caso negativo será atribuído o valor 0. O resultado da avaliação do protótipo de interface se dá através da fórmula

onde é a função que retorna se x foi ou não desenvolvido para realização do caso de uso uc, e Itens do Protótipo de Interface é o conjunto de itens que devem ser desenvolvidos durante a definição e implementação de um protótipo de interface.

Análise e Projeto

Durante a análise do progresso da etapa de análise e projeto do caso de uso, é necessário avaliar os diversos diagramas UML relacionados à realização da modelagem do caso de uso: diagramas de interação (sequência/colaboração), diagrama de classe, diagrama de atividade (se necessário), diagrama de estado (se necessário). O diagrama de componentes não é considerado nessa etapa, pois se relaciona com a implementação do caso de uso. Além disso, o diagrama de implantação não representa um progresso significativo em relação às funcionalidades que o sistema deve possuir.

Diagrama de Interação

Este tipo de diagrama tem como objetivo mostrar o comportamento dos vários objetos relacionados, durante a realização do caso de uso. Ele é classificado em dois tipos de diagramas, de acordo com o foco que ele demonstra: diagrama de Sequência (foco na sequência das mensagens trocadas entre os objetos) e diagrama de Colaboração (foco no comportamento de cada objeto dentro do caso de uso). Ambos os diagramas representam os aspectos dinâmicos relativos à modelagem do caso de uso, indicando as interações dos usuários com o sistema, e a troca de mensagens entre as diversas classes relacionadas ao caso de uso para produzir o resultado desejado [8]. A inspeção da existência de um diagrama de sequência e/ou colaboração relacionado ao caso de uso, obedece aos seguintes critérios:

  • Deve haver um rastreamento direto entre o caso de uso e o diagrama de interação, ou seja, o diagrama de interação deve pertencer à realização do caso de uso, ou estar imediatamente abaixo do caso de uso na hierarquia do projeto (caso se esteja utilizando alguma ferramenta que permita esse tipo de ligação, ex.: Rational Rose).
  • O diagrama deve possuir o mesmo nome de identificação do caso de uso.
  • Deve representar as diversas classes de análise envolvidas com a realização do caso de uso e que modelam o comportamento do mesmo.
  • Deve representar as classes de controle que monitoram as classes de análise, de forma a obter os resultados desejados.
  • Deve conter mensagens que permitem realizar os fluxos de eventos descritos para o caso de uso.

Caso todos esses critérios sejam avaliados positivamente, temos que , caso contrário , onde uc é o caso de uso em avaliação.

Diagrama de Classe

Esse diagrama representa a estrutura das diversas classes relacionadas à realização do caso de uso, indicando também os relacionamentos entre tais classes [8]. A inspeção desse diagrama, visando identificar as diversas classes necessárias para realização do caso de uso, obedece os seguintes critérios:

  • Caso o desenvolvimento seja suportado por alguma ferramenta de modelagem, que permita o rastreamento dos diversos diagramas UML, relacionados com a realização de um caso de uso (Ex.: Rational Rose), basta identificar se existe algum diagrama de classes relacionado à realização do caso de uso. Caso não exista esse rastreamento direto, deverá ser observado o diagrama de classes global, que pode incorporar nele, as classes relacionadas com o caso de uso.
  • As classes de análise definidas no diagrama de interação devem estar representadas no diagrama de classes contendo: atributos (possíveis parâmetros passados nas mensagens do diagrama de interação, ou ainda atributos relativos a análise do caso de uso), métodos (correspondem as mensagens trocadas nos diagramas de interação e métodos de acesso aos atributos do sistema) e relacionamentos com outras classes (resultantes do comportamento da classe para atingir a funcionalidade do caso de uso).
  • As classes de controle definidas no diagrama de sequencia do caso de uso, devem estar representadas no diagrama de classes, contendo os atributos e métodos (mensagens que ela envia) necessários, para controlar a execução do caso de uso.
  • As classes de fronteira relacionadas com a prototipação do caso de uso, devem estar representadas no diagrama de classe, contendo atributos, métodos relevantes e relacionamentos com outras classes bem definidos.

Uma observação importante relacionada com a inspeção desse diagrama é que, a localização de uma classe em um pacote ou subsistema, não afeta o progresso funcional do sistema, pois ela continua com as mesmas propriedades, e realizando as mesmas operações. Tem-se também que, as classes podem ser alteradas de modo a adquirir novas funcionalidades relevantes a outros casos de uso. Caso todos critérios, acima definidos, sejam avaliados positivamente, temos que , caso contrário , onde uc é o caso de uso em avaliação.

Diagrama de Estado

Consiste em uma máquina de estado, contendo estados, transições, eventos e atividades. Endereça a visão dinâmica do sistema. Importante para modelar um objeto com comportamento dinâmico, enfatizando os eventos que resultam em mudança de estado para o objeto.

Quando necessário, ou seja, quando o caso de uso possuir algum objeto relacionado, que contém a necessidade de uma modelagem dos seus diversos estados durante a realização do caso de uso, temos que os seguintes critérios devem ser obedecidos:

  • Caso exista a ferramenta de modelagem que permita manter o relacionamento do caso de uso com sua realização, basta identificar, para os objetos que necessitam, se existe o diagrama de estado correspondente.
  • Deve existir um diagrama de estado, para cada objeto relativo ao caso de uso, que necessite de uma modelagem dos seus estados, ou seja, apresente um comportamento bastante dinâmico, derivado da realização do caso de uso.
  • Alguns desses estados devem representar o comportamento do objeto no caso de uso, ou seja, estados oriundos da realização do caso de uso.

Caso todos esses critérios sejam avaliados positivamente, temos que , caso contrário , onde uc é o caso de uso em avaliação.

Diagrama de Atividade

Tipo especial de diagrama de estado, que mostra um fluxo de atividades dentro do sistema. Endereça a visão dinâmica do sistema. Importante para modelagem de uma função de um sistema, focalizando o fluxo de controle entre objetos. Quando necessário, ou seja, quando o caso de uso possuir um objeto com alguma operação complexa que necessite ser modelada, temos que os seguintes critérios devem ser observados:

  • Caso exista a ferramenta de modelagem que permita manter o relacionamento do caso de uso com sua realização, basta identificar se existe o diagrama de atividade correspondente à realização de alguma operação complexa dentro do caso de uso, ou se não há necessidade de representar esse diagrama para nenhuma operação, oriunda das funcionalidades do caso de uso.
  • Quando houver necessidade, a sequência de atividades para realização de uma determinada operação, envolvida com o caso de uso, deve estar modelada em um diagrama de atividade

Caso esses critérios sejam avaliados positivamente, temos que , caso contrário , onde uc é o caso de uso em avaliação.

Implementação

Verifica se o diagrama de componentes do sistema, contém as classes derivadas do caso de uso, observa se as classes definidas foram codificadas, se testes de unidade sobre essas classes já foram realizadas e se a versão executável do sistema (se houver) disponibiliza para uso, as funcionalidades previstas no caso de uso. Abaixo seguem os critérios de avaliação da realização dos artefatos relacionados, para um determinado caso de uso.

Diagrama de Componente

  • Deve haver um mapeamento direto das classes derivadas do caso de uso com os componentes existentes no diagrama de componentes
  • Bibliotecas de interface, classes de fronteira e comunicação devem estar representadas

    Caso todos esses critérios sejam avaliados positivamente, temos que , caso contrário , onde uc é o caso de uso em avaliação.

Código Fonte

  • Visa identificar se as classes derivadas do caso de uso foram implementadas com as funcionalidades (atributos e métodos) definidas durante a realização da análise e projeto do caso de uso

    Caso o critério acima seja avaliado positivamente, temos que , caso contrário, onde uc é o caso de uso em avaliação.

Teste de Unidade

  • Representa a porcentagem de classes derivadas do caso de uso que já realizaram seus testes de unidade, ou seja

onde uc é o caso de uso em avaliação. Um teste de unidade é realizado quando:

  • O teste é identificado
  • Casos de teste são definidos (derivados a partir do caso de uso, para a classe)
  • Procedimentos de teste são descritos
  • Testes de unidades implementados, executados e positivamente avaliados

Interface

  • Verifica se as funcionalidades definidas pelo caso de uso estão disponíveis para uso na interface do sistema

    Caso o critério acima seja avaliado positivamente, temos que , caso contrário, onde uc é o caso de uso em avaliação.

Teste

Consiste em inspecionar se o caso de uso está integrado ao sistema, de modo que, testes de sistema foram planejados, projetados, scripts de teste foram implementados e executados, verificando também a porcentagem de testes que foram realizados com sucesso.

Plano de Teste

  • Consiste em verificar se os casos de teste para o caso de uso foram identificados e agrupados
  • Se os riscos inerentes foram levantados
  • Se estratégias de teste foram definidas
  • Se os critérios de avaliação foram estabelecidos
  • Se os recursos de teste foram identificados e o cronograma de teste já foi detalhado e documentado

    Caso todos esses critérios sejam avaliados positivamente, temos que , caso contrário , onde uc é o caso de uso em avaliação.

Projeto de Teste

  • Verifica se os casos de teste identificados foram descritos
  • Se os procedimentos de teste foram estruturados
  • Se métricas de avaliação dos testes foram descritas

    Caso todos esses critérios sejam avaliados positivamente, temos que , caso contrário , onde uc é o caso de uso em avaliação.

Implementação do Teste

  • Verifica se os scripts de teste dos casos de teste anteriormente identificados foram gravados ou programados
  • Se o conjunto de dados externos (necessários para os testes) foram criados e mantidos
  • Se os pacotes e classes de teste relativos aos casos de teste envolvidos foram projetados e implementados.

    Caso todos esses critérios sejam avaliados positivamente, temos que , caso contrário , onde uc é o caso de uso em avaliação.

Execução do Teste

  • Indica a porcentagem dos casos de teste sobre o caso de uso que foram realizados com sucesso, ou seja, a porcentagem dos casos de teste cujas métricas de avaliação definidas no plano de teste indicaram uma realização satisfatória. Desse modo, temos que

onde uc é o caso de uso em avaliação.