Основное внимание к решению проблемы интероперабельности сложных систем должно обеспечиваться на ранних стадиях их жизненного цикла, поскольку основные организационные, системотехнические и технологические решения по их созданию:
- формируются в ходе проведения фундаментальных исследований при обосновании их роли в решении актуальных задач и удовлетворения основных потребностей будущих пользователей;
- разрабатываются на уровне основных решений в ходе проведения прикладных научно-исследовательских работ;
- реализуются в виде типовых аппаратно-программных средств и конструкторских решений при выполнении опытно-конструкторских работ;
- тестируются и оцениваются в процессе проведения испытаний;
- проявляются и поддерживаются на стадии эксплуатации.
[из 5.6.1 ГОСТ Р 59797-2021]
Учитывая наличие большого количества функционирующих совместно систем и комплексов, трудности интеграции, взаимное влияние функциональных и нефункциональных параметров взаимодействующих систем, а также зависимость от возможных изменений во взаимодействующих системах, наиболее предпочтительным является спиральный (итерационный) подход к разработке сложных систем и их программного обеспечения [7] [из 5.6.2 ГОСТ Р 59797-2021]
Данный подход подразумевает эволюционное наращивание возможностей системы при регулярной оценке возможности возникновения барьеров интероперабельности. Другие модели жизненного цикла систем (V, W, Incremental) также могут использоваться при создании (модернизации) сложных систем, но, как правило, с меньшей эффективностью [4] [из 5.6.3 ГОСТ Р 59797-2021]
Преимуществом спирального (итерационного) подхода являются:
- раннее выявление рисков возникновения барьеров интероперабельности;
- поддержка изменений функционала взаимодействующих систем;
- достижение высокого качества за счет возможности исправления ошибок на следующей итерации;
- увеличение возможности повторного использования программных средств и данных. Спиральный (эволюционный) жизненный цикл показан на рисунке 5.
Рисунок 5 - Спиральный (эволюционный) жизненный цикл разработки сложной системы
[из 5.6.4 ГОСТ Р 59797-2021]
Команде разработчиков рекомендуется разработать и иметь в распоряжении на каждой итерации следующий набор документов или их аналогов [4] - [7], отражающих семантические активы системы:
- перечень (процессов) функций, выполняемых системами и их элементами, включая потоки данных между процессами (функциями) системы;
- перечень пользователей системы, включающий их функциональные и информационные потребности;
- интегрированный словарь данных;
- инфологическая модель данных;
- реализация объектов логической модели данных в виде форматов сообщений, структур данных и т. д.;
- матрица обмена оперативной информацией между системами и их элементами;
- матрица обмена служебной информацией между системами и их элементами;
- описание системных интерфейсов доступа к данным и службам;
- описание системы связи, включающее характеристики каналов и сетей.
[из 5.6.5 ГОСТ Р 59797-2021]
Указанные документы должны своевременно уточняться в случае внесения значимых функциональных или структурных изменений во взаимодействующие системы и их элементы [из 5.6.6 ГОСТ Р 59797-2021]
Ведение указанных документов должно быть направлено на поддержание достаточности программного и информационно-лингвистического обеспечения сложной системы и ее элементов для поддержания всех автоматизируемых процессов [из 5.6.7 ГОСТ Р 59797-2021]
При формировании инфологических моделей и организации информационного взаимодействия между системами и их элементами рекомендуется использовать действующие и сопровождаемые общероссийские и отраслевые классификаторы. При отсутствии таковых допускается разработка локальных классификаторов [из 5.6.8 ГОСТ Р 59797-2021]