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
Download

Apresentação - Sefaz-AL