Tópicos

O que é Gerenciamento de Requisitos? Para o início da página

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? Para o início da página

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 Rational Unified Process (RUP), 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 caso de uso é denominada "casos de uso de negócios". Ela é abrangida pela disciplina Modelagem de Negócios.
  • Os casos de uso como requisitos de software são descritos na disciplina 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 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 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 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.

Rational Unified Process   2003.06.15