====== Controle de Release ====== ===== Introdução ===== O Controle de Release surgiu da necessidade de disponibilizar um ambiente para consulta das atividades homologadas. Essas atividades serão disponibilizadas hierarquicamente por projeto (sistema, Ex: SIPAC) -> release -> tarefas (Ex: alteração no cadastro de compras). O objetivo é gerenciar o controle na alteração das tarefas para a correção de bug (erro, falha, etc.), para introduzir uma nova funcionalidade ou melhoramento em uma determinada atividade homologada do sistema. ===== Definições ===== * __Projeto__: Sistema (Ex.: SIGAA) no qual um determinado processo foi alterado. Um projeto pode ser composto por mais de uma __Release__. * __Release__: Versão com alterações significativas no sistema. Composta por um conjunto de builds mais frequentes. Exemplo: Uma release quinzenal pode englobar várias builds (diárias, semanal, etc). A release deve ter um controle de numeração tal como X, Y. O X deverá crescer de acordo com grandes alterações, por exemplo: a adição de um novo módulo (biblioteca) deveria incrementar o X. Aprimoramentos e erros apenas aumentam o Y. * __Builds__: Conjunto de __Tarefas__ homologadas. Representa um deploy no ambiente de produção. * __Tarefa__: A tarefa representa uma solicitação de modificação do desenvolvedor. * __Usuários Externos__: São pessoas que irão interagir com o Sistema Integrado de Gerência de Projetos (iProject). São exemplos de usuários externos: Cooperação Técnica - DPF, Cooperação Técnica - Ministério da Justica - MJ, Cooperação Técnica - DPRF, Cooperação Técnica - Universidade Federal do Maranhão (UFMA), Cooperação Técnica - Universidade Federal da Bahia (UFBA), Cooperação Técnica - Universidade Federal do Recôncavo da Bahia (UFRB), Cooperação Técnica - Universidade Federal de Sergipe (UFS), Cooperação Técnica - Universidade Federal do Ceará (UFC), Cooperação Técnica - Universidade Federal Rural da Amazônia (UFRA) e Cooperação Técnica - Universidade Federal Rural do Semi-Árido (UFERSA). ===== Descrição do Caso de Uso ===== O controle da release será visualizado obedecendo a seguinte estrutura: * Autenticação do usuário com permissão de acesso externo ao Sistema Integrado de Gerência de Projetos (iProject). * O usuário externo quando autenticado, terá acesso a visualização do Controle de Release, Abertura de tarefa, Consulta de tarefa, e alteração de senha no Sistema Integrado de Gerência de Projetos (iProject), os demais menus devem está desabilitados. * A Release será composta da seguinte forma: * __Releases__ * SIPAC (Sistema Integrado de Patrimônio e Administração de Contratos). * SIGAA (Sistema Integrado de Gestão Acadêmica). * SIGED (Sistema Integrado de Gestão de Documentos). * SIGPRH (Sistema Integrado de Gestão, Planejamento e Recursos Humanos). * SIGAdmin (Sistema Integrado de Gestão Administrativa dos sistemas). * No lado direito da denominação de cada sistema deve ser exibida a __Última Alteração__ (deverá ser um link para baixar o patch, a SQL e o LOG de alteração) da Release e um link para visualizar (__#Visualizar Detalhes#__) todas as Releases do sistema. Ao clicar no link (__#Visualizar Detalhes#__), todas as Releases do sistema selecionado (Ex.: SIPAC) serão exibidas e as visualizações devem obedecer o formato composto por: Número da versão, data e link (__#Ver Tarefas da Release#__) para detalhar a Release. * Exemplo: Release 1.00 - 09/10/2009 - #Ver Tarefas da Release# - * Ao clicar no link (__#Ver Tarefas da Release#__) será exibido o seguinte formato de formulário com as tarefas: * Após a seleção do sistema devem ser exibidos os links para baixar o PATCH, a SQL e o LOG de alteração de Tarefa do módulo selecionado. * As tarefas são descritas conforme o modelo abaixo: * __Descrição Tarefa 01__ - Data da Alteração da tarefa (Formato: 00/00/0000). * Alteração de Log da tarefa. * PATCH. * SQL. * __Descrição Tarefa 02__ - Data da Alteração da tarefa (Formato: 00/00/0000). * Alteração de Log da tarefa. * PATCH. * SQL. * O cabeçalho das tarefas são compostos pelos itens: Título da tarefa, alteração de log por tarefa, breve descrição da tarefa, sub-sistema, data de início e fim da tarefa. * Exemplificando a estrutura: * SIPAC (Sistema Integrado de Patrimônio e Administração de Contratos) - Data da última alteração (formato: 00/00/0000) - __#Visualizar Detalhes#__ * Release 1.00 - 09/10/2009 - #Ver Tarefas da Release# - * Release 2.00 - 09/10/2009 - #Ver Tarefas da Release# - (clicando nos detalhes desta Release será exibido o conteúdo abaixo) * Links para baixar o PATCH, a SQL e o LOG de alteração de Tarefa do módulo selecionado. * __Tarefa 01__ - Data da Alteração da tarefa (Formato: 00/00/0000). * Alteração de Log da tarefa. * PATCH. * SQL. * __Tarefa 02__ - Data da Alteração da tarefa (Formato: 00/00/0000). * Alteração de Log da tarefa. * PATCH. * SQL. * ... * Release 3.00 - 09/10/2009 - #Ver Tarefas da Release# - * ... ===== Principais Regras de Negócio ===== * Quando as builds de uma release estiverem encerradas, a realease poderá ser reaberta. * Quando uma build estiver encerrada, ela poderá ser reaberta para possíveis manipulações no log SQL. * Uma build que está associada a uma sistema e contiver vínculos, não poderá ser desvinculada do sistema original. * Só será possível cadastrar uma nova Release se não existir alguma aberta para o sistema. * Uma Release deve ser aberta com Data de Início e uma Descrição. * Uma build aberta que está associada, poderá ser desvinculada da Release. Neste caso, poderá ser aberta uma Release e associar a mesma ou deixá-la sem associação. * Quando uma determinada Build for fechada será possível associar ou não a uma Release posteriormente. * Uma build pode ser associada a uma Release que está aberta e vinculada a um sistema. * É possível encerrar a release mesmo se existir alguma build que esteja aberta. * Quando uma Release for encerrada, deve ser informado qual o link da tag do SVN e data de encerramento. * Os cadastros de release, build, fechamento de release só serão realizados por usuário com permissão de gerente. * Uma equipe (Ex.: COOPERAÇÃO TÉCNICA - UFS) deve está associada a um sub-sistema (Exemplo: SIPAC - Compras). * Em caso de possuir alterações de Banco de Dados, será gerado um ou mais arquivos SQL (para cada Banco de Dados) e um arquivo PATCH a uma determinada tarefa homologada da Release. * Para cada Release poderão ser gerados arquivos SQL (baseado na solicitação de update em banco de dados) para cada Banco de Dados e um arquivo PATCH respectivo. ===== Diagrama de Atividades ===== {{:cooperacao:especificacoes:iproject:atividades_controle_de_release.jpg|Diagrama de Atividades - Controle de Release}} ===== Classes Persistentes e Tabelas Envolvidas ===== < Cite as classes e as tabelas envolvidas diretamente no processo de negócio para que testes possa usá-la. > ^ Classe ^ Tabela | | | | ====== Plano de Teste ====== Sistema: ex.: SIGPRH Módulo: ex.: DAP Link(s): ex.: Menu Servidor -> Chefia -> Cursos e Concursos Usuário: Papel que usuário deve ter: ===== Cenários de Teste ===== <É a definição de um conjunto específico de entradas de teste, condições de execução e resultados esperados, identificados com a finalidade de avaliar um determinado aspecto de um Item a ser testado.> ===== Dados para o Teste ===== < Descreve como obter os dados que serão usados para o teste do caso de uso.> ====== Arquivos ====== {{:cooperacao:especificacoes:iproject:diagrama_atividades_controle_de_release.rar|Diagrama de Atividades: Controle de Release}}