Skip to content

Backward-From

Introdução

A rastreabilidade "backward-from" é um conceito fundamental na engenharia de software e gerenciamento de requisitos, que se refere à capacidade de seguir o caminho inverso de um artefato ou item de software para identificar suas origens ou relacionamentos. Essa abordagem de rastreabilidade é especialmente valiosa em projetos de desenvolvimento de software, onde a compreensão da origem e do contexto de requisitos, componentes de software ou mudanças é crucial para garantir a qualidade, a manutenção eficiente e a conformidade com os objetivos do projeto. [3]

Para a realização da técnica de backward-from, foi utilizado o modelo de Toranzo, onde as informações a serem rastreadas são classificadas em quatro níveis e seis elos de rastreabilidade. [2]

Metodologia

A metodologia de rastreabilidade "backward-from" compreende uma série de passos sistemáticos projetados para seguir o caminho inverso de um artefato específico no desenvolvimento de software. Os níveis são: [2]

  • Ambiental: informações oriundas do contexto no qual a organização está inserida;
  • Organizacional: informações pertecentes à organização;
  • Gerencial: informações que auxiliam na gerencia do projeto;
  • Desenvolvimento: informações associadas aos diversos artefatos gerados ao longo do processo de desenvolvimento.

Os principais elos de rastreabilidade são: [2]

  • Satisfação: classe origem tem dependência de satisfação com a classe destino;
  • Recurso: classe origem tem dependência de recurso com a classe destino;
  • Responsabilidade: registra a participação, responsabilidade e ação de pessoas sobre artefatos;
  • Representação: captura a representação ou modelagem dos requisitos em outras linguagens;
  • Alocado: classe origem está relacionada à classe destino, que representa um subsistema;
  • Agregação: indica “composição” de elementos.

Legendas:

Tabelas de requisitos funcionais

A Tabela 1 engloba todos os Requisitos Funcionais Elicitados:

ID Descrição Rastreabilidade Implementado
RF01 Deve ser possível realizar login OB01 Sim
RF02 Deve ser possível pesquisar livros OB02 Sim
RF03 Deve ser possível marcar os livros como: Lido / Lendo / Quero ler / Abandonei / Relendo OB03 Sim
RF04 Deve existir uma timeline onde é possível ver atualizações literárias de outros usuários. OB04 Sim
RF05 Deve ser possível adicionar comentários nos posts OB05 Sim
RF06 Deve ser possível curtir posts da timeline OB06 Sim
RF07 Deve ser possível realizar cadastro IN01 Sim
RF08 Deve ser possível recuperar a senha IN02 Sim
RF09 Deve ser possível cadastrar um livro IN03 Sim
RF10 Deve ser possível escrever resenhas dos livros marcados como lidos IN04 Sim
RF11 Deve ser possível dar notas aos livros lidos IN05 Sim
RF12 Deve ser possível contabilizar os dias lendo livros quando o status for relendo IN06 Não
RF13 Deve ser possível registrar o histórico de leitura IN07 Sim
RF14 Deve ser possível adicionar livro a estante IN08 Sim
RF15 Deve ser possível criar lista de livros desejados IN09 Sim
RF16 Deve ser possível compartilhar a lista de livros desejados IN10 Sim
RF17 Deve ser possível pesquisar outros usuários IN11 Sim
RF18 Deve ser possível abrir e analisar o perfil de outros usuários IN12 Sim
RF19 Deve ser possível adicionar outros usuários como amigo IN13 Sim
RF20 Deve ser possível filtrar livros por nota IN14 Não
RF21 Deve ser possível filtrar livros por categoria IN15 Não
RF22 Deve ser possível criar uma meta de leitura para o ano BS01 Sim
RF23 Deve ser possível sortear um livro cadastrado nas metas para o ano para a próxima leitura BS02 Sim
RF24 Deve ser possível sortear um livro dentre os livros marcados como Quero ler para a próxima leitura do usuário BS03 Não
RF25 Deve ser possível ver informações gerais de um livro cadastrado, como sinopse, autor, quantidade de páginas, etc BS04 Sim
RF26 Deve existir uma aba de lançamentos de livros BS05 Sim
RF27 Deve existir uma aba de notícias sobre editoras e autores BS06 Não
RF28 Deve existir um FAQ para guiar os usuários nas funcionalidades BS07 Não
RF29 Deve ser possível alterar o tema (escuro/claro/variantes) BS08 Sim
RF30 Deve ser possível visualizar um ranking semanal/mensal de livros mais bem classificados BS09 Não
RF31 Deve ser possível visualizar um ranking semanal/mensal de livros mais lidos BS10 Não
RF32 Deve ser possível postar fotos e/ou vídeos em formato "stories" BS11 Não
RF33 Deve ser possível compartilhar estantes BS12 Não
RF34 Deve ser possível realizar desafios dentro da plataforma BS13 Sim
RF35 Deve ser possível criar desafios entre amigos BS14 Não
RF36 Deve ser possível mandar mensagens diretas entre usuários BS15 Sim
RF37 Deve ser possível conquistar prêmios e recompensas a partir de desafios BS16 Não
RF38 Deve ser possível expor prêmios nos perfis e na timeLine BS17 Não
RF39 Deve ser possível receber recomendações de livros com base nas preferências literárias dos usuários BS18 Não
Tabela 1: Requisitos Funcionais Elicitados. (Autor: Ana Rocha, 2023)

