Pular para conteúdo

Backward-From

Introdução

A técnica Backward-From é uma abordagem utilizada na rastreabilidade de requisitos para estabelecer conexões entre os requisitos e suas origens, sejam elas documentos, stakeholders ou outras fontes. Essa técnica assegura que cada requisito possui uma base justificável e rastreável, facilitando a compreensão de sua necessidade e contexto no projeto.

Por meio do Backward-From, é possível identificar claramente de onde cada requisito se originou. Essa prática contribui para a gestão eficaz de mudanças, evitando a perda de rastreabilidade e garantindo que as funcionalidades desenvolvidas atendam às expectativas e necessidades iniciais. Além disso, o Backward-From permite uma análise crítica de como os requisitos estão alinhados com os objetivos do projeto.

Metodologia

A rastreabilidade de requisitos é fundamental para o sucesso no desenvolvimento de software, pois permite garantir que todas as fases do projeto estejam alinhadas com as necessidades e os objetivos iniciais. No caso do aplicativo Threads, adotamos a técnica Backward-From para rastrear os requisitos de maneira estruturada, garantindo a consistência e o alinhamento das decisões ao longo do desenvolvimento.

Etapas da Metodologia

1. Identificação das Origens dos Requisitos

Para cada requisito, foi realizada uma análise detalhada para identificar sua origem. As fontes de origem incluem stakeholders, documentação inicial, e padrões de mercado. Compreender essas origens foi crucial para conectar cada requisito às necessidades reais do projeto e garantir que todos os requisitos sejam válidos e relevantes.

2. Categorização dos Requisitos

Os requisitos foram organizados de maneira a facilitar o acompanhamento e a validação durante o desenvolvimento. Para isso, dividimos os requisitos em duas categorias principais:

  • Requisitos Funcionais (RF): Estes requisitos dizem respeito às funcionalidades essenciais do aplicativo, como a criação de postagens, a interação com seguidores, e o gerenciamento de privacidade.
  • Requisitos Não-Funcionais (RNF): Refletem os aspectos técnicos e operacionais do sistema, como o desempenho, a segurança e a usabilidade, os quais são fundamentais para garantir a robustez e a confiabilidade da plataforma.

3. Mapeamento e Definição de Conexões

Após categorizar os requisitos, realizamos um mapeamento para identificar e definir as conexões entre os requisitos e seus respectivos elementos dentro do projeto. Esse mapeamento incluiu a criação de elos de rastreabilidade, classificados da seguinte forma:

  • Dependência Contextual: Refere-se à relação entre os requisitos e o ambiente ou o contexto operacional do aplicativo Threads. Esses elos garantem que as necessidades do sistema estejam em conformidade com o cenário em que o aplicativo será utilizado.
  • Relacionamento Funcional: Estabelece um vínculo entre os requisitos e os subsistemas ou componentes específicos do aplicativo. Essa conexão assegura que a funcionalidade do sistema seja implementada conforme o esperado.
  • Documentação de Decisões: Registra o raciocínio por trás das decisões de definição e priorização dos requisitos, incluindo quaisquer trade-offs ou ajustes realizados para atender aos objetivos do projeto.

4. Criação da Matriz Backward-From

Com base nas conexões estabelecidas, foi criada uma matriz Backward-From para rastrear o impacto e a origem de cada requisito. A matriz facilita a visualização de como cada requisito está relacionado com as decisões tomadas ao longo do desenvolvimento, permitindo um controle mais eficiente e transparente do progresso do projeto.

5. Validação e Refinamento Contínuos

A matriz de rastreabilidade foi revisada periodicamente com os stakeholders para garantir sua precisão e o alinhamento com os objetivos do projeto. Esse processo de validação e refinamento contínuo assegura que todos os requisitos sejam atendidos de forma adequada e que o desenvolvimento permaneça alinhado com as expectativas dos envolvidos.

Tabela de requisitos funcionais

