Jump to content

Статия: Стадиите при разработването на програмите


Tragedy

Препоръчан пост

Доста често софтуерните портали като SoftVisia пускат програми, в които присъстват освен номерата на версиите на програмите, така и специфичини обозначения за етапите от тяхното развитие (на програмите). Тези обозначения са най-често думи или съкращения от думи, които представляват основната терминология по отношение на разработването на даден софтуерен продукт и показват докъде е стигнало неговото развитие. По принцип почти всяка една версия на дадена програма минава през няколко етапа по време на своето развитие, като всеки един от тези етапи бележи доколко завършена е тя.

 

 

Pre-alpha (development release, nightly)

 

Това е най-ранната версия от развитието на даден продукт, когато към нея се добавят функционалности или възможности. Това е крайно незавършена версия във всяко едно отношение, като по принцип такива версии много рядко се пускат за потребителите, защото отчасти не са функционални. Все пак за някои програми с отворен код се пускат т.нар. nightly версии, които са в много начален стадий на разработка и затова често се обозначават с деня, в който са направени, защото на следващия ден излиза нова версия. Най-известния пример за това са "нощните" версии на FireFox.

 

 

Alpha

 

Името на този етап идва от първата буква в гръката азбура - Alpha (Алфа). Това е втората условна версия от разработването на дадена програма, като при нея вече има известна доза завършеност на продукта, въпреки че все още се добавят опции и функционалности. За тази версия може да се каже, че в основна степен наподобява крайния продукт и неговите възможности. Интересното при този етап от разработката е, че продукта се тества не за грешки, а по-скоро за функционалност и необходимост от опции или премахване на такива и често това се прави от независим екип от този, който е разработвал програмата.

Това също е първата версия от разработката на дадена пограма, която се дава на потребителите, които тестват софтуера, като целта е да се види доколко е функционален, дали нещо липсва и т.н.

 

 

Beta (preview, technical preview (TP), early access)

 

Бета версиите носят своето име от втората буква в гръцката азбука - Beta. За разлика от Алфа версията, при този стадий от разработката на програмата всички опции и функционалности са добавени и програмата има почти завършен вид, като вече не могат да се добавят нови опции и не се преглеждат молби за добавянето на такива. Понякога тези опции са леко различни от първоначално обявените, но основното правило е те да следват първоначално обявения проект и преработките по време на алфа разработването.

Другото характерно за тези версии е, че те са относително стабилни и функционални с някои малки изключения, които представляват грешки, открити при бета тестването. Тези грешки се наричат още бъгове (bugs).

Разработчиците често използват тези версии за представяне на продуктите си пред широката публика и пред клиенти, но задължително се прави уточнението, че те не са финални и подлежат на допълнително обработване.

За да бъде по-щателно тестван продукта, бета версиите му се пускат на определена група от потребители, наречени бета тестъри (beta testers) като по този начин се симулира нормална работа на потребителите. Това е логично, защото продукта реално ще се ползва от потребителите и евентуалните грешки биха се появили по време на нормална работа от тези хора. Освен на подбрани потребители, бета версиите могат да бъдат пуснати за свободно изтегляне от всички, които желаят да ги тестват и съответно да докладват за открити грешки. Подобни версии се наричат публични бета версии (Public beta versions).

 

Доста красноречив пример за публичните бета тестове е когато Майкрософт започнаха да предоставят редовно своите Windows Vista Community Technology Previews (CTP) на бета тестерите през Януари 2005. Първият билд от тази серия беше 5219, като последвалите го билдове съдържаха повечето от планираните възможности, както и множество промени и подобрения в потребителския интерфейс, благодарение на обратната връзка от бета тестерите. След пускането на билд 5308 на 22 Февруари 2006 от Майкрософт завиха, че Windows Vista вече има всички планувари опции и по-голяма част от работата между обявяването на този билд и пускането на финалната версия ще бъде върху стабилността, производителността, съвместимостта с драйвери и програми и документацията.

 

