Pular para conteúdo

Backlog

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.

  • Estudante: é o usuário principal da aplicação, refere-se ao estudante da Universidade de Brasilia que deseja fazer o seu planejamento de fluxo.

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 UnBnoFluxo esses requisitos serão modelados usando o modelo de Histórias de Usuário (US), Épicos (EP) e Temas (TM).

Tema Épico User Story
TM01 - Gerenciamento de Fluxogramas EP01 - Criação e Edição de Fluxogramas US02 - Upload de fluxograma
US03 - Iniciar fluxograma em branco
US04 - Mesclar fluxograma
EP02 - Visualização e Organização de Fluxogramas US01 - Disponibilizar fluxograma padrão
US05 - Reordenar componentes curriculares
US11 - Download de fluxograma
TM02 - Informações e Acompanhamento EP03 - Visualização e Acompanhamento de Disciplinas US06 - Visualizar requisitos
US07 - Visualizar obrigatoriedade de componentes
EP04 - Acompanhamento e Progresso do Curso US08 - Visualizar carga horária
US15 - Exibir percentual do curso
TM03 - Gestão de Componentes Curriculares EP05 - Criação e Edição de Componentes Curriculares US09 - Criar componente curricular
US10 - Editar componente curricular
EP06 - Organização e Classificação de Componentes Curriculares US12 - Pesquisar componente curricular
US13 - Marcar componente curricular como concluido
US14 - Apelidar componente curricular

Declaração de histórias de usuário critérios de aceitação