Este seguimento é destinado para a elaboração da tabela de rastreamento de requisitos funcionais, que está sendo demonstrada na Tabela 1 a seguir:

Legendas

  • BF: Requisitos do Backward-From
  • BRS: Requisito Funcional do Brainstorming
  • ENT: Requisito da Entrevista
  • INT: Requisito da Introspecção
  • QST: Requisito do Questionário
  • RF: Requisito Funcional

Tabela 1 - Requisitos funcionais elicitados

ID Requisito e Versão Descrição Implementado Rastreabilidade Elo
BF01 RF01 / 1.0 O usuário deve poder configurar a visibilidade da conta. Sim ENT1-01 ELO01
BF02 RF02 / 1.0 O usuário deve poder gravar e enviar mensagens de voz. Sim ENT1-02 ELO02
BF03 RF03 / 1.0 O sistema deve exibir Trend Topics para visualização dos tópicos populares. Não ENT1-03 ELO03
BF04 RF04 / 1.0 O usuário deve poder definir o tema escuro ou claro no aplicativo. Sim ENT1-04 ELO04
BF05 RF05 / 1.0 O sistema deve oferecer uma área de mensagens privadas para interações. Não ENT1-05 ELO05
BF06 RF06 / 1.0 O sistema deve verificar contas com número de telefone e email cadastrados. Sim ENT1-06 ELO06
BF07 RF07 / 1.0 O sistema deve permitir a tradução automática de publicações. Não ENT1-07 ELO07
BF08 RF08 / 1.0 O sistema deve reduzir a exibição de anúncios intrusivos. Não ENT1-08 ELO08
BF09 RF09 / 1.0 O sistema deve implementar moderação para reduzir bots e publicações irrelevantes. Não ENT1-09 ELO09
BF10 RF10 / 1.0 O sistema deve permitir o upload de vídeos em alta definição. Sim ENT1-10 ELO10
BF11 RF11 / 1.0 O sistema deve exibir uma confirmação visual ao realizar ações. Sim ENT2-01 ELO11
BF12 RF12 / 1.0 O sistema deve oferecer um histórico de interações do usuário. Sim ENT2-02 ELO12
BF13 RF13 / 1.0 O sistema deve permitir respostas anônimas em discussões públicas moderadas. Não ENT2-03 ELO13
BF14 RF14 / 1.0 O sistema deve permitir que o usuário salve postagens para leitura posterior. Não ENT2-04 ELO14
BF15 RF15 / 1.0 O sistema deve sugerir usuários para seguir, com base nas interações do usuário. Sim ENT2-05 ELO15
BF16 RF16 / 1.0 O sistema deve permitir a criação de enquetes interativas. Não ENT2-06 ELO16
BF17 RF17 / 1.0 O sistema deve permitir ao usuário denunciar contas ou postagens. Sim ENT2-07 ELO17
BF18 RF18 / 1.0 O usuário deve poder ocultar publicações antigas de seu perfil sem excluí-las. Não ENT2-08 ELO18
BF19 RF19 / 1.0 O sistema deve permitir backup e restauração de dados, como postagens e configurações. Não ENT2-09 ELO19
BF20 RF20 / 1.0 O sistema deve permitir filtrar conteúdos no feed com base em categorias específicas. Não ENT2-10 ELO20
BF21 RF21 / 1.0 O sistema deve permitir que o usuário adicione legendas automáticas aos vídeos enviados. Não ENT3-01 ELO21
BF22 RF22 / 1.0 O sistema deve sugerir textos gerados por Inteligência Artificial para publicações. Não ENT3-02 ELO22
BF23 RF23 / 1.0 O sistema deve oferecer reações variadas para publicações. Não ENT3-03 ELO23
BF24 RF24 / 1.0 O sistema deve permitir salvar rascunhos de postagens mesmo sem conexão. Não ENT3-04 ELO24
BF25 RF25 / 1.0 O sistema deve permitir agendar postagens para horários futuros. Não ENT3-05 ELO25
BF26 RF26 / 1.0 O sistema deve permitir o compartilhamento de postagens externas. Não ENT3-06 ELO26
BF27 RF27 / 1.0 O sistema deve permitir criar comunidades ou grupos dentro da plataforma. Não ENT3-07 ELO27
BF28 RF28 / 1.0 O sistema deve permitir que o usuário gerencie múltiplas contas no mesmo aplicativo. Não ENT3-08 ELO28
BF29 RF29 / 1.0 O sistema deve oferecer autenticação avançada para segurança do usuário. Sim ENT3-09 ELO29
BF30 RF30 / 1.0 O sistema deve permitir fixar postagens no perfil do usuário. Não ENT3-10 ELO30
BF31 RF31 / 1.0 O sistema deve permitir editar publicações após a postagem. Não QST01 ELO31
BF32 RF32 / 1.0 O sistema deve permitir marcar outros usuários em postagens. Sim QST02 ELO32
BF33 RF33 / 1.0 O sistema deve permitir ver estatísticas detalhadas sobre as postagens. Não QST03 ELO33
BF34 RF34 / 1.0 O sistema deve permitir que o usuário receba alertas de menções. Sim QST04 ELO34
BF35 RF35 / 1.0 O sistema deve permitir reações a comentários em postagens. Sim QST05 ELO35
BF36 RF36 / 1.0 O sistema deve permitir criar listas de amigos próximos. Não BRS01 ELO36
BF37 RF37 / 1.0 O sistema deve permitir realizar pesquisas de conteúdo. Sim BRS02 ELO37
BF38 RF38 / 1.0 O sistema deve permitir denunciar comentários ofensivos. Sim BRS03 ELO38
BF39 RF39 / 1.0 O sistema deve sugerir postagens personalizadas de acordo com as preferências do usuário. Não BRS04 ELO39
BF40 RF40 / 1.0 O sistema deve permitir configurar o status online ou offline do usuário. Não BRS05 ELO40

Autores: Genilson Silva, Alana Gabriele, Carlos Paz, Samuel Ribeiro.

Tabela de Requisitos Não-Funcionais

Este seguimento é destinado para a elaboração da tabela de rastreamento de requisitos não-funcionais, que está sendo demonstrado na Tabela 2 a seguir:

Legendas

  • BF: Requisitos do Backward-From
  • BRS: Requisito Funcional do Brainstorming
  • ENT: Requisito da Entrevista
  • INT: Requisito da Introspecção
  • QST: Requisito do Questionário
  • RNF: Requisito Não Funcional

Tabela 2 - Requisitos não-funcionais elicitados

ID Requisito e Versão Descrição Implementado Rastreabilidade Elo
BF41 RNF01 / 1.0 O sistema deve reduzir anúncios intrusivos e ajustar algoritmos para maior transparência. Não INT01 ELO41
BF42 RNF02 / 1.0 O sistema deve melhorar o algoritmo para priorizar conteúdos relevantes ao usuário. Não INT02 ELO42
BF43 RNF03 / 1.0 O sistema deve evitar a sobrecarga de notificações irrelevantes. Não INT03 ELO43
BF44 RNF04 / 1.0 O sistema deve implementar moderação para reduzir bots e publicações irrelevantes. Sim INT04 ELO44
BF45 RNF05 / 1.0 O sistema deve oferecer autenticação avançada para segurança do usuário. Sim INT05 ELO45
BF46 RNF06 / 1.0 O sistema deve garantir tempos de resposta inferiores a 1 segundo para interações usuais. Sim INT06 ELO46
BF47 RNF07 / 1.0 O aplicativo deve minimizar o consumo de bateria em dispositivos móveis, garantindo uma taxa de consumo inferior a 5%. Não INT07 ELO47
BF48 RNF08 / 1.0 O sistema deve ser compatível com dispositivos móveis de versões Android 8.0 e iOS 12 ou superiores. Sim INT08 ELO48
BF49 RNF09 / 1.0 O sistema deve ser compatível com versões de navegador mais antigas, garantindo funcionalidade em Chrome 70+ e Firefox 70+. Não BRS06 ELO49
BF50 RNF10 / 1.0 O sistema deve garantir alta disponibilidade, com menos de 1% de tempo de inatividade mensal. Sim BRS07 ELO50
BF51 RNF11 / 1.0 O sistema deve criptografar todos os dados de login e autenticação para garantir a segurança das informações. Sim BRS08 ELO51
BF52 RNF12 / 1.0 O sistema deve ser otimizado para uso em dispositivos com pouca memória RAM. Não BRS09 ELO52
BF53 RNF13 / 1.0 O sistema deve ser compatível com os navegadores mais recentes, como Google Chrome, Safari e Edge. Sim BRS10 ELO53
BF54 RNF14 / 1.0 O sistema deve garantir que o feed de publicações seja carregado rapidamente, mesmo com grande volume de conteúdo. Sim BRS11 ELO54
BF55 RNF15 / 1.0 O sistema deve garantir que os dados do usuário sejam armazenados de forma segura, com backup regular. Sim BRS12 ELO55
BF56 RNF16 / 1.0 O sistema deve garantir que o conteúdo do usuário seja sempre acessível, com um tempo de recuperação abaixo de 10 segundos. Sim BRS13 ELO56
BF57 RNF17 / 1.0 O sistema deve permitir que o usuário configure o status online ou offline. Não BRS14 ELO57
BF58 RNF18 / 1.0 O sistema deve permitir a criação de listas de amigos próximos. Não BRS15 ELO58
BF59 RNF19 / 1.0 O sistema deve permitir respostas anônimas em discussões públicas moderadas. Não BRS16 ELO59
BF60 RNF20 / 1.0 O sistema deve permitir salvar rascunhos de postagens mesmo sem conexão. Não BRS17 ELO60

