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