Ao final da aula o aluno deverá ser capaz de:
Requisitos de software são descrições das funcionalidades e restrições que um sistema deve possuir.
Eles representam as necessidades do cliente e dos usuários.
Em outras palavras:
Requisitos descrevem o que o sistema deve fazer e como deve funcionar.
Antes de construir uma casa é necessário definir:
Essas definições são os requisitos da casa.
No desenvolvimento de software acontece exatamente a mesma coisa.
Sistema: Sistema de Biblioteca
Alguns requisitos podem ser:
Essas funcionalidades representam necessidades do sistema.
A análise de requisitos é uma das etapas mais críticas do desenvolvimento de software.
Grande parte dos problemas em sistemas acontece devido a requisitos mal definidos.
Problemas comuns:
Cliente pede:
"Quero um sistema simples de vendas."
Após o sistema pronto o cliente diz:
Isso acontece quando os requisitos não são bem coletados no início.
A engenharia de requisitos é o processo responsável por descobrir, analisar e documentar as necessidades do sistema.
Esse processo envolve várias etapas.
Cada etapa ajuda a garantir que o sistema atenda às necessidades do usuário.
Usuários / Stakeholders ↓ Coleta de requisitos ↓ Análise dos requisitos ↓ Documentação ↓ Validação com o cliente
A coleta de requisitos consiste em identificar as necessidades dos usuários e do negócio.
Essa atividade envolve conversar com pessoas que irão utilizar ou gerenciar o sistema.
Essas pessoas são chamadas de Stakeholders.
Stakeholders são todas as pessoas interessadas ou afetadas pelo sistema.
Exemplos:
Todos podem contribuir com informações importantes.
Existem diversas técnicas utilizadas para levantar requisitos.
As mais comuns são:
Cada técnica possui vantagens dependendo do contexto.
A entrevista é uma das técnicas mais utilizadas.
Consiste em conversar diretamente com usuários ou especialistas do negócio.
O objetivo é entender:
Possui perguntas previamente definidas.
Exemplo:
Mais flexível e exploratória.
O entrevistador conduz a conversa de forma mais livre.
Exemplo de pergunta:
"Como funciona o processo atual da empresa?"
Essa abordagem ajuda a descobrir informações que o cliente nem sabia que precisava explicar.
Questionários são formulários enviados aos usuários.
Eles são úteis quando:
Sistema Acadêmico
Essas respostas ajudam a identificar melhorias.
A técnica de observação consiste em acompanhar como os usuários trabalham no ambiente real.
Isso é importante porque muitas vezes:
os usuários não conseguem explicar exatamente o que fazem.
Mas é possível entender observando o processo.
Sistema para Restaurante
Fluxo observado:
A observação ajuda a entender o fluxo real do negócio.
Workshops são reuniões com vários stakeholders ao mesmo tempo.
Objetivos:
São muito utilizados em projetos maiores.
Prototipação consiste em criar uma versão inicial do sistema.
Pode ser:
O objetivo é permitir que o usuário visualize o sistema antes de ser desenvolvido.
Tela de Login
Sistema de Biblioteca Usuário: [________] Senha: [________] [ Entrar ]
Isso ajuda o cliente a validar se a interface atende às expectativas.
Requisitos funcionais descrevem o que o sistema deve fazer.
Eles representam as funcionalidades do sistema.
Normalmente começam com:
"O sistema deve..."
Sistema de Locadora de Filmes
RF01 – Cadastro de Cliente
Descrição:
O sistema deve permitir o cadastro de clientes contendo:
Requisitos não funcionais descrevem como o sistema deve funcionar.
Eles representam características de qualidade do sistema.
Alguns tipos comuns:
Sistema Bancário
Sistema: Sistema de Restaurante
RF01 – Cadastrar clientes RF02 – Registrar pedidos RF03 – Calcular valor da conta RF04 – Gerar relatório de vendas
RNF01 – Sistema deve responder em até 3 segundos
RNF02 – Sistema deve funcionar em tablet e computador
RNF03 – Sistema deve possuir backup automático diário
Após a coleta, os requisitos precisam ser organizados em um documento.
Esse documento é chamado de:
Documento de Requisitos de Software (DRS)
Ele serve como base para o desenvolvimento do sistema.
Normalmente inclui:
Alguns erros frequentes:
Algumas boas práticas:
Imagine que você irá desenvolver um Sistema de Academia.
Parte 1
Liste 5 requisitos funcionais
Parte 2
Liste 3 requisitos não funcionais
A análise e coleta de requisitos é essencial para o sucesso de um projeto de software.
Ela permite:
Um software bem desenvolvido começa com requisitos bem definidos.