Número Nome Declaração Critério de aceitação
US01 Disponibilizar fluxograma padrão Como estudante quero ter a minha disposição o fluxograma padrão da universidade já montado, para não precisar fazer esse trabalho manualmente Deve existir uma base de dados que disponibilize o fluxograma padrão dos cursos.
O fluxograma deve ser montado automaticamente na aplicação.
US06 Visualizar requisitos Como estudante quero poder visualizar a cadeia de requisitos de um determinado componente curricular para poder entender melhor qual preciso cursar primeiro Ao interagir com um card de componente, os componentes que o tem como pre-requisito devem ser destacados.
Ao interagir com um card de componente, os componentes que o tem como co-requisito devem ser destacados.
Ao interagir com um card de componente, os componentes são pós-requisitos dele devem ser destacados.
Os co-requisitos, pre-requisitos e pós-requisitos devem ser destacados de maneira diferente.
US05 Reordernar componentes curriculares Como estudante quero poder reorganizar os componentes curriculares movendo-os de um período para outro para ajudar meu planejamento futuro Deve ser possível mover os cards de componentes de um periodo para outro.
Essa movimentação tambem deve ser possivel através da caixa de diálogo de detalhe do componente.
Ao mover um componente para um periodo posterior, os cards de componente que o tem como pre-requisito também devm ser reorganizados para periodos posteriores.
US09 Criar componente curricular Como estudante quero poder criar um componente curricular para poder contabilizar a carga horária de componentes como de módulo livre, monitorias e EJs, que não aparecem no fluxograma padrão da universidade. Devem ser exibidos campos de preenchimento para os dados Nome, Aliás, Código, Pré-requisitos, Co-requisitos, Carga Horária, Natureza e Período e Descrição.
Só deve ser possível salvar se os campos obrigatórios (Nome, Código, Carga Horária, Natureza e Período) foram corretamente preenchidos:
Carga horária: apenas um número inteiro.
Código: Sempre inicia com 3 letras seguido de 4 números.
Tipo: Obrigatório, optativa e modulo lívre
Período: Número de Semestre
US04 Mesclar fluxograma Como estudante quero poder mesclar o fluxograma de diferentes cursos para o caso de eu estiver fazendo mudança de curso ou dupla graduação Deve ser possível entrar com mais de um curso/fluxograma no fomulário de montagem de fluxograma.
Os componentes curriculares que se repetem em dois fluxos não devem aparecer duplicados.
Matérias equivalentes não devem se repetir ou aparecer simultaneamente.
US14 Apelidar componente curricular Como estudante quero poder apelidar o componente curricular com abreviaturas ou nomes comuns entre os estudantes para melhorar minha visualização O aliás deve ter tamanho limitado de 12 caracteres.
O aliás deve ser opcional e substituir a exibição do nome completo do componente curricular no card.
Deve ser possível editar o aliás.
US11 Download de fluxograma Como estudante quero poder fazer download do fluxograma que montei para não perder meu progresso Deve ser possível salvar o fluxograma em um formato de documento de texto (.txt ou .json).
US02 Upload de fluxograma Como estudante quero poder fazer upload de um fluxograma que já modifiquei para não perder meu progresso anterior Deve ser possível carregar na aplicação um fluxograma posteriormente baixado em formato de texto.
US08 Visualizar carga horária Como estudante quero poder visualizar a soma da carga horária de determinado período para saber se estou dentro dos limites de carga horária por período da faculdade Deve existir uma soma de carga horária para cada período.
A soma deve atualizar sempre que algum componente for adicionado ou removido do período.
US10 Editar componente curricular Como estudante quero poder alterar dados de um componente curricular como em caso de módulo livre, para que possa contabilizar sua carga horária Deve ser possível editar todos os dados do componente exceto o campo de código.
Nos campos de Pré-requisitos e Co-requisitos devem ser exibidos apenas os componentes atualmente carregados na aplicação.
Só deve ser possível salvar se os campos obrigatórios (Nome, Aliás, Código, Carga Horária, Tipo e Período) foram corretamente preenchidos.
US03 Iniciar fluxograma em branco Como estudante quero poder iniciar um fluxograma em branco para o caso do meu fluxograma não estar disponível Devem ser possivel cadastrar um novo componente com Nome, Aliás, Código, Pré-requisitos, Co-requisitos, Carga Horária, Natureza, Período e Descrição.
Só deve ser possível salvar se os campos obrigatórios (Nome, Código, Carga Horária, Naturaza e Período) foram corretamente preenchidos.
US12 Pesquisar componente curricular Como estudante quero poder pesquisar por um componente curricular em específico para adicioná-lo em meu fluxograma Deve ser possível filtrar por Nome, Alías ou Código.
Os compontentes filtrados devem ser exibidos em destaque ou de maneira diferente.
US13 Marcar componente curricular como concluido Como estudante quero poder marcar uma componente curricular como concluído ou não concluído para que ele seja contabilizado na carga horária dos componentes curriculares que ja cursei Deve existir um menu para alternar o estado de conclusão do componente.
Devem existir dois estados: Concluído e Ainda Não Concluído.
O default dever ser Ainda Não Concluído.
Componentes Ainda Não Concluídos são exibidos de maneira diferente dos Concluídos.
US07 Visualizar obrigatoriedade de componentes Como estudante quero poder visualizar o que é um componente curricular optativo ou obrigatório para me ajudar na priorização dos mesmos Componentes com obrigatoriedade diferente devem ser cards com cores ou formato diferente.
US15 Exibir percentual do curso Como estudante quero poder ver o percentual já concluído do curso para saber quanto já concluí e quanto ainda falta do curso Deve exitir um painel com o percentual de conclusão do curso.
Além do percentual de conclusão do curso existem também percentuais para a carga horária de componentes optativos, obrigatorios e de modulo livre.
Esse percentual deve mudar automaticamente quando o usuário alternar o estado de conclusão de algum card de componente.

Priorização de histórias de usuário

Obs: A Pontuação (pts) é calculado com base nos critérios de viabilidade (v), complexidade (c) e valor de negócio (vn) da US referida. É atribuido para cada critério valores de 1 a 3 e realizada a equação:

