Gerenciamento de Requisitos
A Atividade de Gerenciamento de Requisitos é uma abordagem sistemática para localizar, documentar, organizar e rastrear os requisitos em processo de mudança em um sistema.
Descrição Principal

O que É Gerenciamento de Requisitos?

O gerenciamento de requisitos é uma abordagem sistemática para localizar, documentar, organizar e controlar os requisitos variáveis em um sistema.

Definimos um requisito como uma "condição ou recurso com o qual o sistema deve estar em conformidade".

O gerenciamento de requisitos é definido formalmente como uma abordagem sistemática para:

  • extrair, organizar e documentar os requisitos do sistema
  • estabelecer e manter um acordo entre o cliente e a equipe de projeto sobre os requisitos variáveis no sistema

As chaves para o gerenciamento eficiente de requisitos incluem manter uma instrução clara dos requisitos, juntamente com os atributos apropriados e a rastreabilidade para outros requisitos e outros artefatos do projeto.

A coleta de requisitos pode parecer uma tarefa bem precisa. Na realidade, porém, os projetos enfrentam dificuldades pelos seguintes motivos:

  • Nem sempre os requisitos são óbvios e podem vir de várias fontes.
  • Os requisitos nem sempre são expressos em palavras de modo fácil ou claro.
  • Existem diversos tipos de requisitos em diferentes níveis de detalhe.
  • O número de requisitos pode se tornar impossível de gerenciar se eles não forem controlados.
  • Os requisitos estão relacionados uns com os outros, e também com o produto liberado do processo de engenharia do software.
  • Os requisitos têm propriedades exclusivas ou valores de propriedade. Por exemplo, eles não são necessariamente igualmente importantes ou igualmente fáceis de se atender.
  • Há várias partes interessadas, o que significa que os requisitos precisam ser gerenciados por grupos de pessoas de diferentes funções.
  • Os requisitos são alterados.

Por mais que você tenha cuidado ao definir os requisitos, sempre haverá itens que são alterados. O que torna complexo o gerenciamento dos requisitos variáveis não é apenas o fato de que um requisito alterado significa a necessidade de gastar tempo com a implementação de uma nova característica específica, mas também que uma mudança em um requisito poderá ter impacto em outros. O gerenciamento de mudanças inclui atividades como: estabelecer uma baseline, determinar as dependências importantes a serem rastreadas, estabelecer a rastreabilidade entre itens relacionados e implementar o controle de mudanças.

Como o Desenvolvimento É Orientado por Casos de Uso?

Nosso método recomendado para organizar os requisitos funcionais é a utilização de casos de uso. Em vez de fazer uma lista de requisitos com marcadores, organize-os de forma que ilustrem o modo como uma pessoa poderá usar o sistema. Isso permite maior abrangência e consistência e também fornece um melhor entendimento da importância de um requisito do ponto de vista do usuário.

A partir de um modelo de sistema tradicional orientado a objetos, geralmente é difícil descrever como um sistema faz o que se espera que ele faça. Essa dificuldade resulta da falta de um "encadeamento vermelho" no sistema, quando ele executa determinadas tarefas. No RUP (Rational Unified Process), os casos de uso são essa linha, pois definem o comportamento de um sistema. Eles não fazem parte da orientação a objetos tradicional, mas sua importância se tornou ainda mais evidente. Isso é mais enfatizado ainda pelo fato de que os casos de uso fazem parte da Linguagem Unificada de Modelagem.

O RUP emprega uma "abordagem orientada por casos de uso", o que significa que os casos de uso definidos para um sistema são a base de todo o processo de desenvolvimento.

Os casos de uso fazem parte de várias disciplinas.

  • O conceito de casos de uso pode ser utilizado para representar processos de negócios. Essa variante de casos de uso é denominada "caso de uso de negócios. "Ela é abrangida pela disciplina de Modelagem de Negócios.
  • Os casos de uso como requisitos de software são descritos na disciplina de Requisitos. Os casos de uso constituem um conceito fundamental que deve ser aceitável para o cliente, os desenvolvedores e os testadores do sistema.
  • Na disciplina de Gerenciamento de Projeto, os casos de uso são utilizados como uma base para planejar o desenvolvimento iterativo.
  • Os casos de uso são realizados em um modelo de design como parte da disciplina de Análise e Design. As realizações de casos de uso descrevem como o caso de uso é suportado pelo design em termos de interação de objetos no modelo de design.
  • Por último, os casos de uso tornam-se cenários implementados e testáveis e, portanto, são um foco importante nas disciplinas Implementação e Teste. Eles são utilizados para originar casos de teste e scripts de teste; a funcionalidade do sistema é verificada executando cenários de teste que praticam cada caso de uso.
  • Na disciplina de Implementação, os casos de uso formam uma base para o que está descrito nos manuais do usuário. Eles também podem ser usados para definir as unidades de pedido do produto. Por exemplo, um cliente pode obter um sistema configurado com uma combinação específica de casos de uso.