Detalhando os requisitos de um sistema de solicitações – Parte 1: Especificar requisitos de software é uma atividade desafiadora. Talvez um dos principais motivos é o fato do requisito especificado ser utilizado por diferentes pessoas (clientes, projetistas, arquitetos, desenvolvedores e analistas de teste, por exemplo) ao longo de todo o processo de desenvolvimento, o que dificulta atender às diferentes necessidades de cada papel. Como colocar em um único documento informações necessárias para que o projetista elabore o projeto do software ao mesmo tempo em que o analista de teste consegue planejar adequadamente os casos de procedimentos de teste? E tudo isso sem afetar a legibilidade do artefato sob a perspectiva do cliente!

Existem diferentes formas de se especificar um requisito. Uma das mais utilizadas atualmente é o caso de uso (que é o padrão utilizado na atualidade para descrição de requisitos na indústria de software). Um caso de uso permite o detalhamento de uma necessidade do usuário através da descrição de um diálogo entre ator e sistema para que uma dada funcionalidade seja atendida.

O objetivo desta série é apresentar um conjunto de boas práticas associadas à descrição de casos de uso. Para isso, será discutido neste primeiro artigo o contexto no qual os casos de uso serão especificados. Será considerado um módulo de solicitações de um sistema de informação gerencial.

Inicialmente será contextualizada a importância dos requisitos em um processo de desenvolvimento de software em conjunto com uma introdução à área de engenharia de requisitos. Em seguida, será realizada uma descrição do estudo de caso que será considerado. Esta descrição do cenário envolverá a definição dos requisitos funcionais que representam o escopo do projeto de software e também o diagrama de casos de uso elaborado a partir destes requisitos. Ao final, teremos o conjunto de definições (requisitos funcionais e casos de uso) para darmos o próximo passo no desenvolvimento do projeto: a especificação de cada um dos casos de uso identificados.


Em que situação o tema é útil:
Conhecer boas práticas para a especificação de requisitos é essencial para profissionais envolvidos com o desenvolvimento de projetos de software. Ter uma especificação bem elaborada é fundamental para o sucesso do projeto.

A identificação dos requisitos se refere a um conjunto de tarefas desempenhadas pela equipe de analistas de requisitos em conjunto com os futuros usuários do sistema para definir quais necessidades da organização deverão estar presentes na solução de software desenvolvida. Assim, na elicitação de requisitos, a equipe de desenvolvimento trabalha com o cliente e usuários finais para descobrir informações sobre o domínio, funcionalidades e restrições do sistema. Estas atividades normalmente envolvem o uso de métodos como:

  • Entrevistas: técnica de levantamento de requisitos mais utilizada e baseada em conversas entre usuários e analistas de requisitos;
  • Observação: método no qual o analista de requisitos se insere no ambiente organizacional do cliente para observar como funcionam os processos de negócios que serão automatizados pelo software;
  • Workshop de requisitos: neste técnica, uma reunião para apresentação dos requisitos identificados é realizada. Durante esta reunião ajustes podem ser solicitados e novos requisitos também podem ser identificados;
  • Prototipação: abordagem utilizada para diminuir riscos no desenvolvimento de projetos de software. Quando utilizada para apoiar a identificação dos requisitos, protótipos ajudam os usuários a passarem suas reais necessidades e se sentirem mais seguros sobre o entendimento dos requisitos por parte dos analistas.

De uma forma geral, e independente do método utilizado, a identificação considera algumas atividades como:

  • compreensão do domínio: onde o analista de requisitos compreende o assunto ou área de conhecimento envolvida no projeto para poder direcionar melhor suas atividades no projeto;
  • coleta de requisitos através da interação com os stakeholders: uso efetivo de métodos de elicitação para identificar os requisitos;
  • classificação em grupos estruturados: organização dos requisitos identificados em grupos estruturados que permitam um melhor planejamento sobre as atividades futuras de identificação e descrição dos requisitos;
  • resolução de conflitos advindos das diferentes visões dos stakeholders: é comum que indivíduos diferentes tenham visões diferentes para uma mesma funcionalidade. Faz parte das atribuições do analista de requisitos identificar a maneira que mais se adéqua às necessidades da organização e obter consenso entre os usuários;
  • definição de prioridades: uma vez identificados os requisitos, é importante priorizá-los de forma que o esforço das atividades sejam melhor direcionados e alinhados à necessidade do cliente;
  • ...
    Quer ler esse conteúdo completo? Tenha acesso completo