A fase de modelagem de requisitos é, sem dúvida, uma das mais críticas no ciclo de vida do desenvolvimento de sistemas. É aqui que traduzimos as necessidades e expectativas dos usuários e das partes interessadas em uma descrição clara e compreensível do que o sistema deve fazer. Sem um entendimento sólido dos requisitos, qualquer esforço de design e implementação pode falhar.
👂 Entendendo os Requisitos (Funcionais e Não Funcionais)
Antes de modelar, precisamos saber o que buscar. Os requisitos são as condições ou capacidades que um sistema deve satisfazer, ou que uma parte interessada deve possuir. Eles são comumente divididos em duas categorias principais:
-
Requisitos Funcionais (RFs): Descrevem as funções que o sistema deve executar. Eles especificam "o que" o sistema fará em termos de comportamento.
- Exemplos:
- O sistema deve permitir que o usuário faça login.
- O sistema deve calcular o total de um pedido.
- O sistema deve enviar um e-mail de confirmação.
-
Requisitos Não Funcionais (RNFs): Descrevem as qualidades ou restrições sob as quais o sistema deve operar. Eles especificam "como" o sistema deve se comportar. São cruciais para a experiência do usuário e a performance do sistema.
- Exemplos:
- Performance: O sistema deve responder a solicitações de login em menos de 2 segundos.
- Segurança: O sistema deve criptografar senhas de usuários.
- Usabilidade: A interface do usuário deve ser intuitiva para usuários iniciantes.
- Escalabilidade: O sistema deve suportar 10.000 usuários simultâneos.
- Confiabilidade: O sistema deve ter 99.9% de disponibilidade.
<aside>
💡
É comum que os RNFs sejam negligenciados, mas eles são tão importantes quanto os RFs para o sucesso de um sistema!
</aside>
🗣️ Técnicas de Levantamento de Requisitos
Coletar requisitos é um processo colaborativo e iterativo. Diversas técnicas podem ser usadas:
- Entrevistas: Conversas diretas com as partes interessadas para entender suas necessidades e expectativas.
- Questionários: Formulários com perguntas estruturadas, úteis para coletar informações de um grande número de pessoas.
- Brainstorming: Sessões de grupo para gerar ideias e identificar requisitos de forma criativa.
- Observação: Analisar como as pessoas realizam suas tarefas atualmente para identificar processos e pontos problemáticos.
- Análise de Documentos: Revisar documentos existentes (manuais, relatórios, especificações de sistemas antigos) para extrair requisitos.
- Protótipos e Mockups: Criar versões simplificadas ou visuais da interface para obter feedback precoce.
📝 Diagrama de Casos de Uso
O Diagrama de Casos de Uso é uma ferramenta UML fundamental para a modelagem de requisitos funcionais. Ele fornece uma visão de alto nível das funcionalidades do sistema e como os usuários interagem com elas, ou seja, utilizada para descrever a funcionalidade do sistema sob a perspectiva do usuário. Ele foca no "o quê" o sistema deve fazer, sem detalhar "como" ele fará.
O que um Diagrama de Caso de Uso mostra?
- Interações entre um sistema e seu ambiente.
- Cenários simples que descrevem o que o usuário espera de um sistema
Conceitos e Notação:

- Ator (Actor): Representa uma entidade externa que interage com o sistema. Pode ser uma pessoa (com um papel específico), outro sistema ou até mesmo um dispositivo. Desenhado como um boneco palito.
- Exemplo:
Cliente, Administrador, Sistema de Pagamento.
- Caso de Uso (Use Case): Representa uma funcionalidade completa e significativa que o sistema oferece a um ator. É uma descrição de um conjunto de ações executadas pelo sistema para produzir um resultado observável de valor para um ator. Desenhado como uma elipse.
- Exemplo:
Fazer Login, Realizar Pedido, Gerenciar Estoque.
- Associação: Uma linha simples que conecta um ator a um caso de uso, indicando que o ator interage com essa funcionalidade.
- Fronteira do Sistema: Um retângulo que envolve os casos de uso, delimitando o escopo do sistema.
📺 Casos de Uso em Vídeo:
Roteiro para a Identificação de Atores e Casos de Uso:
- Quem usa o sistema? (Atores)
- O que o sistema faz para cada ator? (Casos de Uso principais)