Слайд 1Основные компоненты UML
Лекция №2
Слайд 2Определение UML
UML (Unified Modeling Language – Унифицированный Язык
Моделирования) - общецелевой язык визуального моделирования, который разработан для спецификации,
визуализации, проектирования и документирования компонентов программного обеспечения, бизнес-процессов и других систем.
Слайд 3Схема взаимодействия моделей и представлений сложной системы
Статическая
МСС
Динамическая
МСС
Концептуальная
МСС
Физическая
МСС
Слайд 5Назначение UML
легко воспринимаемый и выразительный язык визуального моделирования;
возможность расширения исходных
понятий;
универсальная спецификация моделей;
семантический базис;
развивать рынок объектный средств;
распространять ООАП;
интегрировать всё лучшее.
Слайд 6Общая структура UML
С самой общей точки зрения описание
UML состоит из двух взаимодействующих частей:
Семантика UML.
Нотация UML.
Слайд 7Семантика UML
Определяется для двух видов объектных моделей:
Структурных (статических).
Поведения
(динамических).
Слайд 8Формальное описание UML
Формальное описание UML основывается на некоторой
общей иерархической структуре модельных представлений, состоящей из четырех уровней:
Мета-метамодель.
Метамодель.
Модель.
Объекты пользователя.
Слайд 9Пакеты в UML
Пакет – основной способ организации элементов модели в
языке UML.
Графическое изображение пакетов в UML:
а)
б)
Слайд 10Пакеты в UML
Именем пакета может быть строка текста, содержащее любое
число букв, цифр и некоторых специальных знаков.
В качестве имени используются
существительные (или существительное + поясняющие слова).
Перед именем пакета можно размещать стереотип (заранее определённое ключевое слово).
Слайд 13Подпакеты пакета «Основные элементы (Foundation)»
Слайд 14Элементы ядра (Core)
Самый «главный» подпакет.
Определяет основные абстрактные и конкретные компоненты.
Специфицирует
базовые компоненты, необходимые для описания метамодели.
В его состав входят основные
метаклассы UML, например: класс, атрибут, ассоциация, тип данных, операция, интерфейс и т.д.
Слайд 15Типы данных (Data Types)
Специфицирует различные типы данных в UML.
Структура подпакета
более простая, чем у прочих.
Примеры типов данных, определяемых в этом
подпакете: целое число, строка, булевский, кратность, тип видимости и т.д.
Слайд 16Механизмы расширения (Extension Mechanisms)
Специфицирует порядок включения в модель элементов с
уточнённой семантикой.
В UML есть три механизма расширения:
стереотип (Stereotype)*;
ограничение (Constraint);
помеченное
значение (TaggedValue).
* - наиболее важный
Слайд 17Механизмы расширения (Extension Mechanisms)
Задачи механизмов расширения:
Слайд 18Элементы поведения
(Behavioral Elements)
Слайд 19Общее поведение
(Common Behavior)
Самый основной среди подпакетов пакета.
Определяет базовые
понятия, необходимые для всех элементов поведения.
Самое главное понятие – «объект».
Примеры
элементов подпакета: объект, экземпляр, сигнал, действие и т.д.
Слайд 20Варианты использования
(Use Case)
Специфицирует поведение специальных конструкций: актёров и вариантов
использования.
Элементы подпакета используются для первоначального определения поведения сущностей без описания
их внутренней структуры.
Слайд 21Кооперации (Collaboratios)
Специфицирует контекст поведения при использовании элементов модели для выполнения
отдельной задачи.
Задаёт семантику понятий, которые необходимы для ответа на вопрос:
«Как различные элементы модели взаимодействуют между собой с точки зрения структуры?»
Элементы: кооперации, сообщение, взаимодействие и т.д.
Слайд 22Конечные автоматы
(State Machines)
Специфицирует поведение при построении моделей с использованием
систем переходов для конечного множества состояний.
Примеры элементов: состояние, переход, событие,
конечный автомат, сторожевое условие, простое состояние, составное состояние и т.д.
Слайд 23Графы деятельности
(Activity Graphs)
Специфицируют множество понятий, которые необходимы для представления
логики протекания процессов и выполнения процедур или алгоритмов, включая бизнес-процессы
и документооборот компаний и фирм.
Примеры элементов: граф деятельности, состояние действия, состояние вызова и т.д.
Слайд 24Действия (Actions)
Специфицирует синтаксис и семантику выполняемых действий и процедур, включая
семантику времени их выполнения.
Примеры элементов: создание и уничтожение объектов, создание
и уничтожение связей, чтение и запись, передача сообщений и т.д.
Слайд 25Управление моделями
(Model Management)
Специфицирует базовые элементы UML: модель, пакет и
подсистема.
Пакет – метакласс, предназначенный для организации других элементов модели.
Модель –
подкласс пакета и является абстракцией конкретной физической системы.
Подсистема – группировка элементов модели, которые специфицируют некоторое простейшее поведение физической системы.
Слайд 26Специфика описания метамодели UML
Слайд 27Специфика описания метамодели UML
Метамодель UML описывается на некотором
полуформальном языке с использованием трех видов представлений:
Абстрактного синтаксиса.
Правил правильного построения
выражений.
Семантики.
Слайд 28Абстрактный синтаксис
Модель для описания некоторой части UML, предназначенной
для построения диаграмм классов на основе описаний систем на естественном
языке
Слайд 29Правила правильного построения выражений
Используются для задания дополнительных ограничений
или свойств, которыми должны обладать те или иные компоненты модели.
Слайд 30Семантика
Семантика UML описывается в основном на естественном языке,
но может включать в себя некоторые дополнительные обозначения, вытекающие из
связей определяемых понятий с другими понятиями. Семантика понятий раскрывает их смысл или содержание.
Слайд 31Семантика
Сложность описания семантики UML заключается в метамодельном уровне
представлений его основных конструкций. С одной стороны, понятия UML имеют
абстрактный характер (ассоциация, композиция, агрегация, сотрудничество, состояние). С другой стороны, каждое из этих понятий допускает свою конкретизацию на уровне модели (сотрудник, отдел, должность, стаж).
Слайд 32Метамодель UML
Таким образом, метамодель может рассматриваться как комбинация
графической нотации (специальных обозначений), некоторого формального языка и естественного языка.
Слайд 33Диаграммы UML
Диаграмма вариантов использования (use case diagram).
Диаграмма классов (class diagram).
Диаграмма
состояний (statechart diagram).
Диаграмма деятельности (activity diagram).
Диаграмма последовательности (sequence diagram).
Диаграмма кооперации
(collaboration diagram).
Диаграмма компонентов (component diagram).
Диаграмма развёртывания (deployment diagram).
Слайд 34Особенности изображения диаграмм UML
Большинство из диаграмм по своей сути –
графы специального вида.
Геометрические размеры элементов и их расположение не имеют
принципиального значения (есть исключения).
Слайд 35Три типа визуальных графических обозначений UML
Геометрические фигуры на плоскости. Играют
роль графических примитивов UML.
Графические взаимосвязи. Представляются различными линями на плоскости.
Специальные
графические символы.
Слайд 37Изображение диаграмм UML. Рекомендации
Диаграмма (Д) – законченное представление фрагмента ПО.
Все
сущности на Д. должны принадлежать одному концептуальному уровню.
Вся информация о
сущностях должна быть явно представлена на Д.
Диаграммы не должны содержать противоречивой информации.
Слайд 38Изображение диаграмм UML. Рекомендации
Диаграммы не нужно перегружать информацией.
Каждая Д. должна
быть самодостаточной.
Количество типов диаграмм для конкретной модели не является фиксированным.
Любая
из моделей системы должна содержать только те элементы, которые определены в нотации UML.
Слайд 39RUP
Процесс ООАП в контексте UML получил специальное название – рациональный
унифицированный процесс (Rational Unified Process, RUP)*.
*При дословном переводе термина
RUP теряется некоторая дополнительная семантическая окраска, связанная с двусмысленным толкованием английского Rational. Речь идет о другом варианте перевода – унифицированный процесс от фирмы Rational Software
Слайд 40RUP
Суть концепции RUP заключается в последовательной декомпозиции или разбиении процесса
ООАП на отдельные этапы, на каждом из которых осуществляется разработка
соответствующих типов канонических диаграмм модели системы. При этом на начальных этапах RUP строятся логические представления статической модели структуры системы, затем – логические представления модели поведения, и лишь после этого – физические представления модели системы.