Etapa de desenvolvimento (software)

Um estágio de desenvolvimento em tecnologia de software é o estado de conclusão que um produto de software a ser criado atingiu ou deve atingir em um determinado ponto no tempo. Os estágios relevantes são determinados em termos de tempo e conteúdo como parte do gerenciamento do projeto . Eles são baseados no modelo de processo escolhido para o projeto , suas atividades e marcos ou em especificações em conceitos de métodos específicos do fabricante e ambientes de desenvolvimento.

Em um sentido mais restrito , o termo estágio de desenvolvimento refere-se a software executável ; H. em programas executáveis ​​que são fornecidos como parte dos processos de gerenciamento de versão de um projeto para teste ou para seus usuários. Dependendo da situação do projeto, muitas vezes em projetos de manutenção menores , algumas etapas são omitidas, são mescladas ou o software é fornecido apenas como uma única versão final.

Em um sentido mais amplo , existem diferentes estágios de desenvolvimento de software em todo o curso do projeto, em que os resultados também surgem em fases do projeto conceitual que são atribuídas a marcos específicos ('estágios de desenvolvimento'). Veja o exemplo. Ao final de cada etapa, os resultados definidos do projeto são transferidos para as etapas subsequentes de processamento.

Após atingir o estado final do software, o ciclo de desenvolvimento começa i. d. Normalmente novo com medidas / projetos de expansão da aplicação - visando uma nova versão do software .

Objetivo / diferenças

O objetivo da definição de vários estágios de desenvolvimento é geralmente atingir pontos fixos com níveis de maturidade definidos no decorrer do projeto para poder processar as atividades subsequentes de forma mais confiável. Freqüentemente, diferentes estágios de desenvolvimento z. B. praticado em teste de software a fim de ser capaz de verificar detalhes funcionais em níveis de teste / tipos de teste subsequentes que são baseados em funcionalidades que já foram testadas no estágio anterior.

As diferenças entre os estágios individuais de desenvolvimento de software para programas de computador podem ser, por exemplo, as seguintes - para serem usadas para o propósito de liberação dado como exemplo :

  • Algumas funções ainda não foram implementadas; para testar funções individuais com antecedência
  • ... ou são implementados apenas de forma simples (sem casos especiais); também para primeiros / primeiros testes.
  • Na etapa anterior, o software era verificado apenas por meio de determinados tipos de testes (como testes alfa); para realizar testes beta.
  • O software também contém rotinas auxiliares (por exemplo, stubs ou drivers); para testar sub-rotinas .
  • O aplicativo é disponibilizado para transferência para um sistema especial ou ambiente de teste e, se necessário, é adaptado ao sistema de destino; para realizar testes de produção ou testes de carga.
  • A aplicação contém rotinas auxiliares que suportam o teste e documentação de casos de erro; para testadores públicos.
  • As transferências relacionadas ao estágio contêm o aplicativo inteiro ou apenas componentes individuais para a instalação (subsequente).
  • O aplicativo está totalmente operacional (fase final); para a transferência final para o ambiente de produção .

Exemplos de estágios de desenvolvimento

O número de estágios de desenvolvimento com seus níveis-alvo de maturidade e seus nomes variam consideravelmente. No caso de software padrão em particular (incluindo software de sistema ), os fabricantes geralmente especificam como desenvolvem seu software em estágios, para quem e para quais propósitos eles fornecem as respectivas versões de software e como eles nomeiam esses estágios. No desenvolvimento de software individual , os estágios de desenvolvimento / lançamentos de software são geralmente realizados em uma base específica da empresa; eles geralmente não são definidos, mas seguem condições específicas do projeto.

As etapas de desenvolvimento e designações para lançamentos de software podem ser, por exemplo:

pré-alfaalfabetacandidato a lançamentolançamento .

Em outros casos, um fabricante pratica designações de liberação, como as seguintes:

FECHADO → ESTÁVEL FINAL → FINAL → CONSTRUÇÃO ATUAL → AGENDADO .

Há qualquer número de versões de software provisórias entre esses estágios principais no desenvolvimento de software, por exemplo, de várias tentativas de retificação (e níveis de teste) no caso de erros de programa relatados .

Para desenvolvimento de software em geral, i. H. não é válido apenas para programas executáveis, por exemplo, os seguintes estágios i. S. conhecido por marcos:

