Existem várias formas de analisar e documentar requisitos para um projeto. Podemos usar desde brainstormings como ferramenta de apoio, até diagramas de caso de uso. O importante é entender que nunca utilizamos apenas uma ferramenta, utilizamos várias ferramentas ao mesmo tempo, pois cada uma delas vai nos proporcionar uma visão diferente do produto final.
É claro que não podemos falar em requisitos sem mostrar a imagem mais famosa sobre o assunto. Essa imagem representa uma realidade entre o universo de desenvolvimento de sistemas e de projetos: a grande dificuldade em analisar e entender os requisitos. Por isso a utilização dessas ferramentas é tão importante. Sem elas, não conseguiríamos ter uma visão tão clara das necessidades do cliente.
Geralmente usamos alguns dos diagramas da UML para ter uma visão mais detalhada do sistema. A UML (Unified Modeling Language, ou Linguagem de Modelagem Unificada) é uma linguagem de notação, ou seja, ela proporciona uma forma muito específica de escrever, comunicar e ilustrar, que vão trazer visões diferentes do sistema baseadas nos requisitos que são levantados durante as etapas iniciais, principalmente.
É classificada como uma linguagem, pois possui símbolos e processos específicos que são utilizados para expressar determinados elementos do sistema. Existem dois tipos de diagramas dentro da UML: os diagramas estruturais e os comportamentais.
Os diagramas estruturais representam toda parte estática do sistema como: classes, métodos, interfaces, componentes, serviços, arquitetura do sistema, entre outros.
Os diagramas comportamentais representam a parte dinâmica, que é composta pela interação entre elementos ou o fluxo de ações que podem ser feitas dentro do sistema, troca de dados e de mensagens entre serviços e componentes, entre outros.
A UML conta com 21 diagramas diferentes, como: Diagrama de casos de uso, de classes, de atividades, de sequencia, entre outros. A utilização desses diagramas dentro do projeto vão ajudar a manter uma padronização de comunicação entre a equipe, não só na etapa de desenvolvimento, mas na documentação dele.
Outra ferramenta que podemos utilizar, é a User Story, como foi citado nas aulas anteriores, que podem ajudar a entender aquilo que o cliente precisa.