Группы документации и виды документов | Степень обязательности выпуска документов на программные компоненты вида | ||||
программа | программное средство | программное изделие | программно- аппаратное изделие | программное изделие АС | |
Проектная программная документация (по ЕСПД): | |||||
- спецификация | + | * | * | * | * |
- ведомость держателей подлинников | — | о | о | о | о |
- текст программы | * | о | о | о | о |
- описание программы | о | о | + | * | + |
- программа и методика испытаний | о | о | о | о | о |
- пояснительная записка | — | о | о | — | — |
Эксплуатационная программная документация (по ЕСПД): | |||||
- ведомость эксплуатационных документов | о | + | + | + | + |
- формуляр | о | о | о | о | о |
- описание применения | о | о | о | + | + |
- руководство системного программиста | о | о | + | + | + |
- руководство программиста | о | + | + | + | + |
- руководство оператора | о | + | + | + | + |
- описание языка | о | о | о | о | о |
- руководство по техническому обслуживанию | о | о | о | + | о |
Техническое задание | — | + | * | * | * |
Организационно-техническая документации: | |||||
- графи разработки | — | о | о | о | о |
- руководящие указания по разработке | — | о | о | о | о |
- паспорт автономной отладки | о | о | — | о | о |
- паспорт комплексной отладки | — | — | о | о | о |
- акт о приемочных испытаниях | о | о | о | о | о |
- акт о готовности к эксплуатации | — | — | о | о | о |
- журнал тестирования и испытаний | — | о | о | о | о |
Группы документации и виды документов | Степень обязательности выпуска документов на программные компоненты вида | ||||
программа | программное средство | программное изделие | программно- аппаратное изделие | программное изделие АС | |
- журнал корректировок | — | о | о | о | о |
- журнал опытной эксплуатации | — | — | о | о | о |
Технологическая программная документация: | |||||
- сертификат соответствия программного продукта | — | о | * | * | * |
- сертификат на соответствие требованиям безопасности информации | + | + | + | + | + |
- руководство администратора | — | + | + | + | + |
- спецификация программы | — | о | о | о | о |
Документация фонда алгоритмов и программ (ФАП): | |||||
- информационная карта по форме ФАП | — | о | о | — | о |
- акт об экспертизе материала, подготовленного для публикации | — | о | о | — | о |
- справка о фактических затратах на разработку программного компонента | — | о | о | — | о |
- справка об устранении недостатков | — | о | о | — | о |
Примечание — Условные обозначения: * — документ обязательный; + — документ обязательный для компонентов, имеющих самостоятельное применение; о — необходимость выпуска документа определяют при разработке и утверждении ТЗ; «—» — документ не разрабатывается. |
Комплекс стандартов ГОСТ 19 (ЕСПД) - единая система программной документации - комплекс государственных стандартов, устанавливающих взаимоувязанные правила разработки, оформления и обращения программ и программной документации.
Основу отечественной нормативной базы в области документирования ПС составляет комплекс стандартов Единой системы программной документации (ЕСПД). Основная и большая часть комплекса ЕСПД была разработана в 70-е и 80-е годы. Сейчас этот комплекс представляет собой систему межгосударственных стандартов стран СНГ (ГОСТ), действующих на территории Российской Федерации на основе межгосударственного соглашения по стандартизации.
Стандарты ЕСПД в основном охватывают ту часть документации, которая создается в процессе разработки ПС, и связаны, по большей части, с документированием функциональных характеристик ПС. Следует отметить, что стандарты ЕСПД (ГОСТ 19) носят рекомендательный характер. Впрочем, это относится и ко всем другим стандартам в области ПС (ГОСТ 34, Международному стандарту ISO/IEC, и др.). Дело в том, что в соответствии с Законом РФ "О стандартизации" эти стандарты становятся обязательными на контрактной основе - то есть при ссылке на них в договоре на разработку (поставку) ПС.
Говоря о состоянии ЕСПД в целом, можно констатировать, что большая часть стандартов ЕСПД морально устарела. К числу основных недостатков ЕСПД можно отнести:
• ориентацию на единственную, "каскадную" модель жизненного цикла (ЖЦ) ПС;
• отсутствие четких рекомендаций по документированию характеристик качества ПС;
• отсутствие системной увязки с другими действующими отечественными системами стандартов по ЖЦ и документированию продукции в целом, например, ЕСКД;
• нечетко выраженный подход к документированию ПС как товарной продукции;
• отсутствие рекомендаций по самодокументированию ПС, например, в виде экранных меню и средств оперативной помощи пользователю ("хелпов");
• отсутствие рекомендаций по составу, содержанию и оформлению перспективных документов на ПС, согласованных с рекомендациями международных и региональных стандартов.
В принципе ЕСПД давно нуждается в полном пересмотре и в качестве основы должен быть использован стандарт ГОСТ Р ИСО/МЭК 12207-99 на процессы жизненного цикла ПС. Тем не менее, до пересмотра всего комплекса, многие стандарты ЕСПД могут с пользой применяться в практике документирования ПС. Эта позиция основана на следующем:
• стандарты ЕСПД вносят элемент упорядочения в процесс документирования ПС;
• предусмотренный стандартами ЕСПД состав программных документов вовсе не такой "жесткий", как некоторым кажется: стандарты позволяют вносить в комплект документации на ПС дополнительные виды
• стандарты ЕСПД позволяют вдобавок мобильно изменять структуры и содержание установленных видов ПД исходя из требований заказчика и пользователя.
При этом стиль применения стандартов может соответствовать современному общему стилю адаптации стандартов к специфике проекта: заказчик и руководитель проекта выбирают уместное в проекте подмножество стандартов и ПД, дополняют выбранные ПД нужными разделами и исключают ненужные, привязывают создание этих документов к той схеме ЖЦ, которая используется в проекте.
Стандарты ЕСПД (как и другие ГОСТы) подразделяют на группы, приведенные в таблице.
Код группы | Наименование группы |
Общие положения | |
Основополагающие стандарты | |
Правила выполнения документации разработки | |
Правила выполнения документации изготовления | |
Правила выполнения документации сопровождения | |
Правила выполнения эксплуатационной документации | |
Правила обращения программной документации | |
Резервные группы | |
Прочие стандарты |
Обозначение стандарта ЕСПД строят по классификационному признаку. Обозначение стандарта ЕСПД должно состоять из:
• числа 19 (присвоенных классу стандартов ЕСПД);
• одной цифры (после точки), обозначающей код классификационной группы стандартов, указанной таблице;
• двузначного числа (после тире), указывающего год регистрации стандарта.
Перечень стандартов ЕСПД
1. ГОСТ 19.001-77 ЕСПД. Общие положения.
2. ГОСТ 19.101-77 ЕСПД. Виды программ и программных документов.
3. ГОСТ 19.102-77 ЕСПД. Стадии разработки.
4. ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.
5. ГОСТ 19.104-78 ЕСПД. Основные надписи.
6. ГОСТ 19.105-78 ЕСПД. Общие требования к программным документам.
7. ГОСТ 19.106-78 ЕСПД. Требования к программным документам, выполненным печатным способом.
8. ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению.
9. ГОСТ 19.202-78 ЕСПД. Спецификация. Требования к содержанию и оформлению.
10. ГОСТ 19.301-79 ЕСПД. Порядок и методика испытаний.
11. ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению.
12. ГОСТ 19.402-78 ЕСПД. Описание программы.
13. ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.
14. ГОСТ 19.501-78 ЕСПД. Формуляр. Требования к содержанию и оформлению.
15. ГОСТ 19.502-78 ЕСПД. Описание применения. Требования к содержанию и оформлению.
16. ГОСТ 19.503-79 ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению.
17. ГОСТ 19.504-79 ЕСПД. Руководство программиста.
18. ГОСТ 19.505-79 ЕСПД. Руководство оператора.
19. ГОСТ 19.506-79 ЕСПД. Описание языка.
20. ГОСТ 19.508-79 ЕСПД. Руководство по техническому обслуживанию. Требования к содержанию и оформлению.
21. ГОСТ 19.604-78 ЕСПД. Правила внесения изменений в программные документы, выполняемые печатным способом.
22. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
23. ГОСТ 19.781-90. Обеспечение систем обработки информации программное. Термины и определения.
Из всех стандартов ЕСПД остановимся только на тех, которые могут чаще использоваться на практике.
Первым естественно является стандарт, ГОСТ 19.781-90 «Термины и определения». Вообще говоря, при овладении терминами и определениями желательно пользоваться всеми стандартами, которые имеют хоть какое-то отношение к автоматизированным системам, вычислительной технике, обмену данными, представлению данных на экране и т.д. Дело в том, что на сегодняшний день отсутствует единый документ, который бы содержал все термины, применяемые в программировании. Поэтому приходится собирать терминологию по разным стандартам. Правда, в некоторых ГОСТах, при введении терминологии делаются ссылки на другие стандарты, где определены соответствующие термины.
Следующим идет стандарт, который можно использовать при формировании заданий на программирование. ГОСТ (СТ СЭВ) 19.201-78 (1626-79). ЕСПД. Техническое задание. Требование к содержанию и оформлению. (Переиздан в ноябре 1987г с изм.1).
Техническое задание (ТЗ) содержит совокупность требований к ПС и может использоваться как критерий проверки и приемки разработанной программы. Поэтому достаточно полно составленное (с учетом возможности внесения дополнительных разделов) и принятое заказчиком и разработчиком, ТЗ является одним из основополагающих документов проекта ПС.
Техническое задание должно содержать следующие разделы:
• введение;
• основания для разработки;
• назначение разработки;
• требования к программе или программному изделию;
• требования к программной документации;
• технико-экономические показатели;
• стадии и этапы разработки;
• порядок контроля и приемки;
• в техническое задание допускается включать приложения.
В зависимости от особенностей программы или программного изделия допускается уточнять содержание разделов, вводить новые разделы или объединять отдельные из них.
Следующий стандарт
ГОСТ (СТ СЭВ) 19.101-77 (1626-79). ЕСПД. Виды программ и программных документов (Переиздан в ноябре 1987г с изм.1).
Устанавливает виды программ и программных документов для вычислительных машин, комплексов и систем независимо от их назначения и области применения. Ниже в таблицах приведены виды программ и программных документов, определенных в ГОСТ-ах ЕСПД
Вид программы | Определение |
Компонент | Программа, рассматриваемая как единое целое, выполняющая законченную функцию и применяемая самостоятельно или в составе комплекса |
Комплекс | Программа, состоящая из двух или более компонентов и (или) комплексов, выполняющих взаимосвязанные функции, и применяемая самостоятельно или в составе другого комплекса |
Вид программного документа | Содержание программного документа |
Спецификация | Состав программы и документации на нее |
Ведомость держателей подлинников | Перечень предприятий, на которых хранят подлинники программных документов |
Текст программы | Запись программы с необходимыми комментариями |
Описание программы | Сведения о логической структуре и функционировании программы |
Программа и методика испытаний | Требования, подлежащие проверке при испытании программы, а также порядок и методы их контроля |
Техническое задание | Назначение и область применения программы, технические, технико-экономические и специальные требования, предъявляемые к программе, необходимые стадии и сроки разработки, виды испытаний |
Пояснительная записка | Схема алгоритма, общее описание алгоритма и (или) функционирования программы, а также обоснование принятых технических и технико-экономических решений |
Эксплуатационные документы | Сведения для обеспечения функционирования и эксплуатации программы |
Вид эксплуатационного документа | Содержание эксплуатационного документа |
Ведомость эксплуатационных документов | Перечень эксплуатационных документов на программу |
Формуляр | Основные характеристики программы, комплектность и сведения об эксплуатации программы |
Описание применения | Сведения о назначении программы, области применения, применяемых методах, классе решаемых задач, ограничениях для применения, минимальной конфигурации технических средств |
Руководство системного программиста | Сведения для проверки, обеспечения функционирования и настройки программы на условия конкретного применения |
Руководство программиста | Сведения для эксплуатации программы |
Руководство оператора | Сведения для обеспечения процедуры общения оператора с вычислительной системой в процессе выполнения программы |
Описание языка | Описание синтаксиса и семантики языка |
Руководство по техническому обслуживанию | Сведения для применения тестовых и диагностических программ при обслуживании технических средств |
Код вида документа | Вид документа | Стадии разработки | ||||
Эскизный проект | Технический проект | Рабочий проект | ||||
компонент | комплекс | |||||
- | Спецификация | - | - | ! | + | |
![]() ![]() ![]() ![]() ![]() | ||||||
Текст программы | - | - | + | ? | ||
Описание программы | - | - | ? | ? | ||
Ведомость эксплуатационных документов | - | - | ? | ? | ||
Формуляр | - | - | ? | ? | ||
Описание применения | - | - | ? | ? | ||
Руководство системного программиста | - | - | ? | ? | ||
Руководство программиста | - | - | ? | ? | ||
Руководство оператора | - | - | ? | ? | ||
Описание языка | - | - | ? | ? | ||
Руководство по техническому обслуживанию | - | - | ? | ? | ||
Программа и методика испытаний | - | - | ? | ? | ||
Пояснительная записка | ? | ? | - | - | ||
90-99 | Прочие документы | ? | ? | ? | ? | |
Условные обозначения: | ||||||
+ | документ обязательный; | |||||
! | документ обязательный для компонентов, имеющих самостоятельное применение; | |||||
? | необходимость составления документа определяется на этапе разработки и утверждения технического задания; | |||||
- | документ не составляют. | |||||
Допускается объединять отдельные виды эксплуатационных документов (за исключением ведомости эксплуатационных документов и формуляра). Необходимость объединения этих документов указывается в техническом задании. Объединенному документу присваивают наименование и обозначение одного из объединяемых документов. В объединенных документах должны быть приведены сведения, которые необходимо включать в каждый объединяемый документ.
В зависимости от способа выполнения и характера применения программные документы подразделяются на подлинник, дубликат и копию (ГОСТ 2.102-68), предназначенные для разработки, сопровождения и эксплуатации программы.
ГОСТ 19.102-77. ЕСПД. Стадии разработки.
Устанавливает стадии разработки программ и программной документации для вычислительных машин, комплексов и систем независимо от их назначения и области применения
Стадии разработки, этапы и содержание работ
Стадии разработки | Этапы работ | Содержание работ |
Техническое задание | Обоснование необходимости разработки программы | Постановка задачи. Сбор исходных материалов. Выбор и обоснование критериев эффективности и качества разрабатываемой программы. Обоснование необходимости проведения научно-исследовательских работ. |
Научно-исследовательские работы | Определение структуры входных и выходных данных. Предварительный выбор методов решения задач. Обоснование целесообразности применения ранее разработанных программ. Определение требований к техническим средствам. Обоснование принципиальной возможности решения поставленной задачи. | |
Разработка и утверждение технического задания | Определение требований к программе. Разработка технико-экономического обоснования разработки программы. Определение стадий, этапов и сроков разработки программы и документации на нее. Выбор языков программирования. Определение необходимости проведения научно-исследовательских работ на последующих стадиях. Согласование и утверждение технического задания. | |
Эскизный проект | Разработка эскизного проекта | Предварительная разработка структуры входных и выходных данных. Уточнение методов решения задачи. |
Разработка общего описания алгоритма решения задачи. Разработка технико-экономического обоснования. | ||
Утверждение эскизного проекта | Разработка пояснительной записки. Согласование и утверждение эскизного проекта | |
Технический проект | Разработка технического проекта | Уточнение структуры входных и выходных данных. Разработка алгоритма решения задачи. Определение формы представления входных и выходных данных. Определение семантики и синтаксиса языка. Разработка структуры программы. Окончательное определение конфигурации технических средств. |
Утверждение технического проекта | Разработка плана мероприятий по разработке и внедрению программ. Разработка пояснительной записки. Согласование и утверждение технического проекта. | |
Рабочий проект | Разработка программы | Программирование и отладка программы |
Разработка программной документации | Разработка программных документов в соответствии с требованиями ГОСТ 19.101-77. | |
![]() | ||
Внедрение | Подготовка и передача программы | Подготовка и передача программы и программной документации для сопровождения и (или) изготовления. Оформление и утверждение акта о передаче программы на сопровождение и (или) изготовление. Передача программы в фонд алгоритмов и программ. |
Примечания:
1. Допускается исключать вторую стадию разработки, а в технически обоснованных случаях вторую и третью стадии. Необходимость проведения этих стадий указывается в техническом задании.
2. Допускается объединять, исключать этапы работ и (или) их содержание, а также вводить другие этапы работ по согласованию с заказчиком.
Список рекомендуемой литературы
Соммервилл И. – Инженерия программного обеспечения. Издание 6-е. Издательский дом «Вильямс» 2002 г.
https://www.gost.ru – официальный сайт Федерального агентства по техническому регулированию и метрологии.
https://russgost.ru – база нормативных документов.
https://www.tehlit.ru – техническая литература
ГОСТ Р 1.0-92 ГОСУДАРСТВЕННАЯ СИСТЕМА СТАНДАРТИЗАЦИИ РОССИЙСКОЙ ФЕДЕРАЦИИ. Основные положения.
ГОСТ РВ 15.004—2004 ВОЕННАЯ ТЕХНИКА. СТАДИИ ЖИЗНЕННОГО ЦИКЛА ИЗДЕЛИЙ И МАТЕРИАЛОВ
ГОСТ РВ 15.203-2001 Порядок выполнения опытно-конструкторских работ по созданию изделий и их составных частей. Основные положения
ГОСТ 34.003-90 Автоматизированные системы. Термины и определения
ГОСТ 34.601-90 Стадии создания АС
ГОСТ 34.602-89 ТЗ на создание АС
ГОСТ Р ИСО/МЭК 12207-99 ПРОЦЕССЫЖИЗНЕННОГО ЦИКЛА ПРОГРАММНЫХ СРЕДСТВ
ГОСТ Р 51189-98 Средства программные систем вооружения. Порядок разработки.
ГОСТ Р ИСО/МЭК 9294-93 Информационная технология. Руководство по управлению документированием программного обеспечения
ГОСТ Р ИСО/МЭК 9126-93 Информационная технология. Оценка программной продукции
ГОСТ Р ИСО 9127-94 Системы обработки информации. Документация пользователя и информация на упаковке для потребительских программных пакетов
ГОСТ Р ИСО/МЭК 8631-94 Информационная технология
ГОСТ 26553-85 Обслуживание средств вычислительной техники централизованное комплексное. Термины и определения
ГОСТ 19.001-77 ЕСПД. Общие положения.
ГОСТ 19.101-77 ЕСПД. Виды программ и программных документов.
ГОСТ 19.102-77 ЕСПД. Стадии разработки.
ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.
ГОСТ 19.104-78 ЕСПД. Основные надписи.
ГОСТ 19.105-78 ЕСПД. Общие требования к программным документам.
ГОСТ 19.106-78 ЕСПД. Требования к программным документам, выполненным печатным способом.
ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению.
ГОСТ 19.202-78 ЕСПД. Спецификация. Требования к содержанию и оформлению.
ГОСТ 19.301-79 ЕСПД. Порядок и методика испытаний.
ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению.
ГОСТ 19.402-78 ЕСПД. Описание программы.
ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.
ГОСТ 19.501-78 ЕСПД. Формуляр. Требования к содержанию и оформлению.
ГОСТ 19.502-78 ЕСПД. Описание применения. Требования к содержанию и оформлению.
ГОСТ 19.503-79 ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению.
ГОСТ 19.504-79 ЕСПД. Руководство программиста.
ГОСТ 19.505-79 ЕСПД. Руководство оператора.
ГОСТ 19.506-79 ЕСПД. Описание языка.
ГОСТ 19.508-79 ЕСПД. Руководство по техническому обслуживанию. Требования к содержанию и оформлению.
ГОСТ 19.604-78 ЕСПД. Правила внесения изменений в программные документы, выполняемые печатным способом.
ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
ГОСТ 19.781-90. Обеспечение систем обработки информации программное. Термины и определения.
ГОСТ Р 51904-2002 Программное обеспечение встроенных систем. Общие требования к разработке и документированию.
ГОСТ РВ 0019-001-2006 Программное обеспечение встроенных систем. Требования к содержанию и оформлению документов
Приложение
Руководящие указания по разработке программного обеспечения (пример)
УТВЕРЖДАЮ
Генеральный директор
<название предприятия>
«____»______________20__ г.
____________________ФИО
И З Д Е Л И Е «Х Х Х Х Х Х »
Указания по разработке программного обеспечения
АБВГД.123456.789
Зам. Главного конструктора по ПО
«_____»__________20___г.
__________________ ФИО
20___г.
Комплекс программ обработки и управления режимами работы изделия (далее комплекс программ обработки) является законченным программным средством вида «программной продукции» и поставляется как программное изделие, входящее в состав изделия "ХХХХХХ".
Под математическим, программным и информационным обеспечением изделия понимается совокупность математических методов, моделей, алгоритмов, программ и данных, обеспечивающих функционирование технических средств изделия по назначению.
Программное обеспечение изделия включает в себя общее (ОПО) и специальное (СПО) программное обеспечение.
ОПО предназначено для организации вычислительного процесса при выполнении программ СПО в реальном масштабе времени.
СПО предназначено для непрерывной обработки входного потока данных с темпом их поступления и должно обеспечивать функционирование изделия по назначению.
Для разработки и отладки комплекса программ обработки используется технологическое программное обеспечение (ТПО). ТПО не входит в состав ПО изделия, документация на него не разрабатывается. Программы ТПО представляют набор редакторов, компиляторов с применяемых языков программирования, компоновщиков и других программных средств, обеспечивающих разработку ПО изделия.
Настоящие руководящие указания (РУ) устанавливают общие правила разработки программного обеспечения изделия и определяют состав и конкретные способы включения программной документации в состав конструкторской документации изделия.
РУ не входит в комплект документов на ПО и не является ссылочным документом. Учет и хранение РУ осуществляют по ГОСТ 2.501-88, внесение изменений по ГОСТ 2.503-90.
1. ОБЩИЕ УКАЗАНИЯ ПО РАЗРАБОТКЕ СПО
1.1. Основным исходным техническим документом для разработки является ТЗ на комплекс программ обработки информации и управления режимами работы.
1.2. Программные комплексы СПО состоят из отдельных программных компонент. Конкретное структурное построение каждого комплекса определяется разработчиком этого комплекса. В качестве структурных единиц модульного построения отдельных компонент могут использоваться подпрограммы, блоки, модули, операторы.
1.3. Программы и программные документы обозначают в соответствии с ГОСТ 19.103-77.
1.4. Децимальный номер присваивает предприятие «название предприятия ».
1.5. Комплексы СПО должны разрабатываться и отлаживаться только с помощью средств технологического программного обеспечения изделия. Использование не включенных в состав технологического программного обеспечения редакторов, компиляторов, языков программирования, компоновщиков и других программных средств не допускается.
1.6. При использовании в СПО программных средств библиотек ФАП МО РФ, Роспатента и других федеральных органов исполнительной власти по интеллектуальной собственности, используемые программные средства должны удовлетворять требованиям настоящих РУ.
2. ОБЩИЕ УКАЗАНИЯ ПО РАЗРАБОТКЕ ОПО
2.1. Общее программное обеспечение обеспечивает функционирование аппаратуры и вычислительных средств изделия при подготовке и в процессе решения задач, определяемых ТЗ. Разработка, настройка и конфигурирование программ общего ПО производится с учетом применяемых вычислительных средств и плат расширения.
ОПО включает в себя операционные системы (ОС), тестовые программы, программы-драйвера используемых устройств и комплексы программ технического обслуживания (КПТО).
2.2. В качестве базовой ОС комплекса программ обработки используется UNIX-подобная ОС LINUX с ядром версии не ниже 2.6. Использование других ОС должно согласовываться с Главным конструктором изделия. В качестве основных клонов ОС LINUX для реализации в изделии рекомендуются клоны Debian и Gentoo. Выбор и обоснование конкретного клона ОС для использования в изделии производится исполнителем по согласованию с Главным конструктором. При этом выбранный клон ОС должен комплектоваться и конфигурироваться индивидуально под каждый вычислительный модуль в соответствии с его функциональным назначением, аппаратной комплектацией и составом плат расширения. При конфигурировании ОС отдельного модуля должно учитываться, что каждый модуль является составной частью многомашинного вычислительного комплекса.
2.3. При использовании в программных комплексах СПО динамически линкуемых библиотек общего назначения последние включаются в состав ОПО.
2.4. Комплексы СПО должны разрабатываться с учетом программной и информационной совместимости с комплексами общего программного обеспечения, предназначенными для организации вычислительного процесса при функционировании изделия.
2.5. При настройке и конфигурировании ПО должны быть предусмотрены меры по автоматической настройке и адаптации ОПО и СПО в действующую систему для оборудования находящегося в составе ЗИП.
3. ТЕХНОЛОГИЧЕСКИЕ УКАЗАНИЯ
3.1. Разработка и контроль хода выполнения работ по разработке комплекса программ изделия осуществляется в соответствии с сетевым графиком выполнения работ.
3.2. Программные средства СПО должны разрабатываться для реализации в среде Linux с ядром версии не ниже 2.6 для выбранного клона. Разработка программ должна выполняться на языках высокого уровня C, C++ и Python. Для отдельных функций, фрагментов программ, по согласованию с Главным конструктором, может применяться Assembler. Использование других языков программирования не
указанных в ТЗ и настоящих РУ должно согласовываться с Главным конструктором.
3.3. Все программы на языках C, C++, Assembler должны компилироваться компиляторами GCC из состава используемого клона операционной системы. При разработке программ первичной, вторичной (траекторной) обработки, тренажа, целесообразно использовать компилятор Intel. Компиляция программ обработки должна производиться с опциями компилятора, оптимизирующими код программы для выполнения на мультиядерных многопроцессорных системах с процессорами фирмы Intel. При программировании математических вычислений необходимо обеспечить максимальное использование готовых библиотечных функций библиотек MKL, SPL. Целесообразно включать библиотечные вызовы
статически в состав исполняемого модуля.
При разработке других программ, не использующих элементов сигнальной обработки и сложных
математических вычислений, допускается использовать компилятор GCC из состава Linux.
3.4. Все программы должны иметь один общий файл конфигурации. Расположение, формат и структура файла конфигурации согласуется с Главным конструктором. Допускается уникальные, специфичные для конкретной программы настройки размещать в каталоге соответствующей программы, при этом состав конфигурационных параметров, выносимых в отдельный файл, и место его размещения должны согласовываться с Главным конструктором.
3.5. Для организации обнаружения ошибок и контроля состояния программ во всех программах
должен быть предусмотрен вывод диагностической информации (журналирование). Вся диагностическая информация, информация о состоянии программ, информация о сбойных или нештатных ситуациях, в том числе информация о состоянии каналов обмена между программами должна документироваться в log-файлах с привязкой ко времени. Ведение log-файлов должно обеспечивать накопление информации об отклонениях в нормальной работе программ, с этой целью запись диагностической информации в файл целесообразно вести в режиме дополнения. Допускается формирование новых log-файлов с уникальными именами, если это не приводит к потерям информации. Log-файл ведется каждой программой самостоятельно. Расположение, формат и структура log-файлов согласуется с Главным конструктором. Должна быть предусмотрена возможность журналирования на удаленный компьютер.
3.6. Все разрабатываемые программы должны иметь встроенные средства перехвата и обработки сбойных ситуаций типа деление на 0, переполнение разрядной сетки, исчезновение порядка, выход за пределы памяти, недопустимая операция, разрыв связи и др. Возникновение подобных ситуаций не должно приводить к блокировке или зависанию программы. Факт возникновения подобных ситуаций должен фиксироваться программой в ее log файле с привязкой ко времени. В случаях повторных сбоев, либо фатальных ситуаций (ситуаций при которых дальнейшее выполнение программы невозможно) программа должна послать уведомление об этом в программу ФК, корректно закрыть все соединения с другими программами и завершиться.
3.7. При работе программ в штатном режиме, за исключением программ графического интерфейса оператора, должен быть исключен вывод сообщений на консоль. Вывод сообщений на консоль оператора допускается только в режиме отладки.
3.8. При разработке программ не допускается динамического распределения памяти, создания и ликвидации массивов и переменных в процессе вычислений и в условных операторах. Все необходимые массивы и переменные должны быть созданы статически, в начале программы и сохраняться до конца ее выполнения.
3.9. При разработке программ, особенно при программировании операций обмена, чтения/записи данных и др., не рекомендуется использовать блокирующие вызовы.
3.10. Готовые программы представляются в виде