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 |