~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Registrar Alteração ====== Esse caso de uso cria um log para a tarefa. Logs são registros de alterações efetuadas nas tarefas e que representam toda a evolução da mesma. Através dos logs é possível acompanhar todas as etapas que a tarefa realiza no processo de desenvolvimento. Os logs podem ser cadastrados por qualquer usuário do sistema que tenha realizado alguma alteração numa tarefa. ===== Descrição do Caso de Uso ===== O caso de uso inicia quando o usuário acessa o link //iProject -> Tarefas -> Tarefas por Prioridades -> Registrar Alteração//. Para a tarefa aberta são apresentadas as seguintes opções ([[#Principais Regras de Negócio | RN25]]): * [[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:alterar_tarefa | Alterar Tarefa]] * **Finalizar Tarefa** ([[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:visualizar_tarefa&#principais_regras_de_negócio|RN01]], [[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:visualizar_tarefa&#principais_regras_de_negócio|RN04]]) * **Reabrir Tarefa:** Ao reabrir uma tarefa a tarefa será finalizada (Situação: FINALIZADA, Percentual: 100%) e será criado uma subtarefa com a nova demanda realizada na reabertura. ([[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:visualizar_tarefa&#principais_regras_de_negócio|RN02]]) * **Cancelar Tarefa** ([[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:visualizar_tarefa&#principais_regras_de_negócio|RN03]], [[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:visualizar_tarefa&#principais_regras_de_negócio|RN04]]) * **Detalhes da Tarefa** * [[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:nova_sub-tarefa | Nova Subtarefa]] * [[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:tarefa_relacionada | Relacionar Tarefa]]. * [[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:visualizar_subtarefas | Visualizar Subtarefas]] ([[#Principais Regras de Negócio | RN24]]) * [[desenvolvimento:especificacoes:iproject:casos_de_uso:relatorios:tarefa_associar_build | Associar a Build]] * [[desenvolvimento:especificacoes:iproject:casos_de_uso:testes:visualizar_relatorio_teste| Relatório de Testes]] Para cadastrar um log de alteração na tarefa é necessário informar os seguintes dados: * **Tipo de Log** : Selecionado dentre uma lista com as opções definidas através do caso de uso [[desenvolvimento:especificacoes:iproject:casos_de_uso:administracao:tarefas:cadastrar_tipo_de_log|Cadastrar Tipo de Log de Tarefa]]. * **Revisão SVN** : Número da revisão SVN. Formato: 99999. Tipo : NUMÉRICO * **Lista de Check-list** : Exibe uma lista de checklists para serem respondidos. De acordo com o check-list selecionado são exibidas as perguntas de cada check-lista (Informação Obrigatória). * **Descrição** : Descrição do log. Formato : TEXTO DO LOG. Tipo : TEXTO * **Ambiente** : Ambiente no qual o log está relacionado. Tipo : ARQUIVO ([[#Principais Regras de Negócio|RN16]]) * **Percentual** : Percentual da Tarefa Executada. Selecionado de uma lista que exibe de 10 em 10. Formato : 90. Tipo : NUMÉRICO * **Hora Prevista/Executada** : Tempo gasto na alteração descrita no log. Formato : 9.9. Tipo : NUMÉRICO * **Tarefa Pai**: Número de uma outra Tarefa vinculada a atual. Formato : NUMERO e TEXTO da tarefa pai. Tipo : AUTOCOMPLETE * **Status da Tarefa** : Exibe o estado atual da tarefa. Escolhido dentre uma lista definida através do caso de uso [[desenvolvimento:especificacoes:iproject:casos_de_uso:administracao:alterar_status_da_tarefa|Alterar Status da Tarefa]]. * **SubSistema** : Subsistema da tarefa. Formato : TEXTO. Tipo : TEXTO * **Notificar E-Mail** : Endereço de email que deve ser notificado no log. Formato : desenv@info.ufrn.br. Tipo : EMAIL * **Marcar tarefa para acompanhamento** : Informa se a tarefa será marcada para acompanhamento ou não. Tipo: BOOLEANO O sistema permite ainda que sejam adicionados arquivos ao log, fornecendo os campos: * **Descrição:**: Tipo: TEXTO. * **Arquivo** : Tipo : ARQUIVO ([[#Principais Regras de Negócio|RN23]]) Cada arquivo adicionado é exibido numa listagem logo abaixo, com a sua descrição e a opção de Remover Anexo. Na Revisão SVN existem duas opções: * //Recuperar fontes da revisão// - Recupera os arquivos daquela revisão e informa o numero e o usuário que a fez. * //Recuperar todos os fontes envolvidos na tarefa// - Recupera a lista de arquivos de acordo com suas revisões. O histórico de logs é listado apresentando as seguintes informações: * //**Data e hora do log**// * //**Tipo do log**// * //**Nome do usuário**// * //**Data da realização do log (quando for log de update em produção e o update tiver sido realizado)**// * //**Status do log**// * //**Andamento da execução**// * //**Horas gastas no log**// * //**Login do usuário que criou o log (ao passar o mouse no login, o nome completo é mostrado)**// * //**Descrição do log**// * //**Relatório de Teste (quando o tipo de log for TESTE REALIZADO)**// * //**Link para download de arquivo (quando houver arquivo associado ao log).**// Existem algumas informações adicionais que podem ser informadas de acordo com o tipo de log selecionado: ===Fluxo Alternativo 1: Ao selecionar o tipo de log ALTERAÇÃO DE RESPONSABILIDADE=== * **Alterar Responsável**: Formato : FULANO DE TAL (EQUIPE). Tipo: TEXTO. O campo exibe um menu com os usuários internos do iProject. * **Prioridade**: Formato : 99. Tipo : NUMÉRICO * **Tipo da Tarefa** : Selecionado dentre uma listagem definida no caso de uso [[desenvolvimento:especificacoes:iproject:casos_de_uso:administracao:tarefas:cadastrar_tipo|Cadastrar Tipo de Tarefa]]. Formato : DOCUMENTAÇÃO. Tipo : TEXTO. * **Início**: Formato : DD/MM/AAAA. Tipo : DATA * **Deadline**: Formato : DD/MM/AAAA. Tipo : DATA * **Cronograma** - Tipo - TEXTO, São apresentados os cronogramas em vigor para o responsável selecionado. ([[#Principais Regras de Negócio|RN13]]) * **Tarefa Extra** - Tipo - LÓGICO, Indica que a tarefa inserida no cronograma será uma tarefa extra. e a opção de //Marcar como tarefa da Semana//. ===Fluxo Alternativo 2: Ao selecionar o tipo de log SOLICITAÇÃO DE TESTES=== * **Link do Plano de Testes**: Formato : https://docs.info.ufrn.br/doku.php. Tipo: LINK (Obrigatório) * **Changelog**: Formato : ALTERAÇÃO REALIZADA NO CASO DE USO 1. Formato : TEXTO. (Obrigatório) ===Fluxo Alternativo 3: Ao selecionar o tipo de log SOLICITAÇÃO DE ATUALIZAÇÃO DE BASE DE DADOS=== * **Banco de dados**: Selecionado dentre uma lista. Formato : ADMINISTRATIVO. Tipo : TEXTO (Obrigatório) CHANGELOG (Opcional) ([[#Principais Regras de Negócio|RN10]]) * **Log de Atualização de Arquivo Correspondente**: Selecionado dentre uma lista. Formato : DD/MM/AAAA HH:MM:SS. Tipo : DATA e HORA ===Fluxo Alternativo 4: Ao selecionar o tipo de log SOLICITAÇÃO DE UPDATE EM PRODUÇÃO=== * **Necessita Alteração Manual**: Indica se a alteração realizada demanda de alteração no manual para criar subtarefa automática para isso. Formato : SIm/Não. (Obrigatório) * **Changelog**: ALTERAÇÃO REALIZADA NO CASO DE USO 1. Formato : TEXTO. (Obrigatório) * **Ambiente de Integração** : Selecionado dentre uma lista. Indica o repositório onde será dado o commit na revisão. (Obrigatório) Opções: * NENHUM * ADMIN * SIGAA * TODOS ===Fluxo Alternativo 5: Ao selecionar o tipo de log TESTE REALIZADO=== Ao selecionar a opção de log TESTE REALIZADO, será exibida uma operação para executar a revisão de código das revisões da tarefa. * **__Executar Revisão de Código__** O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - Quando escolher o tipo de log **ALTERAÇÃO DE RESPONSABILIDADE**, deverá ser informado um responsável diferente do responsável atual. * **RN02** - Ao selecionar o tipo de log **SOLICITAÇÃO DE TESTES**, o status da tarefa deverá ser setado automaticamente para EM TESTES * **RN03** - Caso o usuário cadastre um log de **ALTERAÇÃO DE RESPONSABILIDADE**, se a tarefa estiver marcada como **Trabalhando no Momento** essa marcação será removida para o novo usuário responsável * **RN04** - Ao selecionar o tipo de log **SOLICITAÇÃO DE UPDATE EM PRODUÇÃO**, o status da tarefa é setado automaticamente para **SOLICITADO ATUALIZAÇÃO** * **RN05** - Ao selecionar o tipo de log **TESTE REALIZADO**, deverá informar itens de teste para cadastro no log. * **RN06** - Ao selecionar o tipo de log **TESTE REALIZADO** ou **RETORNO PARA ADEQUAÇÃO AOS PADRÕES**, deverá informar no log a seguinte mensagem: "Teste Realizado por em 00/00/0000". * **RN07** - O fluxo de navegação dependerá de onde é chamado o cadastro do log. Caso o cadastro do log tenha partido de Tarefas por Prioridade, após a inclusão de novo log, o sistema permanecerá na tela de cadastro de log caso a tarefa não seja setada com percentual de 100%, caso seja setada o sistema será redirecionado para o relatório de tarefas por prioridade. Se a tela de chamada do cadastro do log for Tarefas Pendentes de Distribuição após a inclusão do log, o sistema será redirecionado para esta mesma página. Idem para Tarefas Aguardando Validação Final. * **RN08** - Se for um log que veio de [[desenvolvimento:especificacoes:iproject:casos_de_uso:integracao:tarefas_pendentes_de_validacao_final|Tarefas Pendentes de Validação Final]] os seu Tipo de log será **VALIDAÇÃO** * **RN09** - As tarefas vinculadas às cooperações podem ser fechadas (percentual em 100%) apenas se o usuário que registrar o log possuir a permissão "Gerência Cooperação" * **RN10** - Ao selecionar o tipo de log **SOLICITAÇÃO DE ATUALIZAÇÂO DE BASE DE DADOS**, o campo **Arquivo** deve ser desabilitado. * **RN11** - Se o status da tarefa tiver vinculado a **estado final** deve desaparecer da listagem. * **RN12** - Não deve permitir incluir uma revisão com fontes de sistemas misturados. * **RN13** - Ao selecionar um cronograma no campo 'Cronograma' a tarefa deverá ser inserida no cronograma selecionado do responsável da tarefa. A tarefa também poderá ser marcada como tarefa extra no cronograma. * **RN14** - Quando escolher o tipo de log **ALTERAÇÃO DE RESPONSABILIDADE**, os usuários que fazem parte de um projeto, só serão listados caso o usuário logado tenha permissão de Gerência Cooperação. * **RN15** - Ao finalizar uma tarefa com 100% e a mesma tiver um chamado relacionado é informado a seginte mensagem: ''Essa tarefa é associada a um chamado? Certifique-se que já foi dado um feeback ou altere a responsabilidade para o suporte. Deseja realmente concluir a tarefa?'' * **RN16** - O campo ambiente só será exibido se o [[desenvolvimento:especificacoes:iproject:casos_de_uso:administracao:tarefas:cadastrar_tipo|tipo de tarefa]] estiver registrado como ''exige ambiente''. * **RN17** - Não serão aceitas novas **SOLICITAÇÕES DE UPDATE EM PRODUÇÃO** em tarefas que já possuam uma, e que também já se encontrem em uma build fechada. * **RN18** - Se o log for marcado para acompanhamento, será enviado um e-mail com a notificação do log para todas as pessoas que estão acompanhando a tarefa. * **RN19** - Se o log for registrado por um usuário de cooperação, o mesmo não poderá modificar o status da tarefa. * **RN20** - Se o log for do tipo **SOLICITAÇÕES DE TESTES**, será adicionado ao log a mensagem: ''1. O QUE FOI FEITO NA TAREFA?'' e ''2. COMO TESTÁ-LA?'' * **RN21** - Se o log for do tipo **SOLICITAÇÕES DE UPDATE EM PRODUÇÃO** o usuário deverá dizer se há necessidade de alteração do manual devido ao que foi feito na tarefa, caso afirmativo então será criado automaticamente uma subtarefa para alteração do manual. * **RN22** - Se o log for do tipo **SOLICITAÇÕES DE TESTES**, não permitir o cadastro de novo log havendo solicitação de teste anterior que não foi concluída. * **RN23** - Caso o usuário digite uma das palavras "anexo" ou "anexado" no log e deixe o campo Arquivo em branco, o sistema pede uma confirmação ao usuário se deseja continuar. * **RN24** - Esta opção só será exibida caso a tarefa possua subtarefas. * **RN25** - Usuários externos não terão acesso às operações de Alterar Tarefa, Nova Subtarefa, Detalhes da Tarefa, Relacionar Tarefa, Visualizar Subtarefas e Associar a Build. A operação de Cancelar Tarefa só será exibida para o usuário externo caso ela esteja relacionada ao seu projeto. * **RN26** - Se o log tiver a opção Visualização Externa habilitada, o conteúdo do log será enviado para o e-mail do projeto e para o e-mail do criador da tarefa. ==== Resoluções/Legislações Associadas ==== Não se Aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.com.jeebrasil.iproject.dominio.Tarefa | sistemas_comum.iproject.tarefa | | br.com.jeebrasil.iproject.dominio.LogTarefa | sistemas_comum.iproject.log_tarefa | | br.com.jeebrasil.iproject.dominio.TipoTeste | sistemas_comum.iproject.tipo_teste | | br.com.jeebrasil.iproject.dominio.TipoErro | sistemas_comum.iproject.tipo_erro | | br.com.jeebrasil.iproject.dominio.ItemTeste | sistemas_comum.iproject.item_teste | ====== Plano de Teste ====== Sistema: iProject Módulo: Tarefas Link(s): iProject -> Tarefas -> Tarefas por Prioridades -> Registrar Alteração Usuário: gleydson, dalton Papel que usuário deve ter: Qualquer papel no iProject. ===== Cenários de Teste ===== Plano de Teste 1: * Testar utilizando uma tarefa com registros de logs. * Verificar se a sequência das informações do histórico de logs está de acordo com a descrição do caso de uso. * Verificar se os campos Início e DeadLine estão sendo validados quanto a serem um período válido quando ambos forem informados. * Testar se a o tipo de tarefa e as datas de início e deadline estão sendo atualizados quando for um registro de ** ALTERAÇÃO DE RESPONSABILIDADE **. * Ao cadastrar um log do tipo ** ALTERAÇÃO DE RESPONSABILIDADE ** e a tarefa estiver marcada como "Trabalhando no momento" (ver [[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:tarefas_por_prioridade|Listar Tarefas por Prioridade]]) verificar se esta opção encontra-se desmarcada para este novo usuário. * Verificar se é possível registrar log com 100% de percentual para uma tarefa com número de chamado igual a 0. * Verificar se ao registrar um log com a opção "Marcar tarefa para acompanhamento" marcada (ou desmarcada) a mesma tarefa continua com a opção selecionada (ou não selecionada) na tela "Tarefa -> Tarefas por Prioridade". * Verificar se a tarefa já traz o tipo da prioridade como "Média". Plano de Teste 2 (Usuário tipo Gerente/Diretor): * Exemplos de logins desse tipo: itamir, raphaela, gleydson, dalton, romulofagundes. * Selecione uma Tarefa com chamado associado e que não possua um log de **RESPOSTA AO CRIADOR DO CHAMADO**. * Informe Percentual 100%. * Selecione o botão Cadastrar. Plano de Teste 3 (Usário de outros tipos): * Selecione uma Tarefa com chamado associado. * Informe Percentual 100%. * Selecione o botão Cadastrar. * Caso não tenha um log de **RESPOSTA AO CRIADOR DO CHAMADO**, será exibida a mensagem: ''Não é possível finalizar a tarefa (100%), sem antes enviar uma resposta ao criador do chamado.'' Plano de Teste 4 (Usário de cooperação): * Selecione uma Tarefa aberta. * Clique no botão para adicionar novo log. * Nas opções, o combo Status Tarefa deve estar desabilitado. ===== Dados para o Teste ===== Não se aplica.