Requisitos de Software
Introdução
Requisitos de software são as especificações que definem o que um sistema deve fazer (requisitos funcionais) e como ele deve se comportar (requisitos não funcionais). Eles são fundamentais para orientar o desenvolvimento, garantindo que o produto final atenda às necessidades dos usuários e stakeholders. A engenharia de requisitos envolve atividades como elicitação, análise, documentação e gestão de requisitos ao longo do ciclo de vida do projeto.
A gestão eficaz dos requisitos é essencial para o sucesso do projeto, incluindo a identificação e resolução de ambiguidades, conflitos e mudanças. Além disso, a comunicação clara entre todos os envolvidos é crucial para traduzir as necessidades dos usuários em requisitos claros e viáveis.
Tendo em vista a execução previa do projeto, foi possível realizar um refinamento nos requisitos de software, a fim de torná-los mais claros e completos. Abaixo estão listados os requisitos funcionais e não funcionais, com suas respectivas descrições detalhadas.
Requisitos Funcionais
ID | Requisito | Detalhamento |
---|---|---|
RFSO01 | O sistema deve permitir que os usuários realizem operações CRUD em kits | As operações devem incluir cadastro, edição, listagem e exclusão. O cadastro e edição devem conter nome, lista de componentes associados e um anexo do kit. A listagem deve exibir os componentes com nome e anexo, além da opção de produzir. A exclusão deve remover o registro da base. |
RFSO02 | O sistema deve permitir que os usuários realizem operações CRUD em usuários | As operações devem incluir cadastro, edição, listagem e exclusão. O cadastro e edição devem conter nome, e-mail, senha e papel (administrador/operador). A exclusão deve remover o registro da base. |
RFSO03 | O sistema deve permitir que os usuários realizem operações CRUD em componentes | As operações devem incluir cadastro, edição, listagem e exclusão. O cadastro e edição devem conter nome, descrição, quantidade mínima em estoque e tipo. A exclusão deve remover o registro da base. |
RFSO04 | O sistema deve ser capaz de reconhecer as imagens dos elementos dos kits | O reconhecimento de imagens deve utilizar o modelo YOLO v8 para identificar componentes. |
RFSO05 | O sistema deve ser capaz de comparar os dados da balança e das imagens dos componentes do kit | A comparação deve validar a quantidade e o tipo de componente com base nos dados da balança e das imagens. |
RFSO06 | O sistema deve ser capaz de realizar controle de estoque | Armazenar a quantidade de cada componente disponível no estoque, atualizando automaticamente após a montagem. |
RFSO07 | O sistema deve ser capaz de informar quantos e quais componentes ao concluir a montagem do kit | O sistema deve gerar um relatório detalhado dos componentes utilizados e seu status após a montagem. |
RFSO08 | O sistema deve permitir que os usuários selecionem kits para produção | A seleção deve incluir a verificação da disponibilidade de componentes no estoque. |
RFSO09 | O sistema deve permitir que os usuários se autentiquem no sistema com seu devido papel | A autenticação deve ser feita via login e senha, com restrições de acesso baseadas no papel do usuário. |
RFSO10 | O sistema deve permitir a configuração de permissões de acesso por papel | As permissões devem ser configuráveis para cada funcionalidade do sistema, com base no papel do usuário. |
Requisitos Não Funcionais
ID | Requisito | Detalhamento |
---|---|---|
RNFSO01 | Os usuários do sistema serão separados por administrador e operador | O administrador terá acesso total ao sistema, enquanto o operador terá acesso restrito a funcionalidades específicas. |
RNFSO02 | A detecção e reconhecimento de componentes devem ocorrer em tempo real | O tempo de resposta para reconhecimento de imagens deve ser inferior a 2 segundos. |
RNFSO03 | O sistema deve ser capaz de lidar com múltiplas solicitações de CRUD simultaneamente | O sistema deve suportar pelo menos 10 requisições simultâneas sem degradação de desempenho. |
RNFSO04 | O sistema deve suportar a adição de novos tipos de componentes sem interromper operações | |
RNFSO05 | O sistema deve ser robusto o suficiente para lidar com possíveis falhas de hardware | O sistema deve ser capaz de se recuperar automaticamente de falhas de hardware em até 5 minutos. |
RNFSO06 | A interface do usuário deve ser intuitiva e fácil de usar | A interface deve seguir princípios de UX/UI, com navegação simplificada e feedback visual claro. |
RNFSO07 | Mensagens de erro devem ser claras e informativas | As mensagens devem incluir código de erro, descrição e sugestões para resolução. |
RNFSO08 | Deve ser implementado um sistema de registro de logs abrangente | Os logs devem incluir informações como data, hora, usuário, ação realizada e status (sucesso/erro). |
RNFSO09 | O backend será desenvolvido em Python/Django | O uso de Django deve garantir modularidade, segurança e escalabilidade. |
RNFSO10 | O frontend será desenvolvido em TypeScript/React | O uso de React deve garantir uma interface dinâmica e responsiva. |
RNFSO11 | O sistema deve ser uma aplicação web acessível via navegadores padrão | A aplicação deve ser compatível com Chrome, Firefox, Edge e Safari. |
RNFSO12 | O banco de dados será desenvolvido em SQlite, alternativa default do Django | O banco de dados deve ser normalizado |
Refinamento sobre requisitos funcionais e não funcionais:
Requisitos Funcionais
ID | Requisito | Detalhamento |
---|---|---|
RFSO01 | O sistema deve permitir que os usuários cadastrem kits | O cadastro de kits deve incluir nome, lista de componentes associados, e um anexo do kit, alem do status (ativo, inativo) |
RFSO04 | O sistema deve permitir que os usuários excluam os kits | Ao inves de excluir o registro a exclusão deve ser lógica (marcação como inativo) |
RFSO08 | O sistema deve permitir que usuários sejam excluídos | Ao inves de excluir o registro a exclusão deve ser lógica (marcação como inativo) |
RFSO12 | O sistema deve permitir que os usuários excluam os componentes | Ao inves de excluir o registro a exclusão deve ser lógica (marcação como inativo) |
RFSO15 | O sistema deve ser capaz de realizar controle de estoque | O controle de estoque deve incluir alertas de reposição quando a quantidade mínima for atingida. |
RFSO20 | O sistema deve gerar relatórios de produção e estoque | Os relatórios devem ser exportáveis em formatos como PDF e CSV |
Requisitos Não Funcionais
ID | Requisito | Detalhamento |
---|---|---|
RNFSO13 | O sistema deve garantir a segurança dos dados | Os dados devem ser criptografados, com controle de acesso baseado em permissões e autenticação de dois fatores. |
RNFSO14 | O sistema deve ser escalável para suportar crescimento futuro | A arquitetura deve permitir a adição de novos servidores e balanceamento de carga. |
RNFSO15 | O tempo de resposta médio do sistema deve ser inferior a 500ms | O desempenho deve ser monitorado e otimizado continuamente. |
RNFSO16 | O sistema deve ser compatível com dispositivos móveis | A interface deve ser responsiva e adaptável a diferentes tamanhos de tela, incluindo smartphones (mínimo 360x640px), tablets (mínimo 768x1024px) e desktops (mínimo 1366x768px). |
RNFSO17 | O sistema deve contar com uma pipeline de test, build e deploy | A pipeline deve incluir testes automatizados, integração contínua e entrega contínua. Garantindo confiabilidade. |