Pular para conteúdo

Backlog SAFe

Personas

Uma persona é o personagem fictício da user story que representa o usuário ideal do produto. Todas as histórias são escritas a partir da perspectiva de um tipo de usuário.

  • Mestre: refere-se ao jogador de campanha de RPG que dejesa mestrar uma campanha no ChaosManager.
  • Jogador: refere-se jogador de uma campanha de RPG que deseja participar de um campanha mestrada pela persona metre.

Requisitos funcionais

Um requisito funcional é uma especificação de uma funcionalidade ou comportamento que um sistema ou software deve ser capaz de realizar. No caso do ChaosManager esses requisitos serão modelados usando o modelo de backlog SAFe, dividido em Histórias de Usuário (US), Funcionalidade (FN), Capacidade (CP) e Épicos (EP).

Para a criação do backlog foi utilizado o mural abaixo, a versão dos requisitos aqui apresentada esta demarcada como "Segunda versão do Backlog após verificação e validação":

Para fins de registro abaixo está a tabela com os requisitos.

Épico Capacidade Funcionalidade Nome da História de Usuário
Plataforma de gereciamento de campanha de rpg Administração caracteristicas de personagem Gerenciar raça Criar raça 
Visualizar raça
Editar raça
Excluir raça
Gerenciar profissão  Criar profissão
Visualizar profissão
Editar profissão
Excluir profissão
Administração de fichas Gerenciar ficha de personagem Criar ficha de personagem
Visualizar ficha de personagem
Editar ficha de personagem
Excluir ficha de personagem
Gerenciar estados Atribuir estados
Retirar estado
Gerenciar magia Adicionar magia 
Retirar magia 
Gerenciar arma Adicionar arma 
Retirar arma
Gerenciar equipamento Adicionar equipamento
Retirar equipamento
Gerenciar item Administrar item
Retirar item
Administração de dinâmicas Gerenciar testes Realizar teste
Visualizar resultado do teste
Gerenciar combate Ordenar iniciativa de combate
Realizar efeito do combate
Visualizar efeito do combate
Administração sala da campanha Gerenciar mapa Visualizar mapa
Importar mapa
Editar mapa
Gerenciar sala da campanha Criar campanha de rpg
Visualizar campanha de rpg
Editar campanha de rpg
Excluir campanha de rpg
Acessar campanha de rpg (mestre)
Acessar campanha de rpg (jogador)

Declaração das histórias de usuário

