Skip to content

Introdução

Uma das técnicas mais comuns para manter a rastreabilidade dos requisitos e dos artefatos que estão sendo desenvolvidos em um projeto de software é a utilização de uma matriz de rastreabilidade. Essa matriz pode ser implementada com a utilização de softwares específicos que facilitem o seu desenvolvimento [1].

Nessa matriz, são colocados os requisitos, o documento de origem no qual aquele requisito foi elicitado, a arquitetura, o componente e o caso de teste [2].

A coluna dos requisitos deve ser preenchida com os requisitos elicitados no projeto. Já as demais, são preenchidas com os artefatos criados com base nequele requisito durante o processo de desenvolvimento. É importante ressaltar que essa correspondencia nem sempre é de 1 para 1, dado que, por exemplo, um requisito pode ser verificado em vários casos de teste [3].

Objetivos

Esse artefato tem como principal objetivo agregar os resultados obtidos nos artefatos de Backward-From e Forward-From em uma única matriz de rastreabilidade.

Metodologia

Para o formato da matriz de rastreabilidade será utilizado o mesmo formato do repositório da disciplina de requisitos Bilheteria Digital no qual a matriz de rastreabilidade irá possuir 6 colunas:

  • ID: apresenta o identificador daquele requisito;
  • Descrição: apresenta a descrição do requisito;
  • Pré-Rastreabilidade: apresenta a técnica de elicitação que deu origem ao requisito;
  • Implementado?: indica se o requisito está ou não implementado no aplicativo (Sim, Não ou Parcialmente).
  • Artefatos: apresenta os artefatos relacionados ao requisito que foram desenvolvidos ao longo do projeto;
  • Elos: ligação entre os requisitos e artefatos.

Matriz Geral

Assim, é possível criar a matriz de rastreabilidade representada pela Tabela 1.

Tabela 1 - Matriz de rastreabilidade do projeto.

