Vivciklo de programareldono

**Vivciklo de programareldono** estas la tuto de la fazoj de kreado kaj maturiĝo de programaro: de ĝia tutkomenca programado ĝis ĝia finfina eldono, inkluzive de postaj ĝisdatigoj por plibonigi aŭ ripari cimojn.

En la procezo de evoluo de komputilaj programoj, la programo aŭ programaro trairas diversajn stadiojn de evoluo, kiu konsideriĝas evoluaj "limŝtonoj". La versiaj stadioj nomiĝas laŭ la unuaj literoj de la greka alfabeto.

La etapoj de disvolviĝo estas: antaŭ-alfa versio → alfa-versio → beta-versio → publikiga kandidato, antaŭversio, aŭ laŭ grekaj literoj "gama-delta-versio" (angle *release candidate*) → fina versio aŭ publikiga versio (angle *release version*)

Post kiam atingiĝas la fina stato, la ciklo rekomenciĝas, komencante la laboron pri nova versio de la programaro. Depende de la grandeco de la programara projekto kaj la procezo,  iuj etapoj de la modelo povas forfali aŭ esti kunfanditaj.

## Estigo kaj evoluigo
### Historio 
IBM enkondukis la alfa-beta-test-terminologion. En la 1950-aj jaroj, IBM uzis similan terminologion por iliaj aparataraj estigo kaj evoluigo. "A"-testo estis kontrolado de nova produkto antaŭ al publike ĝin anonci. "B"-testo estis kontrolado antaŭ ek-produktado. "C"-testo estis fina testo antaŭ ek-havebligo por la ĝenerala publiko. Kiam programaro ekestis signifa parto de la servoj kiujn proponis IBM, la alfa-test-terminologio estis uzita por indiki la antaŭ-anoncajn testojn kaj la beta-testo estis uzita por montri pretecon de produkto por ĝenerala haveblo. Martin Belsky, manaĝero de kelkaj IBM-aj komencaj programaraj projektoj, asertas esti enkondukinta la terminologion. IBM en la 1960-aj jaroj ĉesis uzi la alfa-beta-terminologion, sed tiam ĝi jam estis relative vaste uzata. Por testado de programaro per klientoj, IBM ne uzis "beta-testado"-n. Ili parolis pri "field test".

### Estiga fazo: analizo kaj programado 
Antaŭ ol ekfari programaron, bezonatas detala analizo de bezonoj kaj postuloj. Post kiam oni interkonsentis kun la entreprena gvidado kaj eventuale intervjuis la uzontojn de la programaro (funkcia analizo), eblas ek-fari skemojn kaj ek-programi kodon kaj grafikan uzantinterfacon (GUI).

En la angla oni parolas pri "pre-alpha versions" kaj "milestones" (do "limŝtonoj"). Temas pri versioj de la programaro antaŭ ol ek-test(ig)i ilin unuafoje.

### Alfa-versio 
La alfa-fazo (aŭ sen streketo *alfa fazo*, vidu la noton "lingvaj konsideroj" fine de la teksto) de vivciklo de programareldono estas la unua fazo de programara testado ("alfa" estas la unua litero de la greka alfabeto). En tiu ĉi fazo, programistoj ĝenerale testas la internan strukturon (vitroskatola testado, angle: "white-box testing") kaj funkciadon (nigraskatola testado, angle: "black-box testing") de programaro.

Post kiam programaro estas testita en alfa-fazo, oni parolas pri "alfa-versio" (angle: "alpha release").

Alfa-programaro povas esti nestabila kaj kaŭzi kraŝojn aŭ datumperdojn. Ekterna havebligo de alfa-programaro estas tial nekutima en komerca programaro. Tamen, foje alfa-versio de malfermitkoda programaro tamen estas distribuita kiel fontkodo de programaro.

### Beta-versio 
Kiam oni decidis ne plu aldoni al programaro eblecojn (angle: "feature freeze"), alfa-versio iĝas beta-versio (aŭ sen streketo *beta fazo*, laŭ la dua litero de la greka alfabeto). Beta-versio de programaro ĝenerale enhavos pli da cimoj ol kompletigita programaro, kaj povas esti problemoj pri ĝia rapideco kaj rendimento. Daŭre la programaro povas kraŝi kaj datumperdo povas okazi. Do ili estas testaj versioj de la programdaro. La fokuso de beta-testado estas redukti la influon por uzantoj, samkiel ĝia "afabligo".

Beta-versio de programaro ofte estas testata de homoj (potencialaj klientoj) kiuj tion faras senpage. Post testado ili foje ricevas la programaron senpage aŭ je reduktita prezo. Beta-versio de programaro estas ankaŭ uzata por fari prezentojn ene de organizaĵo aŭ al potencialaj klientoj.

### Antaŭversio 
Antaŭversio (angle: "release candidate") estas beta-versio kun potencialo esti la fina produkto. Ĝi pretas esti lanĉita, krom se gravaj cimoj aperus.

### Fina versio 
Fina versio (angle: "release to manufacturing") estas stabila versio de programaro kiu pretas esti produktita kaj ekvendita.

### Profesia subteno 
Post kiam iu aĉetis programaron, estas ofte periodo en kiu li aŭ ŝi rajtas je profesia subteno (angle: "support"). Temas pri telefona aŭ perretpoŝta subteno.

### Ĝisdatigoj 
Ĝisdatigojn de programaro oni nuntempe regule proponas, ĉu pagite ĉu senpage.

### Ĉesigo de uzado 
Post certa tempo, programaro ne plus estas subtenita de firmao(angle: "end-of-life"). Necesas aĉeti novan version aŭ eĉ novan programaron, ĉu de la sama, ĉu de alai firmao.

## Lingvaj konsideroj 
Bertilo Wennergren, prezidanto de la Akademio de Esperanto, rekomendis en Esperanto ĝenerale uzi streketon inter "alfa/beta" kaj "versio": alfa-versio kaj beta-versio.

Laŭ lia konsidero, "alfa" kaj "beta" estas ne-Esperantaj vortoj, en kiuj la fina vokalo tute ne estas Esperanta finaĵo, ĉu ĝi estas "a", ĉu "o", ĉu io alia. Inter la nomoj de la literoj de la greka alfabeto estas eĉ kelkaj, kiuj tute ne finiĝas per vokalo, sed la sistemoj por Latinliterigi/duon-Esperantigi/Esperantigi tiujn nomojn estas pluraj kaj diversaj. Se ili estas ne-Esperantaj vortoj (hazarde finiĝantaj per "a") tiam ili estas O-karakteraj (sen O-finaĵo), kaj tiam la streketoj necesas.

Tial li rekomendas prefere ne skribi "Ni eldonis tri alfajn kaj du betajn versiojn, antaŭ ol ni povis lanĉi la definitivan version de nia programo", sed skribi "Ni eldonis tri alfa-versiojn kaj du beta-versiojn, antaŭ ol ni povis lanĉi la definitivan version de nia programo".

## Referencoj 

Kategorio:Versioj de programaro