К третьему изданию

С древних времен большинству талантливых архитекторов и одарен­ных дизайнеров известен закон экономии. Независимо от формы, то ли в виде парадокса («чем меньше, тем больше»), то ли в виде коэна (разум дзэна - это разум новичка), он имеет непреходящее значение: Сократи все до его сути, так чтобы форма пребывала в гармонии с со­держанием. Лучшие архитекторы и дизайнеры - от пирамид до Опер­ного театра в Сиднее, от построений Неймана до UNIX и языка Small­talk - старались следовать этому универсальному и вечному правилу.

Я понимаю, что значит бриться Бритвой Оккама, поэтому когда я со­бираюсь вести разработку или читать, то ищу проекты и книги, в кото­рых соблюдается закон экономии. Следовательно, я одобряю книгу, которую вы сейчас читаете.

Это мое замечание может удивить вас на первых порах. Я часто загля­дывал в объемные и компактные спецификации, которые определяют UML (Unified Modeling Language - унифицированный язык моделиро­вания). Эти спецификации позволяют инструментам поставщиков ре­ализовывать UML, а методологам применять его. За семь лет мне дове­лось руководить большими международными командами по стандар­тизации, которые занимались спецификациями версий UML 1.1 и 2.0, а также нескольких менее важных промежуточных версий. В течение этого времени UML добавил в выразительности и точности, а также приобрел никому не нужную сложность как результат процесса стан­дартизации. Печально, что процесс стандартизации лучше известен компромиссами в области дизайна со стороны комитета, нежели своей расчетливой элегантностью.

Что может извлечь из книги Мартина, посвященной основам UML 2.0, специалист, хорошо знающий разные скрытые мелочи спецификации UML? Вполне достаточно, то же можете и вы. Мартин умело сократил большой и сложный язык до практичного подмножества, эффектив­ность которого он доказал на практике. При подготовке нового изда­ния своей книги он не пошел по легкому пути, который диктовала так­тика простого добавления страниц. Когда язык разросся, Мартин по-прежнему придерживался своей цели, ища «наиболее полезную составляющую языка UML» и рассказывая вам именно о ней..


Составля­ющая, на которую он ссылается, - это те мистические 20% языка UML, которые помогают выполнять 80% работы. Поймать и приру­чить этого иллюзорного зверя - значительный успех!

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

Для такой тонкой книжки это нетривиальная задача. Вы можете по­лучить от изучения подхода Мартина к моделированию столь же мно­го, как от его описания UML 2.O.

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

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

Крис Кобрин (Cris Kobryn)

Chair, U2 Partners' UML 2.0 Submission Team

Chief Technologist, Telelogic



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



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