0% acharam este documento útil (0 voto)
174 visualizações11 páginas

Modelo - Software Requirements Specification - SRS-1

O documento é um SRS (Software Requirements Specification) para o Projeto XXX, detalhando objetivos, escopo, definições e referências. Ele abrange a descrição geral do produto, requisitos funcionais e não funcionais, interfaces do sistema, critérios de aceitação e riscos do projeto. O SRS serve como base para o desenvolvimento do sistema de gestão de tarefas, incluindo suas funcionalidades e limitações.

Enviado por

Samuel Marques
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
174 visualizações11 páginas

Modelo - Software Requirements Specification - SRS-1

O documento é um SRS (Software Requirements Specification) para o Projeto XXX, detalhando objetivos, escopo, definições e referências. Ele abrange a descrição geral do produto, requisitos funcionais e não funcionais, interfaces do sistema, critérios de aceitação e riscos do projeto. O SRS serve como base para o desenvolvimento do sistema de gestão de tarefas, incluindo suas funcionalidades e limitações.

Enviado por

Samuel Marques
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

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

Você também pode gostar