BACKLOG DO PRODUTO
Versionamento
Versão | Data | Modificação | Autor |
---|---|---|---|
0.1 | 29/04/2019 | Adiciona introdução, metodologia e define estrutura do backlog | Welison Regis |
0.2 | 08/04/2019 | Adiciona os épicos na documentação | Lieverton Silva |
0.3 | 08/04/2019 | Adiciona as histórias de usuário | André Pinto, Gustavo Marques, Leonardo Medeiros, Lieverton Silva, Paulo Rocha, Welison Regis |
1.0 | 08/04/2019 | Adiciona os critérios de aceitação e gera a primeira versão do backlog | André Pinto, Gustavo Marques, Leonardo Medeiros, Lieverton Silva, Paulo Rocha, Welison Regis |
INTRODUÇÃO
O atual documento tem por objetivo apresentar os épicos, as histórias de usuário (US) e o product backlog da plataforma Brainly, tendo como foco a modelagem de requisitos sob os aspectos da metodologia ágil com respaldo dos artefatos coletados nas dinâmicas anteriores. O backlog é composto por US's às quais são resolvidas em um período de tempo (sprint) e que pertencem a um contexto maior, no caso os épicos.
METODOLOGIA
Para desenvolver as histórias de usuário, tomou-se como base as priorizações dos requisitos elencados (disponíveis aqui), avaliados pela técnica MoSCoW, além dos outros artefatos dispostos nessa página do projeto. Desenvolveu-se as US's com os devidos critérios de aceitação para a história, além de agregá-las a um épico. Ademais, pontuou-se as histórias de acordo com sua dificuldade com base na sequência de Fibonacci e, por fim, criou-se algumas sprints com as US's mais primordiais.
ÉPICOS
EP01
Documentação
Documentação necessária para o desenvolvimento do projeto, que servirão como base para equipe de desenvolvimento e como guia para para manter a equipe alinhada. Inclui documento de visão, documento de arquitetura, elicitação de requisitos, além de toda documentação necessária para especificar o projeto.
EP02
Autenticação
Implementação de mecanismos funcionais que permitem a autenticação do usuário no sistema. Envolve o sistemas de cadastro e login.
EP03
Questões
Criar funcionalidades que permita a interação entre os usuário por meio de perguntas e respostas. Inclui os comentários nas questões e divisão das atividades por meio de categorias.
EP04
Moderação
Criar mecanismos que possibilitem e facilitem o gerenciamento de condutas impróprias, assim como a possibilidade de usuários denunciá-las.
EP05
Perfil
Implementação de mecanismos que possibilitem ao usuário o gerenciamento do próprio perfil. Inclui personalizar conta , visualizar perfil e seguir outros usuário.
EP06
Gamificação
Aplicar as técnicas de gamificação citadas no plano de gamificação, assim como implementar funcionalidades próprias de jogos, como sistema de pontuação, ranking e nível.
EP07
Multiplataforma
Desenvolver o sistema para plataforma web e para as plataformas mobile android e ios.
HISTÓRIAS DE USUÁRIO
ID | Épico | Nome | Eu, como | desejo | para que eu possa | Priorização | Pontos | Elicitação |
---|---|---|---|---|---|---|---|---|
US01 | Documentação | Plano de comunicação | membro da equipe | elaborar um plano de comunicação | denfinir os canais de comunicação da equipe e formalizar em forma de documento | M | 5 | - |
US02 | Documentação | Plano de elicitação | membro da equipe | montar um plano de elicitação | definir as técnicas que serão utilizadas para levantar requisitos | M | 5 | - |
US03 | Documentação | Documento de visão | membro da equipe | elaborar o documento de visão | disponibilizar a visão do projeto, para que os interessados possam entender o propósito do projeto | M | 5 | - |
US04 | Documentação | Documento de arquitetura | desenvolvedor | elaborar o documento de arquitetura | compartilhar com os membros da equipe a arquitetura do projeto | M | 8 | - |
US05 | Documentação | Estrutura analítica de projeto(EAP) | membro da equipe | elaborar EAP do projeto | identificar elementos terminais (os produtos, serviços e resultados a serem feitos em um projeto). | M | 5 | - |
US06 | Documentação | Documento de Especificação Suplementar | membro da equipe | elaborar Documento de Especificação Suplementar | é detalhar todos os aspectos não abordados diretamente nos documentos de visão, caso de uso ou arquitetura. | S | 5 | - |
US07 | Documentação | Plano de gamificação | membro da equipe | elaborar o plano de gamificação | definir as técnicas de gamificação a serem implantadas no projeto | M | 8 | - |
US08 | Documentação | Protótipo de baixo nível | membro da equipe | fazer o protótipo de baixo nível | validar com a equipe as idéias propostas | M | 5 | - |
US09 | Documentação | Protótipo de alta fidelidade | membro da equipe | fazer o protótipo de alta fidelidade | validar o projeto com os usuários ou cliente | C | 13 | - |
US10 | Autenticação | Login | usuário | fazer o login na plataforma usando minha conta | acessar a plataforma com facilidade | M | 5 | AP1.2 |
US11 | Autenticação | Cadastro com facebook | usuário | cadastrar-me na plataforma ultilizando minha conta do facebook | realizar o cadastro de maneira rápida | M | 5 | AP1.1 |
US12 | Autenticação | Termos de uso | proprietário | que o usuário aceite os termos de uso ao realizar o cadastro na plataforma | resguardar-me perante a legislação em vigor | M | 13 | AP1.13 |
US13 | Autenticação | Cadastro com email | usuário | cadastrar-me na plataforma ultilizando minha conta de email | acessar novas funcionalidades do sistema | M | 5 | AP1.1 |
US14 | Autenticação | Recuperar senha | usuário | ter a possibilidade de recuperar minha senha caso a esqueça | continuar utilizando o Brainly sem ter a necessidade de criar uma nova conta ao esquecer a senha | M | 5 | BR1.14 |
US15 | Autenticação | Cancelar Conta | usuário | poder cancelar minha conta | retirar todos os meus dados quando desejar | S | 3 | BR1.16 |
US16 | Questões | Responder | usuário | poder responder uma pergunta | ajudar outros usuários da comunidade | M | 3 | AP1.9 |
US17 | Questões | Anexar arquivos | usuário | anexar arquivos de vários formatos às minhas perguntas | complementar minha pergunta, de modo a facilitar o entendimento dos leitores | C | 3 | INT 1.1 |
US18 | Questões | Compartilhar questões | usuário | compartilhar as questões da plataforma nas minhas redes sociais | ter maior visibilidade na minha dúvida e poder solicitar ajuda de amigos | W | 3 | INT1.3 |
US19 | Questões | Categorizar perguntas por matérias | usuário | categorizar uma pergunta em dada disciplina | filtrar as questões baseado em uma matéria de interesse | S | 5 | API1.5 |
US20 | Questões | Retirar dúvida nos comentários | usuário | interagir na área de comentários de uma pergunta ou resposta | retirar eventuais dúvidas sobre as perguntas e/ou explicações | S | 3 | INT1.5 |
US21 | Questões | Recursos de escrita | usuário | utilizar os diferentes tipos de formatação de texto | possibilitar uma melhor visualização das minhas respostas. | C | 8 | INT1.6 |
US22 | Questões | Inserção de fórmulas matemáticas | usuário | inserir fórmulas matemáticas nas respostas. | possibilitar uma melhor visualização das minhas respostas. | C | 8 | INT1.7 |
US23 | Questões | Highlight de texto | usuário | destacar certas informações do meu texto | possibilitar uma melhor visualização das minhas respostas. | C | 5 | INT1.8 |
US24 | Questões | Limite na quantidade de respostas | desenvolvedor | limitar a quantidade de respostas que podem ser fornecidas em uma questão | manter a sustentabilidade da quantidade de dados no banco de dados, além de diminuir redundâncias em respostas | C | 1 | EN2.3 |
US25 | Questões | Visualizar perguntas e respondê-las | usuário | ter livre acesso as perguntas, assim como suas respostas | respondê-las ou visualizá-las | M | 3 | AP1.3 |
US26 | Moderação | Advertências no perfil | moderador | ver as advertências de um usuário na página de seu perfil | identificar mais facilmente os infratores reincidentes | C | 3 | INT2.2 |
US27 | Moderação | Categoria de denúncias | moderador | visualizar as denúncias separadas por categorias | filtrar as denúncias e escolhe-las para realizar a moderação. | C | 3 | INT2.3 |
US28 | Moderação | Filtragem de denúncias | moderador | filtrar as denúncias por categorias | ter mais facilidade ao gerenciar as denúncias recorrentes de infrações na plataforma | C | 5 | INT2.4 |
US29 | Moderação | Denunciar por modalidade | usuário | denunciar as irregularedades que encontrar, de acordo com o tipo da mesma | facilitar o trabalho da moderação em verificar esta denúncia | C | 3 | INT2.5 |
US30 | Moderação | Denúncias automaticas | administrador | que a plataforma realize denúncias automáticas | detectar mais infrações e acelerar o processo de moderação | W | 13 | INT 2.6 |
US31 | Moderação | Níveis entre moderadores | administrador | que a plataforma designasse níveis diferentes aos moderadores. | ter uma maior confiabilidade nos moderadores na realização de determinadas tarefas de moderação | W | 5 | INT 2.8 |
US32 | Moderação | Comunicação entre moderadores | moderador | ter um canal de comunicação com outros moderadores e a administração | tirar dúvidas à respeito do sistema ou ações de usuários | C | 13 | INT2.11 |
US33 | Moderação | Raking de moderadores | administrador | que os moderadores possam visualizar um ranking de ações realizadas por moderadores | para estimular a competição entre eles | C | 5 | INT2.12 |
US34 | Moderação | Painel de denúncias | moderador | ter um painel central de denúncias | analizar as denúncias realizadas | S | 5 | INT2.13 |
US35 | Moderação | Apagar conteúdo | moderador | apagar conteúdo impróprio ou indevido | para que questões, comentários ou respostas não possam ser vistas por mais usuários | M | 2 | INT2.14 |
US36 | Moderação | Exclusão de contas e banimento de usuários | moderador | dispor de ferramentas que permitam a exclusão de contas e o banimento de usuários | controlar as ações de usuários infratores e puni-los | M | 5 | INT2.15 |
US37 | Moderação | Correção de atividades | Moderador | liberar para edição uma pergunta ou resposta que foi denunciada como incorreta | possibilitar ao usuário a edição dos erros cometidos na questão | S | 3 | INT2.16 |
US38 | Moderação | Denúncia feita incorretamente | Moderador | aprovar uma tarefa, marcando que suas denúncias foram feitas incorretamente | controlar as denúncias indevidas e manter as tarefas coerentes | S | 3 | INT2.17 |
US39 | Perfil | Logout em conta | usuário | poder realizar logout de minha conta | avisar aos meus amigos que estou offline | C | 1 | AP1.12 |
US40 | Perfil | Seguir usuário | usuário | seguir outro usuário | receber notificações das atividades desse usuário | C | 5 | EN2.2 |
US41 | Perfil | Gerenciar e personalizar conta | usuário | poder visualizar, personalizar, gerenciar minha conta, perfil e informações | mostrar ao outros usuários as informações que eu desejar | S | 8 | BR1.13 |
US42 | Perfil | Feed de contribuições | usuário | visualizar meu feed de contribuições feitas para a plataforma | ter o registro de atividades que realizei no site, facilitando um possível acesso futuro. | C | 5 | INT1.4 |
US43 | Perfil | Alterar a região do sistema | usuário | poder alterar a região do meu usuário no Brainly | ver as perguntas e respostas na minha região e idioma | W | 2 | BR1.25 |
US44 | Gamificação | Subir de nível | usuário | subir de nível | sentir mais interesse em ajudar na plataforma | M | 3 | EN2.5 |
US45 | Gamificação | Ranking de usuário | usuário | ver um ranking com os melhores usuários | saber quem são os melhores usuários em termos de respostas | M | 8 | EN2.6 |
US46 | Gamificação | Informar o usuário a realização de tarefas e pontuação | usuário | ser notificado, com os pontos que ganhei, quando realizar uma tarefa | saber quando terminei uma tarefa e quantos pontos ganhei, tendo mais controle de minhas ações em relação as tarefas | M | 2 | AP1.6 |
US47 | Gamificação | Feedback em respostas | usuário | poder dar um feedback (em formas de curtir, melhor respostas e avaliar a qualidade) nas respostas | demonstrar se fui ou não ajudado, monstrando a quem respondeu e a possíveis leitores | M | 8 | AP3.2 |
US48 | Gamificação | Possibilidade de se tornar moderador | usuário | ter a possibilidade de me tornar moderador | melhor contribuir com o Brainly | S | 5 | BR1.17 |
US49 | Multiplataforma | Moderação multi Plataforma | Moderador | realizar atividades de moderação em diversas plataformas diferentes | ter maior flexibilidade no acesso e realização da moderação. | S | 13 | INT2.1 |
US50 | Multiplataforma | Multiplataforma | Usuário | que a plataforma esteja disponivel para diferentes sistemas | acessar à plataforma pelos meus diferentes dispositivos | S | 21 | EN2.1 |
CRITÉRIOS DE ACEITAÇÃO
US01
Plano de comunicação
- Conter os canais de comunicação e a especificação como cada um será utilizado.
US02
Plano de elicitação
- Conter técnicas a serem aplicadas e justificativas.
US03
Documento de visão
- Deve haver uma tabela com as versões do documento;
- Deve apresentar o escopo do projeto;
- Revisão constante do documento por toda equipe do projeto.
US04
Documento de arquitetura
- Deve haver uma tabela com as versões do documento;
- Deve conter um diagrama que representa visualmente as camadas da arquitetura;
- Deve haver um texto explicativo sobre todas as camadas da arquitetura;
- Deve conter diagramas de casos de uso para todas as cenas;
- Devem ser apresentadas as plataformas que serão usadas como suporte no desenvolvimento;
- Revisão constante do documento pelo membros da equipe responsáveis pela arquitetura do projeto.
US05
EAP
- Todas as entregas do escopo do projeto previstas;
- Divisão do projeto em fases.
US06
Especificação suplementar
- Deve conter as restrições do sistema;
- Deve conter os tópicos de usabilidade;
- Os requisitos citados deverão ser justificados;
US07
Plano de gamificação
- Deve conter as técnicas a serem utilizadas e a justificativa para implementação de cada uma.
US08
Protótipo de baixo nível
- Deve conter as idéias propostas pela equipe;
- Deve conter todas as partes do projeto.
US09
Protótipo de alta fidelidade
- Deve conter os fluxos de uso do sistema;
- Deve ser utilizado uma ferramenta própria para criação de protótipos.
US10
Login
- Implementar autenticação de usuário e senha no banco de dados;
- Implementar sistema de autenticação com facebook;
- Integração do sistema de login com confirmação por email.
US11
Cadastro com facebook
- Implementar a interface de cadastro com facebook de forma dinâmica, de fácil uso###AP3.3
- Implementar sistema de cadastro com facebook.
US12
Termos de uso
- Implementar interface de exibição dos termos de uso.
- Garantir que o usuário só poderá prosseguir no cadastro após aceitar os termos de uso.
- Garantir concessão da autorização para o uso de dados do usuário para diversos fins comerciais do Brainly - BR2.3.
US13
Cadastro com email
- Sistema deve fazer a validação do email inserido;
- Implementar sistema de confirmação de email;
- Verificar se o usuário atender à idade mínima para registro na plataforma - BR2.1;
- Verificar se o usuário possui menos de 16 anos, para classificar as permissões de acesso a suas informações - BR2.7.
US14
Recuperar senha
- Sistema deve enviar uma mensagem para o email cadastrado, com link para redefinição de senha;
- Link enviado por email deve redirecionar para página de redefinição de senha do referido usuário, está página é responsável por fazer a alteração da senha no banco de dados.
US15
Cancelar conta
- Deve notificar ao usuário que esta ação é irreversível;
- Deve marcar este usuário como cancelado no banco de dados, mas manter seus dados salvos.
US16
Responder
- Respostas devem ser gravadas permanentemente no banco de dados;
- O sistema deve limitar a quantidade de respostas por tarefa em 2.
US17
Anexar arquivos
- O usuário deve ser capaz de anexar arquivos nos formatos: docx, odt, txt, png, jpeg, bmp, pdf e html;
- O tamanho do anexo deve ser limitado a 16MB.
US18
Compartilhar questões
- Usuário deve ser capaz de compartilhar suas tarefas nas redes sociais: Twitter, Facebook e Instagram.
US19
Categorizar perguntas por matérias
- O sistema deverá providenciar as tags necessárias para categorizar as perguntas por área de conhecimento;
- Deve ser possível categorizar uma pergunta em uma das seguintes matérias: Matemática, história, geografia, biologia, português, física, química, filosofia, sociologia, administração, pedagogia, inglês, artes, saúde, educação física, contabilidade, direito, psicologia, informática, lógica, educação moral, espanhol, música, educação técnica ou ENEM.
US20
Tirar dúvidas nos comentários
- Para fazer comentário é necessário estar logado no Brainly;
- Deve haver um espaço para comentário tanto na pergunta como nas respostas para que os usuários possam tirar dúvidas sobre a questão;
- O espaço para comentário deve ter um limite de 400 caracteres.
US21
Recursos de escrita
- A ferramenta de edição de texto deve possibilitar a escrita em: negrito, itálico, sublinhado;
- Deve ser possível ao usuário inserir diferentes tamanhos para títulos ou textos durante a sua resposta ou pergunta.
US22
Inserção de fórmulas matemáticas
- A ferramenta de edição de texto deve possibilitar a inserção de códigos LaTeX para facilitar o desenvolvimento de questões que necessitem de excessivas expressões matemáticas;
- A ferramenta LaTeX deve ser consistente entre as plataformas do sistema Brainly.
US23
Highlight de texto
- O sistema deve oferecer recurso para destacar partes do texto, como por exemplo, ocorre em citações em arquivos markdown;
- A implementação do highlight deve observar as restrições de design. (restrições)
US24
Limite na quantidade de respostas
- O sistema deve aceitar apenas duas respostas por questão;
- Apenas duas pessoas podem estar respondendo simultaneamente uma pergunta.
US25
Visualizar perguntas e respondê-las
- As perguntas devem ser exibidas no feed principal da plataforma, para que todos os usuários as vejam e possam respondê-las;
- Qualquer usuário deve ter permissão para ler qualquer pergunta.
US26
Advertências no perfil
- Os moderadores devem poder ver no perfil do usuário a quantidade de advertências que o mesmo recebeu;
- Usuários comuns não devem ter acesso a este dado no perfil de outros usuários;
- Um usuário pode ver a quantidade de advertências que já recebeu, em seu próprio perfil.
US27
Categoria de denúncias
- O sistema deverá providenciar categorização das denúncias por tipo;
- As denúncias devem ser categorizadas nos seguintes tipos: Links, Pergunta não apropriada, Conteúdo ofensivo, Matéria incorreta, Publicidade e Pergunta contém dados pessoais.
US28
Filtragem de denúncias
- Ao acessar o Painel de denúncias os moderadores devem ter opção de filtrá-las pelas categorias;
- O filtro ter capacidade para abranger uma ou mais categorias,
US29
Denunciar por modalidade
- Ao realizar uma denuncia o usuário deve ser obrigado indicar a qual tipo de infração ela corresponde;
- Esta informação deverá ser enviada aos moderadores.
US30
Denúncias automáticas
- O sistema deve detectar automaticamente perguntas suspeitas, com base em palavras ofensivas e excesso de links, e enviá-las para moderação;
- A base de palavras ofensivas deve ser constantemente atualizada, para aumentar a efetividade do sistema.
US31
Níveis entre moderadores
- Os moderadores devem ser divididos em níveis baseados em sua pontuação e tempo como moderador;
- Moderadores de níveis mais altos devem possuir poder de moderação sobre moderadores de níveis mais baixos;
- Deve haver uma forma de limitar algumas ações apenas para os níveis mais altos de moderação.
US32
Comunicação entre moderadores
- Deve haver um canal de comunicação exclusivo para moderadores;
- Usuários comuns não devem ter acesso a este canal;
- Administradores devem ter acesso a este canal.
US33
Raking de moderadores
- O sistema de ranking deve ser baseado apenas nas pontuações de moderação dos moderadores;
- Deve haver um ranking diário;
- Deve haver um ranking semanal;
- Deve haver um ranking mensal;
- Em cada ranking deverá ter uma lista como até 10 usuários;
- Estes rankings não devem ser visíveis para usuários comuns.
US34
Painel de denúncias
- Este painel deve ser visível apenas para moderadores e administradores;
- Este painel deve suportar a divisão em categorias e buscas com filtragem;
- Este painel deve estar preparado para suportar grandes quantidades de denúncias.
US35
Apagar conteúdo
- Deve haver opção para moderadores e administradores possam apagar conteúdos impróprios ou indevidos;
- Usuário que teve conteúdo apagado deve ser notificado e receber advertência;
- Conteúdo apagado deve permanecer no banco de dados, mas não ser visível para usuários comuns.
US36
Exclusão de contas e banimento de usuários
- Deve haver indicadores que auxilie o moderador a tomar uma decisão de banir um usuário
- O moderador deve poder banir um usuário
- Quando um usuário é banido sua conta deve ser excluída
- Um usuário banido não deve poder criar outra conta
US37
Correção de atividades
- Deve ser possível ao moderador enviar uma notificação para um usuário editar uma determinada tarefa
- O usuário que receber uma notificação de editar tarefa deve poder editar a tarefa denunciada
US38
Denúncia feita incorretamente
- Deverá ser com computado para o usuário que efetuou a denúncia errada
- Deve ser possível ao moderador aprovar uma tarefa
US39
Logout em conta
- Usuário deve ser capaz de sair da sua conta, encerrando sua sessão;
- Amigos devem ser notificados que usuário saiu.
US40
Seguir usuário
- Ao seguir um usuário, o mesmo deverá ser notificado que ganhou um seguidor;
- Usuário deve ser notificado quando um usuário que ele segue adiciona uma nova pergunta ou resposta;
- Usuários que foram seguidos deve estar salvo no banco de dados, permanecendo salvo mesmo quando a sessão é encerrada.
US41
Gerenciar e personalizar conta
- Usuário deve ser capaz de gerir quais informações deseja exibir em seu perfil.
US42
Feed de contribuições
- No perfil de um usuário deve ser exibido o registro das atividades realizadas pelo mesmo;
- Atividades devem ser separadas em Tarefas adicionadas e Tarefas respondidas.
US43
Alterar a região do sistema
- Usuário deve ser capaz de alterar a região e língua cadastradas no sistema;
- Alteração deve ser salva no banco de dados e permanecer mesmo que a sessão seja encerrada.
US44
Subir de nível
- Para subir de nível usuário deve ter pontos e melhores respostas suficientes;
- Usuário deve ter acesso à informação de quantos pontos são necessários para avançar os níveis;
- Usuário deve ser notificado quando subir de nível.
US45
Ranking de usuário
- O sistema de ranking deve ser baseado apenas nas pontuações do usuário
- Deve haver um ranking diário
- Deve haver um ranking semanal
- Deve haver um ranking mensal
- Em cada ranking deverá ter uma lista como até 10 usuários
US46
informar o usuário a realização de tarefas e pontuação
- O usuário deve receber uma notificação ao cumprir uma tarefa
- O usuário deve receber uma notificação contendo a quantidade de pontos ganha
US47
Feedback em respostas
- Os usuários não deverão poder favoritar as próprias respostas
- Deve ser possível ao usuário favoritar uma resposta clicando em um ícone em forma de coração
- Deve ser possível ao usuário que fez a pergunta escolher a melhor resposta
- Deve ser possível dar uma nota para uma resposta (de 0 a 5 estrelas)
US48
Possibilidade de se tornar moderador
- O sistema deve enviar, para bons usuários, convite para se tornar moderador - INT2.7
- Os usuários devem poder recusar convite para se tornar moderador
US49
Moderação multiplataforma
- Deve estar implementado para ios
- Deve ser implementado para android
- Deve ser implementado para web
US50
Multiplataforma
- A ferramenta que possibilita respostas deve ser consistente entre as plataformas - INT1.2
- O sistema deve possuir uma versão mobile de fácil acesso e com baixo consumo de bateria/dados - INT3.11
- Deve estar implementado para ios
- Deve ser implementado para android
- Deve ser implementado para web
REFERÊNCIAS
[1] SERRANO, Maurício; SERRANO, Milene. Requisitos - Aula 17. 1º/2019. Material apresentado para a disciplina de Requisitos de Software no curso de Engenharia de Software da UnB, FGA.