pts =  v + c + vn
Número Nome Valor de negócio Viabilidade Complexidade Pontuação
US01 Disponibilizar fluxograma padrão 3 2 3 8
US06 Visualizar requisitos 3 2 3 8
US05 Reordernar componentes curriculares 3 2 3 8
US09 Criar componente curricular 3 2 3 8
US04 Mesclar fluxograma 3 2 2 7
US14 Apelidar componente curricular 3 3 1 7
US11 Download de fluxograma 2 3 1 6
US02 Upload de fluxograma 2 3 1 6
US08 Visualizar carga horária 2 2 2 6
US10 Editar componente curricular 2 2 2 6
US03 Iniciar fluxograma em branco 1 3 2 6
US12 Pesquisar componente curricular 1 1 3 5
US07 Visualizar obrigatoriedade de componentes 2 2 1 5
US13 Marcar componente curricular como concluido 1 2 2 5
US15 Exibir percentual do curso 1 2 2 5

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 Categoria Declaração
RNF1 Implementação O produto deve ser uma aplicação web
RNF2 Usabilidade O produto deve ser responsivo a diferentes tamanhos de tela e dispositivos
RNF3 Implemetação O front-end do produto deve ser desenvolvido utilizando react
RNF4 Implementação O back-end do produto deve ser desenvolvido utilizando java
RNF5 Usabilidade A interface deve ser organizada de forma clara (Clara é: título do menu/seção indicar exatamente o que há em seu conteúdo, por exemplo: uma seção com nome "Montar meu fluxo" indica uma página onde o usuário poderá organizar as disciplinas do seu fluxo)
RNF6 Suportabilidade A aplicação deverá rodar nos browsers mais comumente utilizados (Chrome, Safari, Edge, Opera) em suas versões recentes
RNF7 Confiabilidade O sistema deve apresentar uma taxa de erro de no máximo 5% durante a execução de ações
RNF8 Desempenho O sistema deve apresentar um tempo médio de resposta de no máximo 1000ms

Definição de preparado (DoR)

Acordo entre o time e o PO indicando quando um requisito estará preparado para ser puxado para uma Sprint. Para saber se o requisito está preparado, faz-se as perguntas a seguir:

  • O Requisito está representado por uma história de usuário?
  • O Requisito está coberto por critérios de aceite & BDD?
  • O Requisito está mapeado para uma interface (quando necessário)?
  • O Requisito cabe em uma sprint?
  • As dependências do Requisito estão identificadas (se houver)?

Definição de pronto (DoD)

Acordo que demonstra a qualidade do Requisito produzido, na qual “Done” comprova a satisfação de todos com o trabalho realizado. Se um Requisito não atende ao “Done”, ele não deve ser liberado ou mesmo apresentado na Sprint Review. Para saber se o requisito está pronto, faz-se as perguntas a seguir:

  • Entrega um incremento do produto?
  • Contempla os critérios de aceite estabelecidos?
  • Está documentado para uso?
  • Está aderente aos padrões de codificação?
  • Mantém os índices de performance do produto?

MVP1

User Story Sprint Pontuação
US01 - Disponibilizar fluxograma padrão 5 8
US02 - Upload de fluxograma 5 6
US11 - Download de fluxograma 5 6
US04 - Mesclar fluxograma 6 7
US03 - Iniciar fluxograma em branco 6 6
US07 - Visualizar obrigatoriedade de componentes 6 5

MVP2

User Story Sprint Pontuação
US03 - (DÉBITO) Iniciar fluxograma em branco 7 6
US09 - Criar componente curricular 7 8
US14 - Apelidar componente curricular 7 7
US10 - Editar componente curricular 7 6
US05 - Reordernar componentes curriculares 8 8
US06 - Visualizar requisitos 8 8
US08 - Visualizar carga horária 8 6
US12 - Pesquisar componente curricular 8 5

Histórico de revisão

Data Versão Descrição Autor
01/05/23 1.0 Criação do documento Ricardo e Vinicius
08/05/23 1.1 Proposta de MVP1 e MVP2 Todos
10/05/23 1.2 Priorização no backlog Ricardo e João
15/05/23 1.3 Critérios de aceite e divisão de Temas, Épicos e USs Ricardo e Vinícius
17/05/23 1.4 Atualização MVPs e CAs Ricardo
23/05/23 1.5 Atualização MVPs João