requisitos-nao-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 automatizada, os requisitos não funcionais foram pensados à luz do hardware 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.
Requisito Não Funcional | Descrição | Teste | Critério de aceitação |
---|---|---|---|
RNF01 | O sistema deve garantir que os dados de status do funcionamento e as imagens coletadas pelo robô sejam transmitidos para o backend através do ROS (Robot Operating System). O intervalo entre cada envio de dados deve ser estritamente de 5 minutos, com uma tolerância de ±1 minuto. | Durante um período de 15 minutos, monitore os intervalos entre cada transmissão de dados e anote o tempo exato de cada transmissão. Em seguida, calcule o intervalo real entre cada transmissão, subtraindo o tempo de transmissão atual do tempo de transmissão anterior. Por fim, verifique se o intervalo real entre cada transmissão de dados está na faixa especificada de 4 a 6 minutos. | 1. Os dados de temperatura devem ser enviados do robô para o backend através do ROS em intervalos regulares de 5 minutos. 2. A tolerância para o intervalo entre os envios de dados é de ±1 minuto, o que significa que o intervalo real pode variar entre 4 e 6 minutos. |
RNF02 | O 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 95%. 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. |
RNF03 | O robô deve ser capaz de posicionar com precisão abaixo do tubo para que a câmera esteja alinhada em relação ao centro do tubo. Isso é crucial para garantir uma inspeção eficaz e precisa da superfície interna do tubo. | 1. O sistema de vistoria dos tubos é acionado e o robô se posiciona abaixo do tubo alvo. Além disso, a câmera deve apontar para o interior do alvo. A distância radial entre a câmera e o centro do tubo é medida e comparada com a distância esperada. 2. Durante a vistoria de limpeza, o robô é deliberadamente desviado de sua posição correta, e o sistema de controle do robô é avaliado em sua capacidade de corrigir o posicionamento da câmera para dentro do limite permitido. | 1. O robô deve se posicionar abaixo do tubo para que a câmera esteja posicionada a no máximo 0.5cm de distância em relação ao centro do tubo. O sistema de posicionamento do robô deve ser capaz de fornecer feedback preciso sobre a posição real do robô durante o processo de inspeção, através das medições dos sensores extras. 2. O sistema de controle do robô deve ser capaz de perceber caso haja diferenças no posicionamento acima do limite tolerável e se ajustar para garantir a melhor imagem do interior do tubo. |
RNF04 | O 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ínimo 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 backend onde será realizado o processamento das imagens para verificar a periodicidade das informações, calculando o tempo entre o recebemento 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. |
RNF05 | O robô deve apresentar uma precisão mínima na identificação de reboilers que necessitam de limpeza. Isso é crucial 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, algumas limpas e outras intencionalmente sujas 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 95% na identificação correta de reboilers que necessitam de limpeza |
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.