ID Descrição Pré-Rastreabilidade Implementado Artefatos Criados Elos
#RF01 Deve oferecer a possibilidade do usuário acionar a pesquisa na web #RDF01, #RIF01 Sim #CN07, #UC07, #LX07, #HU29 #RF01
#RF02 Deve haver a possibilidade de uso do pensamento profundo para solução de problemas (Deep Thinking) #RDF02 Sim #CN09, #UC09, #LX09, #HU13, #BK01 #RF02
#RF03 O sistema deve aceitar uploads de arquivos de até 10MB nos formatos PDF, DOCX, TXT e imagens (com OCR) com tempo de resposta < 35s #RDF03, #RIF01, #RIF05, #RQF01, #RQN09 Sim #CN06, #UC06, #LX06, #HU25, #BK37 , #ES03, #CNFR01 #RF03
#RF04 Deve possuir a opção de login com conta Google/Apple ID #RDF06 Sim #HU41, #BK15 #RF04
#RF05 Deve salvar chats entre plataformas #RDF07 Sim #HU18, #BK17 #RF05
#RF06 Melhorar as capacidades de "deep thinking" #RDF07 Não #RF06
#RF07 Deve haver um campo para a interação com a IA #ROF01 Sim #HU03, #BK18 #RF07
#RF08 Deve ser possível criar novos chats #ROF02 Sim #HU42, #BK21 #RF08
#RF09 Deve ser possível renomear um chat #ROF03 Sim #HU04, #BK20 #RF09
#RF10 Os chats já utilizados devem poder ser acessados posteriormente #ROF04 Sim #HU35, #BK21 #RF10
#RF11 Deve ser possível dar dislike em uma resposta da IA #ROF05 Sim #CN08, #UC08, #LX08, #HU30, #BK02 #RF11
#RF12 Deve ser possível dar like em uma resposta da IA #ROF06 Sim #CN08, #UC08, #LX08, #HU30, #BK02 #RF12
#RF13 Deve ser possível copiar uma resposta da IA #ROF07 Sim #CN08, #UC08, #LX08, #HU30, #HU29, #BK22 #RF13
#RF14 Deve exibir citações de fontes e referências em respostas baseadas em documentos, indicando página, site e/ou trecho extraído. #ROF08, #RIF06, #RQF22 Parcialmente implementado #HU36, #BK03 #RF14
#RF15 Deve ser possível alterar o idioma do sistema #ROF09 Sim #HU27, #BK35 #RF15
#RF16 Deve ser possível apagar conversas individuais ou de forma geral #ROF10, #RIF04 Sim #HU28, #BK14 #RF16
#RF17 Deve ser possível regenerar uma resposta da IA de forma manual ou automática em caso de erro de servidor ou sobrecarga #ROF11, #RQF09, #RQF18 Parcialmente implementado #CN08, #UC08, #LX08, #HU30, #BK02 #RF17
#RF18 O sistema deve exibir respostas formatadas em Markdown em tabelas ou listas complexas, com possibilidade de edição pelo usuário #ROF12, #RIF03, #RIF13, #RQF15 Parcialmente implementado #HU23, #HU34, #BK26, #BK27 #RF18
#RF19 Deve ser possível interromper respostas em andamento #RIF07 Não #CN10, #UC10, #LX10, #HU07, #HU15, #BK23, #BK24 #RF19
#RF20 Deve possuir uma API pública #RIF08 Não #HU31, #BK41 #RF20
#RF21 Deve aceitar autenticação via token de acesso #RIF09 Não #RF21
#RF22 Deve haver uma confirmação para limpar o histórico #RIF14 Não #CN13, #UC13, #LX13, #HU02, #BK09 #RF22
#RF23 Deve suportar busca incremental (exibição de sugestões em tempo real conforme o usuário digita) #RQF01 Não #HU05, #BK28 #RF23
#RF24 Todos os dados sensíveis do usuário devem ser criptografados em trânsito (TLS) e em repouso (AES-256) #RQF02 Sim #RF24
#RF25 O usuário deve poder controlar quais dados são compartilhados (chat, histórico de buscas, localização) #RQF03 Não #HU17, #BK10, #BK11 #RF25
#RF26 Deve haver autenticação multifator opcional para acesso a funcionalidades avançadas #RQF04 Não #HU26, #BK16 #RF26
#RF27 Deve oferecer modo escuro e claro, com configuração manual e sincronização automática com o SO #RQF06 Sim #CN05, #UC05, #LX05, #HU19, #BK29 #RF27
#RF28 Deve incluir tutorial interativo na primeira execução, explicando as principais funcionalidades #RQF07 Não #CN12, #UC12, #LX12, #HU01, #BK30 #RF28
#RF29 Exibir status do servidor em tempo real (Online, Manutenção, Sobrecarga) #RQF08 Não #CN11, #UC11, #LX11, #HU14, #BK31 #RF29
#RF30 Melhorar retenção de contexto em diálogos longos #RQF10 Parcialmente implementado #HU24, #BK06 #RF30
#RF31 Implementar memória de contexto persistente entre conversas #RQF11 Não #HU32, #BK02 #RF31
#RF32 Permitir escolha de modelos (seleção de diferentes versões/modelos de IA) #RQF12 Não #CN04, #UC04, #LX04, #HU20, #BK07 #RF32
#RF33 Permitir organização de conversas em pastas ou listas por tema ou projeto #RQF13 Não #HU09, #BK25 #RF33
#RF34 Implementar comandos de voz para entrada e saída de informações #RQF16 Não #CN03, #UC03, #LX03, #HU12, #BK32 #RF34
#RF35 Ajustar visualização do título ao passar o mouse sobre o nome do chat na barra lateral de histórico #RQF17 Não #HU21, #BK33 #RF35
#RF36 Fornecer, na interface de envio de imagens, instruções claras e contextualizadas sobre OCR #RQF20 Não #HU22, #BK40 #RF36
#RF37 Conectar nativamente a ferramentas populares (Google Drive, Outlook, GitHub etc.) via integrações diretas #RQF14 Não #CN03, #UC03, #LX03, #HU11, #BK42 #RF37
#RF38 Disponibilizar resumo automático de vídeos (importação de links do YouTube para sumarização) #RQF23 Não #CN14, #UC14, #LX14, #HU33, #BK08 #RF38
#RN01 Deve fazer o uso da arquitetura DeepSeek-V3 #RDN04 Sim #ES07, #CNFR12 #RN01
#RN02 Deve possuir versões para Android e IOS #RDN05 Sim #ES07, #CNFR09 #RN02
#RN03 Deve guardar um histórico de conversas por 30 dias (não persistente se o usuário sair sem salvar) #RIN10 Não #ES05, #CNFR11 #RN03
#RN04 Deve fazer a exclusão automática de dados de upload #RIN10 Não #ES05, #ES02, #CNFR08 #RN04
#RN05 A interface deve seguir diretrizes de usabilidade e acessibilidade #RIN12, #RQF05 Não #ES04, #ES01, #CNFR23 #RN05
#RN06 Em caso de falha, deve retornar mensagens de erro claras #RIN15 Sim #ES05, #ES02, #CNFR24 #RN06
#RN07 O sistema deve suportar múltiplas requisições simultâneas sem degradação #RIN16 Sim #ES05, #ES02, #ES06, #CNFR05 #RN07
#RN08 O processamento de arquivos grandes (PDF/DOCX) deve ocorrer em ≤ 10 s e o tempo médio de resposta ≤ 2 s em operações simples #RIN17, #RQN04 Parcialmente implementado #ES05, #ES02, #ES06, #CNFR04 #RN08
#RN09 Disponibilizar, no próprio app, informações claras e acessíveis sobre como e onde os dados são armazenados e utilizados #RQN01 Não #ES05, #ES08, #CNFR10 #RN09
#RN10 Especificar e permitir ao usuário optar por participar ou não do uso de seus dados em re-treinamento ou venda de modelos #RQN02 Não #ES05, #ES08, #CNFR15 #RN10
#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 #RQN02 Não #ES05, #CNFR29 #RN11
#RN12 Garantir estabilidade na geração de conteúdos pesados (PDF, cálculos), evitando erros de formatação ou falhas #RQN05 Não #ES05, #ES02, #CNFR16 #RN12
#RN13 Atingir ≥ 95 % de usuários avaliando a usabilidade como “Fácil” ou “Muito fácil” em pesquisas futuras #RQN06 Parcialmente implementado #ES04, #ES01, #CNFR17 #RN13
#RN14 Alcançar ≥ 90 % de concordância em “Interface clara e agradável” em pesquisas futuras #RQN07 Não #ES04, #ES01, #CNFR18 #RN14
#RN15 Reduzir para ≤ 5 % os usuários que relatam dificuldade em encontrar opções/ferramentas em pesquisas futuras #RQN08 Não #ES04, #ES01, #CNFR19 #RN15