Número Nome Declaração Critérios de aceitação
US01 Criar raça Eu, como mestre quero ser capaz de criar uma raça para ter variedade de raças na campanha. Deve ser possível incluir características das raças (nome, descrição e atributos afetados)
Deve ser possivel determinar como as idades afetam essa raça.
Deve ser possivel que a raça altere os valores caracteristicos do personagem (atributos).
US02 Visualizar raça Eu, como mestre ou jogador quero ser capaz de visualizar a lista de raças para ver as raças que estão na campanha. Deve ser possível selecionar a raça para visualiza-la.
Deve ser possível visualizar características das raças (nome, descrição, atributos afetados e valores de modificação).
US03 Editar raça Eu, como mestre quero ser capaz de editar uma raçapara que eu possa ajustar suas informações relevantes. O sistema deve permitir que o mestre modifique características das raças (nome, descrição e atributos afetados).
US04 Excluir raça Eu, como mestre quero ser capaz de excluir uma raça para manter a lista de raças atualizada. Deve haver uma confirmação antes de remover a raça para evitar erros.
US05 Criar profissão Eu, como mestre quero ser capaz de criar uma profissão para ter variedade de profissões na campanha. Deve ser possível adicionar um nome e uma descrição.
Deve ser possível adicionar objetos da profissão.
Deve ser possível adicionar bônus e penalidades para os testes.
US06 Visualizar profissão Eu, como mestre ou jogador quero ser capaz de visualizar a lista de profissões para ver as profissões que estão na campanha. Deve ser possível selecionar a profissão para visualizar a sua descrição e objetos.
Deve ser possível visualizar características das profissões (nome, descrição, atributos afetados e valores de modificação).
US07 Editar profissão Eu, como mestre quero ser capaz de editar uma profissão para que eu possa ajustar suas informações relevantes. O sistema deve permitir que o mestre modifique as características da profissão (nome, descrição e objetos).
US08 Excluir profissão Eu, como mestre quero ser capaz de excluir uma profissão para manter a lista de profissões atualizada. Deve haver uma confirmação antes de remover a profissão para evitar erros.
US09 Criar ficha de personagem Eu, como mestre ou jogador quero ser capaz de criar uma ficha de personagem para registrar as informações do personagem Deve ser possível cadastrar o nome, a raça, a profissão, a idade, o gênero.
Deve ser possível atribuir o personagem à um jogador ou ao mestre.
Deve ser possível escrever historia, as notas e a descrição fisica do personagem.
Deve ser possível atribuir atributos.
Deve ser possível redistribuir atributos. Somente o mestre deve poder ver as fichas atribuídas a ele.
US10 Visualizar ficha de personagem Eu, como mestre ou jogador quero ser capaz de visualizar a ficha do personagem para que eu possa acessar informações detalhadas sobre o personagem Deve ser possível ver o nome, a raça, a profissão, a idade, o genero.
Deve ser possível ver magias, armas, equipamentos e itens.
Deve ser possível ver estados e traços.
Deve ser possível ver pontos de vida, pontos de armadura e pontos de energia.
Deve ser ver à quem o personagem está atribuido (mestre ou jogador).
Deve ser possível ver historia e a descrição fisica do personagem.
Deve ser possível ver o campo de anotações.
Deve ser possível ver os atributos.
US11 Editar ficha de personagem Eu, como mestre ou jogador quero ser capaz de editar a ficha do personagem para manter suas informações atualizadas. O sistema deve permitir o jogador/mestre editar o nome, a raça, a profissão, a idade, o gênero, a experiência e o dinheiro do personagem.
Deve ser possível editar possível ver magias, armas, equipamentos e itens.
Deve ser possível editar possível ver estados e traços.
O sistema deve permitir o jogador/mestre mudar à quem o personagem está atribuido (mestre ou jogador).
O sistema deve permitir que o mestre/jogador edite os pontos atuais de vida, de energia e de armadura.
O sistema deve permitir o jogador/mestre editar a história e a descrição física do personagem.
O sistema deve permitir o jogador/mestre editar o campo de anotações.
O sistema deve permitir o jogador/mestre editar os atributos.
US12 Excluir ficha de personagem Eu, como mestre quero ser capaz de excluir a ficha do personagem para quando o personagem morrer ou sair da campanha. Deve haver uma confirmação antes de remover a ficha para evitar erros.
US13 Atribuir estados Eu, como mestre ou jogador quero ser capaz de atribuir um estado para definir uma penalidade a algumas ações. Deve ser possivel selecionar estados já existentes.
US14 Retirar estado Eu, como mestre ou jogador quero ser capaz de retirar um estado para quando uma penalidade não é mais válida. O sistema deve permitir que o mestre/jogador retirar um estado da ficha ao selecioná-lo e clicar em um botão que indique remoção.
Deve haver uma confirmação antes de remover o estado para evitar erros.
Deve poder alterar os testes
US15 Adicionar magia Eu, como mestre ou jogador quero ser capaz de adicionar uma magia na ficha para saber quais possuo. Para adicionar uma nova magia deve ser possivel adicionar os valores caracteristicos da magia (classe da magia, nome e descrição).
Deve ser possível adicionar no máximo 10 magias.
US16 Retirar magia Eu, como mestre ou jogador quero ser capaz de retirar uma magia da ficha para quando não quiser mais usar ela. O sistema deve permitir que o mestre/jogador retirar uma magia da ficha ao selecioná-la e clicar em um botão que indique remoção.
Deve haver uma confirmação antes de remover a magia para evitar erros.
US17 Adicionar arma Eu, como mestre ou jogador quero ser capaz de adicionar uma arma na ficha para saber quais possuo. Deve ser possivel selecionar armas já existentes. 
Deve ser possível que o jogador/mestre adicione uma nova arma a ficha.
O sistema deve validar se a arma sendo adicionada não possui informações diferentes de alguma já existente.
US18
US18 Retirar arma Eu, como mestre/jogador quero ser capaz de retirar uma arma da ficha para quando não quiser permanecer com ela. O sistema deve permitir o jogador/mestre retirar uma arma da ficha ao selecioná-la e clicar em um botão que indique remoção.
 Deve haver uma confirmação antes de remover a arma para evitar erros.
