O Fluxo de Distribuição de Software © Alexandre Vasconcelos [email protected] [email protected] Centro de Informática da UFPE/ Qualiti Software Processes 1/27 Objetivo Conhecer as atividades e principais decisões relativas ao processo de distribuição de software 2/27 Tópicos Classificação de releases e numeração Distribuição 3/27 Classificação de Releases A classificação é baseada no objetivo e expectativa que se deve ter do release: Alpha release Beta release Release final 4/27 Alpha Release Foram introduzidas no produto funcionalidades significativas O Desenvolvedor deseja avaliação e feedback de clientes selecionados Objetivo: encontrar problemas no produto Clientes devem estar motivados! Produto não está suficientemente estável para distribuição em larga escala Features (funcionalidades) podem ser incluídas/excluídas 5/27 Alpha Release Clientes precisando de novas funcionalidades Clientes mudando para competidores competidores trabalhando em novas funcionalidades competidores lançando seus produtos especificação funcional alpha release incorporar feedback release para clientes 6/27 Beta Release Necessidade de feedback sobre estabilidade do produto Não há mais inclusão/exclusão de funcionalidades Se estável, o Beta pode virar o próprio produto 7/27 Release Final Disponível para os clientes 8/27 Updates e Upgrades Em geral, há necessidade de manter releases anteriores Manter compatibilidade de dados, funcionalidades e interface updates: consertam defeitos no produto upgrades: oferecem novas funcionalidades novo empacotamento 9/27 Patches e consertos de emergência Disponibilizados devido à urgência Às vezes disponível apenas para alguns usuários soluções de curto-prazo, corrigidas adequadamente em um update ou upgrade posterior. 10/27 Numeração de releases x.y.z major release number feature release number defect repair number 11/27 Numeração de releases x.y.z[{A|B}w] major release number feature release number defect repair number iteração do alpha/beta 12/27 Numeração interna de releases Baseado em data Um campo a mais 13/27 Distribuição de software no RUP Objetivo: entregar o produto aos usuários finais Muito dependente do contexto do negócio e do projeto Precisa ser configurado! Algumas possíveis atividades Produção do software Empacotamento do software Distribuição do software Instalação do software Migração Suporte aos usuários Aceitação Planejamento e execução de Beta testes 14/27 Produção do software Gerar programa/script de instalação Gerar documentação do usuário Gerar dados de configuração exemplo: idiomas, features disponíveis Gerar programas adicionais para migração exemplo: conversão de dados 15/27 Documentação para o usuário Guia de instalação Guia do usuário Tutorial Como usar o tutorial e o help online Release notes informações sobre o release, compatibilidade, como atualizar, novas features, limitações e bugs conhecidos. 16/27 Empacotamento do software Disponibilizar os artefatos do produto em uma mídia para distribuição diskettes fita CD-ROM servidores web Inclui material adicional: documentação, etc. 17/27 Distribuição do software Definição dos métodos de distribuição envio pelo correio distribuidores Internet Licenciamento administração de licenças e entrega de códigos de licenças a usuários 18/27 Instalação do software Definição do processo de instalação do software realizado pelo usuário final realizado pelo vendedor do produto detalhamento do processo de instalação 19/27 Migração Definição do processo de migração de uma versão anterior do sistema para uma nova versão aspectos de continuidade aspectos de conversão de dados Programas de migração são desenvolvidos e testados da mesma forma que o próprio produto. 20/27 Suporte a usuários Treinamento Treinamento pelo computador (tutorial) Help Online Suporte telefônico Suporte via Internet FAQs, exemplos, wizards. bug-tracking (Gerência de Mudanças) 21/27 Aceitação Processo formal de aceitação pelo cliente de que o software foi entregue/instalado. 22/27 Planejamento de testes Alpha/Beta Definição de se e quando serão realizados Definição da equipe envolvida com os testes 23/27 RUP - Artefatos Gerente de Implantação Plano de Implantação Escritor Técnico Material de Suporte ao Usuário Implementador Instrutor Release Artefatos Material de Notes de Instalação Treinamento 24/27 RUP – Fluxo de Atividades Desenvolver Material de Treinamento Instrutor Escritor Técnico Gerente de Implantação Planejar Implantação Implementador Desenvolver Material de Suporte ao Usuário Gerenciar Testes Beta e/ou de Aceitação Gerenciar Testes Alfa Empacotar e Liberar o Produto Produzir Artefatos de Instalação 25/27 Referências Descrição do workflow de gerência de configuração e mudanças - CD do RUP Configuration Management Today http://cmtoday.com Software Release Methodology, M.E.Bays, Prentice Hall, 1999. 26/27 O Fluxo de Distribuição de Software © Alexandre Vasconcelos [email protected] [email protected] Centro de Informática da UFPE/ Qualiti Software Processes 27/27