Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Унифицированный язык моделирования (Unified Mod...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.06 Mб
Скачать

UML

Введение

Унифицированный язык моделирования (Unified Modeling Language - UML) это язык для специфицирования, визуализации, конструирования и документирования программных систем, а так же бизнес моделей и прочих не программных систем. UML представляет собой объединение инженерных приемов, которые ранее успешно использовались при моделировании больших и сложных систем. Составной частью UML является OCL (Object Constraint Language - язык ограничения объектов).

С середины 70-х по конец 80-х объектно-ориентированные языки моделирования возникают в виде методологий экспериментирующих с различными подходами к объектно-ориентированному анализу и проектированию. За период с 1989 по 1994 годы число языков ОО моделирования возросло с менее чем 10 до более чем 50. Однако эти методы были узко ориентированы на конкретные задачи и большинство пользователей не могли подобрать полностью отвечающего их потребностям языка. Это привело к тому, что с середины 90-х годов начинается объединение различных методов в единые, "полные" языки моделирования.

Разработка UML началась в октябре 1994 года, когда Гради Буч (Grady Booch) и Джим Рамбег (Jim Rumbaugh) из Rational Software Corporation начали работу по унифицированию метода Буча и OMT (Object Modeling Technique - техника объектного моделирования). В октябре 1995 года была представлена предварительная версия 0.8 унифицированного метода, так он был тогда назван. Во время экономического спада 1995 года Иве Иакобсон (Ivar Jacobson) и его компания Objectory объединились с Rational. Результатом объединения стало слияние унифицированного метода с методом OOSE (Object-Oriented Software Engineering).

При создании универсального языка моделирования Гради Буч, Джим Рамбег и Иве Иакобсон поставили перед собой следующие цели:

  • обеспечить моделирование систем (а не только ПО) используя ОО подход;

  • создать ясную концепцию языка;

  • решить проблему объема, возникающую в сложных системах;

  • создать язык моделирования, который может использоваться как человеком, так и машиной.

Попытка Буча, Рамбега и Иакобсона завершилась созданием в июне и октябре 1996 года документов на версии 0.9 и 0.91 UML. В течение 1996 года Rational создает консорциум UML партнеров. Консорциум включает: DEC, HP, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software, TI и Unisys. Результатом их сотрудничества стало создание в январе 1997 года спецификации на UML версии 1.0.

В январе 97 к UML партнерам присоединились Object Time, Platinum Technology, Ptech, Taskon&Reich Technologies, Softeam и 1 сентября 1997 года была опубликована спецификация UML версии 1.1.

Управление моделью

Основой управления и организации модели в UML являются пакеты.

Пакеты предназначены для группировки элементов модели. В них могут быть упакованы все виды элементов и диаграмм UML. В качестве элемента может выступать другой пакет, т.е. пакеты могут быть вложенными друг в друга. Пакеты являются основой для хранения, управления формой и доступом.

Пакет изображается как большой прямоугольник с маленьким прямоугольником ("ярлыком"), присоединенным к одному из углов (обычно слева/сверху) большого прямоугольника.

Если содержимое пакета не показано, то его название помещается внутри большого прямоугольника, иначе название помещается в ярлык.

Над названием может быть помещена ключевая строка. Ключевые слова subsystem и model показывают, что этот пакет является метамоделью подсистемы или модели. Предопределенные стереотипы: system, facade, framework и topLevelPackage записываются вместе с ключевыми словами. Определенные пользователем стереотипы одного из предопределенных видов пакетов так же записываются рядом с ключевыми словами, но они не должны конфликтовать с ними.

System (система) стереотип пакета, который представляет набор моделей одной и той же моделируемой системы. Модели описывают моделируемую систему с различных точек зрения, которые не обязательно непересекающиеся. Поэтому система содержит всестороннее описание моделируемой системы и является самым верхним структурным элементом спецификации

Facade (фасад) является стереотипом пустого пакета, который ссылается на элементы модели, содержащиеся в другом пакете. Он обеспечивает общедоступное представление содержимого пакета.

Framework (скелет) является стереотипом пакета, в основном содержащего шаблоны.

TopLevelPackage (пакет верхнего уровня) является стереотипом пакета означающим самым верхний пакетом модели, представляющим все не связанные с окружением части модели.

Список свойств может быть помещен в фигурные скобки после или ниже названия пакета. Например: {abstract}.

Содержимое пакета может быть показано в большом прямоугольнике.

Видимость элемента вне пакета может быть указана предшествующим названию элемента символом видимости ('+' для общедоступных (public), '-' для частных (private), '#' для защищенных (protected)). Если элемент это внутренний пакет, видимость его элементов как экспортируемых наружу пакета определяется комбинацией видимости элементов внутри пакета с видимостью самого пакета: результат должен в наибольшей степени ограничивать видимость.

Чтобы показать наличие отношения между элементами пакетов, отношение может отображаться между символами пакетов. В частности, зависимость между пакетами подразумевает, что существует одна или более зависимость между их элементами.

Рисунок 1. Пакеты и связи между ними