ГОСТ РМЭК 62061—2013
Программное обеспечение должно:
- ограничивать количество или пространство глобальных переменных;
- управлять размещением массивов в памяти (чтобы избежать риска переполнения массива).
С.2.5 Кодирование
Исходный код должен:
- быть читаемым, понятным и пригодным к проверке;
- удовлетворять специфицированным требованиям к проекту программного модуля;
- подчиняться руководящим указаниям по кодированию.
С.З Указания по процессу разработки программного обеспечения
С.3.1 Процесс разработки. Ж изненный цикл программного обеспечения
Целью последующих указаний, применимых к жизненному циклу программного обеспечения, является соз
дание формализованного описания организации разработки программного обеспечения и. в частности, различных
технических задач, составляющих такую разработку.
Жизненный цикл разработки программного обеспечения должен быть определен и документально оформ
лен (например, в плане качества программного обеспечения) и включать все технические мероприятия и стадии,
необходимые и достаточные для разработки программного обеспечения.
Каждая стадия жизненного цикла должна быть разделена на элементарные задачи и включать в себя описание:
- входов (документы, стандарты и т. д.):
- выходов (подготовленные документы, аналитические отчеты и т. д.);
- мероприятий, которые будут осуществляться;
- проверок, которые необходимо выполнить (анализы, тесты и т. д.).
С.3.2 Документация. Управление документацией
Документация должна соответствовать требованиям раздела 10 настоящего стандарта.
С.3.3 Управление конфигурацией и модификацией программного обеспечения
Результат управления конфигурацией и. следовательно, версиями является неотъемлемой частью любой
разработки и требует утверждения. Утверждение действительно только в тех случаях, где данная конфигурация
может быть идентифицирована. Управление конфигурацией включает в себя определение действий по конфи
гурации. управление изменениями, создание контрольных точек и архивирование элементов программного обе
спечения. в том числе ассоциированных данных (документов, протоколов испытаний и т. д.). На протяжении всего
жизненного цикла проекта основными целями является обеспечение:
- определенной и управляемой конфигурации программного обеспечения, которая гарантирует физическое
архивирование и может быть использована для воссоздания соответствующего исполняемого кода (с дальнейшей
разработкой программного обеспечения или его изменением в памяти);
- опорными конфигурациями для управления изменениями;
- средствами управления, такими, чтобы любые проблемы должным образом были проанализированы, а ут
вержденные изменения выполнены.
Что касается изменений, то их причины могут возникнуть, например, если:
- функциональная безопасность оказалась ниже заданной;
- имеется опыт работы с систематическими отказами;
- обновилось или изменилось законодательство по безопасности;
- изменилась машина или ее использование;
- изменились требования ко всей системе безопасности;
- анализ технических характеристик эксплуатации и технического обслуживания указывает, что производи
тельность ниже целевого показателя.
С.3.4 Управление конфигурацией и архивированием
Процедура управления конфигурацией и изменениями должна быть определена, документально оформлена
и включать в себя следующие пункты:
- объекты, которыми управляет конфигурация, по крайней мере: спецификация программного обеспечения,
предварительный и детальный проект программного обеспечения, модули исходного кода, планы, процедуры и ре
зультаты проверки подтверждения соответствия;
- правила идентификации (исходного модуля, версии программного обеспечения и т. д.);
- обработка модификаций (запись запросов и т. д.).
Для каждого объекта конфигурации должна существовать возможность для определения любых изменений,
которые могут произойти, и версий любых связанных с ним элементов.
П р и м е ч а н и е — Цель состоит в том. чтобы иметь возможность проследить развитие каждого обьекта
в хронологическом порядке: какие изменения были сделаны, почему и когда.
Управление конфигурацией программного обеспечения должно позволить получить точную и однозначную
идентификацию версии программного обеспечения. Управление конфигурацией должно связать все объекты (и
их версии), необходимые для демонстрации функциональной безопасности.
Все обьекты в конфигурации программного обеспечения должны быть охвачены процедурой управления кон
фигурацией до проверки или до запроса аналитиком для оценки окончательной версии программного обеспечения.
63