Tabelas de requisitos não-funcionais

A Tabela 2 engloba todos os Requisitos Não-Funcionais Elicitados:

ID Descrição Rastreabilidade Implementado
RNF01 A senha deve conter no mínimo um número uma letra maiúscula e um caracter especial IN16 Não
RNF02 Deve ser possível fazer cadastro/login com as credenciais do facebook IN17 Sim
RNF03 Deve ser possível obter o aplicativo em sistemas IOS e Android IN18 Sim
RNF04 Os dados do usuário devem ser guardados de forma eficaz, impendindo o vazamento dos mesmos IN19 Sim
RNF05 O Skoob deve ser capaz de se adaptar a diferentes tamanhos de tela e resoluções IN20 Sim
RNF06 O Skoob deve ser capaz de interoperar com outras plataformas de redes sociais, permitindo aos usuários compartilhar conteúdo BS19 Sim
Tabela 2: Requisitos Não-Funcionais Elicitados. (Autor: Ana Rocha, 2023)

Elos

Conforme mencionado na metodologia, a classificação dos requisitos será conduzida com base nos meios e tipos de elos. No entanto, uma análise realizada pelos responsáveis pelo artefato revelou que todos os requisitos elicitados pertencem à categoria "Desenvolvimento", sendo originados dos artefatos produzidos durante o processo de desenvolvimento do projeto, nenhum deles está associado à estrutura organizacional ou às práticas de gestão do projeto. Adicionalmente, iremos nos concentrar em três tipos específicos de elos de rastreabilidade: Satisfação, Recurso e Agregação.

Os requisitos funcionais listados na Tabela 1, com exceção de OB01, IN01 e IN02, estabelecem um elo de rastreabilidade do tipo "Recurso" em relação ao requisito funcional OB01, que diz respeito à capacidade de realizar login. Adicionalmente, os requisitos não-funcionais IN19 e BS19, listados na Tabela 2, também mantêm uma dependência com o requisito funcional OB01, indicando a presença do mesmo tipo de elo entre eles.

Além disso, o requisito funcional BS07, que aborda a implementação de um FAQ para orientar os usuários nas funcionalidades, estabelece um elo de Agregação com todos os requisitos funcionais da Tabela 1, exceto ele mesmo. Portanto, podemos descrever que BS07 agrega todas as demais funcionalidades.

A Tabela 3 evidencia os outros elos entre os requisitos apresentados nas tabelas anteriores:

ID Requisito Tipo de Elo
ELO01 RF01 / OB01 Recurso: OB01 depende de IN01
ELO02 RF02 / OB02 Satisfação: OB02 satisfaz BS04
Recurso: OB02 depende de IN03
ELO03 RF03 / OB03 Satisfação: OB03 satisfaz IN08
ELO04 RF04 / OB04 Satisfação: OB04 satisfaz BS04
ELO05 RF05 / OB05 Recurso: OB05 depende de OB04,
OB05 depende de IN12
ELO06 RF06 / OB06 Recurso: OB06 depende de OB04,
OB06 depende de IN12
ELO07 RF07 / IN01 Recurso: IN01 depende de IN16
ELO08 RF08 / IN02 Recurso: IN02 depende de IN16
ELO09 RF10 / IN04 Recurso: IN04 depende de OB03
Agregação: IN04 agrega OB04
ELO10 RF11 / IN05 Recurso: IN05 depende de OB03
Agregação: IN05 agrega OB04,
IN05 agrega BS18
ELO11 RF12 / IN06 Recurso: IN06 depende de OB03,
IN06 depende de IN07
ELO12 RF13 / IN07 Recurso: IN07 depende de OB03
Agregação: IN07 agrega OB04
ELO13 RF14 / IN08 Recurso: IN08 depende de OB02
Agregação: IN08 agrega BS18
ELO14 RF15 / IN09 Agregação: IN09 agrega IN08,
IN09 agrega BS18
ELO15 RF16 / IN10 Recurso: IN10 depende de IN09,
IN10 depende de BS19
ELO16 RF18 / IN12 Recurso: IN12 depende de IN11
Agregação: IN12 agrega BS04
ELO17 RF19 / IN13 Recurso: IN13 depende de IN12
ELO18 RF20 / IN14 Agregação: IN14 agrega OB02
ELO19 RF21 / IN15 Agregação: IN15 agrega OB02
ELO20 RNF02 / IN17 Satisfação: IN17 satisfaz OB01,
IN17 satisfaz IN01
ELO21 RF22 / BS01 Agregação: BS01 agrega IN08
ELO22 RF23 / BS02 Recurso: BS02 depende de BS01
ELO23 RF24 / BS03 Recurso: BS03 depende de OB03
ELO24 RF26 / BS05 Satisfação: BS05 satisfaz BS04
ELO25 RF30 / BS09 Satisfação: BS09 satisfaz BS04
ELO26 RF31 / BS10 Satisfação: BS10 satisfaz BS04
ELO27 RF32 / BS11 Recurso: BS11 depende de IN20
ELO28 RF33 / BS12 Recurso: BS12 depende de IN08,
BS12 depende de BS19
ELO29 RF34 / BS13 Recurso: BS13 depende de IN07
ELO30 RF35 / BS14 Recurso: BS14 depende de IN13
Agregação: BS14 agrega BS13
ELO31 RF36 / BS15 Recurso: BS15 depende de IN12
ELO32 RF37 / BS16 Recurso: BS16 depende de BS13
ELO33 RF38 / BS17 Recurso: BS17 depende de BS16
Agregação: BS17 agrega OB04
Tabela 3: Elos de rastreabilidade. (Autor: Ana Rocha, 2023)

Conclusão

Em síntese, a aplicação da técnica de rastreabilidade "backward-from" no Skoob, utilizando o modelo de Toranzo, permitiu compreender as complexas interações entre os requisitos funcionais e não-funcionais. A análise dos elos identificados destacou a importância de recursos específicos para operações fundamentais, como o login, bem como a necessidade de orientação clara aos usuários por meio de um FAQ.

Bibliografia

[1] POHL, Klaus e RUPP, Chris. Requirements Engineering Fundamentals. Disponível em: Aprender 3. Acesso em 16 nov. de 2023.
[2] SERRANO, Milene e Mauricio. Slide “Requisitos – Aula 26”. Disponível em: Aprender 3. Acesso em 16 nov. de 2023.
[3] SAYÃO, Miriam e LEITE, Julio. Monografia Rastreabilidade de Requisitos. Disponível em: Aprender 3. Acesso em 16 nov. de 2023.

Histórico de Versão

Versão Data de execução Data prevista de revisão Descrição Autor(es) Revisado
1.0 16/11/2023 17/11/2023 Criação do artefato Shaine
1.1 16/11/2023 17/11/2023 Evolução do artefato Ana Caroline

Revisão

Data de Revisão Cobertura de Versões Técnica Revisor(es)
16/11/2023 1.0 Revisão estática Ana Caroline
20/11/2023 1.1 Revisão estática Shaíne
26/11/2023 Todas até a data desta revisão Revisão por inspeção Yago Passos