Home | Sprints | Requisitos | Arquitetura | Configuração | Endpoints | Mockups | Problemas |
---|
Requisitos do Projeto Gastronomia
Objetivo do sistema
O sistema a ser desenvolvido visa auxiliar os professores e os estudantes do curso de Gastronomia da Universidade Federal de Ciências da Saúde de Porto Alegre – UFCSPA na anotação das Fichas Técnicas de Preparo - FPTs das receitas preparadas durante as aulas, permitindo que os professores as avaliem.
Além disso, também constitui um objetivo do sistema a geração de rotulagem nutricional a partir de uma FTP. A importância de tal rotulagem consiste em atender ao disposto na RDC 360 da ANVISA (2003) com relação aos alimentos produzidos e comercializados, qualquer que seja sua origem, embalados na ausência do cliente e prontos para serem oferecidos aos consumidores.
Plataforma
A expectativa dos stakeholders é que o sistema seja mobile e compatível com Android, devido à necessidade de uso em sala de aula e facilidade de uso em uma ampla gama de dispositivos móveis. Além disso, também deverá ser desenvolvida aplicação web responsiva.
Diagrama de Casos de Uso
Tabela de Especificação de Requisitos Funcionais
Usuário - Usr
Id Req | Id UC/Sis. | Linha UC/Geral | Descrição | Racional |
---|---|---|---|---|
01 | CdUs | O sistema deve possibilitar o cadastro de usuários através de sua homepage ou do aplicativo. | Possuindo um cadastro, o usuário poderá ser identificado e poderá retomar suas informações ao entrar no sistema. | |
Para se cadastrar no sistema, o usuário deverá informar seu nome, e-mail, matrícula e CPF, bem como encaminhar uma foto pessoal e criar uma senha. | Tratam-se de dados necessários para individualização do usuario. | |||
O sistema deve exibir ao usuário uma notificação quando informações inseridas no cadastro forem inválidas. | O usuário deve conseguir compreender a natureza do erro a fim de poder prestar as informações solicitadas no cadastro de forma correta. | |||
O sistema deve enviar para o e-mail informado pelo usuário o código de confirmação da conta | A confirmação do cadastro evita a criação de cadastros falsos no sistema e assegura que todos os usuários são alunos ou professores da UFCSPA. | |||
O sistema deve confirmar o cadastro do usuário quando o código de confirmação for informado corretamente. | A inserção do código de confirmação assegura que não foi criado um cadastro falso. | |||
O sistema contará com dois tipos de usuário: o comum e o administrador. | O sistema será utilizado pelos alunos e pelos professores do curso de Gastronomia da UFCSPA. Os alunos utilizarão o sistema como usuários comuns e os professors como usuários administradores. | |||
Ao criar um novo perfil de usuario, o sistema utilizará o tipo comum. | Por medida de segurança, todos os usuários serão criados sem acesso às funcionalidades de administração do sistema. | |||
O(s) usuario(s) administrador(es) poderão modificar o perfil de acesso dos demais usuários, concedendo ou revogando poderes de administrador. | Compete aos administradores do sistema conferir e revogar o acesso de usuários às funções de administrador do sistema. |
### Ingrediente - Ing |Id Req|Id UC/Sis.|Linha UC/Geral|Descrição|Racional| |---|---|---|---|---| | | | |Todo ingrediente cadastrado no sistema conterá os seguintes atributos: (i.) descrição;(ii.) informação nutricional; e (iii.) fonte dos dados.|Trata-se de dados necessários (i.) à identificação do ingrediente, (ii.) ao cálculo das informações nutricionais que deverão constar na Ficha Técnica de Preparo – FTP em que o ingrediente é utilizado e (iii.) para verificação da possibilidade de que a partir desta FTP possa ou não ser gerada a rotulagem nutricional.| | | | |O sistema contará com um banco público de ingredientes, que será inicialmente composto apenas pelos ingredientes que constam na Tabela de Composição Química de Alimentos – TACO, disponibilizada pela Unifesp.|A tabela TACO é uma fonte de dados vasta e confiável do ponto de vista técnico.| | | | |Todo usuário poderá cadastrar um ingrediente novo, diverso daqueles disponíveis no banco público de ingredientes, sendo de sua responsabilidade a inserção dos dados pertinentes.|O usuário deve poder utilizar em suas FTPs ingredientes próprios, que não constem no banco público, competindo a ele prestar as informações necessárias ao seu cadastro.| | | | |Um ingrediente que tenha sido criado por um usuário comum poderá ser utilizado em uma FTP apenas pelo usuário que o cadastrou, não fazendo parte do banco público de ingredientes.|O direito de utilização de um ingrediente que tenha sido criado por um usuario é exclusivo daquele usuario.| | | | |O usuário poderá solicitar que um ingrediente por ele criado seja validado por um usuário administrador a fim de passar a integrar o banco público de ingredientes.|Um ingrediente criado por um usuário comum poderá ser utilizado por outros usuários desde que haja autorização por parte de seu criador e que um usuário administrador tenha validado os dados informados.|
### Ficha Técnica - FTP |Id Req|Id UC/Sis.|Linha UC/Geral|Descrição|Racional| |---|---|---|---|---| | | | |Todo usuário deve poder criar uma ou mais Fichas Técnicas de Preparo (FTP).| | | | | |Uma FTP tem os seguintes atributos: nome, tipo, participantes, nota geral, nota do professorn, nível de dificuldade, ingredientesi, custo, modo de preparo, rendimento, data-hora, nome do professor, peso em g e foto.|Elementos identificadores da Ficha Técnica de Preparo – FTP.| | | | |O atributo “nome” de uma FTP deverá designar o nome da receita objeto daquela FTP. |Ex.: bolo de banana.| | | | |O atributo “tipo” de uma FTP deverá explicitar qual é o tipo da receita objeto daquela FTP. |Ex.: sobremesa; drink.| | | | |O atributo “participantes” de uma FTP consistirá em uma lista de 1 a N usuários que participaram na criação daquela FTP.|A informação relativa aos participantes permitirá ao(s) professor(es) avaliar os estudantes.| | | | |O atributo “ingredientes” de uma FTP consiste em uma lista de 1 a N ingredientes que foram utilizados na elaboração da receita objeto daquela FTP. | | | | | |O atributo “dificuldade” de uma FTP designa o nível de dificuldade da receita objeto daquela FTP.| | | | | |O atributo “custo” de uma FTP designa o custo total de preparo da receita objeto daquela FTP.| | | | | |O atributo “modo de preparo” consiste em uma lista de 1 a N passos, descritos em linguagem natural, que detalha o procedimento a ser seguido para o preparo da receita objeto daquela FTP.| | | | | |O atributo “rendimento” de uma FTP designa o rendimento final da receita objeto daquela FTP.| | | | | |O atributo “nome do professor” de uma FTP registra o(s) nome(s) do(s) professor(es) responsável pela aula à qual aquela FTP está associada.| | | | | |O atributo “nota do professor” de uma FTP representa o grau conferido pelo(s) professore(s) ao(s) qual(is) a FTP estiver vinculada. | | | | | |O atributo “peso em g” de uma FTP especifica o peso em gramas final da receita objeto daquela FTP. | | | | | |O atributo “Nota geral” de uma FTP indica a classificação média, em uma escala de 0 a 10, conferida pelos usuários a uma FTP disponível no banco público de receitas.| | | | | |O atributo “foto” de uma FTP armazena a foto do produto final da receita objeto daquela FTP.| | | | | |Todo usuário deve poder criar uma ou mais Fichas Técnicas de Preparo (FTP).| | | | | |Ao criar uma FTP, é obrigatório que o usuário preencha os campos destinados aos atributos “nome”, “tipo”, “participantes”, “nível de dificuldade”, “ingredientes”, “custo”, “modo de preparo”, “rendimento”, “peso em g” e “foto”.| | | | | |Na criação de uma FTP, poderão ser utilizados ingredientes disponíveis no banco público ou que tenham sido criados por um usuario que conste na lista de participantes.| | | | | |O atributo “Data hora” de uma FTP registra a data, no formato “dd/mm/aa”, e a hora, no formato “xx h yy min”, em que a FTP foi criada.| | | | | |O sistema deverá registrar o valor do campo “data hora” de acordo com o horário local de Brasília (UTC -3:00).| | | | | |Ao criar uma FTP, é obrigatório que o usuário preencha os campos destinados aos atributos “nome”, “tipo”, “participantes”, “nível de dificuldade”, “ingredientes”, “custo”, “modo de preparo”, “rendimento”, “peso em g” e “foto”.| | | | | |Um usuario deve poder pesquisar FTP a partir da aplicação de filtros em seus campos.| | | | | |O sistema também deve permitir que o usuário crie uma FTP fora do contexto de uma sala de aula.| |
1 - Conforme o item 2.1 do Anexo da RESOLUÇÃO - RDC Nº 360, DE 23 DE DEZEMBRO DE 2003, da ANVISA, a rotulagem nutricional “é toda descrição destinada a informar ao consumidor sobre as propriedades nutricionais de um alimento”, compreendendo (i.) a declaração de valor energético e nutrientes; e (ii.) a declaração de propriedades nutricionais (informação nutricional complementar)”.
2 - Classe filha da superclasse ingrediente. Tem como atributos extras peso em g, custo de aquisição e custo para a receita
# Rotulagem ## Entidades ### 1. Ficha Técnica de Preparo - nome - tipo - participantes - nota geral - nota professor - nível de dificuldade - ingredientes - custo - modo de preparo - rendimento - data e hora - nome do professor - peso em g - foto final
2. Ingrediente
- descrição
- informação nutricional
- fonte
3. Usuário
- nome
- matrícula
- CPF
- foto
- senha
- tipo
**REQUISITOS NUTRITECH - SPRINT 1 e 2 **
US1. História de Usuário: Cadastro da FTP
Eu como aluno gostaria de cadastrar a Ficha Técnica de Preparo a fim de armazenar as informações das receitas preparadas durante as aulas.
Critérios de Aceite
- Uma FTP tem os seguintes atributos: produto, grupo alimentar, professor, integrantes, adicionar ingredientes, peso, valor por kg, fator de correção, modo de preparo, rendimento, peso, tempo de preparo, dificuldade e imagem.
- O valor por kg, o fator de conversão e o custo por porção devem ser importados do banco de dados, não permitindo edição pelo aluno.
- O aluno pode cadastrar novo ingrediente.
- Adicionar nome do aluno no topo da tela ao lado da foto
- Professor - Trazer professor da disciplina
- Antes de produto, adicionar campo data da aula automaticamente - utilizar data do servidor e não do aparelho
- Padronizar peso em gramas
- Botão "+" para adicionar ingredientes ao invés de "adicionar ingrediente". O botão deve direcionar para a tela de cadastro de ingredientes
- Botão "+" para adicionar passo em modo de preparo
- Alterar segunda coluna da tabela de ingredientes para "peso"
- Botão publicar deve ficar bloqueado até terminar preenchimento
- Botão salvar deve guardar progresso
- Os nomes dos integrantes devem ser o nickname (que é a primeira parte do email)
- A FTP deve possuir um nível de dificuldade de 1 a 5
- "Rendimento" só deve aceitar número.
Fluxo: O aluno deve poder cadastrar sua ficha técnica de produto conforme realiza o preparo de sua receita, podendo salvar o progresso enquanto ainda está editando. Quando toda lista estiver preenchida o aluno poderá publicar a ficha para avaliação do professor.
Nível de dificuldade: 21
US2. História de Usuário: Email de confirmação de cadastro de alunos
Eu como administrador gostaria de enviar um email a fim de confirmar que aluno foi cadastrado com sucesso no sistema.
Critérios de Aceite:
- O email deverá possuir um link que redireciona para o site, a fim de confirmar o email cadastrado.
- O email deverá possuir um link com data de expiração.
Fluxo: Um email é enviado após o aluno se cadastrar no sistema, para confirmar que o email relacionado à UFCSPA é válido e o usuário efetuando cadastro é realmente aluno.
Nível de dificuldade: 13
US3. História de Usuário: Cadastro de Alunos
Eu como professor ou aluno gostaria de cadastrar os alunos a fim de permitir acesso ao sistema.
Critérios de Aceite:
- O CPF deve possuir validação.
- O professor será cadastrado pelo Administrador.
- Não deve aparecer o campo “tipo de usuário” para o aluno
- Não devem aparecer os campos “ativo” e “inativo” para o aluno, estes campos serão só em nível de administrador.
- Não deve ser permitido o login para usuário com status inativo.
- Devem aparecer mensagens indicando onde ocorrem os erros na tentativa de cadastro.
- Email deve ser validado para checar se é relacionado à UFCSPA
Fluxo: O aluno deve poder se cadastrar no sistema quando inserir todos atributos de forma correta e seu email for validado.
Nível de dificuldade: 5
US4. História de Usuário: Cadastro de Professor
Eu como administrador gostaria de cadastrar usuário como professor ou aluno a fim de conceder acesso ao sistema.
Critérios de Aceite:
- O status da conta(ativa ou inativa) deve ficar visível para o administrador
- O tipo da conta(conta de aluno ou de professor) deve ficar visível para o administrador
- Após finalizar o cadastro de Professor, o Administrador deve ser direcionado para a tela de listagem de usuário.
Fluxo: O administrador deve poder cadastrar usuários como professor no sistema, oferecendo as funcionalidades específicas para as tarefas que o professor necessita realizar.
Nível de dificuldade: 3
US5. História de Usuário: Perfis de acesso
Eu como usuário gostaria de poder logar no sistema como: professor, aluno ou administrador a fim de adentrar na plataforma e realizar minhas tarefas.
Critérios de Aceite:
- O campo 'usuário' deve ser validado com email;
- O campo 'senha' seja validado com no mínimo caracteres alfa numéricos;
- Após logar o usuário deve ser redirecionado para tela de “minhas receitas”;
- Não deve aparecer mensagem ao efetuar login, apenas redirecionar para a tela.
Fluxo: O usuário deverá digitar seu login (que é o email cadastrado), bem como sua senha de acesso, e então clicar no botão "login". Se o usuário não for cadastrado, deve ser redirecionado para a tela de cadastro de usuário através de um link abaixo do botão de login. O campo "login" deverá validar se o usuário digitou um endereço de email válido; o campo de "senha" deverá validar se o usuário digitou uma senha alfa numérica com 8 ou mais caracteres.
Nível de dificuldade: 5
US6. História de Usuário: Layout moderno
Eu como usuário gostaria de um layout mais moderno para o sistema a fim de ter um site responsivo e com boa usabilidade.
Critérios de Aceite:
- O site deverá ser totalmente responsivo, com suporte para desktop e mobile.
Fluxo: O usuário deverá ter um sistema com boa usabilidade em qualquer dispositivo que utilizar para entrar no site e editar suas receitas.
Nível de dificuldade: 13
US7. História de Usuário: Pesquisa de FTPs
Eu como usuário gostaria de pesquisar as FTP por filtros a fim de facilitar a busca.
Critérios de Aceite:
Fluxo: O usuário poderá utilizar uma busca por qualquer palavra presente na ficha, retornando a FTP correspondente.
Nível de dificuldade: 8
US8. História de Usuário: Geração de PDF das FTPs
Eu como usuário gostaria de poder gerar um PDF das FTP a fim de possuir acesso à suas informações de forma estruturada.
Critérios de Aceite:
- Seguir modelo do pdf: Ficha_Técnica.pdf
Fluxo:
Após a publicação da FTP, o usuário deve ter a possibilidade de realizar o download de um PDF com toda informação da ficha de forma organizada.
Nível de dificuldade: 8
**US?. História de Usuário: Edição nas listagens **
Eu como usuário gostaria de poder editar ou excluir os ítens nas listagens a fim de mantê-las atualizadas.
Critérios de Aceite:
- O Administrador tem a permissão de editar e excluir o que desejar
- Ingredientes vinculados à Fichas Técnicas não podem ser excluídos, nem mesmo pelo administrador
- Atributos vinculados a Ingredientes não podem ser excluídos, nem mesmo pelo administrador
- Professor tem a permissão de editar ingredientes, mas não pode excluí-los.
- A ficha técnica só pode ser editada pelo grupo de alunos autores da mesma
- Quando a opção de editar for selecionada, o usuário deve ser redirecionado para a tela de cadastro do ítem, mas com os campos preenchidos com as informações já salvas
- Após ser publicada para avaliação, uma FTP não pode mais ser editada pelos alunos.
Fluxo: Ao lado de cada ítem de uma listagem deve haver a opção de editar e excluir (botão de lixeira ao lado do ítem).
Nível de dificuldade:
**US?. História de Usuário: Listagem de FTP **
Eu como usuário gostaria de poder visualizar a listagem de FTP a fim de poder editar ou avaliar as fichas.
Critérios de Aceite:
- A tela de Minhas Receitas deve mostrar ao aluno todas suas receitas cadastradas. Deve ser a tela principal quando o aluno se loga no sistema.
- O professor deve ter acesso à uma tela com a listagem de receitas publicadas para avaliação por seus alunos. Deve ser a tela principal quando o professor se loga no sistema.
Fluxo: O usuário terá acesso à uma tela de listagem de fichas técnicas cadastradas no sistema, podendo editar ou excluir se for aluno e avaliar se for professor. Deve também haver um botão de informação nutricional.
Nível de dificuldade:
**US?. História de Usuário: Avaliação de FTP **
Eu como professor gostaria de avaliar as FTP publicadas pelos alunos a fim de enviar uma nota.
Critérios de Aceite:
- O professor só poderá dar nota para as fichas técnicas já publicadas pelos alunos
- O campo Nota deve ficar no canto superior direito na tela de cadastro da FTP, ao lado da palavra "produto".
Fluxo: O professor poderá acessar a tela de cadastro de FTP com um campo extra chamado Nota, onde poderá inserir a nota para a ficha cadastrada.
Nível de dificuldade:
**US?. História de Usuário: Visualizar nota **
Eu como aluno gostaria de visualizar a nota a fim de saber como foi avaliada a FTP do grupo.
Critérios de Aceite:
- As informações da ficha técnica não podem ser editadas depois de já publicada a nota.
Fluxo: O aluno poderá ver sua nota na listagem de FTP em "Minhas Receitas" e também ao abrir a ficha técnica que cadastrou.
Nível de dificuldade:
**US?. História de Usuário: Visualizar informação nutricional **
Eu como usuário gostaria de visualizar a informação nutricional da FTP a fim de usar no rótulo.
Critérios de Aceite:
Fluxo:
Nível de dificuldade: