Tarefa: Priorizar Casos de Uso
Essa tarefa é onde os casos de uso são priorizados, de forma que sua ordem de desenvolvimento possa ser decidida. Essa tarefa é onde os casos de uso arquiteturalmente significativos são identificados e priorizados.
Disciplinas: Requisitos
Objetivo

A finalidade dessa tarefa é:

  • Definir a entrada para a seleção do conjunto de cenários e casos de uso que serão analisados na iteração atual.
  • Definir o conjunto de cenários e casos de uso que representam alguma funcionalidade central significativa.
  • Definir o conjunto de cenários e casos de uso que possuem cobertura arquitetural substancial (que exercita vários elementos de arquitetura) ou que enfatizam ou ilustram um ponto específico, delicado, da arquitetura.
 
Relacionamentos
Descrição Principal

Alguns dos fatores utilizados para determinar a prioridade dos casos de uso podem ser capturados como atributos Requisito de Software attributes.  As prioridades de casos de uso resultantes podem também ser capturadas como atributos dos requisitos, para que possam ser gerenciadas com eficiência.

Para obter informações adicionais sobre Atributos de Requisitos, consulte a Diretriz: Plano de Gerenciamento de Requisitos.

Etapas
Priorizar Casos de Uso e Cenários (VBSE EC2)

Um arquiteto de software propõe o conteúdo técnico e a ordem das iterações sucessivas, selecionando um determinado número de cenários e casos de uso para serem analisados e projetados. Essa proposta técnica é concluída e refinada pelas várias equipes de desenvolvimento, com base na disponibilidade de pessoal, nos requisitos do cliente em termos de produtos liberados, na disponibilidade das ferramentas e dos produtos de terceiros (COTS) e nas necessidades de outros projetos.

A seleção dos cenários e de casos de uso que são considerados "arquiteturalmente significativos" (por exemplo, constituir a visualização do caso de uso da arquitetura) é direcionada por alguns fatores de direcionamento-chave resumidos a seguir. 

  • Benefícios do cenário aos investidores: crítico, importante, útil.
  • O impacto arquitetural do cenário: nenhum, estende, modifica. É possível que haja casos de uso críticos com pouco ou nenhum impacto na arquitetura e casos de uso de pouco benefício com um grande impacto. Os casos de uso de pouco benefício com grandes impactos na arquitetura devem ser revisados pelo coordenador de projeto para um possível cancelamento do escopo.
  • Os riscos a serem diminuídos (desempenho, disponibilidade de um produto e adequação de um componente).
  • A abrangência total da arquitetura (assegurando que, no final da fase de elaboração, cada parte do software a ser desenvolvido encontrou um espaço na Visão de Implementação).
  • Outros objetivos ou restrições táticas: demonstração para o usuário, etc.

É possível haver dois cenários que atinjam os mesmos componentes e tratem de riscos semelhantes. Se A for implementado primeiro, então B não é significativo do ponto de vista da arquitetura. Se B for implementado primeiro, então A não é significativo do ponto de vista da arquitetura. Desse modo, esses atributos podem depender da ordem de iteração e deverão ser reavaliados quando a ordem for alterada, assim como quando os próprios requisitos forem alterados.

Os casos de uso significativos do ponto de vista da arquitetura que são malcompreendidos ou que têm a probabilidade de serem alterados devem ser priorizados para esclarecimento e estabilização. Em alguns casos, isso significa a necessidade de análise adicional dos requisitos antes da implementação do requisito. Em outros, seria melhor alguma forma de realização de protótipo.

Um último ponto a ressaltar: embora o objetivo seja priorizar cenários ou casos de uso, os fatores de direcionamento acima listados envolvem diversos outros aspectos do produto de software: requisitos funcionais e não funcionais, decisões de design e restrições de gerenciamento do projeto. Além disso, eles têm relevâncias diferentes para diferentes interessados do projeto de software. Pode ser necessário mapear as diferenças de percepção dos fatores entre os interessados, de forma a identificar conflitos que podem alterar a significância dos casos de uso na arquitetura. Veja a Guideline: Teia de Conflitos de Modelo como técnica sugerida para identificar conflitos.



Documente a Visão de Casos de Uso

A visão de casos de uso é documentada na seção correspondente do Documento de Arquitetura de Software. Essa seção contém uma listagem dos casos de uso e cenários significativos dentro de cada pacote do modelo de casos de uso, além de propriedades significativas, como as descrições do fluxo de eventos, dos relacionamentos, dos diagramas de casos de uso e dos requisitos especiais relacionados a cada caso de uso. Observe que, se a visão de casos de uso for desenvolvida no início da iteração, algumas dessas propriedades talvez não existam ainda.

Avaliar seus Resultados

A visão de casos de uso deve ser verificada nesta fase, apenas para confirmar se o trabalho está caminhando bem. Não é necessária uma revisão detalhada da visão de casos de uso. Para recomendações específicas sobre o que procurar durante a revisão, consulte Lista de Verificação: Documento de Arquitetura de Software.

Informações Adicionais