Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kratkaya_versia_2.docx
Скачиваний:
37
Добавлен:
19.09.2019
Размер:
1.12 Mб
Скачать

32.Язык uml: причины появления и история развития языка, структура языка

Для создания моделей анализа и проектирования объектно-ориентированных программных систем используют языки визуального моделирования. Первые языки этого вида появились в конце 70-х – начале 80-х годов прошлого столетия, но ввиду того, что объектно-ориентированный подход в те времена еще не получил широкого распространения, количество языков было довольно ограничено (насчитывалось около 10 языков). Второе поколение приходится на конец 80-х – начало 90-х годов XX века, когда объектно-ориентированный подход набирает популярность. Неразбериха и разногласия, возникшие вследствие большого количества языков, привели к идее создания унифицированного (единого) языка визуального моделирования объектно-ориентированных программных систем. Таким языком (уже третьего поколения) и стал унифицированный язык моделирования (Unified Modeling Language – UML).

Работа над созданием нового языка началась в октябре 1994 г. В январе 1997 г. был издан документ с описанием языка UML версии 1.0, в ноябре 1997 г. выходит версия UML 1.1, а в июне 1999 г. – UML 1.3. После выхода очередной версии 1.4 языка UML в сентябре 2001 г. начинается официальная разработка стандарта языка UML 2.0. Хотя затем в марте 2003 г. выходит версия 1.5. Окончательный же стандарт языка UML 2.0 был издан только в августе 2005 г. В настоящее время используется версия 2.1 вышедшая в 2006 г.

Основные элементы унифицированного языка моделирования:

С самой общей точки зрения описание языка UML состоит из двух взаимодействующих частей: семантики и нотации. Семантика – система правил и соглашений, определяющих толкование и придание смысла конструкциям некоторого языка. Нотация – система условных обозначений, принятая в некотором языке для изображения и визуализации модели.

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

Формальное описание самого языка UML основывается на некоторой общей иерархической структуре модельных представлений, состоящей из 4-ех уровней: мета-метамодель (M3), метамодель (M2), модель (M1), объекты и экземпляры (M0).

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

Все описание языка UML на метамодельном уровне содержится в пакетах: «Элементы ядра», «Абстракции», «Основы», «Конструкции», «Простейшие типы».

Пакет «Элементы ядра» является главным и содержит в себе все остальные пакеты, которые в свою очередь также включают в себя другие пакеты.

Пакет «Абстракции» является наиболее фундаментальным из всех перечисленных пакетов. Он содержит основные абстрактные элементы, необходимые для разработки объектных моделей.

Пакет «Основы» содержит минимальное подмножество элементов языка UML, которые называются метаклассами и используются для дальнейшей конкретизации при моделировании структур систем. Метаклассы данного пакета и отношения между ними описывают следующие диаграммы: диаграмма типов, диаграмма классов, диаграмма типов данных, диаграмма пакетов.

Пакет «Конструкции» определяет расширенное подмножество элементов языка UML, которые используются для детального моделирования систем. Для описания метаклассов данного пакета используются следующие диаграммы: диаграмма верхнего уровня, диаграмма выражений, диаграмма классов, диаграмма классификаторов, диаграмма ограничений, диаграмма типов данных, диаграмма пространств имен, диаграмма операций диаграмма пакетов.

Пакет «Простейшие типы» содержит несколько предопределенных типов, которые используются при определении абстрактного синтаксиса моделей. Сюда включены: целочисленный тип (Integer), логический тип (Boolean), строковый тип (String), неограниченное натуральное число (Unlimited Natural).

Также в состав вспомогательных конструкций входит пакет «Модели», который специфицирует базовые элементы языка UML, необходимые для построения отдельных модельных представлений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]