Интересен факт е, че понякога бета версиите започват да се използват от потребителите сякаш са завършени версии, защото предоставят сравнително високо ниво на стабилност и липса на множество грешки. Обикновено разработчиците на програми с отворен код ги предоставят за ползване като нормални програми за всички потребителите, докато бета версиите на платените програми отиват само до ограничен кръг от потребители (бета тестери). Няколко интересни примера за това как дадено приложение, което е в бета стадий на разработка може да бъде използвано продължително време, са продуктите на Google - GMail и Google News. Има и други такива феноменални бета версии, които се използват в продължение на години дори и след като е излязла финална версия. Причината за такива феномени се корени във факта, че по този начин компаниите не са задължени да предоставят техническа поддръжка за своите продукти.

 

Тази фаза приключва, когато техническия екип реши, че вече няма да се добавят нови възможности, а ако има предложения за такива, то те ще бъдат реализирани в следващите версии на продукта.

 

 

Release Candidate (RC)

 

Тази фаза се счита за последна преди официалното пускане на продукта. Самото й име подсказва, че програмата вече е готова да бъде представена на публичността, но трябва да се доизгладят малки евентуални проблеми. При този етап продукта се смята за завършен, като не може да добавят нови функционалности или да има съществени изменения в кода му, а само малки промени, свързани с грешки открити в последния момент.

Други названия на този етап са gamma, delta, които се отнасят до заключителните етапи на тестването или дори omega, което означава последния етап от самото тестване. Термините съответно произлизат от третата, четвъртата и последната буква от гръцката азбука.

Забелязват се обаче продукти, които използват по няколко Release Candidate-а преди да пуснат финалната версия на продукта си, понеже тези етапи са почти завършени и потребителите могат да използват всички функционалности на програмата.

 

 

Gold/general availability release

 

Термините "златна версия" или "общодостъпна версия" се използват за обозначаване на финалната версия на дадена програма. Тази версия се явява последния стадий от разработката на продукта, като тя включва всички планувани възможности и всички грешки в нея са премахнати по време на другите етапи. Продуктите в този стадий на разработка са готови за продажба и масово разпространение сред потребителите, като често компаниите поставят дигитални подписи (digital signature), за да може клиентите да разбера дали продукта е бил променен след като е бил обявен на потребителите.

Термина "златна версия" произлиза от златните дискове, с които са били изпращани финалните версии на компаниите, които се занимават с масово разпространение на продуктите. Това наистина е факт, защото често дисковете са били създавани от злато заради тяхната издръжливост на корозия и заради рекламния ефект.

Компанията Майкрософт използва два други термина за своите финални версии: RTM (release to manufacturing) за продукти, които са пуснати за разпространение и RTW (release to Web) за продукти, които могат свободно да се изтеглят от Интернет.

 

 

Stable/unstable

 

Тези термини се използват най-често при програмите с отворен код. Един от най-ярките примери е Linux Kernel, при който се използват числа за обозначение на стадиите от разработването на продукта. В случая с ядрото на Линукс при определянето на версията се използват три групи числа, които са разделени с точка. Ако второто число е четно, то версията стабилна, а ако е нечетно - нестабилна.

 

 

Ето и една картинка от Wikipedia, която много добре илюстрира етапите при разработването на даден програмен продукт:

http://pics.softvisia.com/design/pics/1626/Development_Stages.gif

 

Ето и някои от източниците, които съм използвал:

http://en.wikipedia.org/wiki/Release_candidate

http://www.tldp.org/HOWTO/Software-Proj-Mg....html#ALPHABETA

http://www.answers.com/topic/software-testing

 

 

Всички права върху текущата статия са собственост на автора им и нямат право да бъдат възпроизвеждани под каквато и да е форма без изричното съгласие на автора.

 

Автор: Милен Метев (Tragedy @ SoftVisia.com)

Link to comment
Сподели другаде

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...