US19 Adicionar equipamento Eu, como mestre ou jogador quero ser capaz de adicionar um equipamento na ficha para saber quais possuo. Deve ser possivel selecionar equipamentos já existentes.
Deve ser possível que o jogador/mestre adicione um novo equipamento a ficha.
Para adicionar um novo equipamento o jogador/mestre deve preencher os campos de nome, modificador de dano, teste usado e peso.
O sistema deve validar se o equipamento sendo adicionada não possui informações diferentes de alguma já existente.
Deve ser possível adicionar no máximo 5 equipamentos.
US20 Retirar equipamento Eu, como mestre ou jogador quero ser capaz de retirar um equipamento da ficha para quando não quiser permanecer com ele. Deve ser possível retirar um equipamento da ficha ao selecioná-lo e clicar em um botão que indique remoção.
 Deve haver uma confirmação antes de remover o equipamento para evitar erros.
US21 Administrar item Eu, como mestre ou jogador quero ser capaz de administrar um item na ficha para saber quais e quantos possuo . De ser possível adicionar novos itens.
Para adicionar um novo item devem ser preenchidos os campos de nome e peso.
Ao adicionar um novo item a quantidade será 1 por padrão.
Deve ser possível adicionar no máximo 15 itens.
Deve ser possível aumentar e diminuir a quantidade de um item.
US22 Retirar item Eu, como mestre ou jogador quero ser capaz retirar um item da ficha para quando não quiser permanecer com ele. O sistema deve permitir o jogador/mestre retirar um item da ficha ao selecioná-lo e clicar em um botão que indique remoção. <br Deve haver uma confirmação antes de remover o item para evitar erros.
US23 Realizar teste Eu, como jogadorquero ser capaz de realizar um teste de ações vinculado a um personagem para que ele tente superar uma dificuldade da narrativa. Deve ser possível realizar os 10 testes possíveis de acordo com o livro de regras (Força, Res. Física, Res. Mental, Sobrevivência, Agilidade, Destreza, Criatividade, Manipulação, Competência, Sorte).
Deve ter o campo para randomizar um inteiro de 1 a 20.
O sistema deve verificar se foi utilizado pontos de energia para realizar o teste de competência.
US24 Visualizar resultado do teste Eu, como mestre ou jogador, quero ser capaz de visualizar os resultados do teste para verificar se obtive sucesso ou fracasso no teste Deve ser possivel visualizar os resultados do teste por meio do registro de ações.
Deve mostrar o inteiro de 1 a 20 randomizado quando realiza teste no registro de ações.
 Deve mostrar o valor do teste de acordo com a ficha.
