Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Унифицированный язык моделирования UML, Ермаков...doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Глава 2. Структура унифицированного языка моделирования uml.

Язык UML имеет сложную иерархическую структуру (рис. 1).

Рис. 1. Структура языка UML.

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

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

В языке UML имеются семантические правила, позволяющие корректно и однозначно определять:

  • имена, которые можно давать сущностям, отношениям и диаграммам;

  • область действия (контекст, в котором имя имеет некоторое значение);

  • видимость (когда имена видимы и могут использоваться другими элементами);

  • целостность (как элементы должны правильно и согласованно соотноситься друг с другом);

  • выполнение (что значит выполнить или имитировать некоторую динамическую модель).

Модели, создаваемые в процессе разработки программных систем, эволюционируют со временем и могут неоднозначно рассматриваться р

2

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

  • содержат скрытые элементы (ряд элементов не показывают, чтобы упростить восприятие);

  • неполные (отдельные элементы пропущены);

  • несогласованные (целостность модели не гарантируется).

2.1. Сущности модели uml.

Для удобства обзора сущности в UML можно подразделить на четыре группы:

  • структурные;

  • поведенческие;

  • группирующие;

  • аннотационные.

Рис. 2. Пиктограммы некоторых сущностей.

Структурные сущности предназначены для описания структуры. Обычно к структурным сущностям относят следующие:

    • Объект (object) — сущность, обладающая уникальностью и инкапсулирующая в себе состояние и поведение;

    • Класс (class) — описание множества объектов с общими атрибутами, определяющими состояние, и операциями, определяющими поведение (рис. 2);

    • Интерфейс (interface) — именованное множество операций, определяющее набор услуг, которые могут быть запрошены потребителем и предоставлены поставщиком услуг;

    • Кооперация (collaboration) — совокупность объектов, которые взаимодействуют для достижения некоторой цели;

    • Действующее лицо (actor) — сущность, находящаяся вне моделируемой системы и непосредственно взаимодействующая с ней (рис. 2);

    • Компонент (component) — модульная часть системы с четко определенным набором требуемых и предоставляемых интерфейсов;

    • Артефакт (artifact) — элемент информации, который используется или порождается в процессе разработки программного обеспечения. Другими словами, артефакт — это физическая единица реализации, получаемая из элемента модели (например, класса или компонента);

    • Узел (node) — вычислительный ресурс, на котором размещаются и при необходимости выполняются артефакты.

Поведенческие сущности предназначены для описания поведения. Основных поведенческих сущностей всего две: состояние и действие.

  • Состояние (state) — период в жизненном цикле объекта, находясь в котором объект удовлетворяет некоторому условию и осуществляет собственную деятельность или ожидает наступления некоторого события.

Деятельность (activity) можно считать частным случаем состояния, который характеризуется продолжительными (по времени) не атомарными вычислениями.

  • Действие (action) — примитивное атомарное вычисление.

Несколько особняком стоит сущность — вариант использования, которой присущи как структурные, так и поведенческие аспекты.

Вариант использования (use case) — множество сценариев, объединенных по некоторому критерию и описывающих последовательности производимых системой действий, доставляющих значимый для некоторого действующего лица результат (рис. 2).

Группирующая сущность в UML одна — пакет. Пакет (package) — группа элементов модели (в том числе пакетов) (рис. 2).

Аннотационная сущность тоже одна — примечание (comment). В нее можно поместить все что угодно, так как содержание примечания UML не ограничивает (рис. 2).