~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Alterar Tarefa ====== Esse caso de uso permite a alteração dos dados da tarefa no [[https://docs.info.ufrn.br/doku.php?id=desenvolvimento:especificacoes:iproject:negocio#diagrama_de_atividades|IProject]]. A alteração de tarefas pode ser realizada por qualquer usuário cadastrado no IProject. As tarefas representam as atividades que estão sendo realizadas pelas equipes envolvidas nos projetos dos sistemas da UFRN (SIPAC, SIGAA e SIGRH). ===== Descrição do Caso de Uso ===== O caso de uso inicia quando o usuário acessa: //iProject → Tarefas → Tarefas por Prioridade → Alterar Tarefa//. Os seguintes campos são exibidos: ([[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:alterar_tarefa#principais regras de negócio|RN05]]) * **Módulo***: Formato - TEXTO, Tipo - AUTOCOMPLETE. Módulo ao qual será associada a tarefa * **Tipo de Tarefa**: Tipo - TEXTO. São apresentadas as seguintes opções: ''ERRO, APRIMORAMENTO...'' ([[#Principais Regras de Negócio|RN06, RN07, RN08, RN10, RN11]]) * **Cooperação técnica**: Tipo - TEXTO. Associa a tarefa a uma cooperação técnica. * **Responsável***: Formato - NOME DO RESPONSÁVEL PELA TAREFA, Tipo - Autocomplete. ([[#Principais Regras de Negócio|RN01, RN11, RN13]]) * **Código UC**: Formato - 999999, Tipo - NUMÉRICO. * **Tarefa Pai**: Formato - Nº - TÍTULO DA TAREFA, Tipo - Autocomplete. * **Caso de Uso**: Tipo - TEXTO. * **Titulo***: Tipo - TEXTO. * **Início**: Formato - DD/MM/AAAA, Tipo - DATA. * **Horas Previstas**: Formato - 99.99, Tipo - NUMÉRICO. * **DeadLine**: Formato - DD/MM/AAAA, Tipo - DATA. O sistema fornece um calendário virtual para consulta * **Prioridade**: Formato - 999, Tipo - NUMÉRICO. ([[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:alterar_tarefa#principais regras de negócio|RN03, RN04]]) * **Chamado**: Formato - 9999, Tipo - NUMÉRICO. * **Descrição**: Tipo - TEXTO. Possibilita a inserção de código HTML * **Percentual**: Formato - 99%, Tipo - NUMÉRICO. * **Marcar como tarefa da semana**: Tipo - LÓGICO. * **Status**: Tipo - TEXTO. Status inicial da tarefa * **Notificar E-mail**: Tipo - TEXTO. Endereço de e-mail para o envio de notificação, podem ser inseridos mais de um e-mail * **Prioridade da Tarefa**: Tipo - TEXTO, São apresentadas opções: ''BLOQUEANTE, ALTA, MÉDIA, BAIXA, SUSPENSA e INDEFINIDA'' * **Arquivo**: Tipo - TEXTO. O sistema fornece a opção de upload de arquivo * **Marcar como tarefa dinâmica**: Tipo - LÓGICO ([[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:alterar_tarefa#principais regras de negócio |RN12]]) * **Marcar como Tarefa da Semana**: Tipo - LÓGICO. * **Marcar como Visualização Externa**: Tipo - LÓGICO. * **Marcar Tarefa para Acompanhamento**: Tipo - LÓGICO. * **Cronograma**: Tipo - TEXTO. São apresentados os cronogramas em vigor para o responsável selecionado ([[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:alterar_tarefa#principais regras de negócio |RN09]]) * **Tarefa Extra**: Tipo - LÓGICO. Indica que a tarefa inserida no cronograma será uma tarefa extra ([[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:alterar_tarefa#principais regras de negócio |RN09]]) * **Acompanhar Tarefa**: Tipo - Texto. Ao adicionar os usuários, será exibida a listagem de Usuários para Acompanhamento. ===== Principais Regras de Negócio ===== * **RN01** - Se um responsável for informado na tarefa, será enviado um email notificando-o da inclusão * **RN02** - Ao cadastrar uma nova tarefa, ela poderá ser visualizada em [[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:tarefas_por_prioridade|Tarefas por prioridade]] e também na lista de tarefas que aparece em [[desenvolvimento:especificacoes:iproject:casos_de_uso:tarefas:nova_tarefa|Nova Tarefa]]. * **RN03** - Ao cadastrar uma tarefa sem informar a prioridade ela irá para as últimas posições da lista. * **RN04** - Ao informar a prioridade da tarefa igual a 0, ela irá para o topo da lista. * **RN05** - Ao alterar uma tarefa os campos //Módulo, Tipo de Tarefas e Responsável//, devem vir preenchidos com os dados da tarefa anterior. * **RN06** - Ao alterar o tipo de uma tarefa para ''PROJETO'', se o usuário não tiver permissão de diretor ou não tiver selecionado uma //Tarefa Pai//, o sistema deve informar uma mensagem de erro da forma: "Você não tem permissão de criar projetos raízes. Vincule este projeto a algum projeto já existente.". * **RN07** - Ao criar uma tarefa do tipo ''ERRO'', deve ser definido a data de abertura + 48hrs(2 dias úteis) como sendo o deadline. * **RN08** - Ao selecionar o [[desenvolvimento:especificacoes:iproject:casos_de_uso:administracao:tarefas:cadastrar_tipo|Tipo de Tarefa]] o campo //Prioridade da Tarefa//, é alterado de acordo com o relacionamento. * **RN09** - Ao selecionar um ''Cronograma'' no campo //Cronograma// a tarefa será inserida no cronograma selecionado do responsável da tarefa. A tarefa também poderá ser marcada como tarefa extra no cronograma selecionado. * **RN10** - Os usuários externos não podem abrir uma tarefa do tipo ''Projeto''. * **RN11** - 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. * **RN12:** - Quando uma tarefa possuir sub-tarefas ela pode ser marcada como //Tarefa Dinâmica//. * **RN13:** - Caso o //Tipo de Tarefa// seja ''Projeto'' e não seja preenchido o campo //Responsável// este campo receberá automaticamente o valor de ''PENDENTE DE DISTRIBUIÇÃO''. (Adicionado em 28/06/2011 referente à tarefa 65620). ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br/com/jeebrasil/iproject/jsf/TarefaMBean.java | sistemas_comum.iproject.tarefa | ====== Plano de Teste ====== Sistema: iProject Módulo: Tarefas Link(s): iProject -> Tarefas -> Tarefas por Prioridade -> Alterar Tarefa Usuário: dalton Papel que usuário deve ter: Usuário com cadastro no iProject. ===== Cenários de Teste ===== Alterar uma tarefa marcando a opção **Marcar como tarefa da semana** e verificar se a mesma está marcada como da semana. ===== Dados para o Teste ===== Utilizar uma tarefa que não seja da semana.