Uml — это язык специфицирования

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

Строительные блоки UML

Словарь языка UML включает три вида строительных блоков:

  • сущности;
  • отношения;
  • диаграммы.

Сущности

Сущности — это абстракции, являющиеся основными элементами модели. Отношения связывают различные сущности; диаграммы группируют представляющие интерес совокупности сущностей.

В UML имеется четыре типа сущностей:

  • структурные;
  • поведенческие;
  • группирующие;
  • аннотационные.

Сущности являются основными объектно-ориентированными блоками языка. С их помощью можно создавать корректные модели.

Структурные сущности — это имена существительные в моделях на языке UML Как правило, они представляют собой статические части модели, соответствующие концептуальным или физическим элементам системы. Существует семь разновидностей структурных сущностей:

1. Класс (Class) — это описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой

2. Интерфейс (Interface) — это совокупность операций, которые определяют сервис (набор услуг), предоставляемый классом или компонентом

3. Кооперация (Collaboration) определяет взаимодействие; она представляет собой совокупность ролей и других элементов, которые, работая совместно, производят некоторый кооперативный эффект

4. Прецедент (Use case) — это описание последовательности выполняемых системой действий, которая производит наблюдаемый результат, значимый для какого-то определенного актера (Actor). Прецедент применяется для структурирования поведенческих сущностей модели (см. главу 16). Прецеденты реализуются посредством кооперации.

5. Активный класс во всем подобен обычному классу, за исключением того, что его объекты представляют собой элементы, деятельность которых осуществляется одновременно с деятельностью других элементов.

6. Компонент (Component) — это физическая заменяемая часть системы, которая соответствует некоторому набору интерфейсов и обеспечивает его реализацию

7. Узел (Node) — это элемент реальной (физической) системы, который существует во время функционирования программного комплекса и представляет собой вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а часто еще и способностью обработки

Поведенческие сущности (Behavioral things) являются динамическими составляющими модели UML. Это глаголы языка: они описывают поведение модели во времени и пространстве:

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

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

Группирующие сущности являются организующими частями модели UML. Это блоки, на которые можно разложить модель:

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

Аннотационные сущности — пояснительные части модели UML. Это комментарии для дополнительного описания, разъяснения или замечания к любому элементу модели:

1. Примечание (Note) — это просто символ для изображения комментариев или ограничений, присоединенных к элементу или группе элементов

Отношения

В языке UML определены четыре типа отношений:

  1. Зависимость (Dependency) — это семантическое отношение между двумя сущностями, при котором изменение одной из них, независимой, может повлиять на семантику другой, зависимой
  2. Ассоциация (Association) — структурное отношение, описывающее совокупность связей. Разновидностью ассоциации является агрегирование (Aggregation) — так называют структурное отношение между целым и его частями.
  3. Обобщение (Generalization) — это отношение специализация/обобщение, при котором объект специализированного элемента (потомок) может быть подставлен вместо объекта обобщенного элемента (родителя или предка). Таким образом, потомок (Child) наследует структуру и поведение своего родителя (Parent).
  4. Реализация (Realization) — это семантическое отношение между классификаторами, при котором один классификатор определяет контракт, а другой гарантирует его выполнение

Диаграммы

Диаграмма в UML — это графическое представление набора элементов, изображаемое чаще всего в виде связанного графа с вершинами (сущностями) и ребрами (отношениями).

Типы диаграмм:

  1. На диаграмме классов показывают классы, интерфейсы, объекты и кооперации, а также их отношения. Диаграммы классов соответствуют статическому виду системы с точки зрения проектирования.
  2. На диаграмме объектов представлены объекты и отношения между ними. Они являются статическими фотографиями экземпляров сущностей, показанных на диаграммах классов. Диаграммы объектов, как и диаграммы классов, относятся к статическому виду системы с точки зрения проектирования.
  3. На диаграмме прецедентов представлены прецеденты и актеры (частный случай классов), а также отношения между ними. Диаграммы прецедентов относятся к статическому виду системы с точки зрения прецедентов использования. Они особенно важны при организации и моделировании поведения системы.
  4. На диаграммах взаимодействия представлены связи между объектами; показаны, в частности, сообщения, которыми объекты могут обмениваться. Диаграммы взаимодействия относятся к динамическому виду системы.
  5. На диаграммах состояний представлен автомат, включающий в себя состояния, переходы, события и виды действий. Диаграммы состояний относятся к динамическому виду системы; на ней представлены переходы потока управления от одной деятельности к другой внутри системы
  6. На диаграмме компонентов представлена организация совокупности компонентов и существующие между ними зависимости.
  7. На диаграмме развертывания представлена конфигурация обрабатывающих узлов системы и размещенных в них компонентов. Они связаны с диаграммами компонентов, поскольку в узле обычно размещаются один или несколько компонентов.

[ООП курс] UML


Похожие статьи.

Понравилась статья? Поделиться с друзьями: