Стадии разработки программного обеспечения: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
 
(не показано 48 промежуточных версий 31 участника)
Строка 1: Строка 1:
{{Нет ссылок|дата=14 мая 2011}}
{{Нет ссылок|дата=2011-12-12}}
В разработке программного обеспечения, '''стадии разработки''' используются для описания степени готовности [[программный продукт|программного продукта]]. Также стадия разработки может отражать количество реализованных функций, запланированных для определённой версии [[Компьютерная программа|программы]]. Стадии либо могут быть официально объявлены и регламентируются разработчиками, либо иногда этот термин используется неофициально для описания состояния продукта.
В разработке программного обеспечения '''стадии разработки''' используются для описания степени готовности [[программный продукт|программного продукта]]. Также стадия разработки может отражать количество реализованных функций, запланированных для определённой версии [[Компьютерная программа|программы]]. Стадии либо могут быть официально объявлены и регламентируются разработчиками, либо иногда этот термин используется неофициально для описания состояния продукта.


Следует отметить, что стадии Beta и Alpha не являются показателями нестабильности, так как присваиваются программе один раз или один раз за серию (серией, в данном случае, считается число до первой точки), в зависимости от системы разработки. Они могут присваиваться нескольким выпускаемым версиям подряд.
Стадии Beta и Alpha не являются показателями нестабильности, так как присваиваются программе один раз или один раз за серию (серией, в данном случае, считается число до первой точки), в зависимости от системы разработки. Они могут присваиваться нескольким выпускаемым версиям подряд.
[[Файл:Testing and development period.png|мини|Описание стадий разработки программного обеспечения ]]


== История ==
== История ==
Терминология тестирования «альфа/бета» впервые появилась в [[IBM]]. Подобные термины для разработки программного обеспечения использовались людьми, связанными с IBM, по крайней мере, с 1950-х годов, а возможно и раньше. Тест «A» представлял собой проверку нового продукта перед публичным объявлением. Тест «B» был проверкой перед [[Выпуск в производство|выпуском продукта в производство]]. Тест «C» являлся окончательным испытанием перед общей доступностью продукта. Поскольку программное обеспечение стало важной частью продукции IBM, для обозначения теста перед объявлением использовалась терминология альфа-тестирования, а бета-тест — для демонстрации готовности продукта к общей доступности. Мартин Бельский, менеджер некоторых ранних программных проектов IBM, утверждал, что он является автором данной терминологии. IBM отказалась от терминологии Альфа/Бета в 1960-х годах, но к тому времени она получила довольно широкое распространение. Термин «бета-тест» как обозначение тестирования, выполняемого пользователями, появился не в IBM. Вместо этого IBM использовала термин «полевой тест» ({{lang-en|field test}}).
Терминология тестирования «альфа/бета» впервые появилась в [[IBM]]. Подобные термины для разработки программного обеспечения использовались людьми, связанными с IBM, по крайней мере, с 1950-х годов, а возможно, и раньше.
Тест «A» представлял собой проверку нового продукта перед публичным объявлением.
Тест «B» был проверкой перед [[Выпуск в производство|выпуском продукта в производство]].
Тест «C» являлся окончательным испытанием перед общей доступностью продукта.
Поскольку программное обеспечение стало важной частью продукции IBM, для обозначения теста перед объявлением использовалась терминология альфа-тестирования, а бета-тест — для демонстрации готовности продукта к общей доступности. Мартин Бельский, менеджер некоторых ранних программных проектов IBM, утверждал, что он является автором данной терминологии. IBM отказалась от терминологии альфа/бета в 1960-х годах, но к тому времени она получила довольно широкое распространение.

Термин «бета-тест» как обозначение тестирования, выполняемого пользователями, появился не в IBM. Вместо этого IBM использовала термин «полевой тест» ({{lang-en|field test}}).


== Этапы разработки ==
== Этапы разработки ==


=== Pre-Alpha — начальная разработка ===
=== Pre-Alpha — начальная разработка ===
'''Начальная стадия разработки''' — Период времени со старта разработки до выхода стадии Альфа. Также так называются программы, не вышедшие еще в стадию альфа или бета, но прошедшие стадию разработки, для первичной оценки функциональных возможностей в действии. В отличие от альфа и бета версий, начальный этап может включать в себя не весь спектр функциональных возможностей программы. В этом случае, подразумеваются все действия выполняемые во время проектирования и разработки программы вплоть до тестирования. К таким действиям относятся — разработка дизайна, анализ требований, собственно разработка приложения, а также отладка отдельных модулей.
'''Начальная стадия разработки''' — период времени со старта разработки до выхода стадии альфа. Также так называются программы, не вышедшие ещё в стадию альфа или бета, но прошедшие стадию разработки, для первичной оценки функциональных возможностей в действии. В отличие от альфа- и бета-версий, начальный этап может включать в себя не весь спектр функциональных возможностей программы. В этом случае подразумеваются все действия, выполняемые во время проектирования и разработки программы вплоть до тестирования. К таким действиям относятся:
* разработка дизайна,
* анализ требований,
* собственно разработка приложения,
* отладка отдельных модулей.


=== Alpha — внутренняя разработка ===
=== Alpha — внутренняя разработка ===
Строка 16: Строка 32:
Стадия начала тестирования программы в целом специалистами-тестировщиками, обычно не разработчиками программного продукта, но, как правило, внутри организации или сообществе разрабатывающих продукт. Также это может быть стадия добавления новых функциональных возможностей. Программы на данной стадии могут применяться только для ознакомления с будущими возможностями.
Стадия начала тестирования программы в целом специалистами-тестировщиками, обычно не разработчиками программного продукта, но, как правило, внутри организации или сообществе разрабатывающих продукт. Также это может быть стадия добавления новых функциональных возможностей. Программы на данной стадии могут применяться только для ознакомления с будущими возможностями.


Как правило, альфа-тестирование заканчивается [[Замораживание (программное обеспечение)|заморозкой свойств]] и переходит в бета-тестирование.
Как правило, альфа-тестирование заканчивается [[Замораживание (программное обеспечение)|заморозкой функциональности]] и переходит в бета-тестирование.


=== Beta — общественная разработка ===
=== Beta — общественная разработка ===
{{Основная статья|Бета-тестирование}}
{{Основная статья|Бета-тестирование}}
Стадия активного [[Бета-тестирование|бета-тестирования]] и [[Отладка программы|отладки]] программы, прошедшей [[альфа-тестирование]] (если таковое было). Программы этого уровня могут быть использованы другими разработчиками программного обеспечения для испытания совместимости. Тем не менее, программы этого этапа могут содержать достаточно большое количество ошибок.
Стадия активного [[Бета-тестирование|бета-тестирования]] и [[Отладка программы|отладки]] программы, прошедшей [[альфа-тестирование]] (если таковое было). Программы этого уровня могут быть использованы другими разработчиками программного обеспечения для испытания совместимости. Тем не менее программы этого этапа могут содержать достаточно большое количество ошибок.


Поскольку бета-продукт не является финальной версией, и публичное тестирование производится на страх и риск пользователя, производитель не несёт никакой ответственности за ущерб, причинённый в результате использования бета-версии. Таким образом, многие производители уходят от ответственности, предоставляя пользователям только бета-версии продукта.
Поскольку бета-продукт не является финальной версией и публичное тестирование производится на страх и риск пользователя, производитель не несёт никакой ответственности за ущерб, причинённый в результате использования бета-версии.


==== Вечная бета ====
=== Release candidate / предварительная версия ===
[[О’Райли, Тим|Тим О’Райли]], поборник открытого ПО, выводит особый вид программ — «вечная бета», когда программа находится в бета-стадии неопределённый период времени. Такой механизм уместен в интернете, где ПО обладает такими свойствами:
* Вместо инсталляторов программ — интернет-службы с дешёвой [[масштабируемость]]ю.
* Необычные и уникальные подборки данных, которые становятся богаче, когда расширяется пользовательская публика.
* Конечные пользователи привлекаются в разработку. Их коллективный разум используется для техподдержки «[[длинный хвост|длинного хвоста]]» с необычными запросами.
* Программа выходит за рамки одного устройства.
* Упрощённые пользовательские интерфейсы, принципы разработки и бизнес-модели.
* На производителе лежит особая ответственность за пользовательские данные, и многие уходят от неё, предоставляя пользователям вечную бету.

=== Release candidate — предварительная версия ===
Стадия-кандидат на то, чтобы стать стабильной. Программы этой стадии прошли комплексное [[Тестирование программного обеспечения|тестирование]], благодаря чему были исправлены все найденные критические ошибки. Но в то же время существует вероятность выявления ещё некоторого числа ошибок, не замеченных при тестировании. Если в течение установленного времени не будет найдено крупных недоработок — становится RTM-версией. Пример: [[Windows 7|Windows 7 RC 7100]].
Стадия-кандидат на то, чтобы стать стабильной. Программы этой стадии прошли комплексное [[Тестирование программного обеспечения|тестирование]], благодаря чему были исправлены все найденные критические ошибки. Но в то же время существует вероятность выявления ещё некоторого числа ошибок, не замеченных при тестировании. Если в течение установленного времени не будет найдено крупных недоработок — становится RTM-версией. Пример: [[Windows 7|Windows 7 RC 7100]].


== Выпуск ==
== Выпуск ==
После выпуска программное обеспечение обычно называется «стабильным выпуском» (stable release). Формальный термин часто зависит от способа выпуска: физический носитель, онлайн-выпуск или веб-приложение.
После выпуска программное обеспечение обычно называется «стабильным выпуском» (stable release).
Формальный термин часто зависит от способа выпуска: физический носитель, онлайн-выпуск или веб-приложение.


=== Release to manufacturing / выпуск в производство ===
=== Release to manufacturing / выпуск в производство ===
{{Main|Выпуск в производство}}
{{Main|Выпуск в производство}}
Обозначение готовности программного продукта к тиражированию<ref>https://msoffice-prowork.com/rtm-release-to-manufacturing-versiya-windows-10-vyshla/</ref>. Это стабильная версия программы, прошедшая все предыдущие стадии, в которых исправлены основные ошибки. RTM предшествует общей доступности (GA), когда продукт выпущен для общественности.
Обозначение готовности программного продукта к тиражированию<ref>{{Cite web |url=https://msoffice-prowork.com/rtm-release-to-manufacturing-versiya-windows-10-vyshla/ |title=RTM (Release To Manufacturing) версия Windows 10 вышла - MSoffice-Prowork.com<!-- Заголовок добавлен ботом --> |access-date=2019-01-27 |archive-date=2020-10-01 |archive-url=https://web.archive.org/web/20201001191821/https://msoffice-prowork.com/rtm-release-to-manufacturing-versiya-windows-10-vyshla/ |deadlink=no }}</ref>. Это стабильная версия программы, прошедшая все предыдущие стадии, в которых исправлены основные ошибки. RTM предшествует общей доступности (GA), когда продукт выпущен для общественности.


Данный термин обычно используется в определённых розничных условиях массового производства программного обеспечения чтобы показать, что программное обеспечение соответствует определённому уровню качества и готово к массовому розничному распространению. RTM может также означать в других контекстах, что программное обеспечение было поставлено или выпущено клиенту или заказчику для установки или распространения на соответствующие компьютеры или компьютеры конечных пользователей оборудования. Этот термин не определяет механизм или объём поставки; он лишь указывает, что качество является достаточным для массового тиражирования.
Данный термин обычно используется в определённых розничных условиях массового производства программного обеспечения, чтобы показать, что программное обеспечение соответствует определённому уровню качества и готово к массовому розничному распространению. RTM может также означать в других контекстах, что программное обеспечение было поставлено или выпущено клиенту или заказчику для установки или распространения на соответствующие компьютеры или компьютеры конечных пользователей оборудования.
Этот термин не определяет механизм или объём поставки; он лишь указывает, что качество является достаточным для массового тиражирования.


=== General availability / общедоступность ===
=== General availability / общедоступность ===
Общедоступность ({{lang-en|general availability}}) или общепринятость ({{lang-en|general acceptance}}, {{lang-en2|GA}}) — стадия маркетинга, на которой завершены все необходимые мероприятия по коммерциализации и доступен для покупки программный продукт, в зависимости, однако, от языка, региона, электронной или медийной доступности. Деятельность по коммерциализации может включать проверку безопасности и соответствия требованиям, а также локализацию и продвижение по всему миру. Время между выпуском в производство и общедоступностью может составлять от недели до нескольких месяцев. Это время необходимо для завершения всех мероприятий по коммерциализации, требуемых GA. На данном этапе программное обеспечение «вышло в жизнь» (gone live).
Общедоступность ({{lang-en|general availability}}) или общепринятость ({{lang-en|general acceptance}}, {{lang-en2|GA}}) — стадия маркетинга, на которой завершены все необходимые мероприятия по коммерциализации, и программный продукт доступен для покупки, в зависимости, однако, от языка, региона, электронной или медийной доступности. Деятельность по коммерциализации может включать проверку безопасности и соответствия требованиям, а также локализацию и продвижение по всему миру. Время между выпуском в производство и общедоступностью может составлять от недели до нескольких месяцев. Это время необходимо для завершения всех мероприятий по коммерциализации, требуемых GA. На данном этапе программное обеспечение «вышло в жизнь» (gone live).


=== Release to web / веб-релиз ===
=== Release to web / веб-релиз ===
Выпуск в интернет (RTW) или веб-релиз является средством доставки программного обеспечения, которое использует интернет для его распространения. При этом изготовитель не задействует никакие физические носители. Веб-релизы становятся все более распространенными по мере роста использования интернета.
Выпуск в интернет (RTW) или веб-релиз является средством доставки программного обеспечения, которое использует интернет для его распространения. При этом изготовитель не задействует никакие физические носители. Веб-релизы становятся все более распространёнными по мере роста использования интернета.


== Поддержка ==
== Поддержка ==
В течение поддерживаемого срока службы программное обеспечение к нему выпускаются сервисные выпуски (service releases), [[Патч| патчи]] или [[Пакет обновления|пакеты обновления]], иногда также называемые «промежуточными выпусками» (interim releases).
В течение поддерживаемого срока службы программного обеспечения к нему выпускаются сервисные выпуски (service releases), [[патч]]и или [[Пакет обновления|пакеты обновления]], иногда также называемые «промежуточные выпуски» (interim releases).


Например, в операционных системах [[Windows| Windows]] основная фаза поддержки длится 5-6 лет с момента общедоступности.<ref>https://support.microsoft.com/ru-ru/help/13853/windows-lifecycle-fact-sheet</ref> В ОС типа [[Ubuntu|Ubuntu]] существуют специальные версии [[LTS|LTS]] (Long Time Support), срок поддержки которых составляет 5 лет против 1 года у обычных.<ref>https://wiki.ubuntu.com/LTS</ref>
Например, в операционных системах [[Windows]] основная фаза поддержки длится 5-6 лет с момента общедоступности<ref>{{Cite web |url=https://support.microsoft.com/ru-ru/help/13853/windows-lifecycle-fact-sheet |title=Lifecycle FAQ - Windows - Microsoft Lifecycle {{!}} Microsoft Docs<!-- Заголовок добавлен ботом --> |access-date=2019-03-06 |archive-date=2017-05-08 |archive-url=https://web.archive.org/web/20170508130544/https://support.microsoft.com/ru-ru/help/13853/windows-lifecycle-fact-sheet |deadlink=no }}</ref>. В ОС типа [[Ubuntu]] существуют специальные версии [[LTS]] (Long Time Support), срок поддержки которых составляет 5 лет против 9 месяцев у обычных<ref>{{Cite web |url=https://wiki.ubuntu.com/LTS |title=LTS - Ubuntu Wiki<!-- Заголовок добавлен ботом --> |access-date=2019-03-06 |archive-date=2011-08-05 |archive-url=https://web.archive.org/web/20110805085357/https://wiki.ubuntu.com/LTS |deadlink=no }}</ref>.


== Прекращение поддержки ==
== Прекращение поддержки ==
На этом этапе производитель объявляет об устаревании продукта и отказе от дальнейшей поддержки. После этого новые функции внедряться не будут.
На этом этапе производитель объявляет об устаревании продукта и отказа от дальнейшей поддержки.

== Этапы разработки по версии [[SourceForge]] / [[Python]]<ref>{{Cite web |url=https://martin-thoma.com/software-development-stages/ |title=Stages of Software Development · Martin Thoma<!-- Заголовок добавлен ботом --> |access-date=2022-03-24 |archive-date=2021-08-17 |archive-url=https://web.archive.org/web/20210817161156/https://martin-thoma.com/software-development-stages/ |deadlink=no }}</ref> ==
Изначально эти 7 этапов использовались на сайте SourceForge. Впоследствии эту нумерацию подхватил [[PyPI]], хостинг пакетов для языка Python.

# '''Планирование''' (''planning''). Автор зарезервировал название за проектом и начал очерчивание функциональности. [[Версия программного обеспечения|Версии]], как правило, не имеет.
# '''Преальфа''' (''pre-alpha''). Уже есть какая-то программа, дающая представление о том, что она будет делать. Идёт разработка, добавление новой функциональности, рефакторинг. Архитектура программы в любой момент может полностью измениться. В этот момент программа уже может получить версию, обычно 0.x.y.
# '''Альфа''' (''alpha''). Архитектура программы очевидна. Близкие к разработчику люди уже могут пользоваться программой. Идёт тестирование и доведение до продукта.
# '''Бета''' (''beta''). Программа полнофункциональна. Идёт тестирование, исправление ошибок и проблем с производительностью, совершенствование эргономики.
# '''Готовая/стабильная''' (''production/stable''). Нет критичных ошибок, оттестированы все основные сценарии использования. Идёт исправление ошибок, добавление новой функциональности. В этот момент программе можно дать версию 1.0.
# '''Зрелая''' (''mature''). Больше года в состоянии «готовая/стабильная», не просят крупной функциональности, нет крупных и критичных ошибок. Идёт исправление мелких ошибок.
# '''Брошенная''' (''inactive''). Разработка давно не ведётся. Найденные проблемы, скорее всего, не будут исправлены. Разумеется, проект могут снова взять в разработку и вернуться к одному из предыдущих этапов.


== Примечания ==
== Примечания ==

Текущая версия от 05:57, 11 июля 2024

В разработке программного обеспечения стадии разработки используются для описания степени готовности программного продукта. Также стадия разработки может отражать количество реализованных функций, запланированных для определённой версии программы. Стадии либо могут быть официально объявлены и регламентируются разработчиками, либо иногда этот термин используется неофициально для описания состояния продукта.

Стадии Beta и Alpha не являются показателями нестабильности, так как присваиваются программе один раз или один раз за серию (серией, в данном случае, считается число до первой точки), в зависимости от системы разработки. Они могут присваиваться нескольким выпускаемым версиям подряд.

Описание стадий разработки программного обеспечения

Терминология тестирования «альфа/бета» впервые появилась в IBM. Подобные термины для разработки программного обеспечения использовались людьми, связанными с IBM, по крайней мере, с 1950-х годов, а возможно, и раньше.

Тест «A» представлял собой проверку нового продукта перед публичным объявлением.

Тест «B» был проверкой перед выпуском продукта в производство.

Тест «C» являлся окончательным испытанием перед общей доступностью продукта.

Поскольку программное обеспечение стало важной частью продукции IBM, для обозначения теста перед объявлением использовалась терминология альфа-тестирования, а бета-тест — для демонстрации готовности продукта к общей доступности. Мартин Бельский, менеджер некоторых ранних программных проектов IBM, утверждал, что он является автором данной терминологии. IBM отказалась от терминологии альфа/бета в 1960-х годах, но к тому времени она получила довольно широкое распространение.

Термин «бета-тест» как обозначение тестирования, выполняемого пользователями, появился не в IBM. Вместо этого IBM использовала термин «полевой тест» (англ. field test).

Этапы разработки

[править | править код]

Pre-Alpha — начальная разработка

[править | править код]

Начальная стадия разработки — период времени со старта разработки до выхода стадии альфа. Также так называются программы, не вышедшие ещё в стадию альфа или бета, но прошедшие стадию разработки, для первичной оценки функциональных возможностей в действии. В отличие от альфа- и бета-версий, начальный этап может включать в себя не весь спектр функциональных возможностей программы. В этом случае подразумеваются все действия, выполняемые во время проектирования и разработки программы вплоть до тестирования. К таким действиям относятся:

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

Alpha — внутренняя разработка

[править | править код]

Стадия начала тестирования программы в целом специалистами-тестировщиками, обычно не разработчиками программного продукта, но, как правило, внутри организации или сообществе разрабатывающих продукт. Также это может быть стадия добавления новых функциональных возможностей. Программы на данной стадии могут применяться только для ознакомления с будущими возможностями.

Как правило, альфа-тестирование заканчивается заморозкой функциональности и переходит в бета-тестирование.

Beta — общественная разработка

[править | править код]

Стадия активного бета-тестирования и отладки программы, прошедшей альфа-тестирование (если таковое было). Программы этого уровня могут быть использованы другими разработчиками программного обеспечения для испытания совместимости. Тем не менее программы этого этапа могут содержать достаточно большое количество ошибок.

Поскольку бета-продукт не является финальной версией и публичное тестирование производится на страх и риск пользователя, производитель не несёт никакой ответственности за ущерб, причинённый в результате использования бета-версии.

Вечная бета

[править | править код]

Тим О’Райли, поборник открытого ПО, выводит особый вид программ — «вечная бета», когда программа находится в бета-стадии неопределённый период времени. Такой механизм уместен в интернете, где ПО обладает такими свойствами:

  • Вместо инсталляторов программ — интернет-службы с дешёвой масштабируемостью.
  • Необычные и уникальные подборки данных, которые становятся богаче, когда расширяется пользовательская публика.
  • Конечные пользователи привлекаются в разработку. Их коллективный разум используется для техподдержки «длинного хвоста» с необычными запросами.
  • Программа выходит за рамки одного устройства.
  • Упрощённые пользовательские интерфейсы, принципы разработки и бизнес-модели.
  • На производителе лежит особая ответственность за пользовательские данные, и многие уходят от неё, предоставляя пользователям вечную бету.

Release candidate — предварительная версия

[править | править код]

Стадия-кандидат на то, чтобы стать стабильной. Программы этой стадии прошли комплексное тестирование, благодаря чему были исправлены все найденные критические ошибки. Но в то же время существует вероятность выявления ещё некоторого числа ошибок, не замеченных при тестировании. Если в течение установленного времени не будет найдено крупных недоработок — становится RTM-версией. Пример: Windows 7 RC 7100.

После выпуска программное обеспечение обычно называется «стабильным выпуском» (stable release).

Формальный термин часто зависит от способа выпуска: физический носитель, онлайн-выпуск или веб-приложение.

Release to manufacturing / выпуск в производство

[править | править код]

Обозначение готовности программного продукта к тиражированию[1]. Это стабильная версия программы, прошедшая все предыдущие стадии, в которых исправлены основные ошибки. RTM предшествует общей доступности (GA), когда продукт выпущен для общественности.

Данный термин обычно используется в определённых розничных условиях массового производства программного обеспечения, чтобы показать, что программное обеспечение соответствует определённому уровню качества и готово к массовому розничному распространению. RTM может также означать в других контекстах, что программное обеспечение было поставлено или выпущено клиенту или заказчику для установки или распространения на соответствующие компьютеры или компьютеры конечных пользователей оборудования.

Этот термин не определяет механизм или объём поставки; он лишь указывает, что качество является достаточным для массового тиражирования.

General availability / общедоступность

[править | править код]

Общедоступность (англ. general availability) или общепринятость (англ. general acceptance, GA) — стадия маркетинга, на которой завершены все необходимые мероприятия по коммерциализации, и программный продукт доступен для покупки, в зависимости, однако, от языка, региона, электронной или медийной доступности. Деятельность по коммерциализации может включать проверку безопасности и соответствия требованиям, а также локализацию и продвижение по всему миру. Время между выпуском в производство и общедоступностью может составлять от недели до нескольких месяцев. Это время необходимо для завершения всех мероприятий по коммерциализации, требуемых GA. На данном этапе программное обеспечение «вышло в жизнь» (gone live).

Release to web / веб-релиз

[править | править код]

Выпуск в интернет (RTW) или веб-релиз является средством доставки программного обеспечения, которое использует интернет для его распространения. При этом изготовитель не задействует никакие физические носители. Веб-релизы становятся все более распространёнными по мере роста использования интернета.

В течение поддерживаемого срока службы программного обеспечения к нему выпускаются сервисные выпуски (service releases), патчи или пакеты обновления, иногда также называемые «промежуточные выпуски» (interim releases).

Например, в операционных системах Windows основная фаза поддержки длится 5-6 лет с момента общедоступности[2]. В ОС типа Ubuntu существуют специальные версии LTS (Long Time Support), срок поддержки которых составляет 5 лет против 9 месяцев у обычных[3].

Прекращение поддержки

[править | править код]

На этом этапе производитель объявляет об устаревании продукта и отказа от дальнейшей поддержки.

Этапы разработки по версии SourceForge / Python[4]

[править | править код]

Изначально эти 7 этапов использовались на сайте SourceForge. Впоследствии эту нумерацию подхватил PyPI, хостинг пакетов для языка Python.

  1. Планирование (planning). Автор зарезервировал название за проектом и начал очерчивание функциональности. Версии, как правило, не имеет.
  2. Преальфа (pre-alpha). Уже есть какая-то программа, дающая представление о том, что она будет делать. Идёт разработка, добавление новой функциональности, рефакторинг. Архитектура программы в любой момент может полностью измениться. В этот момент программа уже может получить версию, обычно 0.x.y.
  3. Альфа (alpha). Архитектура программы очевидна. Близкие к разработчику люди уже могут пользоваться программой. Идёт тестирование и доведение до продукта.
  4. Бета (beta). Программа полнофункциональна. Идёт тестирование, исправление ошибок и проблем с производительностью, совершенствование эргономики.
  5. Готовая/стабильная (production/stable). Нет критичных ошибок, оттестированы все основные сценарии использования. Идёт исправление ошибок, добавление новой функциональности. В этот момент программе можно дать версию 1.0.
  6. Зрелая (mature). Больше года в состоянии «готовая/стабильная», не просят крупной функциональности, нет крупных и критичных ошибок. Идёт исправление мелких ошибок.
  7. Брошенная (inactive). Разработка давно не ведётся. Найденные проблемы, скорее всего, не будут исправлены. Разумеется, проект могут снова взять в разработку и вернуться к одному из предыдущих этапов.

Примечания

[править | править код]
  1. RTM (Release To Manufacturing) версия Windows 10 вышла - MSoffice-Prowork.com. Дата обращения: 27 января 2019. Архивировано 1 октября 2020 года.
  2. Lifecycle FAQ - Windows - Microsoft Lifecycle | Microsoft Docs. Дата обращения: 6 марта 2019. Архивировано 8 мая 2017 года.
  3. LTS - Ubuntu Wiki. Дата обращения: 6 марта 2019. Архивировано 5 августа 2011 года.
  4. Stages of Software Development · Martin Thoma. Дата обращения: 24 марта 2022. Архивировано 17 августа 2021 года.