Saltar para o conteúdo

Ciclo de vida de liberação de software

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado deLiberação de software)
Ciclo usual para liberação desoftware

Nainformática,aliberação do programa computacionaloulançamento desoftware(eminglês:release) é o lançamento de nova versão oficial de produto desoftware.Cada vez que um produto de software é criado ou modificado, o fabricante e seusdesenvolvedoresdecidem sobre como distribuir o novo produto (oumodificação/versão) às pessoas que o utilizam. Dá-se, pois, uma etapa de elaboração rumo ao produto final. Esse conjunto é denominadociclo de vida de liberação desoftware.

Osoftwareé sempre produzido e, pois, identificado e liberado sob umaversão de programa,e é essa identificação própria garante que cadasoftwareseja absolutamente inconfundível com qualquer outra anterior ou posterior.

Patché um método de distribuição de mudanças. Pode ser um programa que modifica o sistema original para criar um novo atualizado, como apenas uma lista de instruções que o usuário siga para atualizar o sistema.

Histórico[editar|editar código-fonte]

O uso da terminologia teste "alfa / beta", como se dá correntemente em Informática, originou-se na empresa norte-americanaIBM.Já nos anos1950(e provavelmente antes), a IBM usou terminologia similar para o desenvolvimento dehardware.Onde, o Teste "A" indicava a verificação de um novo produto antes do anúncio público; o Teste "B" era a verificação antes de liberar o produto para ser efetivamente fabricado; o Teste "C" significava o teste final antes da disponibilidade geral (e comercial) do produto. Como osoftwaretornou-se parte significativa das ofertas de produto por parte de IBM, a terminologia do "teste alfa" passou a ser usada para denotar o teste pré-anúncio e o "teste beta", para mostrar a situação do produto para disponibilidade geral. Martin Belsky[1],gerente de alguns dos projetos desoftwareanteriores da IBM, afirmou ter inventado essa terminologia. A IBM abandonou a terminologia alfa / beta durante a década de1960,mas a essa altura já havia sido amplamente difundida. O uso do "teste beta" para se referir a testes feitos por clientes não foi feito na IBM; em vez disso, a IBM usa o termo "teste de campo".

Desenvolvimento[editar|editar código-fonte]

Pré-alfa[editar|editar código-fonte]

A versão pré-alfa compreende todas as atividades realizadas durante o projeto de software anteriores aostestes.Tais atividades podem incluiranálise de requisitos,projeto de software,desenvolvimentoeteste de unidade.

Em um desenvolvimento típico decódigo aberto,há várias versões pré-alfa. Versões chamadasmilestoneincluem conjuntos específicos de funções, e são lançadas tão logo a funcionalidade esteja implementada.

Alfa[editar|editar código-fonte]

A versão alfa é a primeira versão testada — chama-se "α"a letra inicial doalfabeto gregoou o número 1 — nesta fase os desenvolvedores geralmente realizamtestes caixa-branca.Validações requeremtestes caixa-pretapor uma equipe específica de testes.[2]

Versões alfa podem ser instáveis, com travamento ou perda de dados, exceto se publicamente disponibilizadas. Nesse caso, os desenvolvedores focam mais na estabilidade, com testes mais extensivos. Porém é incomum a publicação desoftwaresem versão alfa.

Beta[editar|editar código-fonte]

A versão beta (chama-se "β"correspondente à segunda letra doalfabeto gregoe também ao número 2), é a que sucede a versão alfa. Inicia-se, geralmente, quando não há mais funcionalidades a implementar nosoftware.Seu foco é reduzir impactos aos usuários, valendo-se detestes de usabilidade.O processo de liberação da versão beta é ditoliberação betae, tipicamente, é sua primeira divulgação pública, fora dos limites da organização que o desenvolve.[3]

Usuários de versões beta costumam ser ditosbeta testers( "testadores [de] beta" ). Costumam ser consumidores prospectivos que aceitam participar dos testes sem pagamento, embora possam ganhar descontos, compensações, ou até receber osoftwaresem custo.[4]

Versões beta usam-se em demonstraçõesintra-organização e para clientes externos. Às vezes, refere-se obeta,alternativamente, comoearly access( "acesso adiantado" ).previewoutechnical preview.Algunssoftwarespermanecem comobetas "perpétuos".

Release candidate[editar|editar código-fonte]

A versão release candidate( "[produto] candidato a lançamento" ), ou simplesmenteRC,refere-se a uma versão com potencial para ser o produto final, pronta para ser lançada aousuário,a menos que algum defeito (bug) sério apareça e se o perceba em tempo. Nesse estágio de estabilização do produto, todas as funcionalidades encontram-se especificadas, implementadas e testadas através de uma ou mais fases beta sem a ocorrência de defeitos sérios.

Apple Inc.usa o termo "golden master"para designar essa fase (release candidate), e o últimogolden masteré utilizado como versão final. Outras letras do alfabeto grego, comogamaedelta,são usadas para indicar versões substancialmente completas, mas ainda em fase de testes, comômegaouzênitepara versões finais de teste e tidas como livres de defeitos, prontas para produção. São especificidades de cada empresa.

Finalmente — ou quase finalmente — um produto em lançamento é denominadocode complete( "código completo" ) quando a equipe de desenvolvimento concorda que a versão não terá,a priori,inclusão de qualquercódigo fonteadicional, embora, na prática, por motivos vários, ainda possa haver mudanças no código para corrigir defeitos. Pode ainda haver mudança na documentação ou nos arquivos de dados, ou no código utilizado para testes.

Lançamento[editar|editar código-fonte]

RTM[editar|editar código-fonte]

Release to manufaturing( "lançamento para a fabricação" ) ourelease to marketing( "lançamento para o mercado" ), ambos abreviadosRTM,utilizam-se quando osoftwareestá pronto para o consumidor final. As iniciais RTM são tipicamente usadas se a produção destina-se a um grande público, em contraste a produtos para público mais restrito — comosoftwarespara finalidades específicas ou governamentais —, notadamente nos já distribuídos com componentes dehardware(O&M,ou vendidos em grandes redes de lojas.[5]

GA[editar|editar código-fonte]

General availability([produto para "disponibilidade geral" ) é o produto no ponto em que todas as atividades de comercialização necessárias foram completadas e osoftwarefoi oficialmente disponibilizado para o mercado, seja pelainternetou em mídias físicas.

Atividades comerciais podem incluir disponibilidade geográfica do produto, tradução em várias línguas conforme mercados-alvo e finalização de testes de segurança. O tempo entreRTMeGAdura semanas a meses, dependendo da demanda comercial da GA.

Essa é a fase em que o produto é considerado "vivo" — é a versão final. Tal versão é tida como muito estável e virtualmente livre de defeitos, com qualidade aceitável para todos os usuários finais. Em jogos, ela também é conhecida comogold edition( "versão ouro").

Long Term Support'([produto com] "suporte de longa duração" ), ouLTS,é a versão que confere a garantia adicional no tempo de serem atualizáveis para a próxima LTS e desfrutarem de suporte pelo fabricante por um tempo mais longo que versões não-LTS.[6]

Referências

Ver também[editar|editar código-fonte]