Для чего хороша разработка на основе моделей?

Microsoft, известная в Каире, работает над новой платформой моделирования Oslo. Боб Маглия, старший вице-президент Microsoft Server & Tools Business, утверждает, что преимущества моделирования всегда были очевидны.

Проще говоря, каковы очевидные преимущества, которые Осло дает своим пользователям?

3 ответа

Решение

В теории есть несколько преимуществ:

  • Люди с бизнес-знаниями могут создавать программные модели, поэтому вы вряд ли что-то потеряете в переводе.
  • Когда нетехнические акционеры создают модели, это заставляет их "думать как разработчик". Они видят, что то, что они считали очевидным и простым, на самом деле сложно, когда вы формализуете это.
  • Это более эффективно. Деловые люди имеют деловые знания, а технические люди имеют технические знания, так почему бы не позволить каждой группе разработать систему в своей области знаний? Больше никаких телефонных игр, поскольку бизнес-эксперты вновь объясняют, что они значат для разработчика. Разработчики больше не отвлекаются на загадочные потребности бизнеса. Они могут сосредоточиться на взаимодействии между высокотехнологичными системами.

На практике это намного сложнее:

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

Я думаю, что моделирование - это просто следующий уровень абстракции. Как только это установлено, это приведет к более высокой производительности.

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

Я думаю, что короткий ответ - исследовательские проекты!

Хорошее место для начала, хотя Если вы хотите больше в этом разобраться, это выступление Дуга Пурди на PDC "Круг вокруг Осло", которое вы можете увидеть здесь. Он объясняет, как Осло "фиксирует суть кода без церемонии",... что бы это ни значило.

НТН.

Другие вопросы по тегам