Autores: Genilson Silva, Alana Gabriele, Carlos Paz, Samuel Ribeiro.

Elos de Rastreabilidade

Os elos de rastreabilidade estabelecem conexões importantes entre os requisitos, suas origens e as dependências existentes. A tabela 3 a seguir apresenta os principais tipos de elos identificados no projeto Threads, com suas respectivas descrições:

Cada membro do grupo ficou responsável por documentar ao menos 5 requisitos funcionais e 1 requisito não-funcional, garantindo a elaboração dos elos de rastreabilidade. Isso promoveu uma divisão equitativa das tarefas e uma visão abrangente do projeto Threads.

Tipos de Elos:

  • Elos de Satisfação (ES): Relacionam um requisito a partes do sistema que o atendem, mostrando como as funcionalidades foram projetadas ou implementadas para satisfazer um requisito específico.
  • Elos de Dependência (ED): Relacionam requisitos que dependem de outros para serem implementados ou validados. Esses elos ajudam a identificar sequências ou pré-condições necessárias para o desenvolvimento de certos requisitos.
  • Elos de Evolução (ER): Mostram como um requisito foi alterado ao longo do tempo, incluindo versões anteriores e modificações realizadas, ajudando a entender a evolução dos requisitos e o impacto das mudanças.
  • Elos de Rationale (Justificativa) (RJ): Documentam as razões por trás da criação ou modificação de um requisito, fornecendo contexto e justificativas para decisões tomadas durante o desenvolvimento.
  • Elos de Validação (IV): Relacionam um requisito à atividade de teste ou verificação que confirma sua implementação ou conformidade. Esses elos são fundamentais para garantir que o requisito tenha sido atendido e validado adequadamente.
  • Elos de Implementação (IM): Estabelecem a conexão entre os requisitos e as atividades ou componentes responsáveis por sua implementação no código. Esses elos ajudam a monitorar o progresso de desenvolvimento.
  • Elos de Rejeição (RJ): Indicam requisitos que foram analisados mas rejeitados durante o processo de desenvolvimento, explicando os motivos da exclusão.
  • Elos de Impacto (IP): Representam como uma mudança em um requisito pode afetar outros requisitos ou componentes do sistema, sendo úteis para gerenciar alterações e prever consequências.