Autor: Luiz

Com a Tabela 2, é possível encontrar os códigos utilizados ao longo do desenvolvimento dos artefatos e seus significados.

Tabela 2 - Códigos utilizados na Tabela 1 e seus significados.

Identificador Significado
#RFXX Código para um requisito funcional
#RNXX Código para um requisito não funcional
#RDFXXX Código para um requisito funcional elicitado com a técnica de análise de documentos
#RDNXXX Código para um requisito não funcional elicitado com a técnica de análise de documentos
#RIFXXX Código para um requisito funcional elicitado com a técnica de análise de interface
#RINXXX Código para um requisito não funcional elicitado com a técnica de análise de interface
#RQFXX Código para um requisito funcional elicitado com a técnica de questionário
#RQNXX Código para um requisito não funcional elicitado com a técnica de questionário
#ROFXX Código para um requisito funcional elicitado com a técnica de observação
#RONXX Código para um requisito não funcional elicitado com a técnica de observação
#UCXX Representa uma tabela de caso de uso desenvolvida para o artefato casos de uso
#CNXX Representa um cenário desenvolvido para o artefato cenários
#LXXX Representa uma tabela de léxicos para um caso de uso no artefato léxicos
#ESXX Representa um tópico no artefato de especificação suplementar
#HUXX Representa história de usuário no artefato histórias de usuário
#BKXX Representa um tópico no artefato backlog
#CNFRXX Representa um cartão de especificação no artefato NFR Framework

Autor: Luiz


Referência Bibliográfica

1. SAYÃO, Miriam; LEITE, Julio. Rastreabilidade de Requisitos. PUC-Rio: Departamento de Informática, ISSN 0103-9741, Rio de Janeiro, 2005, p. 12. Disponível em: https://www-di.inf.puc-rio.br/~julio/rastre.pdf. Acesso em: 04/06/2025.Foto da referência

2. SAYÃO, Miriam; LEITE, Julio. Rastreabilidade de Requisitos. PUC-Rio: Departamento de Informática, ISSN 0103-9741, Rio de Janeiro, 2005, p. 12. Disponível em: https://www-di.inf.puc-rio.br/~julio/rastre.pdf. Acesso em: 04/06/2025.Foto da referência

3. SAYÃO, Miriam; LEITE, Julio. Rastreabilidade de Requisitos. PUC-Rio: Departamento de Informática, ISSN 0103-9741, Rio de Janeiro, 2005, p. 12-13. Disponível em: https://www-di.inf.puc-rio.br/~julio/rastre.pdf. Acesso em: 04/06/2025.Foto da referência

4. MELO, Arthur. Matriz Geral. Repositório do Grupo Bilheteria Digital da disciplina de Requisitos de Software da Universidade de Brasília, 2023. Disponível em: https://requisitos-de-software.github.io/2023.1-BilheteriaDigital/rastreabilidade/matriz-geral/. Acesso em: 04/06/2025.


Histórico de Versões

Data Versão Descrição Autor Revisor
04/06/2025 1.0 (#MG01) Criação do documento de matriz geral. @Luiz @Fabio
04/06/2025 1.1 (#MG01) Adição da introdução, objetivos, metodologia, criação da matriz geral. Adição dos requisitos RF01-RF03 @Luiz @Fabio
05/06/2025 1.2 (#MG01) Explicação dos IDs presentes na matriz de rastreabilidade. @Luiz @Fabio
06/06/2025 1.3 (#MG01) Adição dos requisitos RF04-RF13. @Luiz @Fabio
06/06/2025 1.4 (#MG01) Adição dos requisitos RF14-RF38. @Luiz @Fabio
06/06/2025 1.5 (#MG01) Adição dos requisitos RN01-RN15. @Luiz @Fabio
07/06/2025 1.6 (#MG01) Adição da tabela com os significados dos identificadores utilizados na matriz de rastreabilidade. @Luiz @Fabio
07/06/2025 1.7 (#MG01) Adição dos hiperlinks dos tópicos do backlog na coluna "artefatos criados". @Luiz @Fabio
07/06/2025 1.8 (#MG01) Adição dos hiperlinks dos elos do documento de pós-rastreabilidade. @Luiz @Fabio
08/06/2025 1.9 (#MG01) Correção nos hiperlinks do arquivo. @Luiz @