FORESIGHT Pro

Системная и программная инженерия

Постоянно возрастающая сложность современных технических систем, увеличение количества элементов и связей между ними, повышение доли программного обеспечения в управлении функциями систем и широкая кооперация в проектировании, разработке и изготовлении компонентов сделали неэффективными устаревшие подходы к проектированию и изготовлению сложных больших и сверхбольших технических систем. Превышение сроков и бюджета при создании сложных систем в несколько раз стало обычным явлением.

Помимо этого, большинство сложных систем (автомобильный, морской и воздушный транспорт, нефтяные платформы, атомные станции, сложное медицинское оборудование) напрямую связаны с вопросами безопасности людей.  Повышенные требования к надежности, отказобезопасности и отказоустойчивости уже невозможно удовлетворить, как это делалось ранее, только при помощи выходного контроля. 

Место традиционных методов разработки сегодня интенсивно занимает системно-инженерный подход.  Системная и программная инженерия базируются на небольшом числе принципов верхнего уровня, которые затем декомпозируются и усложняются. Эти принципы:

  1. Требования как фундамент (или ядро) всего процесса создания системы
  2. Системное мышление и системная архитектура. Создаваемую систему необходимо видеть как набор взаимосвязанных функциональных элементов (компонентов), взаимодействующих между собой через детально описанные интерфейсы
  3. Процессный подход для подтверждения качества того, что невозможно померить на выходе
  4. Моделирование, верификация и валидация на моделях для раннего обнаружения ошибок (до начала реализации компонентов системы)
  5. Подробное описание интерфейсов взаимодействия проектных коллективов через строго регламентированные контрактные процессы

 

 

Важность подходов системной инженерии подтверждается тем, что ряд отраслевых международных стандартов, направленных в первую очередь на обеспечение безопасности и надежности создаваемых систем, опирается на процессы системной и программной инженерии. Это и стандарты авиационной отрасли (ARP 4761, ARP 4754A, DO-178C, DO-254A, DO-297), ряд стандартов на ПО и системы для медицинского оборудования (в т.ч. IEC 62304), стандарты на программное обеспечение атомных станций (IEC 60880). Все эти стандарты уточняют и детализируют общие подходы и процессы системной инженерии, описанные в стандарте ISO 15288, для конкретной прикладной области.

Компания Форсайт ПРО имеет большой и разносторонний опыт в постановке, реализации и программно-инструментальной поддержке процессов системной инженерии. В первую очередь этот опыт связан с использованием комплекса инструментов IBM Rational, который специалисты компании успешно внедряли в различных организациях авиационной и атомной отрасли.

