Skip to main content

Requisitos não funcionais

Requisitos Não Funcionais

Segundo Sheila Reinehr (2020, p. 35) [1], "os requisitos de qualidade se referem a como o software vai operar sob determinadas circunstâncias e, geralmente, estão relacionados a questões como desempenho, disponibilidade, usabilidade, portabilidade, escalabilidade etc. Eles também são chamados de requisitos não funcionais". Para o caso do projeto de inspeção de reboilers, os requisitos não funcionais foram pensados em relação ao robô que será empregado na solução, bem como do software que será executado e das regras de negócio implementadas.

Esses requisitos são tão importantes quanto os requisitos funcionais, pois garantem que o sistema não apenas funcione corretamente, mas também atenda às expectativas e necessidades dos usuários em desempenho, usabilidade etc. Abaixo, os requisitos não funcionais estão descritos com auxílio de testes e critérios de aceitação, que ajudam a validar o requisito e a identificar falhas na solução.

Revisão e atualização dos requisitos

Durante a primeira sprint, foram mapeados os requisitos não funcionais a fim de metrificar e avaliar a qualidade do sistema. Porém, ao longo das sprints, o entendimento sobre o projeto mudou juntamente com o rumo do desenvolvimento. Dessa forma, os requisitos não funcionais foram revisitados e percebeu-se a necessidade de atualizá-los. As mudanças mais substanciais foram referentes à movimentação do robô e aos casos de uso. Assim, a forma de controle é a teleoperação em vez da navegação automática, sendo o robô controlado por um operador orientado pelas imagens da câmera. Dessa forma, os requisitos relacionados à transmissão de imagem, precisão de movimentação e análise dos tubos também foram alterados, de forma que a transmissão da câmera deve ocorrer em tempo real e não intermitentemente. Além disso, os requisitos de precisão deixaram de ser sobre a movimentação autônoma do robô e passaram a ser sobre a capacidade do teleoperador de posicionar o robô abaixo do tubo. Por fim, outras questões analisadas que não foram consideradas inicialmente foram as características de performance, como o tempo de duração da bateria, capacidade de processamento da visão computacional e a usabilidade, como facilidade do usuário em navegar pela plataforma. A seguir encontra-se a tabela de requisitos não funcionais atualizada.

Requisito Não FuncionalDescriçãoTesteCritério de aceitação
RNF01O sistema do robô teleoperado deve ser capaz de integrar-se de forma eficiente e interoperável com outros sistemas, permitindo a troca de dados e comandos de maneira transparente e sem problemas.Serão realizadas solicitações de integração por meio da API do sistema do robô teleoperado, simulando diferentes cenários de uso e tipos de dados. Será monitorada a resposta da API, registrando o tempo de resposta e a taxa de sucesso de cada solicitação.O teste será considerado bem-sucedido se o tempo médio de resposta da API for inferior a 100 milissegundos e a taxa de sucesso das integrações for superior a 90%. Além disso, a documentação da interface de integração deve ser completa e precisa, facilitando a integração por parte dos desenvolvedores externos.
RNF02O robô deve ser capaz de estabelecer uma conexão de alta taxa de transferência com o sistema de armazenamento e processamento das imagens,enviando as imagens tiradas pela câmera no máximo a cada 100 milissegundos, com uma tolerância ±50 milissegundos, garantindo uma entrega rápida das informações para análise (entre 50 e 150 milissegundos).Verificar o recebimento de informações no frontend, passando pelo backend calculando o tempo entre o recebimento de uma mensagem e outra.A periodicidade de envio das imagens capturadas deve ser em intervalos regulares de 100 milissegundos, podendo variar entre 50 e 150, considerando a tolerência de ±50 milissegundos.
RNF03O robô deve apresentar uma precisão mínima na identificação de reboilers que necessitam de limpeza. Isso é essencial para garantir que todos os reboilers sujos sejam devidamente identificados e limpos.Preparar um ambiente controlado que simula as condições dos reboilers após a limpeza, incluindo variados níveis de acumulação de resíduos; preparar um conjunto de reboilers com diferentes condições de limpeza, alguns limpos e outros intencionalmente sujos, com resíduos representativos dos encontrados na produção real; permitir que o robô inspecione cada reboiler e classifique se necessita ou não de limpeza; comparar as decisões do robô com as condições pré-estabelecidas para cada reboiler, consideradas como "verdadeiros" para fins de teste; calcular a precisão do robô dividindo o número de identificações corretas pelo número total de inspeções realizadas e analisar os casos de erro para entender as limitações do sistema de visão computacional e sugerir melhorias.O robô deve alcançar uma precisão superior ou igual a 80% na identificação correta de reboilers que necessitam de limpeza.
RNF04O robô deve ser capaz de se movimentar por um período mínimo de 1 hora sem recarga.O robô deve ser carregado completamente e deve ser monitorado o tempo de duração da bateria.O robô deve ser capaz de se movimentar por um período mínimo de 1 hora sem recarga.
RNF05A interface deve ser intuitiva e de fácil utilização.Aplicação do teste SUS (System Usability Scale) com no mínimo 5 usuáriosNo mínimo, 60% dos usuários devem atingir o score nível B (notas entre 70-80), e todos devem atingir no mínimo o score nivel C (notas entre 60-70).

Bibliografia

[1]: REINEHR, Sheila. Engenharia de requisitos. Grupo A, 2020. E-book. ISBN 9786556900674. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9786556900674/. Acesso em: 26 abr. 2024.