Definição do projeto , análise de requisitos , especificação , especificação funcional , análise de código , testes unitários, testes do sistema, a aceitação do projeto

Estágios de software para software executável

Estágios de desenvolvimento de software

Versão pré-alfa

Em geral, qualquer estágio de desenvolvimento antes da primeira versão alfa pode ser referido como uma versão pré-alfa (do latim prae- 'prematuramente' e da primeira letra do alfabeto grego alfa , também como α ' caractere para 1). Essa versão é freqüentemente usada quando um módulo do software parcialmente concluído deve ser apresentado. Outro nome é developer preview (do inglês preview developer , também abreviado frequentemente como DP ).

Versão alfa

A primeira versão de um programa de computador a ser testado por estranhos (não pelos desenvolvedores reais) costuma ser chamada de versão alfa . Embora o termo não seja definido com precisão, uma versão alfa geralmente já contém os componentes básicos do produto de software - mas é quase essencial que a gama de funções seja expandida em versões posteriores.

Em particular, as versões alfa geralmente contêm erros de programa da magnitude ou quantidade que os torna inadequados para uso produtivo.

Também alfa versões como previews de desenvolvimento, Inglês previews de Desenvolvedor ou desenvolvedor lançamentos são disponibilizados. Isso geralmente é feito em um círculo exclusivo para desenvolvedores terceirizados .

Versão beta

As versões beta são frequentemente identificadas por logotipos simples, especialmente para serviços da Web 2.0 .

Uma versão beta é a primeira versão de um programa de computador publicado pelo fabricante para fins de teste. O termo não é definido exatamente, como regra prática para diferenciar uma versão beta de outras versões, geralmente ocorre que todas as funções essenciais do programa foram implementadas nele, mas ainda não foram totalmente testadas. O programa pode ou ainda conterá muitos erros possivelmente sérios, que tornam o uso produtivo não recomendado.

Os benefícios do teste beta em particular são os erros que normalmente ocorrem (como conflitos com outros programas, problemas com certos apenas na prática, componentes de hardware , requisitos implementados ambíguos ou ambigüidades na interface do usuário ), mesmo antes do lançamento final ( versão em inglês ) do programa podem ser reconhecidos e retificados ou pelo menos documentados.

Um testador beta geralmente é o primeiro testador e usuário independente ou anônimo terceirizado.

As versões beta dos programas geralmente podem ser reconhecidas pelo 0 como o número da versão principal - é claro, esta variante se aplica apenas às versões beta antes da primeira versão finalizada (1.0) - ou o sufixo beta .

As versões beta geralmente não são distribuídas da mesma forma que os candidatos a lançamento ou as versões concluídas. As seguintes opções são usadas:

  • Snapshots definidos (status de desenvolvimento atual) são gerados a partir do sistema de gerenciamento de código-fonte em intervalos (des) regulares e oferecidos em bloco no código-fonte ou como um pacote pré-compilado. Isso pode ser feito diariamente ( construção noturna ), semanalmente ou em qualquer outro momento que os desenvolvedores considerem apropriado (por exemplo, após a conclusão de um subsistema). Essa versão também pode conter um módulo de rastreamento automático de bugs (veja, por exemplo, Amarok ) para tornar mais fácil para os testadores beta reportarem bugs aos desenvolvedores. Esta é geralmente a norma para grandes projetos com objetivos de desenvolvimento definidos e um cronograma de lançamento fixo (por exemplo, GNOME ).
  • A versão beta está no sistema de controle de origem para uma revisão definida com um dia fornecido (uma marca), mas não é tratada separadamente. Os provedores independentes podem então usar esse nível de desenvolvimento como base para seus pacotes pré-compilados . Isso é usado para projetos que mudam muito rapidamente e que podem funcionar com nenhuma ou apenas raramente lançamentos corrigidos , mas onde ainda há interesse geral nas versões atuais (por exemplo , Dirac , Xine ).
  • Não há uma versão beta fixa, beta é o HEAD atual , ou seja, o status de desenvolvimento real em constante mudança. Os testadores beta devem baixar, configurar e compilar o status atual por conta própria a partir do sistema de gerenciamento do código-fonte; essa atividade normalmente é feita automaticamente por scripts fornecidos pelo projeto. Este é o mais comum, mas também pode ser combinado com qualquer um dos dois métodos anteriores (esta é a regra).

Beta perpétuo

Um termo que descreve que em relação ao constante desenvolvimento da Internet, sites e softwares também estão em constante desenvolvimento e, portanto, nunca estão realmente concluídos. Assim, ocorreu um estado permanente de desenvolvimento, o “Beta Perpétuo”. Originado como uma frase de efeito dentro do conceito Web 2.0 , que leva em consideração o conceito de programação extremo de " Integração Contínua ".

Candidato a Lançamento / Pré-lançamento

Uma captura de tela de pré-lançamento com avisos sobre seu uso

Um candidato a lançamento ( RC para abreviar , do inglês para candidato a lançamento ), às vezes também referido como um pré - lançamento (do inglês para “pré-lançamento” ou “pré-lançamento”), é uma versão de teste final do software. Todas as funções que a versão final do software deve conter já estão disponíveis nela (o chamado recurso completo ), e todos os erros conhecidos foram eliminados. A versão final é criada a partir do candidato a lançamento antes da publicação para realizar um teste de produto final ou teste de sistema . A qualidade do software é verificada e quaisquer erros remanescentes do programa são procurados.

Se mesmo uma pequena alteração for feita, outro candidato a lançamento deve ser criado e os testes repetidos. Os candidatos à liberação são, portanto, frequentemente numerados (RC1, RC2, etc.). Sem alterações adicionais e mantém um candidato a lançamento, finalmente, os padrões de qualidade exigidos, então o sufixo é RCx removido e, portanto, a versão e lançamento (também lançamento final em inglês , lançamento final ou versão final, versão final) explicada e publicada.

Versões que são significativamente mais estáveis ​​do que as versões beta, mas ainda não testadas como um candidato a lançamento , são chamadas de versões gama em alguns projetos de desenvolvimento .

Para drivers de dispositivo para Windows , às vezes há o status Candidato WHQL (traduzido candidato a WHQL ). Esta é uma versão do driver que corresponde ao RC e que o fabricante submeteu para o teste WHQL, mas a certificação correspondente ainda não ocorreu.

Lançamento

A versão final e publicada do software é conhecida como lançamento , às vezes também como versão principal . Isso tradicionalmente anda de mãos dadas com um aumento no número da versão . No caso da distribuição baseada em mídia, esta versão é entregue à oficina de impressão para produção, onde é copiada em suportes de dados como CD-ROMs ou DVDs , ou seja, fabricados como um produto realmente tangível.

Várias designações também foram estabelecidas para este status:

Liberação para Fabricação / Web (RTM / RTW), também Primeira Remessa do Cliente (FCS)
Pronto para reprodução e publicação na rede ( web )
Estábulo
para uma versão estável que não é mais alterada
Final
para a versão final (final)
Disponibilidade geral (GA)
significa disponibilidade geral. O termo deixa claro que a versão foi lançada para uso prático e foi distribuída ou está disponível em vários meios de comunicação.
Gold , também Golden Master (GM)
O Goldmaster é a versão que finalmente vai para a oficina de impressão e é (fisicamente) duplicada. Para obter o Golden Master, todos os erros devem ser eliminados e o produto final completa e completamente gravado no meio de armazenamento final (o DVD Goldmaster). O nome vem da indústria musical. O DVD Goldmaster é produzido bem no final, pouco antes de ser enviado para a gráfica. Como não havia atualizações anteriores ou algo semelhante, vários Golden Masters foram criados e amplamente testados antes que a versão final fosse enviada para a oficina de impressão. O Gold Master é a versão final de vendas que chega à gráfica como original e cópias são feitas. Na indústria musical e cinematográfica, o Golden Master ainda é amplamente utilizado (produção de CD e DVD), na indústria de software ele foi amplamente substituído por atualizações. Normalmente, há apenas uma faixa no DVD Goldmaster.

Designações

As designações de versões de software, liberações, geralmente não são padronizadas e geralmente variam de projeto para projeto. Alguns fabricantes também especificam as designações pretendidas para status de desenvolvimento publicado (planejado) em uma espécie de roteiro . Em vez de “Versão” ou “Lançamento”, Os seguintes termos são comuns para software publicado:

Construir
O resultado da compilação do código-fonte . No processo de compilação , o número de compilação gerenciado automaticamente é geralmente aumentado em um, especialmente quando todo o código-fonte é compilado. No entanto, como o software geralmente precisa ser compilado internamente para teste, esse tipo de construção geralmente tem o mesmo número de versão da construção anterior . Mas mesmo com versões ou lançamentos publicados anteriormente, muitas vezes são para manutenção, como para atualizações de recursos ou correções de bugs, compilações mais recentes conforme atualização publicada.
Alguns programas acrescentam o número da compilação à versão com um hífen , por exemplo, B. 1.2.3-4567, onde 1 é o número da versão principal, 2.3 é a versão secundária e o número da revisão e 4567 (após o hífen) é o número da compilação . Veja também o número da versão .
versão
Uma construção que recebe um número de versão exclusivo é tratada como uma nova versão de um projeto. Está no decorrer de hotfixes ou correções de bugs z. Se, por exemplo, uma versão de manutenção for publicada, ela pode ter o mesmo número de versão, mas um número de compilação superior ou uma adição ao nome, como " Service Release  1" ou simplesmente " Maintenance Release ".
Lançamento
Em geral, uma versão publicada é chamada de lançamento . Versões internas que não são publicados não são, portanto, normalmente, uma versão chamada, mas essas versões ou constrói pode vazar s e assim também atingir o público.

O termo versão beta também é problemático, pois não está claramente definido e pode, portanto, basicamente significar qualquer status de desenvolvimento inacabado. Portanto, há a mesma designação de acordo com os estágios de desenvolvimento, por um lado, relacionada a todo o projeto, por outro lado, a designação só pode se referir a subcomponentes adicionados recentemente (e o resto do projeto é realmente estável e portanto não é uma versão beta).

O próprio software publicado geralmente tem nomes diferentes. Além do chamado “lançamento”, existe também a versão “final” ou final (em alemão: versão acabada ou também versão final). No entanto, também existe o termo “estável” , que significa estável, geralmente como uma versão estável . Aqui, também, é claro que nomes diferentes são bastante comuns: em vez de uma versão, uma publicação também pode fornecer o nome: uma versão final de um projeto de desenvolvimento é apenas a versão final publicada .

A situação não é diferente para versões inacabadas. Seja a versão pré-alfa , alfa ou beta : o mais comum é “experimental” , “instável” (instável), “teste” e “visualização” , cada um opcionalmente novamente como uma “versão” ou como um “lançamento” ” , Mas também como um “build” . Um build é o mais inespecífico, mas também é frequentemente usado em publicações para esclarecer o status de um software inacabado. No entanto, as versões estáveis ​​e acabadas geralmente têm um número de compilação .

Uma característica especial é a nomeação como nightly build , traduzido: nightly build . Um programa com este nome pode ser qualquer coisa de completamente estável a completamente inoperante, porque o processo quase sempre é executado automaticamente à noite (daí o nome) e é baseado na versão atual do código-fonte em que os desenvolvedores fazem suas alterações durante o dia . O código-fonte pode ter sido danificado pelas mudanças recentes ( inglês quebrado ), mas ainda traduzido para o compilador permanece assim, enquanto executa com sucesso o processo de construção, o programa ainda não pode ser executado. Portanto, a designação como nightly build não diz nada sobre o estágio de desenvolvimento do projeto de software.

No entanto, os termos que são direcionados a um público específico, independentemente do nível de desenvolvimento de um projeto de software, também são comuns. Eles buscam principalmente o objetivo, que é vantajoso para o desenvolvedor, de realizar um teste beta externo sob certas condições. Os termos para "programas beta" de maior alcance também não são padronizados e são diferentes de projeto para projeto, mas existem palavras-chave comuns:

Construção interna ou construção privada
refere-se a uma versão executável de um projeto que é testado apenas internamente.
Versão do desenvolvedor
é uma versão de teste que especificamente (para desenvolvedores externos Inglês desenvolvedor ) se destina. Isso é usado principalmente quando muitos fornecedores terceirizados são essenciais para o funcionamento do projeto, por exemplo, B. em um sistema operacional no qual muitos programas de outros fabricantes podem ser executados (ou permanecer compatíveis ou devem se tornar).
Exemplo: Rhapsody Developer Release ou Mac OS X Developer Preview
Beta fechado
denota uma versão beta que é disponibilizada para um círculo exclusivo.
Exemplo: Windows 10 como um Insider Build ou Insider Preview , que foi publicado para participantes em um programa aberto (desde que somente registrável) pela Microsoft, chamado Programa Insider . A admissão de testadores foi limitada no tempo.
Beta pública
refere-se a uma versão beta que é aberta e sem reservas para os primeiros usuários .
Exemplo: Mac OS X Public Beta , uma versão beta do Mac OS X 10.0 .
Acesso antecipado
refere-se a um programa cliente que geralmente um acesso pago ( ofertas de acesso em inglês ) para testes iniciais e / ou versões de desenvolvedor. Isso é particularmente popular com jogos de computador , pois por um lado permite que os jogadores pesquisem certos elementos do mundo dos jogos muito antes de um título ser lançado e ajuda nos testes de estabilidade em vários hardwares, por outro lado, permite que os desenvolvedores façam alterações em um estágio inicial com base no feedback do jogador. Os programas de acesso antecipado também costumam ser uma boa fonte de financiamento, já que o estúdio de desenvolvimento recebe dinheiro adiantado para o desenvolvimento do jogo por meio de vendas de acesso antecipado .

Outro tipo de nomenclatura é a designação do propósito ou motivo pelo qual uma determinada versão é emitida. A “versão de manutenção” e a “versão de serviço” , ou seja, uma versão para fins de manutenção , são usadas principalmente aqui . Isso geralmente é traduzido como a versão de manutenção.

Correção de bug pós-lançamento

Para corrigir erros no software que já foi lançado, os fabricantes de software lançam atualizações, hotfixes , patches e service packs . Com muitos aplicativos e sistemas operacionais modernos , eles podem ser obtidos manualmente ou automaticamente pela Internet .

Firefox como exemplo

O navegador Mozilla Firefox aparece a cada seis semanas em quatro versões diferentes: a versão experimental Firefox Nightly (pré-alfa), a versão experimental "Firefox Developer Edition", a versão mais estável do Firefox Beta e a versão estável do Firefox , cada uma em seu Diferencial número da versão, por exemplo B. Firefox Aurora 11, Firefox Beta 10, Firefox 9. Você também pode baixar o Nightly Build “noturno” (status de desenvolvimento atual, adequado apenas para teste). Desta forma, por um lado, o processo de desenvolvimento pode ser acelerado, e por outro lado, usando as versões Beta ou Aurora, os usuários podem ajudar a testar e avaliar funções futuras da versão estável e identificar bugs e brechas de segurança em um estágio inicial, como Aurora versão doze e a versão Beta serão disponibilizados ao público seis semanas antes do lançamento estável final.

Veja também

literatura

  • Manfred Precht, Nikolaus Meier, Dieter Tremel: Conhecimento básico de TI. Pearson Education, Munich 2004, ISBN 3-8273-2129-8 .
  • Mike Gunderloy: Codificador para Desenvolvedor. Wiley_Default, 2004, ISBN 0-7821-4327-X .

Evidência individual

  1. Ralf Ötinger Desenvolvimento de software amigável [1] Estágios: Análise do problema, definição de requisitos
  2. ES2000 software feito para você cópia arquivada ( memento da origem de 11 dezembro de 2017 na Internet Archive ) Info: O arquivo de ligação foi inserido automaticamente e ainda não foi marcada. Verifique o link original e o arquivo de acordo com as instruções e, em seguida, remova este aviso. Ciclo de vida do suporte @ 1@ 2Modelo: Webachiv / IABot / www.es2000.de
  3. Microsoft anuncia disponibilidade geral do Windows Small Business Server 2008 e do Windows Essential Business Server 2008 ( Memento de 25 de dezembro de 2008 no Internet Archive )
  4. VMware anuncia disponibilidade geral do VMware View 3, com avanços inovadores no gerenciamento, dimensionamento e personalização de ambientes de desktops virtuais ( Memento de 5 de dezembro de 2008 no Internet Archive )
  5. Fases e critérios de liberação. (Não está mais disponível online.) In: cs.pomona.edu. Arquivado do original em 11 de julho de 2016 ; acessado em 24 de julho de 2016 . Informação: O link do arquivo foi inserido automaticamente e ainda não foi verificado. Verifique o link original e o arquivo de acordo com as instruções e, em seguida, remova este aviso. @ 1@ 2Modelo: Webachiv / IABot / www.cs.pomona.edu
  6. ^ Johnathan Nightingale: Cada seis semanas. Em: blog.mozilla.org. 18 de julho de 2011, acessado em 24 de julho de 2016 .
  7. Jens Ihlenfeld: O Firefox continua a cada 6 semanas, mas com o número da versão. golem.de , 26 de agosto de 2011, acessado em 24 de julho de 2016 .