Инженерия системной архитектуры

Инженерия системной архитектуры или эскизное проектирование (architecturing, conceptual design, advanced development) — практика создания системной архитектуры, часть в архитектурном проектировании (architecturing design), на которой путем анализа, моделирования, разработки и создания опытных образцов разрешается большая часть проблем, обусловленных неопределенностями, присущими выбранной концепции системы.

Архитектура у системы есть всегда, но не всегда при разработке тщательно делаются архитектурные описания. Часто это «устная архитектурная традиция» — и тогда архитектуру называют “заделы”, “опыт”, “наработки”. Раньше при наличии требований часто переходили непосредственно к проектированию и конструированию, не документируя принятых важнейших решений — особенно, когда эти решения принимались методом “проб и ошибок”. Архитектурное знание не накапливалось, и не обсуждалось, ибо не было документировано.

Сейчас же принято документирование архитектурного знания, поэтому “проектирование” всё чаще называют “архитектурным проектированием” (например, в стандарте ISO 15288 практик жизненного цикла системной инженерии нет практики “проектирования”, а есть именно практика “архитектурного проектирования”).

Цели и задачи

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

На этой стадии применяются экспериментальные модели и имитационное моделирование, цель которых - снизить затраты на валидацию концепций, рекомендованных в качестве основы при проектировании компонентов и подсистем.

Состав

Создание системной архитектуры подразумевает:

  • синтез самых разных описаний целевой системы;
  • прямой инженерный творческий процесс (в отличие от реверс-инжиниринга в инженерии требований).

Процесс системной инженерии определяет на этом этапе следующие шаги:

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

Снижение риска

Оценка рисков - базовый инструмент системной инженерии. Она производится на всем протяжении разработки, но особенно на этапе эскизного проектирования. Включает в себя:

  • выявление источников риска
  • определение вероятности риска
  • определение критичности риска