TCC 2º Etapa – Levantamento de requisitos.

Para esta etapa estarei falando um pouco sobre levantamento de requisitos.

Após termos passado a primeira etapa do projeto que foi conhecer a regra de negócios bem a fundo entramos nesta segunda etapa, assim como a primeira esta também é de extrema importância, porém esta tem um peso muito grande sobre o software.

2º Etapa – Levantamento de requisitos.

Se na faze de conhecimento da regra de negócio sonhamos com o sistema é nesta que começamos a construir aquilo com o que sonhamos, então muita calma para esta etapa, pois uma analise de requisitos mal feita trará problemas futuros, falhas, atraso na entrega entre muitas outras coisas que comprometem o projeto e com isso temos como consequência um sistema sem qualidade nenhuma e um cliente insatisfeito.

Requisitos estão resumidos em dois tipos que são funcionais e não funcionais. De certa forma eles são:

Requisitos funcionais: São requisitos que influenciam diretamente no software. Estes requisitos tem uma característica importante, pois são eles que agregam valor ao software ou facilitam a vida do usuário. Tendo meu trabalho como exemplo, na primeira fase propus para a empresa a criação de um pagina web para que seus clientes pudessem fazer seus pedidos. Por característica isso é um requisito funcional do software que estou desenvolvendo. Para deixar ainda mais clara à ideia, a empresa poderia ainda me pedir um relatório específico que comparasse as vendas entre os seus representantes comerciais, telefones e web. Isso seria mais um requisito funcional do meu sistema.

Requisitos não funcionais: Os requisitos funcionais são aqueles requisitos que geralmente estão mais ligados ao uso da aplicação, geralmente são estes requisitos que dão acesso aos requisitos funcionais. Dando continuidade ao exemplo do meu sistema, dei o exemplo de requisito funcional que é a pagina Web para os pedidos, agora um requisito não funcional para isto seria, para ter acesso a estes pedidos o cliente precisa estar cadastrado na empresa e possuir um login e senha.

Gosto bastante da ideia de dizer que, requisitos funcionais são aqueles que interessam ao cliente e não funcionais interessam ao programador. Porém não é uma maneira correta de se explicar isto. A maneira que julgo ser correta é que requisito funcional é o que precisa ter no nosso sistema e não funcional que é como nosso sistema vai funcionar.

Uma forma que acho legal de trabalhar nesta esta etapa é criando questionários intuitivos, como por exemplo, se pra cada funcionalidade do sistema você se fizer estas 3 perguntas simples.

  • Como se chamará funcionalidade? Exemplo de resposta: Cadastro de cliente
  • Quais dados preciso para criar este cadastro? Exemplo de resposta: Nome, documentos pessoais, endereço completo, etc.
  • Onde irei armazenar estes dados? Exemplo de resposta: Banco de dados, Arquivo de texto, etc.

Com este exemplo básico já teremos um grande número de informações que nos ajudaram a definir o que iremos fazer, o que precisamos para fazer e teremos até uma ideia de como fazer.

Logicamente que somente com estas perguntinhas básicas não se resolve o levantamento de requisitos, para isto o questionário seria um pouco maior e mais complexo, usei isto somente para exemplificar minha ideia e por que eu acho bastante interessante esta forma de trabalhar e se alguém achar interessante esta abordagem pode criar o seu próprio questionário.

Uma experiência legal que tive também foi no meu segundo ano dentro da universidade onde uma professora, Drª Daniela Eloise Flor apresentou o formulário que auxilia neste processo, particularmente no inicio eu não gostei da ideia e fiquei varias aulas tentado arrumar um motivo pra não fazer, mais após ter feito fui perceber que com este formulário fica fácil a compreensão do sistema de forma geral. Disponibilizei um exemplo que ela mesmo me envio, vale a pena conferir, a ideia é simples e genial pra cada funcionalidade do sistema você anota todas regras de negócio que regem aquela funcionalidade, os pré-requisitos para que esta funcionalidade seja executada, as ações que serão executadas e os pós requisitos que será o resultado de cada ação.

Como prometi deixar algo que acho interessante de exemplo estou disponibilizando o projeto arquitetural do sistema.

Aqui esta o link para o download dos arquivos de exemplo para modelo de requisitos que a prof. me enviou:

Modelo de Requisitos