Семантика и синтаксис UML. Нотация UML. Типы диаграмм UML
Семантика и синтаксис UML
Классы – это базовые элементы любой объектно-ориентированной системы. Классы представляют собой описание совокупностей однородных объектов с присущими им свойствами – атрибутами, операциями, отношениями и семантикой. (Семантика - в программировании - система правил истолкования отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка.). В рамках модели каждому классу присваивается уникальное имя, отличающее его от других классов.
Атрибут – это свойство класса, которое может принимать множество значений. Множество допустимых значений атрибута образует домен. Атрибут имеет имя и отражает некоторое свойство моделируемой сущности, общее для всех объектов данного класса. Класс может иметь произвольное количество атрибутов.
Операция – реализация функции, которую можно запросить у любого объекта класса. Операция показывает, что можно сделать с объектом. Исполнение операции часто связано с обработкой и изменением значений атрибутов объекта, а также изменением состояния объекта.
Видимость свойства указывает на возможность его использования другими классами. Один класс может «видеть» другой, если тот находится в области действия первого и между ними существует явное или неявное отношение. В языке UML определены три уровня видимости:
· public (общий) – любой внешний класс, который «видит» данный, может пользоваться его общими свойствами. Обозначаются знаком «+» перед именем атрибута или операции;
· protected (защищенный) – только любой потомок данного класса может пользоваться его защищенными свойствами. Обозначаются знаком «#»;
· private (закрытый) – только данный класс может пользоваться этими свойствами. Обозначаются символом «–».
Область действия свойства указывает, будет ли оно проявлять себя по-разному в каждом экземпляре класса, или одно и то же значение свойства будет совместно использоваться всеми экземплярами:
· instance (экземпляр) – у каждого экземпляра класса есть собственное значение данного свойства;
· classifier (классификатор) – все экземпляры совместно используют общее значение данного свойства (выделяется на диаграммах подчеркиванием).
Возможное количество экземпляров класса называется его кратностью. В UML можно определять следующие разновидности классов:
· не содержащие ни одного экземпляра – тогда класс становится служебным (Abstract);
· содержащие ровно один экземпляр (Singleton);
· содержащие заданное число экземпляров;
· содержащие произвольное число экземпляров.
Нотация UML
Unified Modeling Language (UML) - Унифицированный язык моделирования, предназначен для моделирования различных классов систем и их программного обеспечения. Нотация использует объектно-ориентированные методы. Моделирование в данной нотации позволяет последовательно пройти концептуальный, логический и физический уровни моделирования систем.
Основные объекты нотации:
· Сущности
· Структурные сущности
· Поведенческие сущности
· Группирующие сущности
· Аннотационные сущности
Отношения
· Зависимость
· Ассоциация
· Обобщение
· Реализация
Типы диаграмм UML
· Диаграмма классов (Class diagram) Представляет логическую модель системы
· Диаграмма объектов (Object diagram) Показывает часть объектов системы и связи между ними
· Диаграмма прецедентов (Use case diagram) Описывает функциональное назначение системы, является её концептуальной моделью, отражает объекты и задачи, ими выполняемые
· Диаграмма последовательностей (Sequence diagram) Отражает последовательность передачи сообщений между объектами, акцентируя последовательности приема/передачи сообщений
· Диаграмма кооперации (Collaboration diagram) Позволяет отследить все взаимосвязи объектов
· Диаграмма состояний (Statechart diagram) Отображает состояния объектов системы
· Диаграмма деятельности (Activity diagram) Отражает бизнес-процессы объекта. Этот тип диаграмм позволяет показать не только последовательность процессов, но ветвление и их синхронизацию. Данные диаграммы позволяют проектировать алгоритмы поведения объектов любой сложности, в том числе может использоваться для составления блок-схем
· Диаграмма компонентов (Component diagram) Диаграммы этого вида используются редко
· Диаграмма развертывания (Deployment diagram) Показывает декомпозицию системы на физические устройства различных видов
Особенности изображения диаграмм языка UML. Диаграмма Вариантов использования (Use Case Diagram). Диаграмма Классов (Class Diagram). Диаграмма Состояний (Statechart diagram). Диаграмма Последовательности (sequence diagram).