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

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

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

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

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

Грейди Буч