Empresa XXX
Rua, 123
Cidade, Estado, 00000-000
(55) 000-0000
SRS - Projeto XXX
dia de mês no ano de XXXX
INTRODUÇÃO 3
Objetivo 3
Escopo 3
Definições, Acrônimos e Abreviações 3
Referências 4
Visão Geral 4
DESCRIÇÃO GERAL 2
Perspectiva do Produto 2
Funções do Produto 2
Usuários e Stakeholders 2
Restrições do Sistema 2
Dependências e Assunções 2
REQUISITOS ESPECÍFICOS 2
Requisitos Funcionais 2
Requisitos Não Funcionais 2
INTERFACES DO SISTEMA 2
Interface do Usuário 2
Interfaces de Hardware 3
Interfaces de Software 3
Interfaces de Comunicação 3
REQUISITOS DE PERFORMANCE 2
RESTRIÇÕES E PREMISSAS 2
CRITÉRIOS DE ACEITAÇÃO 2
RISCOS DO PROJETO 2
ANEXOS E REFERÊNCIAS 2
2
INTRODUÇÃO
Objetivo
Explica o propósito do sistema e do documento. Deve descrever por que o sistema será
desenvolvido e quais problemas ele resolverá.
Exemplo:
● O objetivo deste documento é detalhar os requisitos do sistema "X", que será
desenvolvido para otimizar a gestão de tarefas em empresas.
Escopo
Define o que está incluído e o que não está no sistema. Deve apresentar as principais
funcionalidades e limitações do projeto.
Exemplo:
● O sistema permitirá o cadastro, edição e exclusão de tarefas, além do gerenciamento de
usuários. Funcionalidades como integração com outros sistemas não estão incluídas
nesta versão.
Definições, Acrônimos e Abreviações
Lista termos técnicos e siglas utilizados no documento, com suas explicações para evitar
ambiguidades.
Exemplo:
● API – Interface de Programação de Aplicações.
● CRUD – Create, Read, Update, Delete (operações básicas de banco de dados).
● JWT – JSON Web Token, usado para autenticação segura.
3
Referências
Lista documentos, normas e padrões utilizados como base para o desenvolvimento do projeto.
Exemplo:
● IEEE 830 – Padrão para especificação de requisitos de software.
● ISO 25010 – Padrão para qualidade de software.
● Documentação oficial do framework Laravel.
Visão Geral
Explica como o documento está organizado e o que cada seção aborda, dando um resumo do
conteúdo.
Exemplo:
● Este documento está estruturado em seções que detalham os requisitos funcionais e não
funcionais, as interfaces do sistema, os critérios de aceitação e outras informações
essenciais para o desenvolvimento do projeto.
DESCRIÇÃO GERAL
Perspectiva do Produto
Descreve como o sistema se encaixa no ambiente em que será utilizado. Deve mencionar se o
produto é um novo sistema, uma evolução de outro ou parte de um sistema maior.
Exemplo:
● O sistema será um aplicativo web para gestão de tarefas, integrado ao ERP da empresa,
permitindo a organização e acompanhamento das atividades diárias dos funcionários.
Funções do Produto
Lista as principais funcionalidades que o sistema oferecerá, explicando o que ele faz.
4
Exemplo:
● Criar, editar e excluir tarefas.
● Atribuir tarefas a usuários específicos.
● Gerar relatórios de produtividade.
● Notificar os usuários sobre prazos de tarefas pendentes.
Usuários e Stakeholders
Identifica quem usará o sistema (usuários finais) e quem tem interesse no projeto
(stakeholders).
Exemplo:
● Usuários Finais: Funcionários que usarão o sistema para gerenciar suas tarefas.
● Stakeholders:
○ Gerentes (acompanhamento das tarefas da equipe).
○ Equipe de TI (responsável pela manutenção do sistema).
○ Diretores (interessados nos relatórios gerados pelo sistema).
Restrições do Sistema
Define limitações técnicas, legais ou de negócio que devem ser consideradas.
Exemplo:
● O sistema deve rodar apenas em navegadores modernos (Chrome, Firefox, Edge).
● Apenas usuários autenticados podem acessar o sistema.
● O tempo de resposta das requisições não deve ultrapassar 2 segundos.
● O banco de dados deve seguir as normas da LGPD para proteção de dados.
Dependências e Assunções
Lista fatores externos necessários para o sistema funcionar corretamente e pressuposições
feitas no projeto.
Exemplo:
5
● Dependências:
○ O sistema precisará de um banco de dados MySQL.
○ O servidor deverá rodar PHP 8.0 ou superior.
○ O sistema dependerá de uma API externa para envio de notificações.
● Assunções:
○ Os usuários terão acesso à internet para utilizar o sistema.
○ Todos os funcionários receberão treinamento antes de utilizar o sistema.
REQUISITOS ESPECÍFICOS
Requisitos Funcionais
São as funcionalidades e comportamentos específicos do sistema, ou seja, o que ele deve
fazer. OBS: pode-ser dividir em módulos, como: usuários, login, produtos…
Exemplo:
● O sistema deve permitir o cadastro de usuários com nome, e-mail e senha.
● O usuário deve conseguir criar, editar e excluir tarefas.
● O sistema deve enviar notificações por e-mail quando uma tarefa estiver perto do prazo.
● Deve ser possível filtrar tarefas por status (pendente, em andamento, concluída).
➡️ Dica: Normalmente, são escritos como "O sistema deve permitir..." ou "O usuário deve
conseguir...".
Requisitos Não Funcionais
São requisitos que definem qualidade, desempenho, segurança e restrições do sistema, mas
não descrevem funcionalidades diretas.
Exemplo:
● O sistema deve responder em no máximo 2 segundos para qualquer requisição.
● A autenticação deve ser feita via JWT para segurança dos usuários.
● O banco de dados deve armazenar senhas de forma criptografada.
● O sistema deve suportar até 1000 usuários simultâneos sem perda de desempenho
6
● A interface deve seguir o padrão de acessibilidade WCAG 2.1.
➡️ Dica: Se responde à pergunta "como o sistema deve ser?", é um requisito não funcional.
INTERFACES DO SISTEMA
Interface do Usuário
Descreve como o usuário interage com o sistema, incluindo telas, botões, menus e fluxos de
navegação.
O que deve conter?
● Esboços das telas (Wireframes ou Mockups).
● Descrição de cada elemento da interface.
● Padrões de design adotados (exemplo: Material Design, Bootstrap).
● Requisitos de acessibilidade.
Exemplo:
● O sistema terá uma interface responsiva para desktop e mobile.
● O usuário acessará a tela de Login, depois será redirecionado para o Painel de Controle.
● O menu lateral terá opções para Tarefas, Usuários e Relatórios.
● Ícones intuitivos serão utilizados para facilitar a navegação.
Interfaces de Hardware
Define quais dispositivos de hardware serão necessários para o funcionamento do sistema.
O que deve conter?
● Requisitos mínimos e recomendados.
● Compatibilidade com dispositivos (PC, mobile, impressoras, sensores, etc.).
Exemplo:
7
● O sistema será acessado via computadores desktop e dispositivos móveis (tablets e
smartphones).
Será compatível com impressoras térmicas para geração de recibos.
● O sistema poderá se integrar a leitores de código de barras para inserção rápida de
dados.
Interfaces de Software
Especifica quais outros sistemas ou APIs o software irá interagir.
O que deve conter?
● APIs utilizadas e formato dos dados (JSON, XML, etc.).
● Bancos de dados suportados.
● Sistemas externos integrados.
Exemplo:
● O sistema se comunicará com a API do [Link] para processar pagamentos.
● Os dados serão armazenados em um banco MySQL.
● A autenticação será feita via OAuth 2.0 com login do Google e Facebook.
● O sistema exportará relatórios para Excel e PDF.
Interfaces de Comunicação
Define como o sistema se comunica com outros sistemas ou dispositivos.
O que deve conter?
● Protocolos utilizados (HTTP, WebSockets, MQTT).
● Formatos de dados (JSON, XML).
● Métodos de segurança aplicados.
Exemplo:
● A comunicação entre frontend e backend será feita via REST API usando JSON.
● O sistema usará WebSockets para notificações em tempo real.
8
● A comunicação entre servidores será criptografada com TLS 1.2.
● Para segurança, todas as requisições precisarão de um Token JWT.
REQUISITOS DE PERFORMANCE
Os requisitos de performance definem o tempo de resposta, a capacidade de processamento, a
escalabilidade e o consumo de recursos do sistema.
O que deve conter?
● Tempo de resposta: Quanto tempo o sistema deve levar para processar ações.
● Capacidade de usuários simultâneos: Quantos usuários o sistema deve suportar ao
mesmo tempo.
● Uso de recursos: Limitações de consumo de CPU, memória e largura de banda.
● Escalabilidade: Como o sistema pode crescer sem perder desempenho.
Exemplo de Requisitos de Performance:
✅ Tempo de resposta: O sistema deve carregar cada página em até 2 segundos.
✅ Processamento de dados: Consultas ao banco de dados devem ser realizadas em menos de
500ms.
✅ Usuários simultâneos: O sistema deve suportar até 500 usuários ativos simultaneamente
sem degradação de desempenho.
✅ Escalabilidade: O sistema deve ser capaz de escalar horizontalmente, adicionando mais
servidores conforme necessário.
✅ Consumo de recursos: O sistema não deve usar mais que 50% da CPU e 70% da RAM do
servidor em condições normais.
➡️ Dica: Testes de carga e stress podem ser feitos com ferramentas como JMeter, Locust ou k6
para garantir que os requisitos de performance sejam atendidos.
9
RESTRIÇÕES E PREMISSAS
● Restrições: São limitações que o projeto deve seguir, como prazos, tecnologias,
orçamento, requisitos legais, etc.
● Premissas: São suposições feitas no início do projeto e que, se não forem verdadeiras,
podem impactar o desenvolvimento.
Exemplo:
✅ Restrições:
● O sistema deve ser desenvolvido usando PHP e CodeIgniter 3.
● O prazo para entrega da primeira versão é de 6 meses.
● O banco de dados deve ser MySQL.
✅ Premissas:
● O cliente fornecerá os requisitos detalhados antes do início do desenvolvimento.
● Os servidores da empresa terão capacidade suficiente para rodar o sistema.
CRITÉRIOS DE ACEITAÇÃO
Define os requisitos mínimos para que o sistema seja aceito pelo cliente ou pela equipe de
qualidade.
Exemplo:
● O sistema deve permitir o cadastro, edição e exclusão de usuários sem erros.
● Todos os relatórios devem ser exportáveis em PDF e Excel.
● O tempo de resposta das páginas não pode ultrapassar 2 segundos.
● O sistema deve ser testado e validado pelo cliente antes do lançamento.
10
RISCOS DO PROJETO
Lista os possíveis problemas que podem ocorrer durante o desenvolvimento e suas estratégias
de mitigação.
Exemplo:
✅ Risco: Mudança nos requisitos do cliente.
➡ Solução: Fazer reuniões semanais para alinhar expectativas.
✅ Risco: Atraso na entrega devido a problemas técnicos.
➡ Solução: Criar um plano de contingência e definir milestones realistas.
✅ Risco: Falha na segurança do sistema.
➡ Solução: Implementar boas práticas de segurança e realizar testes frequentes.
ANEXOS E REFERÊNCIAS
● Anexos: Documentos complementares, como diagramas, wireframes e tabelas.
● Referências: Normas técnicas, artigos, documentos e materiais usados no
desenvolvimento do projeto.
Exemplo:
● Anexos:
○ Diagrama de classes do sistema.
○ Esboço das telas (wireframes).
○ Planilha com a lista de requisitos.
● Referências:
○ IEEE 830-1998 – Padrão para documentação de requisitos de software.
○ Documentação oficial do CodeIgniter 3.
○ Guia de boas práticas de segurança da OWASP.
11