ФЕДЕРАЛЬНОЕ УПРАВЛЕНИЕ
ГРАЖДАНСКОЙ АВИАЦИИ
МИНИСТЕРСТВА ТРАНСПОРТА США
Руководство по разработке
и управлению требованиями
При создании авиационных бортовых
встраиваемых систем реального времени

Исходный текст, 2009 / Русский перевод, 2022

Оглавление
2.10. Распределите требования по подсистемам
2.10 Распределите требования к системе на несколько спецификаций, каждая по своей подсистеме. Для больших систем требования должны быть распределены по подсистемам, которые субподрядчики могут разработать самостоятельно. Требования на подсистему описываются в отдельной спецификации, которая может быть передана в работу субподрядчику отдельно от других. В том разделе мы расскажем, как это сделать с учётом других рекомендаций.

2.10.1 Завершите процесс построения функциональной архитектуры родительской системы (с учётом ограничений реализации), чтобы выявить функции-кандидаты на выделение в подсистему.

2.10.2 При выделении функции системы в подсистему, продублируйте её высокоуровневые требования в подсистеме. Это обеспечивает прослеживаемость между высокоуровневыми требованиями к подсистеме и требованиями к функциям системы.
2.10.3 Разработайте «‎Общее описание системы» для каждой спецификации подсистемы. Это обеспечит комплексное представление о высокоуровневых требования к системе, что очень важно для субподрядчиков. Также это поможет определить объём подсистемы и прояснить её связь с системой.

2.10.4 Определите измеряемые и изменяемые переменные для подсистемы, которые являются общими с основной (родительской) системой. Убедитесь, что их определение в спецификации подсистемы соответствует их определению в спецификации системы. Не включайте переменные из спецификации системы, если они не используются подсистемой.

2.10.5 Создайте новые измеряемые и изменяемые переменные для внутренних переменных системы, которые станут видны подсистеме с назначением ей функций системы. Убедитесь, что они соответствуют определениям внутренних переменных в спецификации системы.
2.10.6 Сформулируйте концепцию эксплуатации для подсистемы, чтобы предоставить разработчикам понимание того, как система будет использоваться и как она будет взаимодействовать со средой.

2.10.7 Выявите все ограничения, связанные со средой, которые подсистема разделяет с родительской системой. Задокументируйте эти ограничения в спецификации подсистемы и убедитесь, что они соответствуют ограничениям родительской системы.

2.10.8 Выявите все ограничения среды, связанные с новыми изменяемыми и измеряемыми переменными. Убедитесь, что они соответствуют внутренним переменным, определенным в родительской системе.

2.10.9 Завершите спецификацию требований к подсистеме:

  • Выполнив функциональную декомпозицию
  • Изменив функциональную архитектуру с учётом требований безопасности или ограничений реализации
  • Определив режимы подсистемы
  • Разработав детальные требования к поведению и работе подсистемы
  • Разработав требования к программному обеспечению, если подсистема будет реализована программно

2.10.10 Убедитесь, что задержки и допуски, указанные для изменяемых переменных в подсистемах, соответствуют задержкам и допускам, указанным для родительской системы.
В предыдущих разделах мы обсуждали, как разработать и определить требования для отдельной системы путём определения отношений, которые система будет поддерживать между измеряемыми и изменяемыми переменными. В разделе 2.9 обсуждалось, как плавно перейти от требований к системе к требованиям к программному обеспечению. Однако, чтобы справиться со сложностью больших систем, обычно систему разделяют на подсистемы, которые можно разрабатывать независимо, и распределяют требования к этим подсистемам [24 и 45]. В этом разделе мы выясним, как это можно сделать в рамках описанной здесь структуры.
Что дальше
В следующем разделе мы подробнее рассмотрим, как распределить требования по подсистемам.

Далее к пункту 2.10.1