Мы умеем (как с точки зрения использования различных программных инструментов, так и с точки зрения разработки необходимой нормативной документации, шаблонов и методологии) описывать, разрабатывать, внедрять и поддерживать следующие процессы системной инженерии:

  • Процесс управления требованиями к создаваемой системе и ее компонентам (в том числе процессы формирования и согласования контрактных требований с Заказчиком и контрактных требований к поставщикам). Особую ценность имеют наши компетенции и глубокое понимание особенностей реализации процесса управления требованиями на всех этапах жизненного цикла больших систем. Не всегда этот процесс удается сразу организовать "как надо", как написано в стандарте (в частности, в стандарте ISO 29148). Мы реалистично воспринимаем текущее состояние организации, проекта и уровень готовности персонала Заказчика, и стараемся в первую очередь предпринять те действия, которые могут продемонстрировать пользу работы с требованиями, оставляя более глубокую проработку на более поздний этап внедрения данного процесса. Основным инструментом, который мы предлагаем использовать для управления требованиями, является IBM Rational DOORS. Но по согласованию с Заказчиком может использоваться и другое программное обеспечение, например, IBM Rational DOORS NG, Caliber RM, или предложенный Заказчиком инструмент.
  • Процесс управления версиями и конфигурациями системы и программного обеспечения (включая версии и конфигурации требований). Управление конфигурацией важнейший процесс в системной инженерии. Он приобретает особенную важность в случае, когда валидация, верификация и тестирование производятся на моделях. Записи об истории изменений версий, результатах валидации, верификации, тестирования и испытаний на моделях, обоснования и детали примененных изменений - все эти данные используются в процессах оценки и получения сертификационного заключения на системы с особыми требованиями к безопасности. Процесс управления конфигурацией автоматизируется с помощью IBM Rational Team Concert. Более наглядное и комплексное управление конфигурацией обеспечивает Rational Enterprise Lifecycle Manager (RELM).
  • Процесс планирования проекта и назначения работ - данный процесс включает в себя определение проектного коллектива, распределение ролей, распределение задач, выдачу и контроль выполнения заданий в проекте. Современный процесс планирования и назначения работ может основываться на применении методологий RUP, OpenUP, Scrum и других Agile подходов. Этот процесс автоматизируется с помощью IBM Rational Team Concert.
  • Процесс контроля параметров проекта. - состоит в непрерывном сборе сведений о том, на какой стадии находится реализация различных компонентов проекта из WBS, не входят ли какие-то параметры в зону риска, нужны ли дополнительные управляющие воздействия. Данный процесс автоматизирует система сбора данных и генерации отчетов IBM Rational Team Concert.
  • Процесс валидации, верификации, тестирования и проведения испытаний. - этот процесс для сложных технических систем, разрабатываемых в соответствии с подходами и лучшими практиками системной инженерии, должен выполняться на протяжении всего жизненного цикла. На нисходящей ветви V-модели валидации и верификации подвергаются концепция, требования, архитектурные решения высокого уровня, низкоуровневая архитектура и низкоуровневые требования. Верификации и валидации также подвергаются модели, создаваемые на этих этапах разработки целевой системы. Процесс верификации и валидации на нисходящей ветви V-модели во многом  поддерживается такими инструментами IBM Rational, как System Architect, DOORS, Rhapsody, Quality Manager. На восходящей ветви V-модели, когда уже существуют физические артефакты, подлежащие интеграции в систему (исполняемый код программных модулей, аппаратные сборки) проводится тестирование и испытание как отдельных компонентов, так и компонентов, интегрированных в модули, блоки, подсистемы и системы. На этом этапе основную роль играют инструменты планирования испытаний и тестов, тестирования программного обеспечения и учета результатов проведения испытательных процедур. К таким инструментам относятся IBM Rational Test RealTime и IBM Rational Quality Manager
  • Процесс управления качеством проектирования. Одной из важнейших составляющих процессной модели системной инженерии является процесс управления качеством проектирования, на проектном уровне реализуемый как Quality Assesment, то есть непрерывная и систематическая оценка не только результатов выполнения процессов проектирования, но и качества самих процессов проектирования: все ли выполняется так, как записано в планах и стандартах, все ли документы разрабатываются, записи фиксируются и нормы соблюдаются. Планирование и учет результатов оценки качества процессов ведется в инструменте IBM Rational Quality Manager
  • Процесс управления средой поддержки процессов жизненного цикла. В системной инженерии учитывается архитектура и наличие не только разрабатываемой (целевой) системы, но и системы, которая обеспечивает процессы разработки (обеспечивающая система). Система, обеспечивающая процессы разработки это совокупность надлежащего инструментария (физического и программного), обученного персонала и реализуемых процессов, гарантирующих необходимый уровень разработки целевой системы. Иными словами, это функционирующая и поддерживаемая IT-архитектура проекта. Задача проектирования такой IT-архитектуры выполняется с помощью инструментов IBM Rational DOORS и IBM Rational System Arhitect, а поддержание IT-сервисов на заданном уровне функционирования (включая необходимые линии технической поддержки) может быть организовано с помощь IBM Rational Team Concert.
  • Процесс построения архитектуры системы. Архитектурное проектирование и моделирование создаваемой системы, включая декомпозицию системы на функциональные и физические компоненты, проработку и спецификацию программных и физических интерфейсов, является важнейшим этапом при разработке сложной технической системы в русле подходов системной инженерии. Процесс архитектурного проектирования системы поддерживается инструментом IBM Rational System Architect,  архитектурное проектирование программного обеспечения - инструментом IBM Rational Rhapsody.
  • Процесс проектирования и моделирования встроенного программного обеспечения. IBM Rational Rhapsody является уникальным инструментом, позволяющим реализовать весь процесс проектирования встроенного ПО, начиная от сбора и моделирования требований, через проектирование и моделирование высокоуровневой и низкоуровневой архитектуры ПО, и заканчивая генерацией кода на языках С, ADA и Java с последующей загрузкой и тестированием исполняемых модулей на целевой платформе или ее эмуляторе.