Где искать MBSE в разработке требований?

Мадорская Ю.М.

Model Based System Engineering (MBSE) — подход к проектированию систем, основанный на интенсивном применении моделирования для анализа и спецификации требований к системе.

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

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

Любой современный аналитик навскидку назовет пять-шесть нотаций моделирования, используемых для спецификации требований к системе, чаще всего это UML и др. Все образы моделей, возникших в памяти скорее всего будут диаграммами. Но есть еще один не менее мощный, но часто более экономичный подход — формальные текстовые модели. Примерами таких моделей являются, как ни странно, User Story, используемые в Scrum.

user_storyКонечно, User Story не могут претендовать на всеобъемлемость. Они, как и любой другой тип модели, применяемый в MBSE, не могут описать систему полностью и должны быть использованы совместно с другими типами моделей, однако дают то самое важное преимущество MBSE — контроль ошибок проектирования в рамках своего уровня требований.

Таким образом, так или иначе все методологии разработки требований в пределе стремятся к MBSE, потому что это единственный способ снизить стоимость создания системы без потери качества проектирования.