Legendas

  • ID BF: Identificador do Backward-From relacionado

Tabela 3 - Elos de rastreabilidade

ID ID BF Tipo de Elo Descrição do Elo
ELO01 BF01 ES Relaciona o requisito de configuração de visibilidade a componentes responsáveis por gerenciar privacidade.
ELO02 BF02 IM Representa a conexão entre o requisito de gravação de mensagens de voz e o módulo de captura de áudio.
ELO03 BF03 IP Indica o impacto da implementação dos Trend Topics em outros módulos, como feed principal.
ELO04 BF04 RJ Justifica a criação do requisito de temas escuro e claro com base em pesquisas de usabilidade.
ELO05 BF05 IV Valida a funcionalidade da área de mensagens privadas com base em testes de segurança e usabilidade.
ELO06 BF06 IM Liga o requisito de verificação de contas ao módulo de autenticação do sistema.
ELO07 BF07 ED Relaciona a tradução automática a módulos de IA e serviços de tradução integrados.
ELO08 BF08 IP Mostra como a redução de anúncios afeta a experiência do usuário e os algoritmos de sugestão.
ELO09 BF09 IV Valida o requisito de moderação com base em testes de detecção de bots.
ELO10 BF10 IM Conecta o upload de vídeos em alta definição ao componente de armazenamento e compressão.
ELO11 BF11 RJ Justifica o requisito de confirmação visual para evitar erros nas ações realizadas.
ELO12 BF12 ER Descreve como o requisito de histórico de interações evoluiu desde versões iniciais.
ELO13 BF13 RJ Explica a criação do requisito de respostas anônimas para promover discussões mais inclusivas.
ELO14 BF14 ES Relaciona o requisito de salvar postagens ao sistema de armazenamento local.
ELO15 BF15 IV Valida a sugestão de usuários com base em testes de recomendação.
ELO16 BF16 IM Liga a funcionalidade de criação de enquetes ao módulo de interatividade.
ELO17 BF17 RJ Justifica o requisito de denúncias para aumentar a segurança do ambiente.
ELO18 BF18 ED Relaciona o requisito de ocultar publicações à funcionalidade de gestão de perfil.
ELO19 BF19 ES Conecta o backup e restauração de dados ao módulo de armazenamento em nuvem.
ELO20 BF20 ED Mostra como o filtro de conteúdos depende do sistema de categorização.
ELO21 BF21 IM Relaciona a adição de legendas automáticas ao módulo de processamento de mídia.
ELO22 BF22 RJ Justifica o uso de IA para sugerir textos com base em aumento de engajamento.
ELO23 BF23 IV Valida as reações variadas em publicações com base em testes de interação.
ELO24 BF24 IM Conecta o requisito de salvar rascunhos offline ao sistema de armazenamento local.
ELO25 BF25 ED Relaciona o agendamento de postagens ao módulo de gerenciamento de tempo.
ELO26 BF26 RJ Justifica o compartilhamento de postagens externas com base em estudos de integração social.
ELO27 BF27 IM Relaciona a criação de comunidades ao módulo de gestão de grupos.
ELO28 BF28 IP Indica como a gestão de múltiplas contas impacta outros componentes de login.
ELO29 BF29 IV Valida a autenticação avançada com base em testes de segurança.
ELO30 BF30 RJ Justifica o requisito de fixar postagens no perfil para maior visibilidade.
ELO31 BF31 ED Relaciona a edição de publicações ao módulo de edição de conteúdo.
ELO32 BF32 IM Conecta a marcação de usuários ao módulo de interatividade social.
ELO33 BF33 IV Valida as estatísticas detalhadas com base em relatórios analíticos.
ELO34 BF34 RJ Justifica os alertas de menções com base em feedback de usuários.
ELO35 BF35 IM Relaciona as reações a comentários ao módulo de interações.
ELO36 BF36 ED Mostra como as listas de amigos próximos dependem do sistema de preferências.
ELO37 BF37 IM Conecta as pesquisas de conteúdo ao sistema de busca do aplicativo.
ELO38 BF38 IV Valida a denúncia de comentários ofensivos com base em testes de moderação.
ELO39 BF39 RJ Justifica as postagens personalizadas com base em algoritmos de recomendação.
ELO40 BF40 IV Valida o status online/offline com base em testes de estado de usuário.
ELO41 BF41 IP Mostra o impacto da redução de anúncios na performance e na experiência do usuário.
ELO42 BF42 RJ Justifica a melhoria do algoritmo para priorização de conteúdos relevantes, baseada em feedbacks dos usuários.
ELO43 BF43 IV Valida o requisito de evitar sobrecarga de notificações por meio de testes de notificações em cenários de alta carga.
ELO44 BF44 IM Conecta a moderação para redução de bots ao módulo de inteligência artificial responsável pela análise de comportamentos suspeitos.
ELO45 BF45 IV Valida a implementação de autenticação avançada com testes de segurança, como análise de vulnerabilidades.
ELO46 BF46 IM Relaciona o requisito de tempos de resposta inferiores a 1 segundo ao subsistema de otimização de consultas no banco de dados.
ELO47 BF47 RJ Justifica a criação do requisito de economia de bateria para melhorar a experiência em dispositivos móveis.
ELO48 BF48 ES Relaciona o requisito de compatibilidade com versões Android e iOS ao módulo de adaptação de sistema operacional.
ELO49 BF49 ED Relaciona a compatibilidade com navegadores antigos ao suporte de APIs e frameworks de versões legadas.
ELO50 BF50 ER Mostra a evolução do requisito de alta disponibilidade desde o conceito inicial até sua implementação atual.
ELO51 BF51 RJ Justifica o requisito de design acessível baseado nas diretrizes de acessibilidade universal.
ELO52 BF52 IV Valida a funcionalidade de backup de dados por meio de testes em cenários de falha do sistema.
ELO53 BF53 ES Relaciona o requisito de personalização de notificações ao subsistema de gestão de preferências de usuário.
ELO54 BF54 IM Conecta a funcionalidade de reações de emoji ao módulo de resposta interativa.
ELO55 BF55 IV Valida a implementação de moderação em tempo real com base em algoritmos de análise de conteúdo.

Autores: Genilson Silva, Alana Gabriele, Carlos Paz, Samuel Ribeiro.

Conclusão

Este trabalho descreveu a aplicação da rastreabilidade de requisitos no desenvolvimento do aplicativo Threads, utilizando a técnica Backward-From. Foram identificados e mapeados diversos elos de rastreabilidade, que abrangem diferentes aspectos dos requisitos, como suas origens, dependências, evolução e justificativas. Esses elos proporcionaram uma visão clara das inter-relações entre os requisitos e os componentes do sistema, garantindo que os requisitos estivessem alinhados aos objetivos do projeto e atendendo às expectativas dos stakeholders. A metodologia aplicada contribuiu para assegurar a consistência, completude e qualidade dos requisitos, promovendo um gerenciamento eficiente das mudanças e impactos ao longo do ciclo de desenvolvimento.

Referência

PUC-Rio. Rastreabilidade de requisitos: fundamentos e técnicas. Disponível em: https://www.dbd.puc-rio.br/pergamum/tesesabertas/1121794_2014_cap_2.pdf. Acesso em: 17 jan. 2025.

Histórico de Versões

Versão Data Descrição Autor Revisor
1.0 17/01/2025 Criação do documento Samuel Ribeiro Alana Gabriele
1.2 18/01/2025 Adição das tabelas Genilson Silva Alana Gabriele
1.3 19/01/2025 Adição da tabela Elo Carlos Eduardo, Samuel Ribeiro, Alana Gabriele, Genilson Silva Alana Gabriele
1.4 19/01/2025 Adição dos links de rastreabilidade Genilson Silva Alana Gabriele