Se o valor do inteiro de 1 a 20 randomizado for igual a 1, deve mostrar a mensagem "falha crítica".
Se o valor do inteiro de 1 a 20 randomizado for igual a 20, deve mostrar a mensagem "Acerto crítico".
US25 Ordenar iniciativa de combate Eu, como mestrequero ser capaz de adicionar fichas em uma lista para determinar a ordem de quem tomará a primeira ação em um combate. Ao iniciar um novo turno de um combate o mestre deve ser capaz de adicionar em uma lista as fichas dos personagens que irão participar.
US26 Realizar efeito do combate Eu, como mestre quero ser capaz de realizar efeito de combate para agilizar a dinâmica com os jogadores. Deve adicionar o valor da ação/retaliação.
Deve adicionar valor de dano/PdE, se houver.
Deve adicionar reação de defender ou a resistência física.
Deve escolher a ficha de quem vai sofrer o dano (Ou a ficha ser por padrão a ordem do turno do combate que vai mudando quando passa pra proxima pessoa)
US27 Visualizar efeito do combate Eu, como mestre ou jogador, quero ser capaz de visualizar o efeito no turno de combate para verificar os dados que devem ser atualizados na ficha Deve ser possivel visualizar o efeito do combate por meio do registro de ações.
Deve ser possível visualizar os danos causados no registro de ações.
US28 Visualizar mapa Eu, como mestre ou jogador quero ser capaz de visualizar o mapa para compreender como é a geografia do mundo da campanha. Todos os jogadores devem ver as alterações no mapa simultaneamente.
US29 Importar mapa Eu, como mestre quero ser capaz de importar uma imagem para representar como é a geografia do mundo da campanha. A imagem precisa ser .png ou .jpg.
A imagem precisa ter a resolução mínima de 1280 x 720 pixels.
US30 Editar mapa Eu, como mestre quero ser capaz de editar o mapa exibido para manter atualizado como está a geografia do mundo da campanha. Deve ser possível desenhar sobre o mapa com um pincel.
US31 Criar campanha de rpg Eu, como mestre quero ser capaz de criar uma sala de campanha para que possa reunir todos os jogadores, informações e ferramentas da minha campanha. Deve ser possível o mestre nomear a sala de campanha.
Deve ser possível adicionar uma senha de acesso a sala de campanha para o mestre.
A senha deve ser obrigatória ao mestre, e deve ter no mínimo 5 dígitos.
Deve ser possível incluir informações relacionadas à campanha.
Deve ser gerado um código de acesso para que os jogadores acessem a campanha.
US32 Visualizar campanha de rpg Eu, como mestre ou jogador quero ser capaz de visualizar as informações da campanha para que possa estar informado de sua história. Deve ser possível visualizar as informações da campanha como: nome e história da campanha.
O sistema deve permitir o mestre visualizar o nome e as senhas da sala.
O sistema deve permitir o jogador visualizar o nome e a senha dos jogadores da sala.
US33 Editar campanha de rpg Eu, como mestre quero ser capaz de editar as informações da minha sala para mante-las atualizadas com o decorrer da campanha. O mestre deve ser capaz de editar as informações da campanha como nome e história da campanha.
US34 Excluir campanha de rpg Eu, como mestre quero ser capaz de excluir a minha sala de campanha para caso ela seja finalizada ou não queira mais continuá-la. Apenas mestre deve ser capaz de excluir a sala de campanha.
Ao excluir a sala, todas as informações associadas à campanha também devem ser removidas.
Deve haver uma confirmação antes de remover a sala de campanha para evitar erros.
US35 Acessar campanha de rpg (mestre) Eu, como mestre quero ser capaz de acessar a minha sala para poder mestrar uma campanha de RPG. O acesso deve ser concedido ao mestre através da senha de acesso.
Deverá haver uma notificação caso a senha seja digitada incorretamente.
US36 Acessar campanha de rpg (jogador) Eu, como jogador quero ser capaz de acessar uma sala para poder participar de uma campanha de RPG. Jogadores devem ser capazes de inserir um um nickname para acessar a sala de campanha.
O acesso deve ser concedido através de um código de acesso.

Requisitos não-funcionais

Um requisito não funcional é uma especificação de uma característica ou propriedade do sistema ou software que não esta diretamente relacionada à sua funcionalidade, como desempenho, segurança, usabilidade, entre outras.

Número Declaração
RNF01 A aplicação deve seguir o livro base de regras Order & Chaos
RNF02 A aplicação deve ser responsiva a diferentes tamanhos de tela
RNF03 A aplicação deve ser desenvolvida utilizando NextJS e Node
RNF04 A aplicação deverá rodar nos browsers mais comumente utilizados (Chrome, Edge, Opera) em suas versões recentes
RNF05 O sistema deve ser desenvolvido orientado a objetos
RNF06 O sistema deve ser desenvolvido em paradigma funcional
RNF07 O sistema deve utilizar Jest como biblioteca de testes
RNF08 O sistema deve utilizar Github Actions para automação de processos e testes

Histórico de versão

Data Versão Descrição Autor
25/10 1.0 Criação do backlog Luciano Ricardo