Что такое модельно-ориентированное проектирование и как оно поможет сократить затраты на разработку сложных систем

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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

Что такое модельно-ориентированное проектирование?

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

Рис. 1. Использование системных моделей на всех этапах процесса разработки
Рис. 1. Использование системных моделей на всех этапах процесса разработки

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

Рис. 2. Ускоренная разработка систем с использованием МОП
Рис. 2. Ускоренная разработка систем с использованием МОП

Посмотреть подробнее про методологию МОП можно тут, истории успеха/вебинары/доклады собраны тут.

Сравнение традиционного подхода к разработке с модельно-ориентированным проектированием

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

Рис. 3. Традиционный подход к разработке программного обеспечения
Рис. 3. Традиционный подход к разработке программного обеспечения

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

Преимущества использования модели в качестве исполняемой спецификации заключаются в следующем:

  1. Проектируемую систему можно тестировать, уточнять и перепроверять на протяжении всего процесса разработки.

  2. Моделирование позволяет инженерам быстро опробовать множество идей без необходимости создания дорогостоящих прототипов.

  3. Тестирование и валидация проводятся с ранних этапов и постоянно, а не в конце процесса разработки, что позволяет своевременно обнаружить ошибки.

  4. Код может быть сгенерирован на основе модели, что снижает трудозатраты и исключает ошибки ручного написания кода. Этот код можно использовать для тестирования в реальном времени и развертывания на аппаратном обеспечении.

  5. Модели могут быть повторно использованы в последующих проектах.

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

Организации, внедряющие модельно-ориентированное проектирование, получают экономию от 20 до 60% по сравнению с традиционными методами разработки. Основная часть этой экономии достигается за счет более качественного анализа требований в сочетании с ранним и непрерывным тестированием (рисунок 4).

Рис. 4. МОП позволяет обнаруживать ошибки на боле ранних стадиях проектирования
Рис. 4. МОП позволяет обнаруживать ошибки на боле ранних стадиях проектирования

Ожидаемая экономия трудочасов от внедрения МОП для разных стадий проектирования

Как уже отмечалось выше, основная часть этой экономии обеспечивается правильно составленными требованиями, а также эффективным тестированием.

Предположим, что количество требований в проекте составляет 5000. Использование моделей для выявления нечетких, противоречивых или не поддающихся тестированию требований позволяет инженерам выявить больший процент ошибок. Пусть порядка 15% требований содержат ошибки или нуждаются в доработке. Обнаружение этих ошибок на этапе разработки требований позволит избежать дорогостоящих переделок на более поздних этапах проектирования. Если предположить, что на устранение такой ошибки после неправильного составления требований в среднем уходит 4,5 ч, то количество сэкономленных трудочасов составит 3375 (таблица ниже).

Этап разработки требований

Значения

Процент некорректных требований, %

15

Количество некорректных требований

750

Количество часов, необходимое для устранения ошибки, вызванной неправильно составленным требованием, ч

4,5

Количество сэкономленных часов на исправление ошибок из-за неправильно составленных требований, ч

3375

При использовании МОП значительная часть экономии трудочасов достигается на этапе тестирования: при модельно-ориентированном проектировании для верификации и валидации моделей тесты могут генерироваться автоматически, обеспечивая полное тестовое покрытие. Созданные тестовые сценарии могут быть использованы на различных этапах тестирования, включая тестирование аппаратного обеспечения в контуре. Так для проекта, включающего 5000 требований, количество сэкономленных трудочасов может составить 12000 (таблица ниже).

Этап тестирования и создания отчетной документации

Значения

Количество часов, необходимое для устранения недостающего тестового покрытия для одного требования, ч

2

Процент автоматически сгенерированных тестов, %

70

Количество сэкономленных часов за счет устранения недостающего тестового покрытия, ч

7000

Количество часов, затраченное на отладку тестов для одного требования, ч

2

Процент повторного использования тестов на различных этапах тестирования, %

50

Количество сэкономленных часов за счет повторного использования тестов, ч

5000

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

Рис. 5. Процент экономии от применения МОП по этапам разработки
Рис. 5. Процент экономии от применения МОП по этапам разработки

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

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Используете МОП в работе?
0% Да 0
0% Нет 0
0% Знаком, но не использую 0
Никто еще не голосовал. Воздержавшихся нет.
Источник: https://habr.com/ru/company/etmc_exponenta/blog/649035/


Интересные статьи

Интересные статьи

Салют, коллеги.Лично я, очень люблю поговорить про качество, поддерживаемость и выразительность кода (эти умные слова, часто звучат на код ревью)К сожалению, такие разговоры часто и быстро скатываются...
Как я писал в одной из предыдущих статей, в 70-е годы советское руководство столкнулось с новым стратегическим вызовом. В связи с появлением высокоточного ядерного оружия и развёртывания в Европе ра...
Сегодня вдруг осознал, что существует 3 связанные проблемы, которые каждый решает по разному: описание процессов, связь процессов с будущим IT и связь будущего IT с реальным IT и реальной деятельность...
Привет, хабр! Меня зовут Полина. Я несколько лет занималась настройкой и развитием инцидент-менеджмента для eLama.Благодаря работе нашей команды, управление инцидентами с...
В 1998 г. мало кому известный стартап под названием Netflix, только что запустивший собственный сайт, платил своим сотрудникам значительно меньше рынка: в фирму семейного типа шли не ...