От автора. На протяжении жизни мне много раз улыбалась удача; одним из боль­ших подарков фортуны было то, что я оказался в нужном месте

На протяжении жизни мне много раз улыбалась удача; одним из боль­ших подарков фортуны было то, что я оказался в нужном месте, воору­женный необходимыми знаниями, в результате чего в 1997 году было написано первое издание этой книги. В то время в хаотическом мире объектно-ориентированного (ОО) моделирования только начинался процесс объединения под эгидой унифицированного языка моделиро­вания (Unified Modeling Language, UML). С тех пор UML стал стандар­том графического моделирования не только объектов, но и программ­ного обеспечения в целом. Мне повезло, что эта книга была самой по­пулярной по языку UML, разойдясь тиражом более четверти миллио­на экземпляров.

Конечно, мне это очень приятно, но зачем вам покупать мою книгу?

Я люблю подчеркивать, что это тонкая книжка. Ее цель не в том, что­бы детально осветить каждый аспект языка UML, растущего с каж­дым годом. Я стремлюсь найти наиболее полезную часть языка и рас­сказать вам именно о ней. Хотя более объемная книга дает более де­тальное описание, но и читать ее нужно дольше. А время - самый цен­ный капитал, который вы вкладываете при чтении книги. Сохраняя небольшой размер книги, я сэкономил вам время, выбирая самое луч­шее, и избавил вас от необходимости самостоятельно выполнить эту работу. (К сожалению, «меньше» не означает пропорционально дешев­ле; существует определенная фиксированная стоимость издания высо­кокачественной технической книги.)

Один из мотивов, побуждающих приобрести данную книгу, - желание получить начальные сведения по UML. Это маленькая книжка, и с ее помощью можно быстро постичь основы языка. Что касается профес­сионального освоения, то более подробную информацию можно найти в книге «User Guide» [6] или «Reference Manual» [40].

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

Это книга с ярко выраженным мнением. Я долгое время имел дело с объектами и точно знаю, что работает, а что - нет. Любая книга отра­жает мнение автора, и я также не стараюсь скрывать свое. Поэтому ее-


ли вы ищете нечто, имеющее оттенок объективности, то, возможно, вам потребуется еще что-нибудь,

Многие разработчики говорили мне, что эта книга является хорошим введением в объекты, однако при ее написании у меня не было такой мысли. Если вам требуется введение в ОО, я бы рекомендовал книгу К. Лармана (Craig Larman) [29].

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

Я не рассказываю в этой книге об MDA (Model Driven Architecture) -архитектуре, основанной на модели. Распространено мнение, что это одно и то же, но многие разработчики применяют язык UML, совер­шенно не интересуясь MDA. Тем, кто хочет узнать об MDA больше, я бы посоветовал начать с данной книги, чтобы сначала познакомить­ся с UML, а затем перейти к книге, посвященной MDA.

Хотя главной темой этой книги является язык UML, я включил в нее дополнительный материал о приемах, которые очень полезны в объ­ектно-ориентированном проектировании, например, приведена ин­формация о CRC-карточках. UML - это только часть того, что необхо­димо знать для успешной работы с объектами, и я думаю, что он игра­ет важную роль при подготовке к освоению других приемов.

В такой небольшой книге, как эта, невозможно детально объяснить, как UML соотносится с исходным кодом, в частности потому, что не существует стандартного способа проведения такого соответствия. Од­нако я демонстрирую некоторые приемы программирования для реа­лизации элементов UML. Мои примеры написаны на Java и С#, по­скольку я обнаружил, что они понятны более широкой аудитории. Не надо думать, что они мне больше нравятся. Для этого я слишком мно­го написал на Smalltalk!


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: