Статус документа
Статус документа

ГОСТ Р 27.203-2012 Надежность в технике (ССНТ). Управление устареванием

     9 Проблемы и стратегии управления устареванием программных продуктов

9.1 Дополнительные аспекты планирования управления устареванием для программных продуктов

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

Принципы управления устареванием технических средств и программных продуктов в основном совпадают, но между ними имеются некоторые различия, которые, в частности, сводятся к следующему:

- программные продукты не подвержены износу и физическому старению, хотя могут деградировать в процессе модификации;

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

Устаревание программных продуктов, строго говоря, происходит в результате того, что они перестают отвечать изменившимся требованиям к ним. Однако на практике требования к системам, состоящим из технических и программных средств, почти никогда не остаются неизменными, а поскольку программные продукты относительно проще совершенствовать, то развитие систем в целом часто происходит за счет модернизации их программного обеспечения. Сами программные продукты устаревают, т.е. постепенно перестают отвечать потребностям непрерывного совершенствования систем, в связи:

- с быстрым устареванием аппаратных средств, в которых они используются;

- со сложностями прослеживания модификаций комплексного программного обеспечения;

- с последствиями несовместимости сменяющих друг друга версий программных продуктов;

- с проблемами тех платформ, на базе которых создан программный продукт (операционных систем, файловых систем, форматов хранения данных);

- с отсутствием всей необходимой документации и недостаточной обслуживаемостью самого продукта;

- с проблемами развития платформ, например с совершенствованием языков программирования и стандартов;

- с утратой авторских прав;

- с недостатком опыта, знаний и квалификации исполнителей;

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

9.1.2 Причины устаревания программных продуктов

9.1.2.1 Общие положения

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

9.1.2.2 Модификации программных продуктов

Необходимость модификации программных продуктов обусловлена:

- наличием недостатков и ошибок, внесенных при разработке, и необходимостью их исправления;

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

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

9.1.2.3 Несовершенство программных продуктов

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

9.1.2.4 Адаптивные и совершенствующие модификации

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

9.1.2.5 Документальное оформление