Современные технические системы постепенно усложняются, а традиционные подходы к разработке становятся неэффективны. Одним из вариантов решения этой проблемы является внедрение модельно-ориентированного проектирования (МОП) для разработки систем и программного обеспечения. Однако, прежде чем инвестировать средства в МОП, необходимо обосновать получаемые выгоды. В данной статье кратко коснемся того, что же такое МОП, чем он отличается от традиционного подхода и в чем его преимущества, а также рассчитаем ожидаемую экономию трудочасов от применения МОП по сравнению с традиционным подходом к разработке. Тут вы не найдете исчерпывающих объяснений по всем перечисленным вопросам, материал представляет собой больше «быстрый взгляд» на методологию со ссылками, где можно почитать подробнее.
Что такое модельно-ориентированное проектирование?
Под модельно-ориентированным проектированием понимается совокупность методик разработки программного и аппаратного обеспечения, основанных на применении системных моделей на всех этапах процесса разработки (рисунок 1).

Модельно-ориентированное проектирование дополняет и развивает практику разработки Agile. Как и Agile, МОП позволяет разработчикам обнаруживать дефекты проектирования, учитывать изменения в требованиях, а также подключаться к системам непрерывной интеграции (CI) для автоматического тестирования и проверки моделей и кода на протяжении всего жизненного цикла разработки (рисунок 2).

Посмотреть подробнее про методологию МОП можно тут, истории успеха/вебинары/доклады собраны тут.
Сравнение традиционного подхода к разработке с модельно-ориентированным проектированием
В случае традиционного подхода к разработке задачи на каждом этапе выполняются последовательно в различных программных средах, при этом многие действия выполняются вручную (рисунок 3). Каждый этап такого похода, от составления требований до эксплуатации системы, имеет свои недостатки: требования, как правило, записываются в текстовом виде с использованием таких инструментов, как Microsoft Word или IBM Engineering Requirements Management Doors, что затрудняет их анализ, интерпретацию и редактирование по мере внесения изменений. Подсистемы обычно создаются с использованием специфических для данной области инструментов, что исключает тестирование на системном уровне до реализации в программном или аппаратном обеспечении. В процессе реализации подсистем код пишется вручную, что представляет собой трудоемкий и чреватый дефектами процесс. Отсутствие единой программной среды, множество ручных операций и обнаружение дефектов на поздних стадиях проектирования – все это увеличивает время и стоимость разработки.

Используя методологию МОП, есть возможность избежать перечисленные выше недостатки, так как модель одновременно является исполняемой спецификацией, которая позволяет инженерам запускать симуляции для проверки альтернативных концепций разработки и верификации проектов.
Преимущества использования модели в качестве исполняемой спецификации заключаются в следующем:
-
Проектируемую систему можно тестировать, уточнять и перепроверять на протяжении всего процесса разработки.
-
Моделирование позволяет инженерам быстро опробовать множество идей без необходимости создания дорогостоящих прототипов.
-
Тестирование и валидация проводятся с ранних этапов и постоянно, а не в конце процесса разработки, что позволяет своевременно обнаружить ошибки.
-
Код может быть сгенерирован на основе модели, что снижает трудозатраты и исключает ошибки ручного написания кода. Этот код можно использовать для тестирования в реальном времени и развертывания на аппаратном обеспечении.
-
Модели могут быть повторно использованы в последующих проектах.
С одним из примеров успешного применения МОП можно ознакомиться здесь. В этой статье можно подробней изучить сравнение МОП и традиционных методов при разработке систем управления.
Организации, внедряющие модельно-ориентированное проектирование, получают экономию от 20 до 60% по сравнению с традиционными методами разработки. Основная часть этой экономии достигается за счет более качественного анализа требований в сочетании с ранним и непрерывным тестированием (рисунок 4).

Ожидаемая экономия трудочасов от внедрения МОП для разных стадий проектирования
Как уже отмечалось выше, основная часть этой экономии обеспечивается правильно составленными требованиями, а также эффективным тестированием.
Предположим, что количество требований в проекте составляет 5000. Использование моделей для выявления нечетких, противоречивых или не поддающихся тестированию требований позволяет инженерам выявить больший процент ошибок. Пусть порядка 15% требований содержат ошибки или нуждаются в доработке. Обнаружение этих ошибок на этапе разработки требований позволит избежать дорогостоящих переделок на более поздних этапах проектирования. Если предположить, что на устранение такой ошибки после неправильного составления требований в среднем уходит 4,5 ч, то количество сэкономленных трудочасов составит 3375 (таблица ниже).
|
Этап разработки требований |
Значения |
|
Процент некорректных требований, % |
15 |
|
Количество некорректных требований |
750 |
|
Количество часов, необходимое для устранения ошибки, вызванной неправильно составленным требованием, ч |
4,5 |
|
Количество сэкономленных часов на исправление ошибок из-за неправильно составленных требований, ч |
3375 |
При использовании МОП значительная часть экономии трудочасов достигается на этапе тестирования: при модельно-ориентированном проектировании для верификации и валидации моделей тесты могут генерироваться автоматически, обеспечивая полное тестовое покрытие. Созданные тестовые сценарии могут быть использованы на различных этапах тестирования, включая тестирование аппаратного обеспечения в контуре. Так для проекта, включающего 5000 требований, количество сэкономленных трудочасов может составить 12000 (таблица ниже).
|
Этап тестирования и создания отчетной документации |
Значения |
|
Количество часов, необходимое для устранения недостающего тестового покрытия для одного требования, ч |
2 |
|
Процент автоматически сгенерированных тестов, % |
70 |
|
Количество сэкономленных часов за счет устранения недостающего тестового покрытия, ч |
7000 |
|
Количество часов, затраченное на отладку тестов для одного требования, ч |
2 |
|
Процент повторного использования тестов на различных этапах тестирования, % |
50 |
|
Количество сэкономленных часов за счет повторного использования тестов, ч |
5000 |
Таким образом, успешность проекта во многом зависит от правильно составленных требований, а раннее и непрерывное тестирование приводит к тому, что большее количество ошибок выявляется и устраняется на том же этапе, на котором они появляются, что в конечном счете снижает общую стоимость разработки. На рисунке 5 представлена суммарная экономия от применения МОП для разных стадий проектирования.

Для большинства компаний инвестирование в новые технологии и процессы является рискованным шагом. Внедрение модельно-ориентированного проектирования – это переломный момент в разработке сложных технических систем. Для компаний, чья продукция стоит тысячи или миллионы долларов, сокращение количества прототипов всего на одну единицу оказывается достаточным, чтобы окупить инвестиции в МОП. В то время как для небольших инженерных команд драйвером ценности МОП будет являться ускоренная разработка, позволяющая в короткие сроки вывести на рынок высококачественный продукт.
ссылка на оригинал статьи https://habr.com/ru/articles/649035/
Добавить комментарий