APLICATIVO PARA ATUALIZAÇÃO AUTOMÁTICA DE UM SISTEMA DE GESTÃO EMPRESARIAL Marlon Gracietti de Amorim Orientador: Prof. Cláudio Ratke
Roteiro de apresentação 1. Introdução 2. Objetivos 3. Fundamentação teórica 4. Especificação 5. Operacionalidade 6. Resultados e Discussões 7. Conclusão 8. Extensões
Introdução Os requisitos organizacionais modificam o tempo de vida útil de um sistema. Isso requer que mudanças sejam feitas no software. Um processo definido de gerenciamento de mudanças associado a ferramentas de apoio garantem que essas mudanças sejam registradas e aplicadas ao sistema de maneira econômica (SOMMERVILLE, 2003). Com o aumento da complexidade da infraestrutura de TI e da dependência das organizações em relação ao serviços de TI, é cada vez mais necessário o gerenciamento detalhado da liberação de softwares para uso pelas organizações (MAGALHÃES; PINHEIRO, 2007).
Objetivo Desenvolver um aplicativo para a atualização automática do sistema ERP da empresa LMA Soluções junto aos seus clientes; Permitir o controle sobre a versão do software utilizada pelos clientes; Automatizar o processo de liberação de versão; Indicar os clientes aptos a receber a liberação; Definir um novo fluxo de trabalho baseado em metodologias conhecidas, buscando maior estabilidade e controle sobre as mudanças efetuadas no software.
Fundamentação Teórica O CMMI é um modelo de maturidade para melhoria de processo, destinado ao desenvolvimento de produtos e serviços, e composto pelas melhores práticas associadas a atividades de desenvolvimento e de manutenção que cobrem o ciclo de vida do produto desde a concepção até a entrega e manutenção (MELLON, 2006). CAPABILYTY MATURY MODEL INTEGRATION (CMMI)
Fundamentação Teórica CMMI – GERENCIAMENTO DE CONFIGURAÇÃO É a utilização de padrões para gerenciar um software em desenvolvimento. Alterações em suas funcionalidades, correções e adaptações, geram diferentes versões do sistema. A gerência de configuração serve para evitar conflitos nos itens de configuração modificados.
Fundamentação Teórica CMMI – GERENCIAMENTO DE MUDANÇA Server pra assegurar que os custos e os benefícios das mudanças sejam adequadamente analisados e as mudanças em um sistema sejam feitas de maneira controlada (SOMMERVILLE, 2003).
Fundamentação Teórica CMMI – Formulário de Requisição de Mudança
Fundamentação Teórica É composta por um conjunto das melhores práticas para a definição dos processos necessários ao funcionamento de uma área de TI. Tem o objetivo de fornecer o máximo alinhamento entre a área de TI e as demais áreas de negócio, de modo a garantir a geração de valor à organização (MAGALHÃES; PINHEIRO, 2007). INFORMATION TECHNOLOGY INFRASTRUCTURE LIBRARY (ITIL)
Fundamentação Teórica É o processo responsável pela implementação das mudanças no ambiente de produção de um conjunto de itens de configuração novos ou que sofreram alterações. Cada vez que é disponibilizadas melhorias ou alterações o gerenciamento de liberação tem a responsabilidade de introduzi às alterações no ambiente de trabalho. ITIL – GERENCIAMENTO DE LIBERAÇÃO
Fundamentação Teórica É o local onde todas as versões autorizadas e definitivas de software da organização são armazenadas. Ela armazena as cópias-mestras de todos os softwares comprados (junto com os documentos de licenciamento), assim como as dos softwares desenvolvidos internamente (MAGALHÃES; PINHEIRO, 2007). ITIL – BIBLIOTECA DEFINITIVA DE SOFTWARE
Fundamentação Teórica O Subversion é um software livre para controle de versão. É utilizado tanto para o desenvolvimento de software livre como para fins corporativos (SUBVERSION, 2012). trabalho em equipe controle do histórico de alterações marcação e resgate de versões estáveis ramificação de projeto FERRAMENTAS DE APOIO - Subversion
Fundamentação Teórica O Redmine é um software livre baseado na web para gerenciamento de projetos e gerenciamento de mudança. Algumas das características são: sistema de rastreamento de tarefas; suporte a múltiplos projetos; integração com sistemas de gerenciamento de configuração gráfico de gantt e calendário; gerenciamento de tempo. FERRAMENTAS DE APOIO - Redmine
Fundamentação Teórica Ignora alguns cuidados vitais para o sucesso de uma modificação no sistema; As solicitações de mudança são realizadas por qualquer usuário do sistema; A atualização dos clientes é feita de forma manual; As atualizações são realizadas diretamente no servidor de produção. SISTEMA ATUAL
Fundamentação Teórica FLUXO ATUAL
Especificação REQUISITOS FUNCIONAIS RF01 - O sistema deverá no módulo cliente verificar a disponibilidade de novas versões do software; RF02 - O sistema deverá no módulo cliente baixar as atualizações do software; RF03 - O sistema deverá no módulo cliente iniciar a instalação das atualizações do software; RF04 - O sistema deverá no módulo cliente notificar ao módulo servidor a versão atual do ERP; RF05 - O sistema deverá no módulo servidor permitir o usuário efetuar o login no sistema; RF06 - O sistema deverá no módulo servidor manter o cadastro de Atualizações ; RF07 - O sistema deverá no módulo servidor exibir uma lista de clientes aptos para a atualização; RF08 - O sistema deverá no módulo servidor informar quais clientes poderão fazer a atualização; RF09 - O sistema deverá no módulo servidor permitir ao usuário liberar a atualização; RF10 - O sistema deverá no módulo servidor visualizar a versão atual utilizada pelos clientes; RF11 - O sistema deverá no módulo servidor permitir a visualização do release note com as alterações contidas na atualização; RF12 - O sistema deverá no módulo servidor permitir o envio do release note por .
Especificação REQUISITOS NÃO FUNCIONAIS RNF01 - O sistema deverá rodar em sistema operacional Windows; RNF02 - O sistema deverá ser desenvolvido em Delphi; RNF03 - O sistema deverá utilizar banco de dados SQL Server; RNF04 - O sistema deverá fazer integração com ERP via banco de dados; RNF05 - O sistema deverá fazer o download das atualizações via FTP; RNF06 - O sistema deverá fazer a comunicação entre os módulos via Web Service.
Especificação Modelo de entidade relacional do ERP
Especificação Modelo de entidade relacional do Redmine
Especificação Modelo de entidade relacional do Cliente
Especificação TÉCNICAS E FERRAMENTAS UTILIZADAS Delphi 7; Delphi Xe2; Webservice; Banco de dados SQL Server 2008 R2; Banco de dados MySQL; Upload e Download - FTP.
Operacionalidade GERENCIAMENTO DE LIBERAÇÕES - Clientes
Operacionalidade GERENCIAMENTO DE LIBERAÇÕES – Release Notes
Operacionalidade SERVIDOR DE ATUALIZAÇÕES
Operacionalidade CLIENTE DE ATUALIZAÇÕES
Operacionalidade BIBLIOTECA DE SOFTWARE
Resultados e Discussões
Conclusão O trabalho alcançou todos os seus objetivos, além de auxiliar na elaboração de um novo fluxo de trabalho, que proporciona objetividade e define responsabilidade sobre cada etapa do processo de requisição de mudança, fornecendo um ganho de qualidade e maior controle dos serviços prestados pela LMA Soluções.
Extensões Quantidade de retornos identificados no ambiente de homologação; Quantidade de retornos identificados na qualidade; Número de incidentes causados por cada atualização; Automatização do envio de .
Demonstração da aplicação