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

Неточная формулировка концепций, изложенных в виде наброска на салфетке, чревата риском отказа системы. Рекомендация 8 в первой десятке рекомендаций по моделированию для системных инженеров от Брюса Дугласа помогает перейти от упрощенных моделей к моделям высокой точности.

Брюс Дуглас, главный популяризатор Rational, отделение системотехники

Фото автораБрюс Дуглас (Bruce Douglass) имеет более чем 30-летний опыт работы с программным обеспечением и специализируется на разработке систем реального времени и встраиваемых систем. Он автор процесса разработки встраиваемых систем реального времени IBM Rational Harmony™ (Harmony/ERT). Вместе с Питром Хофманом разработал оригинальный процесс Harmony, в котором системотехника и ПО сочетаются с узкоспециализированной автоматизацией для достижения гладкого, комплексного рабочего процесса. В IBM занимается консалтингом и преподаванием UML, SysML и DoDAF не только заказчикам программного обеспечения Rational, но и собственным инженерам, научным сотрудникам и специалистам по маркетингу IBM. Написал более 100 журнальных статей и 15 технических книг, является лектором и членом консультативного совета Конференции встраиваемых систем и Всемирной конференции UML. Его опыт включает в себя гибкую разработку и гибкие методы проектирования систем, а также разработку на основе модели и системы повышенной безопасности.



06.02.2014

Эта рекомендация представляет собой слегка завуалированную жалобу о самом распространенном (и неправильном) применении моделирования, которое я наблюдаю в отрасли — конструировании упрощенных, неточных, неправильных и неудобных в сопровождении моделей, малополезных в анализе и не отвечающих на важные для разработчика вопросы. Нетрудно заметить, что я не сторонник такого моделирования. Я предпочитаю модели "высокой точности". Такие модели (в границах их области действия и назначения) обладают полнотой, точностью, корректностью и детальностью; а также поддаются проверке (мы поговорим об этом аспекте при рассмотрении рекомендации 1).

Позвольте мне заявить со всей прямотой: ценность моделирования определяется возможностью верификации полноты, детальности и точности модели с учетом ее назначения и области действия. Так называемые "модели на салфетках" (которые действительно нередко рисуются от руки на любой доступной поверхности) представляют собой весьма распространенный способ применения языка UML или SysML. Однако использовать модели таким образом — это то же самое, что проектировать ракету с приблизительными баллистическими параметрами. В конечном итоге ракета все равно приземлится где-нибудь, поэтому какая разница? Если вас волнует место попадания, то разница колоссальна.

Рисунок 1. Модель на салфетке не обладает точностью
model sketched on a napkin

Замечание: Для модели на салфетке не существует никакого обеспечивающего репозитария, который гарантировал бы согласованность ее семантических операторов с операторами на другой салфетке, которая может находиться в вашем кармане.

Некоторые вопросы, которые могут возникнуть применительно к этой модели.

  • Что пытается описать эта модель?
  • Включает ли эта модель все атрибуты Студента или Семинара?
  • К данным какого типа принадлежат атрибуты и каковы допустимые поддиапазоны для них?
  • Какие параметры имеют операции и какие значения они возвращают?
  • Каким образом определяется приемлемость семинара? Какая информация необходима для этого?
  • Как создаются эти элементы? Каким образом осуществляется их связывание друг с другом? Каким образом они уничтожаются?
  • Каким образом определяется заполняемость семинара? Какая информация необходима для этого? Присутствует ли атрибут MaxNumber:unsigned int?
  • Имеются ли какие-либо значения по умолчанию для атрибутов?

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

Главный итог заключается в том, что нечеткое мышление порождает отказы в системах. В том мире, где я живу, это неприемлемо.

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Rational
ArticleID=962067
ArticleTitle=Первая десятка рекомендаций по моделированию для системных инженеров: Рекомендация 8. Модель на обороте салфетки – хороший способ для начала разговора, но очень плохой - для его завершения
publish-date=02062014