Guia de Elicitação e Análise de Requisitos de Software

Classificado em Tecnologia

Escrito em em com um tamanho de 7,85 KB

Elicitação e Análise de Requisitos

Atividades da elicitação:

  • (1) Entendimento do domínio da aplicação: é o conhecimento geral onde o sistema será aplicado.
  • (2) Entendimento do problema: os detalhes específicos do problema do cliente devem ser entendidos.
  • (3) Entendimento do negócio: deve-se entender como os sistemas interagem e contribuem de forma geral com os objetivos de negócio.
  • (4) Entendimento das necessidades e limitações dos stakeholders do sistema: deve-se entender, em detalhe, as necessidades específicas das pessoas que requerem suporte do sistema no seu trabalho.

Elicitar: significa descobrir, tornar explícito e obter o máximo de informações para o conhecimento do objeto em questão. Cabe à elicitação a tarefa de identificar os fatos que compõem os requisitos do sistema, de forma a prover o mais correto e completo entendimento do que é demandado daquele software.

Dificuldades da Elicitação

  • (1) Usuários podem não ter uma ideia precisa do sistema por eles requerido.
  • (2) Usuários têm dificuldades para descreverem seu conhecimento sobre o domínio do problema.
  • (3) Usuários e analistas têm diferentes pontos de vista do problema (por terem diferentes formações).
  • (4) Usuários podem antipatizar-se com o novo sistema e se negarem a participar da elicitação (ou mesmo fornecer informações errôneas).

Estágios da Elicitação

  • (1) Definir objetivos: os objetivos organizacionais devem ser estabelecidos, incluindo objetivos gerais do negócio, uma descrição geral do problema a ser resolvido, por que o sistema é necessário e as limitações do sistema.
  • (2) Aquisição de conhecimento do background: informação de background do sistema inclui informações acerca da organização onde o sistema será instalado, o domínio da aplicação do sistema e informação acerca de outros sistemas existentes.
  • (3) Organização do conhecimento: a grande quantidade de conhecimento que foi coletada nos estágios anteriores deve ser organizada e colocada em ordem.
  • (4) Coletar os requisitos dos stakeholders: os stakeholders do sistema são consultados para a descoberta de seus requisitos.

Análise e Negociação de Requisitos

Cheques da Análise

  • (1) Checagem da necessidade: a necessidade dos requisitos é analisada. Em alguns casos, alguns requisitos propostos não podem contribuir para os objetivos de negócio da organização ou para o problema específico tratado pelo sistema.
  • (2) Checagem de consistência e completude: os requisitos são checados entre si para determinar consistência e completude. Consistência significa que nenhum requisito deve ser contraditório; completude significa que nenhum serviço (ou limitação) que seja necessário foi esquecido.
  • (3) Checagem de viabilidade: os requisitos são checados para garantir que são viáveis dentro do orçamento e tempo disponível para o desenvolvimento do sistema.

Negociação dos Requisitos

  • (1) Discutir requisitos: os requisitos que foram identificados como problemáticos são discutidos e os stakeholders envolvidos apresentam seus pontos de vista acerca dos requisitos.
  • (2) Priorizar requisitos: os requisitos disputados são priorizados para identificar requisitos críticos e ajudar o processo de tomada de decisão.
  • (3) Concordância dos requisitos: soluções para os problemas dos requisitos são identificadas e um conjunto de requisitos é acordado. Geralmente, isto envolve mudanças em alguns dos requisitos.

Técnicas de Elicitação

A escolha das técnicas e seu esquema de integração dependerá do problema e da equipe participante.

  • Entrevista: O engenheiro de requisitos discute o sistema com diferentes stakeholders e obtém um entendimento dos requisitos.
    • Vantagens: contato direto com o usuário e validação imediata.
    • Desvantagens: conhecimento tácito e diferenças de cultura.
    • Tipos: fechadas (questões predefinidas), abertas (não há agenda predefinida) e tutorial (cliente no comando, aula).
  • Leitura de documentos: Abstrações e vocabulário da aplicação.
    • Vantagens: facilidade de acesso e volume de informações.
    • Desvantagens: dispersão das informações e volume de trabalho.
  • Questionários: Utilizados quando existe conhecimento sobre o problema e um grande número de clientes. Dão uma ideia definida sobre como certos aspectos do universo de informação/software são percebidos. Possibilitam análises estatísticas.
    • Vantagens: padronização das perguntas e tratamento estatístico das respostas.
    • Desvantagens: limitação do universo de respostas e pouca interação.
  • Análise de protocolos: Consiste em analisar o trabalho de determinada pessoa através de verbalização. Objetivo: estabelecer a racionalidade utilizada na execução de tarefas.
    • Vantagens: possibilidade de elicitar fatos não facilmente observáveis e permitir melhor entendimento dos fatos.
    • Desvantagens: desempenho do entrevistado e o fato de que "o que se diz é diferente do que se faz".
  • Participação ativa dos usuários: Incorporação dos usuários ao grupo de Engenharia de Requisitos (ER). Os usuários precisam aprender as linguagens de modelagem utilizadas para ler as descrições e criticá-las. Integração dos usuários com os ER na modelagem do sistema.
    • Vantagens: envolvimento dos clientes e usuários.
    • Desvantagens: treinamento dos usuários e falsa impressão da eficácia do sistema.
  • Cenários: São histórias que explicam como um sistema poderá ser usado. Devem incluir: uma descrição do estado do sistema antes de começar o cenário, o fluxo normal de eventos, exceções, informações sobre atividades concorrentes e o estado final do sistema. Cenários revelam facilidades que o sistema pode precisar.
  • Etnografia: Técnica das ciências sociais baseada na observação das pessoas no trabalho para entender processos reais, que muitas vezes diferem dos formais.
    • Vantagens: visão mais completa e perfeitamente ajustada ao contexto.
    • Desvantagens: tempo gasto e pouca sistematização do processo.
  • Reuso de requisitos: Envolve considerar requisitos desenvolvidos para outros sistemas. Economiza tempo e esforço, pois já foram analisados e validados.
    • Possibilidades: domínios similares, apresentação da informação (consistência de estilos) e políticas da companhia (segurança).
    • Vantagens: produtividade e qualidade.
    • Desvantagens: dificuldade de promover reutilização sem modificação.
  • Prototipagem: Versão inicial do sistema para experimentação. Essencial para o aspecto "look and feel" da interface.
    • Tipos: (1) Descartável: ajuda na elicitação de requisitos difíceis de entender. (2) Evolucionária: entrega rápida de um sistema funcional, implementando primeiro o que é bem entendido.
    • Custos e problemas: treinamento em ferramentas, custos de desenvolvimento, extensão de prazos e possível incompletude de requisitos críticos.

Entradas relacionadas: