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 |