Количество возможных решений даже простой задачи может быть огромным. Прием функциональной декомпозиции основной цели системы, для которой она разрабатывается, является ключом к оценке альтернатив, позволяет разработать системную архитектуру. При принятии решений в рамках декомпозиции сравниваемые ценности неотъемлемо связаны с удовлетворением потребностей заинтересованных сторон системы.
2. Подход жизненного цикла. Системная инженерия учитывает полный жизненный цикл при оценке и проектировании интересующей системы, чтобы гарантировать, что предоставляемые решения работают в соответствии с требованиями в течение жизненного цикла системы от первоначального установления потребности в системе до ее вывода из эксплуатации. Оценка принятия решений основана на их полезности для последующих стадий жизненного цикла.
3. Опора на требования к системе. На основе начального заявления о потребностях, созданного заказчиком и командой инженеров, формируются требования, описывающие, как система должна функционировать и работать. По мере разработки системы эти требования пошагово отслеживаются для контроля и мониторинга того, что система удовлетворяет всем требованиям на всех этапах разработки и внедрения.
4. Междисциплинарный командный подход к реализации задач. Системная инженерия использует координацию усилий междисциплинарных проектных групп по определению системных интерфейсов, смягчению конфликтов и объединению усилий при проектировании системы. Сложность системы обуславливает необходимость бесперебойной генерации интегрированных командных решений.
Описание процессов жизненного цикла включает стандартные блоки компонентов. Каждый процесс состоит из входа, действия и выхода, поддержанных функциями управления и обеспечения. Процесс разработки в системной инженерии можно представить в виде нескольких взаимосвязанных итерационных петель (рис. 1.3).
Циклы повторяются при изменении архитектуры и конфигурации продукта, чтобы достичь сбалансированного дизайна объекта (то есть удовлетворительно отвечающего всему набору требований с компромиссными решениями между различными конструктивными соображениями).
Выделим 12 последовательных этапов разработки системы.
1. Комплексное техническое планирование, включая формирование планов процессов СИ и продуктов.
2. Управление требованиями, куда входит определение и управление требованиями, которые описывают желаемые характеристики системы. Нужно определить потребности заинтересованных сторон, преобразовать их в требования. Определить системные требования, выполнить анализ и вести управление ими.
3. Функциональный анализ для описания функциональных характеристик (что система должна делать), которые используются для получения требований. Анализ ведется только по функциям, необходимым для удовлетворения заданных требований, а не по физическим компонентам, выполняющим эти функции.
4. Маркетинговая оптимизация, содержащая информацию по принятию решений на основе анализа и отбора наиболее сбалансированных решений по требованиям рынка. При большом количестве взаимодействий в системе возможно будут противоречивые показатели производительности, которые заставят выбрать компромиссное решение. Выбирая важные критерии путем оценки или обращения к заинтересованным сторонам, можно определить приоритеты доступных альтернатив на основе целей пользователей системы.
5. Синтез системы, включая этап преобразования требований в физические решения верхнего уровня системы.
6. Управление интерфейсами для определения и управления взаимодействиями между сегментами в рамках системы или взаимодействиями с внешними системами.
7. Специализированная (тематическая) инженерия включает анализ системы, требования, функции, решения и интерфейсы с использованием специальных навыков и инструментов. Помогает в получении требований, синтезе решений, выборе альтернатив, а также валидации (то ли мы сделали) и верификации (так ли это работает) требований. Дает оценку возможных архитектур, альтернатив получения элементов системы, установление проектных характеристик и возможностей, и управление проектированием системы. Содержит планирование приобретения системы, выбор поставщиков, заключение, поддержку и контроль соглашений о приобретении, приемку товаров или услуги от поставщиков.
8. Системная интеграция это выполнение и управление внедрением системных элементов. Здесь определяют, согласуют и управляют интерфейсами системного уровня, планируют и выполняют интеграцию, управление ее результатами. Проверяют, что выполненная интеграция системы обеспечила требуемый уровень точности и аккуратности.
9. Управление рисками и возможностями включает определение, анализ и управление неопределенностями достижения требований программы путем разработки стратегий для снижения их вероятности. Содержит анализ, обработку и отслеживание технических рисков и возможностей.
10. Управление конфигурацией включает установление описания и поддержка базовой системы, управление изменениями в характеристиках системы, функциональных и физических свойствах, планирование управления конфигурацией и информацией.
11. Проверка (верификация) и контроль (валидация). Путем верификации определяют, что требования к системе являются правильными, планируют и выполняют верификацию. При валидации определяют, что реализованное решение отвечает утвержденным требованиям, планируют и выполняют валидацию, получают квалификацию, сертификацию и приемку системы.
12. Инженерия жизненного цикла содержит набор обеспечивающих процессов. Это создание, оценка и улучшение процессов жизненного цикла, определение и управление разработкой продукта, развертывание и передача работ, интегрированная поддержка логистики, технологическая производственная часть и вывод из эксплуатации; технический мониторинг и контроль проекта НИОКР, планирование обеспечения качества системы; выявление, документирование и изучение уроков проектов; эксплуатация и техническое обслуживание системы, поддержка работы системы или продукта, включая логистику; планирование и выполнение вывода из эксплуатации после исчерпания ресурса.
Сегодня требования системной инженерии изложены в ряде стандартов ГОСТ РФ. Важные для нашего изложения документы перечислены далее.
ГОСТ Р 571932016 (ISO/IEC/IEEE 15288:2015). Системная и программная инженерия. Процессы жизненного цикла систем.
ГОСТ Р ЕН 91002011. Системы менеджмента качества организаций авиационной, космической и оборонной промышленности, требования.
ГОСТ 561362014. Управление жизненным циклом продукции военного назначения, Термины и определения.
ГОСТ 561352014. Управление жизненным циклом продукции военного назначения, Общие положения.
ГОСТ Р 580542018. Изделия авиационной техники. Управление конфигурацией. Общие положения.
ГОСТ Р ИСО 100072019. Менеджмент качества. Руководящие указания по менеджменту конфигурации.
ГОСТ Р 591932020. Управление конфигурацией. Основные положения.
ГОСТ Р 571002016 (ISO 42010:2011). Системная и программная инженерия. Описание архитектуры.
ГОСТ Р ISO/МЭК 122072010. Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств.
ГОСТ Р 571012016 (ISO/IEC/IEEE 16326:2009). Системная и программная инженерия. Процессы жизненного цикла. Управление проектом.
1.3 Формирование требований к системе
Напомним основные понятия системы и их роли.
Заинтересованные стороны, которыми являются любой человек или организация, в том или ином отношении влияющие на систему: инвесторы, заказчики, покупатели, лица, ответственные за надзор и регулирование продуктов или услуг, их сертификации, акционеры компании, и так далее. Заинтересованные стороны находятся за пределами системы.
Цели: формулируют потребности заинтересованных сторон и определяют общую задачу создания системы. Каждая цель формулируется в виде набора требований.
Жизненный цикл: определяет, как система будет построена или произведена, ее испытания, продажи, финансирование, эксплуатацию, обслуживание и утилизацию по завершению эксплуатации.
Режимы работы: предусматривают функционирование системы в различных средах и условиях (сценариях). Самолет, например, используется для перевозки пассажиров и грузов, и для обучения экипажа. Его также нужно обслуживать, ремонтировать и испытывать.
Ограничения каждой конкретной системы продиктованы законодательством, процедурами и стандартами, имеющимися материалами, знаниями и технологиями, заданным временем проекта, финансированием, людскими и материальными ресурсами.
Требование: определяет, что должна делать система. Например, «портативная система очистки воды должна очищать не менее двух литров воды в минуту». Требования верхнего уровня должны включать цели системы, жизненный цикл, режимы (сценарии) работы, ограничения, интерфейсы с другими системами.
Функцией называют конкретное действие, которое система выполняет, или значимую цель, для которой система разработана или спроектирована. Функции не надо путать с задачами. Например, в системе кофейного автомата «подача кофейной капсулы» и «дозировка горячей воды» являются функциями автомата. Однако действия «вставить чашку» и «выбрать напиток нажатием кнопки» являются задачами пользователя, а не функциями.
Компонент это элемент построения системы. Физические компоненты представляют оборудование для построения системы. Электрические и компьютерные компоненты программного обеспечения контролируют и регулируют ее работу. Человеческие компоненты взаимодействия людей с аппаратным и программным обеспечением необходимы для выполнения системных функций.
Входы и выходы. Так называют совокупность воздействий снаружи на систему, и ответные реакции, результаты, воздействия системы на окружающую среду. Динамические объекты системы и ее компоненты нуждаются во входных сигналах для выполнения своих функций. Внутри системы некоторые компоненты могут генерировать входы и выходы для других компонентов. Эти входы и выходы могут быть материалами, энергией, информацией или действиями.
Базовая версия системы. Это задокументированная точка отсчета для оценки результатов системного проектирования. На определенных этапах проектирования системы предыдущая базовая версия сменяется на более проработанную или зрелую.
Выявление свойств и характеристик будущей системы начинается с задачи маркетингового исследования рынка. Рыночная привлекательность продукта определяется набором его преимуществ (для системы самолета это характеристики, стоимость пассажиро-километра для авиакомпании, вес, надежность, наличие ППО, стоимость владения). Критерии принятия решений на рынке могут быть назначены на основе мер эффективности (голос клиента) и показателей эффективности (голос инженера). Ожидаемые результаты маркетинга включают выбор концепции эксплуатации системы, выбор архитектуры системы, производные требования (альтернативы функций, распределение требований). Все эти понятия будут обсуждены далее.
Статистика ведущих компаний мира показывает, что сокращению сроков завершения программ уделяется большое внимание, так как скорость выхода нового продукта на рынок сильно влияет на долю рынка, скорость возврата инвестиций, прибыль по ППО, и др.
Необходимым стартовым компонентом для продвижения по этапам разработки является «Концепция эксплуатации» (concept of operation). Это документ, описывающий ожидаемые характеристики разрабатываемой системы с точки зрения пользователя (не путать со спецификацией, где изложен весь набор требований заинтересованных сторон к системе, подсистемам и элементам). В стандартах РФ такой документ не фигурирует. Его задачей является наглядное описание целей создания системы («что» она должна делать, а не «как»). Концепция эксплуатации является базовым источником для остальных действий по реализации системы. Последующие действия по разработке преобразуют вопросы эксплуатации системы и функций поддержки ЖЦ в реальную систему.
При написании концепции эксплуатации продукта ОКР полезно использовать простые и точные тексты, с рисунками и графикой, чтобы быстро и понятно показать общие цели создания системы. Концепция эксплуатации должна ответить на ряд вопросов пользователя.
Что требуется от системы с функциональной точки зрения?
Какие основные и второстепенные функции должна выполнять система?
Что ограничивает ее возможности?
Что пользователи ценят в ожидаемом продукте?
Когда необходимо построить и поставить систему?
Как будет поддерживаться запланированный жизненный цикл системы после продажи?
Какова предполагаемая стоимость жизненного цикла системы?
Где предполагается использовать систему?
Наличие четко определенной концепции эксплуатации является ключевым исходным основанием для успеха системы. Нельзя начинать работу с ожиданиями, что можно спроектировать что-то сейчас, а исправить позже.
Документирование «Концепции эксплуатации» системы должно завершиться до формирования требований. Она является связующим звеном между желаниями и требованиями для создания и тестирования решения.
После уточнения концепции эксплуатации на этапе анализа цели необходимо сформировать архитектуру системы, чтобы определить ее особенности, далее сформировать требования к системе и провести ее декомпозицию для упрощения стадии синтеза. Архитектурой системы называют структуру компонентов, их отношений, а также принципов и руководств, регулирующих их проектирование и развитие во времени (Boeing).
Системная архитектура включает в себя наиболее важные, связывающие весь проект стратегические решения по реализации продукта, изобретения, инженерные компромиссы, допущения и соответствующие логические обоснования того, как система будет удовлетворять системным требованиям. Она также описывает все основные логические, физические, статические и динамические структуры, альтернативные решения.
Архитектура отражает утвержденные системные требования верхнего уровня. Она может включать функции системы, характеристики, технологию, оценку стоимости, риски, ограничения, границы системы, и так далее. Перечень функций затрагивает применяемые в эксплуатации входные и выходные данные, сценарии использования, циклические процессы, функциональные требования, приоритеты. Поведение компонентов системы является частью архитектурного описания.
Архитектура не является единой структурой. Она определяет основные части системы и то, как эти части будут взаимодействовать друг с другом, чтобы удовлетворить общие системные требования. Определения архитектуры не уточняют, что представляют собой будущие компоненты. При формировании архитектуры можно использовать диаграммы, наброски, рисунки, таблицы, и другие наглядные материалы для выражения пожеланий будущих пользователей.