На этом шаге рассмотрим профили в UML.
Зачастую бывает полезно адаптировать версию UML под конкретные цели или предметную область. Например, если вы хотите использовать модель UML для генерации кода на том или ином языке, вам может пригодиться определение стереотипов, которые, будучи применены к элементам, дадут подсказки генератору кода. Однако определяемые вами с этой целью стереотипы должны быть разными для Java и C++. Другой пример: вы моделируете с помощью UML базы данных. Некоторые функции языка, в частности динамическое моделирование, не слишком для вас важны, но при этом необходимо добавить новые концепции – скажем, возможные ключи и индексы. Вы можете адаптировать UML, используя профили.
Профиль (profile) – это UML-модель с набором готовых стереотипов, помеченных значений, ограничений и базовых классов. Также профиль включает подмножество типов элементов UML, используемых автором моделей для того, чтобы исключить те из них, которые не понадобятся в работе с определенной областью приложений. Иными словами, профили определяют специализированные версии UML, предназначенные для моделирования определенной предметной области. Поскольку профили построены на базе стандартного UML, они не определяют нового языка и могут быть поддержаны стандартными средствами UML.
Большинство разработчиков моделей не конструирует собственных профилей. В основном профили создаются разработчиками инструментальных средств, каркасов и т.п. Однако многие авторы моделей используют профили. В этом смысле они сродни библиотекам подпрограмм: немногочисленные эксперты создают их, чтобы затем ими воспользовались многие программисты (в частности, в целях поддержки языков программирования и баз данных, различных платформ, инструментов моделирования, а также разнообразных областей бизнес-приложений).
На следующем шаге рассмотрим моделирование комментариев в UML.