NFR Framework
Introdução
O NFR Framework é uma abordagem utilizada para representar e analisar os Requisitos Não-Funcionais de um projeto. Ele tem como objetivo ajudar os desenvolvedores na implementação de soluções personalizadas, levando em consideração as características do domínio e do sistema em que está sendo analisado. Tais características incluem Requisitos Não-funcionais, Requisitos funcionais, prioridades e carga de trabalho [1].
Softgoal Interdependency Graph
O Softgoal Interdependency Graph é um gráfico que registra as considerações do desenvolvedor sobre os softgoals (um objetivo que não possui uma clara definição nem critérios de satisfação precisos) e mostra suas interdependências. Os SIGs armazenam um registro completo das decisões de desenvolvimento além da lógica do projeto de forma gráfica e concisa. O registro gráfico das decisões tomadas inclui Requisitos Não-funcionais bem como as suas alternativas, decisões e justificativas associadas às decisões [2].
Tipos de Softgoal
Como dito anteriormente, um softgoal é um objetivo que ainda não possui uma clara definição além de que os critérios de satisfação ainda não são precisos. Eles são classificados em tipos, existindo os softgoals de afirmação, de operacionalização e o NFR softgoal. Eles podem ser vistos na Figura 1.
Figura 1 - Tipos de Softgoal
Fonte: (SILVA, 2019)
Interdependências
As interdependências são definições para as associações que ocorrem entre os softgoals. Essas associações são divididas em decomposições (refinamentos) e contribuições.
Decomposições
Existem quatro tipos diferentes de decomposição: decomposição NFR, de Operacionalização, de Afirmação e de Priorização. Nas três primeiras decomposições, os softgoals são divididos em softgoals específicos. A Figura 2 representa esses quatro tipos de decomposição [3].
- Decomposição NFR: Refina ou subdivide um sofgoal NFR em outros softogals específicos, é util para quebrar problemas grandes em problemas menores [4];
- Decomposição de Operacionalização: Refinina ou subdivide um sofgoal de operacionalização em outros do mesmo tipo porém mais específicos, é útil para refinar uma solução geral em soluções mais específicas [4];
- Decomposição de Afirmação(Claims): Refina um sofgoal de afirmação em outros de afirmação, é útil para apoiar ou negar justificavas específicas do projeto que está sendo desenvolvido [4];
- Decomposição de Priorização: É um tipo especial de decomposição, nela ocorre o refinamento de um softgoal em outro do mesmo tipo e tópicos, porém com uma prioridade associada [4].
Figura 2 - Tipos de Decomposição
Fonte: (SILVA, 2019)
Contribuições
Ao longo de um projeto que faz o uso do NFR Framewok, os softgoals são refinados sucessivamente, e nesses refinamentos, um softgoal descendente pode contribuir de forma total ou parcial, além de poder ser algo positivo ou negativo, para a satisfação do ascendente. Assim, cabe destacar esses tipos de contribuição [5].
- AND: Com esse tipo de contribuição, é determinado que se os softgoals descendentes forem satisfeitos, os softgoals ascendentes também serão satisfeitos [6];
- OR: É o oposto da contribuição AND, na OR se algum softgoal descedente for satisfeito, o ascedente também será [6];
- MAKE(++): Fornece uma contribuição suficientemente positiva entre um sofgoal descedente e um outro softgoal ascendente que está concebido em um nível mais alto de satisfação, assim, quando a contribuição MAKE for utilizada, se o softgoal descendente for satisfeito, o softgoal pai também será [6];
- BREAK(--): É o oposto da contribuição MAKE, na BREAK, se o softgoal descendente for suficientemente satisfeito ou softogal pai será negado/não satisfeito [6];
- HELP(+): Fornece uma contribuição parcialmente positiva entre um softgoal descedente e seu softgoal ascendente, assim, ao utilizar a contribuição HELP, se o softgoal descedente for parcialmente satisfeito o softgoal ascendente também será parcialmente satisfeito [6];
- HURT(-): Fornece uma contribuição parcialmente negativa entre um softgoal descendente e seu softgoal ascedente, assim, quando a contribuição HURT é utilizada, se o softgoal descendente é satisfeito, o ascendente será parcialmente negado [6];
- UNKNOWN(?): Fornece uma contribuição desconhecida entre os softgoals, essa contribuição pode ser positiva ou negativa [6];
- EQUALS: Essa contribuição determina que um softgoal descendente só será satisfeito se o softgoal ascendente for satisfeito, e caso o softgoal ascendente não for satisfeito, o softgoal descendente também não será satisfeito [6];
- SOME: É utilizada quando o sinal da contribuição é conhecido, porém a sua extensão, parcial ou total, não é [6].
Procedimento de Avaliação
Com o procedimento de avaliação é possível gerar o grau que os requisitos não funcionais são satis- feitos por um conjunto de decisões. Assim, o procedimento de avaliação determina se cada softgoal ou interdependência do SIG foi suficientemente satisfeito. Para fazer isso, são atribuídos rótulos para os softgoals criados no projeto. Os tipos de rótulos utilizados são: satisfeito, fracamente satisfeito, negado, fracamente negado, conflitante, indeterminado [7] .
Esses rótulos estão ilustrados na Figura 3.
Figura 3 - Tipos de Rótulos
Fonte: (SILVA, 2019)
Metodologia
Tabela de Contribuições
Contribuinte | Descrição | Links |
---|---|---|
Gabriela | Criação dos cartões de especificação CNFR01 a CNFR06 | #CNFR01 · #CNFR02 · #CNFR03 · #CNFR04 · #CNFR05 · #CNFR06 |
Luiz | Criação dos cartões de especificação CNFR07 a CNFR012 | #CNFR07 · #CNFR08 · #CNFR09 · #CNFR10 · #CNFR11 · #CNFR12 |
Mateus | Criação dos cartões de especificação CNFR20 a CNFR22 e Validação | #CNFR20 · #CNFR21 · #CNFR22 · #Validação20-22 |
Fábio | Criação dos cartões de especificação CNFR26 a CNFR28 | #CNFR26 · #CNFR27 · #CNFR28 |
Ana Joyce | Criação dos cartões de especificação CNFR14 a CNFR19 | #CNFR15 · #CNFR16 . #CNFR17 . #CNFR18 . #CNFR19 |
Davi | Criação dos cartões de especificação CNFR23 a CNFR25 | #CNFR23 · #CNFR24 · #CNFR25 |
Ana Clara | Criação dos cartões de especificação CNFR29 a CNFR31 | #CNFR29 · #CNFR30 · #CNFR31 |
Lista de Requisitos
ID | Descrição resumida | Tipo de Softgoal |
---|---|---|
RF03 | Upload de arquivos até 10 MB com OCR em < 35 s | Operacionalização (métrica clara) |
RF06 | Melhorar capacidades de “deep thinking” | Afirmação (vago, sem métrica) |
RF14 | Exibir citações de fontes (pág., site ou trecho) | Afirmação |
RF17 | Regenerar resposta em caso de erro sem recarregar a página | Afirmação |
RF19 | Interromper respostas em andamento | Afirmação |
RF20 | Deve possuir uma API pública | Operacionalização |
RF21 | Autenticação via token de acesso | Afirmação |
RF22 | Confirmação para limpar o histórico | Afirmação |
RF24 | Criptografia TLS em trânsito e AES-256 em repouso | Afirmação |
RF25 | Controle de compartilhamento de dados pelo usuário | Afirmação |
RF26 | Autenticação multifator opcional | Afirmação |
RF27 | Modo escuro/claro com sincronização automática ao SO | Afirmação |
RF28 | Tutorial interativo na primeira execução | Afirmação |
RF29 | Exibição de status do servidor em tempo real | Afirmação |
RF30 | Melhorar retenção de contexto em diálogos longos | Afirmação |
RF35 | Tooltip do título ao passar o mouse na barra lateral | Afirmação |
RF36 | Instruções claras de OCR na interface de envio de imagens | Afirmação |
RF37 | Conectar nativamente a ferramentas populares (Google Drive, Outlook, GitHub etc.) via integrações diretas | Operacionalização |
RF38 | Integração com YouTube para sumarização automática | Afirmação |
RN01 | Uso da arquitetura DeepSeek-V3 | Afirmação |
RN02 | Versões para Android e iOS | Afirmação |
RN03 | Histórico de conversas por 30 dias (não persistente sem salvar) | Afirmação |
RN04 | Exclusão automática de dados de upload | Afirmação |
RN05 | Interface seguindo diretrizes de usabilidade e acessibilidade | Afirmação |
RN06 | Mensagens de erro claras em caso de falha | Afirmação |
RN07 | Suportar múltiplas requisições simultâneas sem degradação | Afirmação |
RN08 | Processamento de arquivos grandes (PDF/DOCX/XLSX/CSV) em ≤ 10 s e operações simples em ≤ 2 s | Operacionalização (métrica clara) |
RN09 | Informar claramente onde e como os dados são armazenados | Afirmação |
RN10 | Opt-in/out para uso de dados em re-treinamento ou venda de modelos | Afirmação |
RN11 | Especificar e permitir ao usuário optar por participar ou não do uso de seus dados em re-treinamento ou venda de modelos | Softgoal NRF |
RN12 | Estabilidade na geração de conteúdo pesado (PDF, cálculos) | Afirmação |
RN13 | ≥ 95 % dos usuários avaliando usabilidade como “Fácil” ou “Muito fácil” | Operacionalização (métrica clara) |
RN14 | ≥ 90 % de concordância em “Interface clara e agradável” | Operacionalização (métrica clara) |
RN15 | ≤ 5 % dos usuários relatando dificuldade em encontrar opções/ferramentas | Operacionalização (métrica clara) |
- Softgoal de Afirmação: enunciados qualitativos, sem critério de satisfação mensurável definido.
- Softgoal de Operacionalização: já vem com métricas precisas que permitem testar sua satisfação.
Cartões de Especificação
A fim de garantir consistência e rigor na definição e no acompanhamento de requisitos não-funcionais, adotaremos o modelo de cartão de especificação proposto por Silva (2019, p. 45) indicado na Figura 4. Esse padrão organiza cada RNF em campos bem definidos, incluindo número sequencial, classificação hierárquica, descrição, justificativa, origem, critério de ajuste, dependências, prioridade, conflitos e histórico de alterações, o que facilita tanto a rastreabilidade quanto a validação dos requisitos ao longo do ciclo de desenvolvimento.
Figura 4 - Cartão de Especificação
#CNFR01 – Tempo de resposta OCR para arquivos até 10 MB em < 35 s
Autor: @Gabriela
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR01 |
Classificação | Desempenho |
Descrição | O sistema deve processar e extrair texto de arquivos de até 10 MB em menos de 35 segundos. |
Justificativa | Garante agilidade no fluxo de trabalho do usuário ao lidar com documentos de tamanho moderado. |
Origem | #RF03 |
Critério de Ajuste | Tempo de OCR por arquivo ≤ 35 s |
Dependências | #RN08 |
Prioridade | 8 |
Conflitos | — |
História | Criado em 28/05/2025 |
#CNFR02 – Autenticação via token de acesso
Autor: @Gabriela
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR02 |
Classificação | Segurança |
Descrição | O sistema deve permitir autenticação de clientes e APIs utilizando token de acesso. |
Justificativa | Aumenta segurança e interoperabilidade em integrações entre sistemas. |
Origem | Requisito funcional original #RF21 |
Critério de Ajuste | Validação de token válido antes de conceder acesso |
Dependências | — |
Prioridade | 2 |
Conflitos | — |
História | Criado em 28/05/2025 |
#CNFR03 – Criptografia TLS em trânsito e AES-256 em repouso
Autor: @Gabriela
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR03 |
Classificação | Segurança |
Descrição | Todos os dados sensíveis devem trafegar via TLS e ser armazenados criptografados com AES-256. |
Justificativa | Protege confidencialidade e integridade dos dados usuários e sistemas. |
Origem | #RF24 |
Critério de Ajuste | Conexões HTTPS e criptografia AES-256 confirmadas em auditoria |
Dependências | — |
Prioridade | 2 |
Conflitos | — |
História | Criado em 28/05/2025 |
#CNFR04 – Processamento de arquivos grandes em ≤ 10 s e operações simples em ≤ 2 s
Autor: @Gabriela
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR04 |
Classificação | Desempenho |
Descrição | Arquivos grandes (PDF/DOCX/XLSX/CSV) devem ser processados em até 10 s; operações simples em até 2 s. |
Justificativa | Melhora experiência do usuário com documentos volumosos e tarefas rotineiras. |
Origem | #RN08 |
Critério de Ajuste | Tempo de processamento medido em ambiente de produção |
Dependências | CNFR01 |
Prioridade | 8 |
Conflitos | — |
História | Criado em 28/05/2025 |
#CNFR05 – Suporte a requisições simultâneas sem degradação
Autor: @Gabriela
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR05 |
Classificação | Desempenho / Escalabilidade |
Descrição | O sistema deve suportar múltiplas requisições simultâneas sem degradação perceptível de performance. |
Justificativa | Fundamental para atender picos de uso e manter SLA de respostas rápidas. |
Origem | #RN07 |
Critério de Ajuste | 95% de tempo de resposta permanece dentro do limite sob carga |
Dependências | CNFR04 |
Prioridade | 8 |
Conflitos | — |
História | Criado em 28/05/2025 |
#CNFR06 – Retenção de contexto em diálogos longos
Autor: @Gabriela
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR06 |
Classificação | Qualidade de Contexto |
Descrição | Melhorar retenção de contexto para manter coerência em diálogos longos. |
Justificativa | Evita perda de informação e confusão em interações prolongadas com o assistente. |
Origem | #RF30 |
Critério de Ajuste | Contexto relevante preservado em ≥ 90 % dos diálogos com > 100 mensagens |
Dependências | — |
Prioridade | 7 |
Conflitos | — |
História | Criado em 28/05/2025 |
#CNFR07 – Tooltip do título ao passar o mouse na barra lateral
Autor: @Luiz
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR07 |
Classificação | Afirmação |
Descrição | Ao passar o cursor do mouse sobre um título de item na barra lateral de conversas, caso o item esteja truncado (parcialmente exibido devido a limitaçõoes de espaço da interface), um tooltip deve ser exibido, apresentando o texto completo daquela conversa com a IA. |
Justificativa | Ao implementar esse requisito, a usabilidade do aplicativo e a experiência do usuário são melhoradas, especialmente para interfaces com pouco espaco e que possuem layout compacto. |
Origem | #RF35 |
Critério de Ajuste | O usuário deve ser capaz de observar um tooltip ao passar o mouse por cima de um título que não está totalmente visível no menu de conversas. Essa tooltip deve exibir o título completo daquela conversa, além disso, ela deve desaparecer assim que o usuário retira o cursor daquele título. Por fim, a tooltip não deve aparecer caso o título não esteja cortado pelo menu. |
Dependências | #RN05 |
Prioridade | 5 |
Conflitos | - |
História | Criado em 31/05/2025 |
#CNFR08 – Exclusão automática de dados de upload
Autor: @Luiz
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR08 |
Classificação | Afirmação |
Descrição | O sistema deve excluir automaticamente os dados de upload que estão armazenados nos servidores do aplicativo imediatamente após a conclusão do processamento dos dados e envio da resposta da IA para o usuário. |
Justificativa | Garante maior privacidade e controle dos dados que estão serdo compartilhados. Evita que os dados compartilhados sejam utilizandos futuramente para treinar o modelo sem permissão do usuário. |
Origem | #RN04 |
Critério de Ajuste | Após finalizar uma resposta, os dados enviados pelo usuário para a IA não devem mais estar acessíveis através de nenhuma interface do sistema. Além disso, os Logs do servidor devem registrar o evento de exclusão automática de dados enviados pelo usuário. |
Dependências | #RN09 |
Prioridade | 6 |
Conflitos | - |
História | Criado em 31/05/2025 |
#CNFR09 – Versãoes para Android e IOS
Autor: @Luiz
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR09 |
Classificação | Afirmação |
Descrição | O sistema deve possuir versões para os dois principais sistemas operacionais de smartphones: Android e IOS. |
Justificativa | Ao possuir versões para esses dois sistemas operacionais, o número de usuários que poderão baixar e utilizar o aplicativo será maximizado. |
Origem | #RN02 |
Critério de Ajuste | O sistema deve estar disponível para versões 5.0 (ou superior) do Android ou IOS 15 (ou superior). |
Dependências | #RN05 |
Prioridade | 10 |
Conflitos | - |
História | Criado em 31/05/2025 |
#CNFR10 – Informar claramente onde e como os dados estão sendo armazenados
Autor: @Luiz
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR10 |
Classificação | Afirmação |
Descrição | O sistema deve informar para o usuário onde (em quais servidores) e como os seus dados estão sendo armazenados ao utilizar o aplicaitvo |
Justificativa | Ao apresentar essas informações para o usuário, ele pode ter um maior controle de que dados serão compartilhados ao criar uma conta e utilzar os serviços da IA. |
Origem | #RN09 |
Critério de Ajuste | Ao acessar a aba configurações do aplicativo, na seção Controle de Dados, será possível visualizar pelo usuário, as informações sobre como e onde os seus dados estão sendo armazenados. |
Dependências | #RN04, #RN03, #RF24, #RN10 |
Prioridade | 4 |
Conflitos | - |
História | Criado em 31/05/2025 |
#CNFR11 – Histórico de conversas por 30 dias
Autor: @Luiz
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR11 |
Classificação | Afirmação |
Descrição | O sistema deve manter o histórico de conversas do usuário por 30 dias. Essa informação deve ser válida para usuários que não possuem uma conta no aplicaitvo, mas ainda sim, utilizam os serviços dele. |
Justificativa | Ao ter essa funcionalidade, o usuário não se sente obrigado a criar uma conta no aplicativo para poder acessar uma funcionalidade básica. Assim, o usuário teria maior liberdade de escolha se quer criar uma conta ou não. |
Origem | #RN03 |
Critério de Ajuste | Um usuário que não possui uma conta deve ser capaz de iniciar uma conversa, e, ao fechar e abrir novamente o aplicativo, deve ser possível acessar seu histórico de conversas. Para garantir a validade do histórico esse teste pode ser repetido diariamnete a fim de verificar a validade do histórico de 30 dias. Assim, uma conversa iniciada no dia 1 de maio às 13:00 horas deverá estar disponível até o dia 31 daquele mês até às 12:59 horas. |
Dependências | #RN09 |
Prioridade | 5 |
Conflitos | - |
História | Criado em 31/05/2025 |
#CNFR12 – Uso da arquitetura DeepSeek-V3
Autor: @Luiz
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR12 |
Classificação | Afirmação |
Descrição | O aplicativo deve utilizar a arquitetura mais recente desenvolvida pela equipe chamada DeepSeek-V3. |
Justificativa | Ao utilizar a arquitetura mais recente do DeepSeek, o aplicativo irá fornecer maior performace e confiabilidade nas respostas fornecidas ao usuário. |
Origem | #RN01 |
Critério de Ajuste | Análise da documentação do aplicativo e do código fonte que comprovem o uso dessa arquitetura. Além disso, sendo viável, a aplicação de testes no modelo que comprovem essa maior performace e confiabilidade sobre os modelos antigos do DeepSeek |
Dependências | - |
Prioridade | 10 |
Conflitos | - |
História | Criado em 31/05/2025 |
#CNFR15 – Especificar e permitir ao usuário optar por participar ou não do uso de seus dados em re-treinamento ou venda de modelos
Autor: @Ana Joyce
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR15 |
Classificação | Legal e Ético |
Descrição | O sistema deve permitir que o usuário aceite ou recuse o uso de seus dados em re-treinamento ou venda de modelos. |
Justificativa | Garante transparência e conformidade com LGPD e princípios éticos. |
Origem | #RN10 |
Critério de Ajuste | Presença de controle de consentimento visível e funcional |
Dependências | #RF04 (login de usuários) |
Prioridade | 10 |
Conflitos | — |
História | Criado em 01/06/202 |
#CNFR16 – Garantir estabilidade na geração de conteúdos pesados (PDF, cálculos), evitando erros de formatação ou falhas
Autor: @Ana Joyce
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR16 |
Classificação | Desempenho e Confiabilidade |
Descrição | O sistema deve gerar arquivos pesados (PDFs, cálculos) de forma estável, evitando falhas ou erros de formatação. |
Justificativa | Evita perdas de tempo e frustrações com conteúdo corrompido ou ilegível. |
Origem | #RN12 |
Critério de Ajuste | Taxa de falhas em geração de documentos ≤ 2% |
Dependências | — |
Prioridade | 8 |
Conflitos | — |
História | Criado em 01/06/2025 |
#CNFR17 – Atingir ≥ 95 % de usuários avaliando a usabilidade como “Fácil” ou “Muito fácil” em pesquisas futuras
Autor: @Ana Joyce
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR17 |
Classificação | Qualidade de Uso |
Descrição | Alcançar ≥ 95% de usuários avaliando a usabilidade como “Fácil” ou “Muito fácil” em pesquisas futuras. |
Justificativa | Indica alta aceitação e facilidade de uso do sistema. |
Origem | #RN13 |
Critério de Ajuste | Resultado de pesquisa ≥ 95% nas opções “Fácil” ou “Muito fácil” |
Dependências | #CNFR01 |
Prioridade | 7 |
Conflitos | — |
História | Criado em 01/06/2025 |
#CNFR18 – Alcançar ≥ 90 % de concordância em “Interface clara e agradável” em pesquisas futuras
Autor: @Ana Joyce
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR18 |
Classificação | Qualidade da Interface |
Descrição | Alcançar ≥ 90% de concordância em “Interface clara e agradável” em pesquisas futuras. |
Justificativa | Reflete uma boa experiência visual e navegação intuitiva. |
Origem | #RN14 |
Critério de Ajuste | Resultado de pesquisa ≥ 90% nas opções “Clara” ou “Muito clara” |
Dependências | #CNFR01 |
Prioridade | 6 |
Conflitos | — |
História | Criado em 01/06/2025 |
#CNFR19 – Reduzir para ≤ 5 % os usuários que relatam dificuldade em encontrar opções/ferramentas em pesquisas futuras
Autor: @Ana Joyce
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR19 |
Classificação | Usabilidade |
Descrição | Reduzir para ≤ 5% os usuários que relatam dificuldade em encontrar opções/ferramentas em pesquisas futuras. |
Justificativa | Demonstra clareza na disposição das funcionalidades no sistema. |
Origem | #RN15 |
Critério de Ajuste | Resultado de pesquisa: ≤ 5% relatando dificuldade |
Dependências | #CNFR01, #CNFR05 |
Prioridade | 6 |
Conflitos | — |
História | Criado em 01/06/2025 |
#CNFR20 – Interoperabilidade com YouTube para sumarização automática
Autor: @Mateus
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR20 |
Classificação | Interoperabilidade / softgoal de afirmação |
Descrição | O sistema deve garantir integração adequada e estável com a API do YouTube ou serviços equivalentes, suportando extração de metadados, transcrições (quando disponíveis) e conteúdo de vídeos compartilhados por link, independentemente do idioma, formato ou duração. Deve tolerar indisponibilidades temporárias, limites de API e variações nos formatos de vídeo, fornecendo mensagens de erro claras e informativas ao usuário em caso de falha, vídeo removido, restrito, privado ou link inválido. |
Justificativa | Assegura que a funcionalidade de resumo automático de vídeos seja confiável, escalável e transparente ao usuário, mesmo diante de limitações técnicas do YouTube ou problemas de conectividade, reforçando a confiança do usuário e a qualidade do serviço prestado. |
Origem | #RF38, #RQF23, UC14 |
Critério de Ajuste | - Permitir o resumo de vídeos em diferentes idiomas e formatos via link direto. - Realizar detecção apropriada de links inválidos, vídeos removidos, indisponíveis ou privados, retornando mensagem compreensível. - Lidar com erros de integração (limite de requisições, falhas de autenticação, ausência de transcrição, etc.) fornecendo orientações claras. - Garantir performance estável e feedback de progresso quando processamento for demorado, incluindo sugestões de refinamento quando o resumo não for satisfatório. - Registrar erros para análise futura de falhas recorrentes. |
Dependências | - API YouTube: Necessária para acesso aos dados de vídeo, metadados e possíveis transcrições. - Componentes de NLP (Processamento de Linguagem Natural) e ASR (Reconhecimento Automático de Fala): Indispensáveis para converter áudio em texto e gerar resumos. - #RF30 (Processamento multimídia): Processo intermediário para extração/análise. - #RF14 e #RF21 (interface e apresentação de resultados): Exibição ao usuário do sumário e informações relativas ao vídeo. - #RN06, #RN07, #RN03, #RN04: Regras de tratamento de erros, conformidade com limites operacionais e robustez. - #RN09, #RN10: Regras para armazenamento de dados e privacidade. - #RF24, #RF26, #RF25: Segurança, controle de acesso e política de compartilhamento de dados obtidos/resumidos. |
Prioridade | 10 – Extremamente alta, pois a capacidade de sumarizar vídeos do YouTube é central ao valor agregado do sistema e, caso indisponível, impacta diretamente no propósito principal da solução para usuários. Por depender de terceiros (YouTube/API), a robustez e tolerância a falhas tornam-se vitais desde a etapa inicial do projeto. |
Conflitos | - #RN05 (usabilidade): Mensagens de erro completas ou processos de fallback podem gerar sobrecarga de informações ou tornar a experiência mais lenta se não forem bem planejadas. - Dependência de terceiros (YouTube) pode causar atrasos, falhas ou limitações de uso que afetam negativamente a jornada do usuário se não houver boa comunicação dos estados na interface. |
História | Criado em 31/05/2025 |
#CNFR21 – Instruções claras e contextualizadas sobre OCR
Autor: @Mateus
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR21 |
Classificação | Orientação / softgoal de afirmação |
Descrição | O sistema deve apresentar, na interface de envio de imagens, instruções claras e contextuais sobre OCR, explicando significado da sigla, limitações técnicas e exemplos de uso prático ao usuário final. |
Justificativa | Facilita o correto uso da funcionalidade, reduz dúvidas e frustrações, aumentando a satisfação do usuário e a eficiência do processo de extração de texto por OCR, especialmente para novos usuários. |
Origem | #RF36, #RQF20 |
Critério de Ajuste | As instruções devem ser exibidas toda vez que o usuário acessar a funcionalidade de OCR. Devem estar em linguagem simples e incluir exemplos de imagens adequadas e inadequadas para OCR. |
Dependências | - RF36: Implementação funcional do OCR. - RN05: Diretrizes de usabilidade para apresentação clara. - RN15: Garantia de facilidade para o usuário encontrar instruções/opções. - RN13/RN14: Avaliações de satisfação/interação. |
Prioridade | 4 – Relevante para onboarding e qualidade da experiência, mas não bloqueante para operações básicas. |
Conflitos | - Pode conflitar com RN05 (usabilidade) ou RN15 (facilidade de navegação) caso as instruções sejam extensas ou poluam a interface. - Excesso de informações pode reduzir objetividade do fluxo. |
História | Criado em 31/05/2025 |
#CNFR22 – Exibição de fontes, páginas e referências em respostas
Autor: @Mateus
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR22 |
Classificação | Transparência / softgoal de afirmação |
Descrição | O sistema deve exibir citações de fontes e referências em respostas baseadas em documentos, indicando de forma clara página, site e/ou trecho extraído, ou fornecendo link direto para consulta quando aplicável. |
Justificativa | A transparência sobre as fontes utilizadas nas respostas aumenta a confiança do usuário no conteúdo exibido, facilita a verificação e promove maior fidelidade à origem da informação apresentada pelo sistema. |
Origem | #RF14, #RQF22 |
Critério de Ajuste | Quando a resposta for proveniente de consulta a documento ou web, o usuário deve visualizar, ao final da resposta, as referências completas — incluindo link, número da página ou trecho relevante, quando disponível. |
Dependências | - RF14: Funcionalidade para exibir citações de fontes. - RN09/RN10: Informar e permitir ajuste sobre armazenamento e uso de dados extraídos. - RN13/RN14: Avaliações de confiança/percepção do usuário. - RF25: Controle sobre compartilhamento de dados. |
Prioridade | 4 – Essencial para confiança e auditoria, mas pode ser implementado após funcionalidades básicas de resposta. |
Conflitos | - Pode conflitar com RN05 e RN15 se a exibição de fontes for excessivamente técnica ou poluir a interface. - Risco de exposição indevida de dados caso não haja integração com requisitos de segurança (RF24, RF26). |
História | Criado em 31/05/2025 |
Validação dos NFR Cards (#CNFR20, #CNFR21, #CNFR22)
▶ Assista à validação também no YouTubeLocal: UnB – Gama – FCTE - UED
Data e Hora: 16/06/2025 - (14:30 - 15:00)
Usuário entrevistado: Pablo (usuário típico do sistema Deepseek)
Responsável pela execução: Mateus Villela (Grupo 2 – Requisitos de Software)
#CNFR23 – Interface com usabilidade e acessibilidade adequadas
Autor: @Davi Emanuel
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR05 |
Classificação | Usabilidade |
Descrição | A interface deve seguir diretrizes de usabilidade (botões visíveis, texto legível, feedback imediato) e de acessibilidade (alteração no tamanho da fonte, leitura por leitores de tela). |
Justificativa | Garante inclusão digital e melhora a experiência de todos os usuários. |
Origem | #RN05 |
Critério de Ajuste | Atende às recomendações WCAG 2.1 e heurísticas de usabilidade de Nielsen. |
Dependências | #RF08 (interface de criação de chats) |
Prioridade | 9 |
Conflitos | — |
História | Criado em 01/06/2025 |
#CNFR24 – Retorno de mensagens de erro claras em falhas
Autor: @Davi Emanuel
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR24 |
Classificação | Confiabilidade |
Descrição | Em caso de falha, o sistema deve exibir mensagens de erro claras e compreensíveis para o usuário. |
Justificativa | Ajuda na resolução rápida de problemas e reduz frustração do usuário. |
Origem | #RN06 |
Critério de Ajuste | Avaliação de clareza por usuários e testes com mensagens em cenários de erro. |
Dependências | RF01 |
Prioridade | 8 |
Conflitos | — |
História | Criado em 01/06/2025 |
#CNFR25 – Exibição de status do servidor em tempo real
Autor: @Davi Emnauel
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR25 |
Classificação | Confiabilidade / Disponibilidade |
Descrição | O sistema deve exibir o status do servidor em tempo real (Online, Manutenção, Sobrecarga). |
Justificativa | Permite ao usuário entender o funcionamento do sistema e se antecipar a problemas. |
Origem | #RF29 |
Critério de Ajuste | Testes com simulações de diferentes estados do servidor. |
Dependências | — |
Prioridade | 8 |
Conflitos | — |
História | Criado em 01/06/2025 |
#CNFR26 – Regeneração de resposta sem recarregamento da página
Autor: @Fábio
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR26 |
Classificação | Usabilidade / Desempenho |
Descrição | O sistema deve permitir regenerar uma resposta em caso de erro sem recarregar a página. |
Justificativa | Evita perda de contexto e melhora a experiência do usuário ao lidar com falhas temporárias. |
Origem | #RF17 |
Critério de Ajuste | Regeneração de resposta executada sem reload da interface |
Dependências | — |
Prioridade | 6 |
Conflitos | — |
História | Criado em 30/05/2025 |
#CNFR27 – Interrupção imediata de respostas em andamento
Autor: @Fábio
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR27 |
Classificação | Usabilidade |
Descrição | O sistema deve permitir ao usuário interromper imediatamente uma resposta em andamento. |
Justificativa | Oferece controle ao usuário sobre a interação, evitando espera desnecessária por respostas indesejadas ou incorretas. |
Origem | #RF19 |
Critério de Ajuste | Tempo de interrupção ≤ 1 segundo após ação do usuário |
Dependências | — |
Prioridade | 3 |
Conflitos | — |
História | Criado em 30/05/2025 |
#CNFR28 – Confirmação antes de limpar o histórico
Autor: @Fábio
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR28 |
Classificação | Usabilidade |
Descrição | O sistema deve solicitar confirmação do usuário antes de executar a ação de limpar o histórico de conversas. |
Justificativa | Evita a exclusão acidental de informações importantes, promovendo segurança nas ações do usuário. |
Origem | #RF22 |
Critério de Ajuste | Exibição obrigatória de diálogo de confirmação com opção de cancelar |
Dependências | — |
Prioridade | 8 |
Conflitos | — |
História | Criado em 30/05/2025 |
#CNFR29 – Especificação e permisão ao usuário optar por participar ou não do uso de seus dados em re-treinamento ou venda de modelos
Autor: Ana Clara
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR29 |
Classificação | Segurança |
Descrição | Especificar e permitir ao usuário optar por participar ou não do uso de seus dados em re-treinamento ou venda de modelos. |
Justificativa | Garantir transparência e conformidade com normas de privacidade, como LGPD e GDPR, além de respeitar a autonomia do usuário sobre seus dados. |
Origem | #RN11 |
Critério de Ajuste | O sistema deve exibir uma solicitação clara de consentimento para uso dos dados, com opção de aceitar ou recusar. |
Dependências | #RF24, #RN10 |
Prioridade | 10 |
Conflitos | — |
História | Criado em 31/05/2025 |
#CNFR30 – Conexão nativa a ferramentas populares (Google Drive, Outlook, GitHub etc.) via integrações diretas
Autor: Ana Clara
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR30 |
Classificação | Interoperabilidade |
Descrição | Conectar nativamente a ferramentas populares (Google Drive, Outlook, GitHub etc.) via integrações diretas. |
Justificativa | Melhorar a experiência do usuário e ampliar a utilidade do sistema por meio da interoperabilidade com plataformas amplamente utilizadas. |
Origem | #RF37 |
Critério de Ajuste | O sistema deve permitir autenticação e troca de dados com ferramentas populares, de forma estável e segura. |
Dependências | - |
Prioridade | 6 |
Conflitos | Possíveis mudanças nas políticas de terceiros (ex: Google API updates) |
História | Criado em 31/05/2025 |
#CNFR31 – Uso a partir de API Pública
Autor: Ana Clara
Campo | Detalhamento |
---|---|
Nr Requisito | CNFR31 |
Classificação | Usabilidade |
Descrição | Deve possuir uma API pública. |
Justificativa | Permitir que desenvolvedores externos criem extensões, automações e integrações, aumentando o alcance e flexibilidade do sistema. |
Origem | #RF20 |
Critério de Ajuste | Disponibilizar uma documentação pública e funcional para a API com autenticação segura e endpoints principais acessíveis. |
Dependências | #RF21 |
Prioridade | 10 |
Conflitos | — |
História | Criado em 31/05/2025 |
Referência Bibliográfica
1. SILVA, Reinaldo Antônio. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Centro de Informática UFPE, Recife, p. 30, 2019. Disponível em: https://repositorio.ufpe.br/handle/123456789/34150. Acesso em: 23/05/2025.
Foto da referência
2. SILVA, Reinaldo Antônio. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Centro de Informática UFPE, Recife, p. 30-31, 2019. Disponível em: https://repositorio.ufpe.br/handle/123456789/34150. Acesso em: 23/05/2025.
Foto da referência
3. SILVA, Reinaldo Antônio. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Centro de Informática UFPE, Recife, p. 32, 2019. Disponível em: https://repositorio.ufpe.br/handle/123456789/34150. Acesso em: 23/05/2025.
Foto da referência
4. SILVA, Reinaldo Antônio. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Centro de Informática UFPE, Recife, p. 32-33, 2019. Disponível em: https://repositorio.ufpe.br/handle/123456789/34150. Acesso em: 23/05/2025.
Foto da referência
5. SILVA, Reinaldo Antônio. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Centro de Informática UFPE, Recife, p. 33, 2019. Disponível em: https://repositorio.ufpe.br/handle/123456789/34150. Acesso em: 23/05/2025.
Foto da referência
6. SILVA, Reinaldo Antônio. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Centro de Informática UFPE, Recife, p. 33-34, 2019. Disponível em: https://repositorio.ufpe.br/handle/123456789/34150. Acesso em: 23/05/2025.
Foto da referência
7. SILVA, Reinaldo Antônio. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Centro de Informática UFPE, Recife, p. 33-34, 2019. Disponível em: https://repositorio.ufpe.br/handle/123456789/34150. Acesso em: 23/05/2025.
Foto da referência
Histórico de Versões
Data | Versão | Descrição | Autor | Revisor |
---|---|---|---|---|
22/05/2025 | 1.0 | (#NFR01) Criação do documento NFR Framework. | @Luiz |
@Mateus |
23/05/2025 | 1.1 | (#NFR01) Adição da introdução e do texto explicando o NFR Framework. | @Luiz |
@Mateus |
27/05/2025 | 1.2 | (#NFR01) Identifica requisitos alvo para NFR Framework. | @Gabriela |
-- |
28/05/2025 | 1.3 | (#NFR01) Criação de cards 01 a 06 e definição do padrão para os cards. | @Gabriela |
@Luiz |
30/05/2025 | 1.4 | (#NFR01) Criação de cards 26 a 28 | @Fábio |
@Luiz |
31/05/2025 | 1.5 | (#NFR01) Criação de cards 07 a 12 | @Luiz |
@Mateus |
31/05/2025 | 1.6 | (#NFR01) Criação de cards 20 a 22 e modificação na lista de requistos (remoção do #RF18 e adição do #RF38) | @Mateus |
@Luiz |
01/06/2025 | 1.7 | (#NFR01) Criação de cards 14 a 19 | @Ana Joyce |
@Luiz |
01/06/2025 | 1.8 | (#NFR01) Criação de cards 23 a 25 | @Davi Emanuel |
@Luiz |
01/06/2025 | 1.9 | (#NFR01) Criação de cards 29 a 31 | @Ana Clara |
@Luiz |
05/06/2025 | 2.0 | (#NFR01) Adição dos ids dos cartões de especifição | Luiz |
@Fabio |
19/06/2025 | 2.1 | (#NFR01) Adição dos hiperlinks para a tabela de requisitos gerais elicitados. | @Luiz |
@Mateus |
20/06/2025 | 2.2 | (#NFR01) Adição da validação com usuário dos CNFR 20 - 22 | @Mateus |
@Ana Clara |