Выбрать главу

Предисловие

Эдворд Тафт в своей известной работе «Визуальное представление количественной информации» заметил, что «графика открывает данные». Утверждая это, он имел в виду следующее: графическое представление любого сложного набора данных содержит больше информации, чем просто данные в исходном виде. Это справедливо и для программного обеспечения: при постоянном развитии и совершенствовании информационных систем сложность их возрастает, поэтому возможность эффективно управлять такими системами зависит от нашей способности представить их визуально, отделив от уровня исходного кода. Действительно, успешное распространение таких языков, как Visual Basic (применяется чаще других языков, даже Кобола), и средств визуального проектирования для С++ и Java показывает, что визуализация является важным средством для разработки сложных систем. А с появлением распределенных и параллельных систем различных типов, особенно Web-технологий, визуальное представление программных комплексов просто необходимо.

Терри Кватрани (Terry Quatrani) в своей книге утверждает, что «процесс, нотация и инструмент моделирования — это три концепции, необходимые для графического представления программной системы». Как я отмечал в предисловии к первому изданию ее книги, очевидно, что эти ключевые компоненты разработки программ продолжают развиваться. На сегодняшний день программисты владеют более мощным набором инструментов для проектирования и создания систем, чем два года назад. Кроме того, утвердившиеся стандарты в методах, языках и инструментах позволяют сосредоточить усилия непосредственно на разработке и поставке сложных программных комплексов и не тратить время, как раньше, на обсуждение различных подходов (хотя вокруг языков дебаты продолжаются). Мне довелось участвовать не только при разработке универсального языка моделирования (UML), но и при определении стандартов для самого процесса разработки, утвержденных компанией Rational Software. Я рад, что язык UML получил широкое распространение и признание, а также тому, что растет популярность таких продуктов, как Rational Rose, Rational Suites, а также методики Rational Unified Process.

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

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

Эта книга отражает глубокое понимание предмета и является результатом работы над многочисленными сложными программными системами. Специалисты, интересующиеся вопросами визуального представления систем, узнают из книги Терри о том, как правильно описывать, отображать, документировать и создавать программные комплексы с использованием стандартной нотации и передовых инструментов. Я высоко ценю профессиональные знания и опыт Терри. Уверен, что читатель тоже их оценит.

Грейди Буч

От автора

Цель книги

Два года назад, когда я приступала к написанию первого издания книги, я думала о том, что это простая задача, ведь я занимаюсь своей проблемой всю жизнь. Как я заблуждалась! Грамотно изложить материал было очень сложно (конечно, родить ребенка — более тяжелое испытание, но не намного). Долгими ночами и в выходные дни я упорно работала над книгой и хочу отметить, что, когда я впервые увидела ее на прилавке магазина, сильно волновалась. Я также поняла, что надо быть мужественной, чтобы читать книжное обозрение. Моя книга может понравиться людям (пять звезд) либо не произвести никакого впечатления (одна звезда). По ряду причин рейтинг моей книги оказался средним.

В процессе работы над вторым изданием я собиралась адресовать его двум группам критиков. Прежде всего тем, кому она понравилась, — спасибо вам. Приятно слышать, когда кто-то скажет: «Отличная работа, с этой книгой я многому научился». Однажды на семинаре в Нью-Йорке один человек подошел ко мне и сказал: «Спасибо, с этой книгой я сэкономил много времени». Такие люди действительно поняли цель моей книги — упростить введение в визуальное моделирование.

Что касается людей, на которых первое издание не произвело никакого впечатления, — им, вероятно, не понравится и это издание. Я говорю так, потому что цель книги осталась прежней. Это не полное руководство по языку UML (подобные книги уже написаны Грейди и Джимом, я даже не собираюсь состязаться с этими признанными экспертами). Это также не руководство по методологии Rational Unified Process (такая книга недавно написана Филиппом и Айваром). Это даже не книга по языку С++. Как я уже отмечала, моя книга — попытка в простой и доступной форме объяснить, как использовать процесс, язык и инструмент для создания схемы информационной системы.