Какие бывают версии программного продукта
Содержание статьи
Номера версий продукта
Глава из книги «Shareware: профессиональная разработка и продвижение программ». Станислав Жарков
Как известно, каждая выходящая в свет версия программы имеет свой собственный номер. Казалось бы, эта тема предельно проста и не требует дополнительных пояснений, но на некоторых аспектах вопроса о номерах версий мне все-таки хотелось бы остановиться поподробнее.
Среди разработчиков программных продуктов (не только shareware) уже очень долго существует соглашение о порядке нумерации версий программ. Вы наверняка слышали о нем:
номер версии состоит из двух частей, разделенных точкой;
цифры до точки обозначают номер основной версии (так называемой «мажорной версии» (major version);
1-2 цифры после точки обозначают номер вспомогательной версии (так называемой «минорной версии» (minor version)).
Изменение номера основной версии происходит при внесении в программу серьезных изменений, например, при смене интерфейса, включении новых функций, значительно повышающих возможности продукта. Если в программу были внесены небольшие изменения, то меняется первая цифра после точки; если сделанные изменения совсем уж незначительны, то меняется вторая цифра после точки.
Многие разработчики используют более сложные номера версии, учитывающие и так называемые релизы (release) и билды (build). Первый термин обозначает номер «промежуточной» версии, содержащей исправления ошибок; второй — номер перекомпиляции проекта.
Некоторые из читателей, возможно, подумают: «Как это все запутанно». И будут совершенно правы! Для многих пользователей даже такие простые номера версий, как 3.1 или 6.0, сложны для запоминания, не говоря уже о номерах типа 5.00.2614.3500.
Действительно, можете ли вы вспомнить полный номер версии браузера Internet Explorer, установленного у вас?
В 1994 году, готовя к выпуску новую, 32-разрядную версию Windows, в корпорации Microsoft решили отказаться от традиционной нумерации версий, назвав свою новую разработку не Windows 4.0, a Windows 95. Нет, «обычный» номер все равно остался (чтобы убедиться в этом, достаточно в командной строке дать команду vеr), однако он стал предназначаться для сведения опытных пользователей и специалистов. «В массы» продукт продвигался как Windows 95 — именно из-за того, что, по мнению Microsoft, традиционные номера версий не понятны большинству пользователей и запутывают их. Этот шаг оказался удачным, и корпорация Microsoft при наименовании своих продуктов продолжает пользоваться правилом, которое, перефразируя старый флотский принцип, звучит так: «Каждая версия Windows или любого другого продукта должна иметь имя собственное» — пускай даже это имя собственное выбрано в честь года выпуска программы. Windows 95 OSR, Windows 98, Windows Millennium, Windows 2000, Windows XP — в официальных названиях операционных систем линейки Microsoft Windows не встретишь традиционных «4.1» или «5.0».
Примеру Microsoft последовали другие корпорации, производящие программное обеспечение, а за ними — и некоторые shareware-разработчики программ. Особенно много было программ с индексом «98», т. к. именно в 1998 году в западных странах случился «бум» Интернета, вызвавший, в том числе, и стремительное развитие shareware-рынка. Но одновременно авторы, применившие новомодный прием, оказались в двусмысленном положении. Крупные компании, выпускавшие большие программные пакеты, обновляли свои продукты раз в один-два года, и вполне могли использовать номер соответствующего года в качестве номера версии. А для shareware-программ такой принцип нумерации версий оказался неудобен, т. к. большинство продуктов на этом рынке обновляется несколько раз в год. Для того чтобы пользователи могли отличать одну версию от другой, разработчику все равно приходилось применять традиционную систему номеров версий: 1.0, 1.01, 1.1 (например, Zet Picture Viewer 98 1.0). Но при наступлении нового года цифры «98» в названии устаревали, и приходилось менять их на «99» или «2000». После этого у пользователей возникал закономерный вопрос: «Что это — только новая версия или полностью новый продукт?» Таким образом, одновременное использование двух систем нумерации версий одного shareware-продукта еще более запутывает потребителей.
Не менее интересен и вопрос политики изменения номеров версий по мере развития shareware-продукта.
Еще со времен появления первых программ для персональных компьютеров существует пользовательский стереотип, который очень распространен и сегодня: только с версии 2.0 программа становится достойна внимания. Такое мнение выработалось в результате разочарований, которые испытывали пользователи, попробовав многочисленные программы, стремительно заполнившие рынок программного обеспечения, в том числе и shareware.
Вследствие этого я всегда рекомендую разработчикам программ как можно скорее преодолеть «барьер номера 2.0» и выпустить версию 2.0 своего продукта. Очень многие авторы программ, по моим наблюдениям, как-то даже боятся увеличивать номера версий своих программ. Типичная ситуация — они начинают отсчет номера версии не от 1.0, а от 0.00, в то время как номер версии меньше единицы традиционно воспринимается пользователями как указание на очень предварительную и «сырую» версию программы. Например, download-мепеджер FlashGet (https://www.amazesoft.coin) достаточно долго имел номер версии, меньший, чем 1.0 (0.8, 0.9 и т. д.), но при этом был качественным продуктом с обширными возможностями, развитым интерфейсом и объемной документацией.
Еще один пример — разработчик, постоянно создавая новые версии с достаточно большим количеством изменений и дополнений, меняет только вторую цифру после точки, выпуская версии 1.01, 1.02, 1.03 и т. д. В результате программа, пережив выпуск уже нескольких десятков версий, имеет номер типа 1.21. А теперь представьте ситуацию: пользователь (или, например, редактор журнала, собирающий информацию для обзора shareware-продуктов), заходит на сайт online-архива программ и видит в списке два конкурирующих продукта: один, имеющий номер версии 1.21, и второй, обозначенный как 2.5. При сходстве остальных параметров этих программ (тип лицензии, размер, описание возможностей) предпочтение в большинстве случаев будет отдано второму варианту.
«Боязнь» разработчиков программ к существенному изменению номера версии обусловлена в основном тем, что они опасаются негативной реакции пользователей. На мой взгляд, это оправдано только в одном случае: автор предоставляет зарегистрированным пользователям бесплатно не все последующие версии, а только лишь minor updates, т. е. те обновления, номера версий которых изменяются в пределах цифр после точки. Например, если пользователь приобрел версию 1.2, то версии 1.3, 1.45, 1.6 и т. п. он получит бесплатно, а за версию 2.0 должен будет заплатить еще какую-то дополнительную сумму. По этой схеме распространяется, в частности, текстовый редактор UltraEdit (https://www.utlraedit.com). В этом случае при выходе версий 2.0, 3.0 и т. п. автор программы должен следить, чтобы эти версии по своим возможностям действительно сильно отличались от предыдущих, иначе пользователи будут очень недовольны тем, что их вынуждают платить за незначительные исправления.
Если же зарегистрированные пользователи получают все последующие обновления бесплатно, то не нужно опасаться смены номера версии. Конечно, выпускать версию 2.0, внеся в версию 1.0 лишь небольшие изменения, не стоит. Однако и тянуть с выходом версии 2.0 (или еще хуже, 1.0), выпуская один minor update за другим, тоже не нужно. Лично я практически отказался от использования в номере версии второй цифры после точки, чтобы сделать нумерацию версий простой для запоминания пользователями, а заодно увеличить скорость перехода на более солидные номера версий.
Среди известных программных продуктов много примеров довольно смелого обращения с номерами версий. Например, Dbase II появилась «с нуля»:
Dbase 1 не существовало (все из-за предубеждений пользователей относительно версий l.xx, которым якобы нельзя доверять); Microsoft Word с версии 2.0 перескочил сразу на 6.0, чтобы «унифицировать» свой номер с остальными программами пакета Microsoft Office; Netscape Navigator четвертой версии стал «шестым», чтобы хотя бы по этому параметру опередить почти вытеснившего его с рынка конкурента — Microsoft Internet Explorer. Как видите, крупные разработчики программного обеспечения в данном случае в первую очередь учитывали собственные маркетинговые интересы и не особенно комплексовали относительно предположительной реакции пользователей, что очень поучительно и для авторов shareware-программ.
Ссылки по теме
- Посмотреть каталог бесплатного программного обеспечения (Download)
- Купить книгу по разработке программного обеспечения в интернет-магазине IT-Shop.ru
- Обратиться в Interface Ltd. за дополнительной информацией/по вопросу приобретения продуктов
Новости по теме |
Рассылки Subscribe.ru |
Статьи по теме |
Новинки каталога Download |
Исходники |
Документация |
Обсуждения в форумах |
Источник
Версия программного продукта — это… Что такое Версия программного продукта?
Версия программного продукта
«…Версия программного продукта — фиксированное состояние реализации программного продукта на конкретную дату, выполненной в соответствии с техническим заданием Заказчика, которому присваивается символическое обозначение в виде номера. Изменение версии осуществляется в случаях существенных изменений в программных средствах, то есть связанных с качественным изменением алгоритмов реализации функционала или переходом на новые программно-технические платформы. Устанавливается разработчиком программного продукта…»
Источник:
ПРИКАЗ ФНС РФ от 23.01.2006 N САЭ-3-13/31@
«О ВВЕДЕНИИ В ДЕЙСТВИЕ «ПОЛОЖЕНИЯ ПО ИНФОРМАТИЗАЦИИ ФЕДЕРАЛЬНОЙ НАЛОГОВОЙ СЛУЖБЫ»
Официальная терминология.
Академик.ру.
2012.
Смотреть что такое «Версия программного продукта» в других словарях:
новая версия (программного продукта) — — [Интент] Тематики информационные технологии в целом EN new release … Справочник технического переводчика
версия — 4.56 версия (version): Идентифицированный экземпляр составной части. Примечание Модификация какой либо версии программного продукта, воплощенная в новой версии, требует действий менеджмента конфигурации. Источник … Словарь-справочник терминов нормативно-технической документации
Нумерация версий программного обеспечения — Наиболее распространённый в настоящее время способ нумерации версий Жизненный цикл успешной компьютерной программы может быть очень долгим; изменения в программе бывают разными от исправления ошибки до полного переписывания. В бол … Википедия
Бета-версия — версия программного продукта, предшествующая выпуску коммерческого программного продукта. Предоставляется на льготных условиях с целью обкатки и выявления ошибок в новой системе. По английски: Beta version См. также: Тестирование программ… … Финансовый словарь
Финальная версия — RTM (аббревиатура от англ. Release To Manufacturing или, реже, англ. Ready To Market) обозначение готовности продукта к тиражированию и выпуску (например на DVD). Имеет синонимы Final, Gold. «Финальная версия» продукта и «RTM версия» синонимы.… … Википедия
альфа-версия — Неполная первоначальная версия программного продукта. [https://www.morepc.ru/dict/] Тематики информационные технологии в целом EN alpha version … Справочник технического переводчика
Стадии разработки программного обеспечения — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия
Разработка программного обеспечения — Когда Грейс Хоппер работала с компьютером Гарвард Марк II в Гарвардском университете, её коллеги обнаружили эту моль, застрявшую в реле и таким образом помешавшую работе устройства, после чего она отметила, что они «отлаживали»(debug) систему.… … Википедия
Жизненный цикл программного обеспечения — (ПО) период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации[1]. Этот цикл процесс построения и развития ПО. Содержание 1 Стандарты… … Википедия
Демонстрационная версия — вариант программного продукта, созданный для целей рекламы основной версии программного продукта. Обычно в демонстрационную версию вставляют конкретные примеры данных, и удаляют модули настройки на конкретные условия пользователя. Синонимы:… … Финансовый словарь
Источник
1.5 Программный продукт — Основы программирования
Под программным продуктом (ПП) мы понимаем программное обеспечение (ПО) как результат человеческой деятельности, выставленный на рынке массового покупателя в качестве товара и имеющий ненулевую потребительную стоимость.
Очень важно различать тиражный программный продукт и программное обеспечение проекта. Тиражный ПП производится для того, чтобы его могли использовать во многих местах различные пользователи. Поэтому у него нет заказчиков, а решение о начале разработки принимается исходя из предполагаемого рыночного спроса. Текстовые процессоры, электронные таблицы, системы управления базами данных, электронные словари, корректоры орфографии, русификаторы, переводчики, программы оптического распознавания символов — все это примеры тиражных ПП. Во всем мире их используют миллионы людей.
Программное обеспечение проекта создается для одного, редко — для нескольких пользователей или разрабатывается как часть технологии, которая может быть продана другой организации с целью использования в качестве составной части аппаратно-программного комплекса. В этом направлении работает, например, часть коллектива ParaGraph International, занимающаяся проблемами распознавания символов. Имея не более десятка потенциальных заказчиков, тем не менее эта фирма гигант в своей области.
Таким образом, если у проекта обычно один или несколько пользователей, то вопрос о продолжении разработки стоит не так остро, а конкурентная борьба идет за право вести разработку. Напротив, тиражный программный продукт предназначен сотням тысяч потенциальных пользователей, и при его появлении на рынке неизбежна конкуренция с другими продуктами того же класса. В момент принятия решения о начале разработки фирма идет на значительный финансовый риск. При этом производитель должен ясно сознавать, что выпуском одной версии дело не закончится, поскольку цикл жизни ПП предполагает его совершенствование.
Еще одно важное отличие ПП от многих других товаров состоит в том, что отдельная копия программного продукта имеет небольшую себестоимость. Это уникальное для производителя свойство позволяет вводить новые формы взаимодействия с клиентом после первой продажи ПП. Мы имеем ввиду upgrade, то есть право обновлять ПП на этот же, но новой, улучшенной версии за небольшую плату. Понятие upgrade позволяет пользователю считать разные версии ПП одним ПП, в то время как для производителя разные версии иногда выступают как разные проекты и соответственно совершенно разные продукты.
Все программы по характеру использования и категориям пользователей можно разделить на два класса:
– утилитарные программы («программы для себя») предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения;
– программные продукты («изделия») предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
В настоящее время существуют варианты легального распространения программных продуктов, которые появились с использованием глобальных или региональных телекоммуникаций:
– freeware – бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;
– shareware – некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно (при условии регулярного использования подобных продуктов осуществляется взнос определенной суммы).
Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.
Программный продукт – комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Путь от «программ для себя» до программных продуктов достаточно долгий, он связан с изменениями технической и программной среды разработки и эксплуатации программ, с появлением и развитием самостоятельной отрасли – информационного бизнеса, для которой характерны разделение труда фирм – разработчиков программ, их дальнейшая специализация, формирование рынка программных средств и информационных услуг.
Программные продукты могут создаваться как:
– индивидуальная разработка под заказ;
– разработка для массового распространения среди пользователей.
При индивидуальной разработке фирма-разработчик создает оригинальный программный продукт, учитывающий специфику обработки данных для конкретного заказчика.
При разработке для массового распространения фирма-разработчик, с одной стороны, должна обеспечить универсальность выполняемых функций обработки данных, с другой стороны, гибкость и настраиваемость программного продукта на условия конкретного применения. Отличительной особенностью программных продуктов должна быть их системность – функциональная полнота и законченность реализуемых функций обработки, которые применяются в совокупности.
Программный продукт разрабатывается на основе промышленной технологии выполнения проектных работ с применением современных инструментальных средств программирования. Специфика заключается в уникальности процесса разработки алгоритмов и программ, зависящего от характера обработки информации и используемых инструментальных средств. На создание программных продуктов затрачиваются значительные ресурсы – трудовые, материальные, финансовые; требуется высокая квалификация разработчиков.
Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами – распространителями программ (дистрибьюторами), реже – фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами – исправление обнаруженных ошибок, создание новых версий программ и т.п.
Сопровождение программного продукта – поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.
Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, т.к. одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее.
Основные характеристики программ:
– алгоритмическая сложность (логика алгоритмов обработки информации);
– состав и глубина проработки реализованных функций обработки;
– полнота и системность функций обработки;
– объем файлов программ;
– требования к операционной системе и техническим средствам обработки со стороны программного средства;
– объем дисковой памяти;
– размер оперативной памяти для запуска программ;
– тип процессора;
– версия операционной системы;
– наличие вычислительной сети и др.
Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты:
– насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт;
– насколько легко эксплуатировать программный продукт;
– можно ли использовать программный продукт при изменении условия его применения и др.
Дерево характеристик качества программных продуктов представлено на рисунке.
Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Мобильный (многоплатформный) программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких-либо изменений.
Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.
Эффективность программного продукта оценивается как с позиций прямого его назначения — требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.
Учет человеческого фактора означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.
Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.
Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).
В условиях существования рынка программных продуктов важными характеристиками являются:
— стоимость,
— количество продаж;
— время нахождения на рынке (длительность продаж);
— известность фирмы-разработчика и программы;
— наличие программных продуктов аналогичного назначения.
Если программный продукт создается не под заказ и предполагается выход на рынок программных средств, маркетинг выполняется в полном объеме: изучаются программные продукты-конкуренты и аналоги, обобщаются требования пользователей к программному продукту, устанавливается потенциальная емкость рынка сбыта, дается прогноз цены и объема продаж. Кроме того, важно оценить необходимые для разработки программного продукта материальные, трудовые и финансовые ресурсы, ориентировочные длительности основных этапов жизненного цикла программного продукта.
Если программный продукт создается как заказное программное изделие для определенного заказчика, на данном этапе также важно правильно сформулировать и документировать задание на его разработку. Ошибочно понятое требование к программному продукту может привести к нежелательным результатам в процессе его эксплуатации.
Проектирование структуры программного продукта связано с алгоритмизацией процесса обработки данных, детализацией функций обработки, разработкой структуры программного продукта (архитектуры программных модулей), структуры информационной базы (базы данных) задачи, выбором методов и средств создания программ-технологии программирования.
Классы программных продуктов
Программные продукты можно классифицировать по различным признакам. Рассмотрим классификацию, в которой основополагающим признаком является сфера (область) использования программных продуктов:
— аппаратная часть автономных компьютеров и сетей ЭВМ;
— функциональные задачи различных предметных областей;
— технология разработки программ.
Для поддержки информационной технологии в этих областях выделим соответственно три класса программных продуктов:
— системное программное обеспечение;
— пакеты прикладных программ;
— инструментарий технологии программирования.
Системное программное обеспечение направлено:
— на создание операционной среды функционирования других программ;
— на обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;
— на проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;
— на выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных и т.д.).
Системное программное обеспечение (System Software) — совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ.
Пакеты прикладных программ (ППП) служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей.
Установка программных продуктов на компьютер выполняется квалифицированными пользователями, а непосредственную их эксплуатацию осуществляют, как правило, конечные пользователи — потребители информации, во многих случаях деятельность которых весьма далека от компьютерной области. Данный класс программных продуктов может быть весьма специфичным для отдельных предметных областей.
Пакет прикладных программ (application program package) — комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.
Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ. Пользователями технологии программирования являются системные и прикладные программисты.
Инструментарий технологии программирования — совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов.
Источник