Найти тему

Версии программ и стадии разработки

Как мы уже говорили ранее, разработка ПО может идти по-разному.

Жизненный цикл любой программы - будь то десктопное или веб-приложение может быть продолжительным. Если проект активно развивается то в нем постоянно что-то меняется: добавляются новые функции или исправляются ошибки. Как правило, название проекта при этом никуда не девается, а меняется версия проекта.

Система управления версиями (от англ. Version Control System, VCS или Revision Control System) — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.

Такие системы наиболее широко используются при разработке программного обеспечения для хранения исходных кодов разрабатываемой программы. Однако они могут с успехом применяться и в других областях, в которых ведётся работа с большим количеством непрерывно изменяющихся электронных документов. В частности, системы управления версиями применяются в САПР, обычно в составе систем управления данными об изделии (PDM). Управление версиями используется в инструментах конфигурационного управления (Software Configuration Management Tools).

Единой системы нумерации версий нет. Каждая команда выбирает свой подход.

При этом существует несколько вариантов, каким образом могут быть записаны версии.

20 ноября 1985 года пользователи увидели именно такую версию Windows. В настоящее время последняя Windows - 10 (Версия 1809 Сборка 17763.973)
20 ноября 1985 года пользователи увидели именно такую версию Windows. В настоящее время последняя Windows - 10 (Версия 1809 Сборка 17763.973)

Нумерация целым числом

Десятичная дробь

Последовательные числа

Нумерация версий программы последовательными числами выглядит следующим образом. Версия программы состоит из трех или четырех чисел, разделенных точкой: например, 2.7.5.

Первое число - старшая версия (major), изменяется при кардинальных изменениях программы

Второе число - младшая версия (minor), изменяется при значительных изменениях функциональности

Третье число (или буква) - стадия разработки

Альфа версия - стадия тестирования приложения, число 0 или символ a

Бета версия - стадия публичного тестирования приложения, число 1 или символ b

RC (Release candidate) - релиз-кандидат - стадия-кандидат на то, чтобы стать стабильной версией, число 2 или символы rc

RTM (Release To Manufacturing) - релиз - стабильная версия приложения, число 3 или символы rtm

GA (General availability) - общедоступный релиз. Он может отсутствовать, и тогда вместо него ставится следующее число.

Четвертое число - небольшие изменения (micro, maintenance), изменяется при любом, даже незначительной правке программы

Когда одно из чисел увеличивается, то все следующие за ним сбрасываются до нуля: 1.0.0, 1.0.1, 1.0.2, 1.1.0 и т.д. Часто, последний ноль может отбрасываться из версии, например: 1.0.0 = 1.0

Например, последовательные числа используют в Adobe Photoshop (Adobe Photoshop 7.0)

Нумерация годом

Нумерация текстом

Вы заметили, что кроме версии существуют также названия, которые, возможно Вам доводилось слышать: альфа или бета версии ПО.

Давайте разберемся что это значит.

Разработка любой программы проходит в несколько этапов. Результатом такой работы на каждом этапе становится какая-нибудь версия ПО. Постепенно программа доводится до стабильного состояния, когда все найденные ошибки исправлены, и она готова к использованию.

Обычно выделяют 5 стадий разработки ПО, которые добавляются либо в названии версии, либо используются самостоятельно с названием ПО.

Пре-альфа (Pre-Alpha)

Альфа (Alpha)

Бета (Beta)

Бета-версии программ – это уже практически готовые продукты, разработанные в первую очередь для тестирования конечными пользователями. Часто их распространяют бесплатно, чтобы привлечь как можно больше пользователей, и, возможно, потенциальных покупателей будущей платной версии программы. Также благодаря свободному распространению и возможности её использования, у разработчиков появляется возможность получить оценки и отзывы от пользователей. У бета-версий программ также присутствуют ошибки, возможны сбои, так что на пользователя по-прежнему ложится вся ответственность за весь ущерб, который может быть нанесён от использования «беток». Многие разработчики специально затягивают этап бета-тестирования, чтобы избегать таких рисков.

Иногда этот этап называют этапом открытого тестирования.

На программу существует специальная лицензия, гласящая о том, что программа содержит ошибки.

Это делается, чтобы избежать негативной реакции пользователей.

Некоторые разработчики никогда не выводят свои программы из этой стадии.

Релиз-кандидат (RC от англ. release candidate)

После альфа и бета-тестирования все возможные ошибки уже устранены и программа практически стабильна. Однако есть ещё вероятность, что обнаружатся баги, поэтому разработчики выпускают программы именно в этой версии – RC. Во многих случаях может выйти несколько версий RC – 1, 2 и т.д.

Делается с целью маркетинга и освещения в прессе.

В игровой индустрии часто поступают в продажу специальные копии игры, которая станет доступна лишь в будущем, со специальными бонусами для покупателей.

Пререлизные копии выдаются репортерам и внештатным обозревателям.

Релиз (RTM /от англ. release to manufacturing/, Final, Stable)

Это финальная версия программы, готовая к использованию. В ней исправлены практически все ошибки, она обладает полным функционалом, работа её стабильна и протестирована многими пользователями ранее.

Сравнение внешнего вида программы на разных стадиях разработки
Сравнение внешнего вида программы на разных стадиях разработки

В заключении этого раздела несколько слов о репозиториях.

Репозиторий (англ. repository), хранилище — место, где хранятся и поддерживаются какие-либо данные. Чаще всего данные в репозитории хранятся в виде файлов, доступных для дальнейшего распространения по сети. Существуют репозитории для хранения программ, написанных на одном языке (например, CPAN для Perl) или предназначенных для одной платформы. Многие современные операционные системы, такие как OpenSolaris, FreeBSD и большинство дистрибутивов Linux, имеют официальные репозитории, но также позволяют устанавливать пакеты из других мест. Большинство репозиториев бесплатны, однако некоторые компании предоставляют доступ к собственным репозиториям за платную подписку.

Репозитории используются в системах управления версиями, в них хранятся все документы вместе с историей их изменения и другой служебной информацией.

GitHub — крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки. Веб-сервис основан на системе контроля версий Git и разработан на Ruby on Rails и Erlang компанией GitHub, Inc (ранее Logical Awesome). Сервис бесплатен для проектов с открытым исходным кодом и (с 2019 года) небольших частных проектов, предоставляя им все возможности (включая SSL), а для крупных корпоративных проектов предлагаются различные платные тарифные планы. 4 июня 2018 года Microsoft купила GitHub за 7,5 млрд долларов.

Поддержите канал 👇

📢 Предлагается оценить степень твоей удовлетворённости каналом, по шкале от 1 до 5. Где 5будет соответствовать вариант «полностью удовлетворён», а 1 – «не удовлетворён».

#pythonснуля #программированиенаpython #урокиpython

✔ Не забываем ставить лайк и подписываться на мой канал: https://dzen.ru/lecturer_abramenkova?share_to=link
Впереди много познавательного!
✔ Будем дружить https://vk.com/lecturer_abramenkova
Благодарю каждого за репост!)