1.4. MDA – будущее UML 27
В 2005 году, когда еще шла работа над вторым изданием этой книги,
была завершена спецификация UML 2.0. Теперь UML – вполне сфор
мировавшийся язык моделирования. Прошло почти семь лет с момен
та выхода его первой версии, и он доказал свою ценность в сотнях про
ектах по разработке программного обеспечения по всему миру.
В UML 2 появилось много новых визуальных синтаксических струк
тур. Некоторые из них замещают (и уточняют) существующий синтак
сис версии 1.x, другие – абсолютно новые и представляют вновь вве
денную в язык семантику. UML как всегда предлагает множество ва
риантов представления конкретного элемента модели, но не все они бу
дут поддерживаться каждым из инструментов моделирования. В этой
книге мы пытаемся использовать лишь наиболее распространенные
синтаксические варианты и обращаем внимание на те, которые полез
ны в обычных ситуациях моделирования. Некоторые синтаксические
варианты слишком специализированны, поэтому они не обсуждаются
или только упоминаются.
Хотя в UML 2 по сравнению с версией UML 1.x внесено множество син
таксических изменений, основополагающие принципы остались более
или менее неизменными. Разработчики моделей, привыкшие к преды
дущим версиям UML, легко перейдут на UML 2. Фактически самые
глубокие изменения затронули метамодели UML, с которыми разра
ботчики моделей непосредственно не будут иметь дело. Метамодель
UML – это модель языка UML, выраженная в подмножестве UML. Она
строго определяет синтаксис и семантику всех элементов моделирова
ния UML, которые будут рассматриваться в книге. Изменения метамо
дели UML во многом касаются повышения точности и согласованно
сти спецификации UML.
В одной из своих книг Гради Буч говорит: «Если у вас есть хорошая
идея, она моя!» В этом заключена вся философия UML: он берет луч
шее из того, что было до него, интегрирует и использует в качестве ос
новы. Это можно понимать и в более широком смысле: UML объединя
ет лучшие идеи «доисторических» методов, отказываясь от их наибо
лее специфических деталей.
1.4. MDA – будущее UML
Будущее UML может быть определено, согласно недавнему предложе
нию OMG, как архитектура, управляемая моделью (Model Driven Ar
chitecture, MDA). Хотя наша книга и не посвящена MDA, в этом разде
ле будет представлен ее краткий обзор. Более подробную информацию
можно найти на вебсайте OMG (www.omg.org/mda) и в книгах «MDA
Explained» [Kleppe 1] и «Model Driven Architecture» [Frankel 1].
MDA дает видение того, как разрабатывать програмное обеспечение на
основе моделей. Суть этого видения заключается в том, что модели
управляют созданием исполняемой программной архитектуры. В на
стоящее время уже встречается подобный подход к разработке про