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 Funcional | Descrição | Teste | Critério de aceitação |
---|---|---|---|
RNF01 | 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 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. |
RNF02 | 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á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. |
RNF03 | O 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. |
RNF04 | O 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. |
RNF05 | A interface deve ser intuitiva e de fácil utilização. | Aplicação do teste SUS (System Usability Scale) com no mínimo 5 usuários | No 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.