К основному контенту

Учебное пособие по диаграмме классов UML (UML Class Diagram)

 

Диаграмма классов-это статическая диаграмма, которая описывает структуру системы, показывая ее классы с их атрибутами и операциями, а также отношения между объектами. Этот учебник объясняет, как вы можете рисовать диаграммы классов UML и как их использовать.

Диаграмма классов в UML

Диаграмма классов - это одна из 7 структурных диаграмм в нотации UML. Он изображает статическую структуру моделируемой системы, модуля или его части. Базовым строительным блоком диаграммы классов является класс - единица, представляющая набор объектов с одинаковыми атрибутами и логикой. Диаграмма также может представлять модель данных определенного домена.


Class Diagram in UML

Назначение диаграммы классов

Диаграммы классов могут использоваться в различных сценариях, прежде всего в разработке программного обеспечения, но также и в других областях.:

  • Проектирование и анализ статической структуры
  • Моделирование системных взаимодействий
  • Обратный инжиниринг программного обеспечения
  • Генерация исходного кода

Символы и обозначения в диаграммах классов UML

Software Ideas Modeler предлагает инструменты для следующих элементов диаграммы классов:


Шпаргалка по диаграмме классов UML (Обзор элементов диаграммы классов)

Class

class is an extensible template for creating objects, it is a common form for all instances of the same type (e.g. concept, thing, person). A class that cannot have any instances is called an abstract class.

Класс-это расширяемый шаблон для создания объектов, это общая форма для всех экземпляров одного и того же типа (например, понятие, вещь, человек). Класс, который не может иметь никаких экземпляров, называется абстрактным классом.

Каждый класс может содержать:

  • Attributes (Атрибуты)
  • Operations (Операции)
  • Template parameters (Параметры шаблона)
  • Stereotypes
  • Tagged values
  • Documentation

Visibility

Видимость определяет область, в которой могут быть атрибуты и операции, видимые и управляемые другими объектами. UML определяет эти символы для видимости элементов (атрибутов или операций)

СимволВидимостьЗначение
+Public(общедоступный)Определяет элемент, доступный из всего проекта.
~Package(пакетный)Определяет элемент, доступный из всего пакета.
#Protected(защищенный)Определяет элемент, доступный из класса и его подклассов.
-Private(частный)Определяет элемент, доступный только из класса, в котором он указан.

Attribute


Атрибут-это именованное поле данных в классификаторе, которое определяет допустимые данные, используя их тип, кратность и ограничения. Каждый класс может иметь ноль или более атрибутов. Атрибуты определяются внутри атрибутивного отсека (помещенного после именного отсека) классификатора.

Attribute format: <<stereotypes>> visibility_symbol name : type [multiplicity ordering] = default_value {constraint}

Абстрактные атрибуты выделены курсивом.

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

Software Ideas Modeler предлагает несколько способов добавления, редактирования и удаления атрибутов класса:

  • использование меню Element / Add / Attribute
  • использование кнопки контекстной панели Add Attribute
  • с помощью диалогового окна "Свойства"
  • с помощью Fast editor

Каждый атрибут определяется:

  • Name
  • ID
  • Type
  • Visibility
  • Default Value
  • Multiplicity
  • Ordering
  • Constraint
  • Modifiers
  • Stereotypes
  • Documentation
  • Tagged Values

Operation

Операция-это метод, функция или запрос, которые могут быть вызваны другими объектами. Каждая операция имеет свое имя и может иметь любое количество параметров (ноль или больше). Каждая операция должна выполнять только одну вещь. Операции определяются внутри операционного отсека (помещенного после атрибутивного отсека) классификатора.

Operation format: <<stereotypes>> visibility_symbol name (parameter1 ... parameterN) : return_type

Абстрактные операции выделены курсивом.

Статические операции обозначаются подчеркиванием.

Software Ideas Modeler предлагает несколько способов добавления, редактирования и удаления операций класса:

  • использование меню Element / Add / Operation
  • использование кнопки контекстной панели Add Operation
  • с помощью диалогового окна "Свойства"

Каждая операция определяется:

  • Name
  • ID
  • Return type
  • Visibility
  • Modifiers
  • Stereotypes
  • Parameters
  • Body
  • Documentation
  • Tagged Values

Operation Parameter

Параметр операции обычно является входным аргументом, хотя он также может быть аргументом вывода или ввода-вывода.

Operation format: direction name : type [multiplicity]

Каждый параметр операции может быть определен с помощью:

  • Name
  • Type
  • Direction - это может быть input (in), output (out), input-output (inout) или return
  • Default value
  • Multiplicity
  • Documentation
  • Tagged values

Association

Что такое Aggregation?

Агрегация - это своего рода ассоциативное отношение «имеет». Это ассоциация, которая представляет собой часть-целое или часть-"относится к...". Ромбическая стрелка указывает от части к целому.






Что такое Composition?

Композиция-это более строгий вид ассоциативного отношения "относится к..". Он похож на агрегацию, но более специфичен. Существование части (связанной с композицией) зависит от целого.





Generalization (concrete)

Обобщение определяет отношение между суперклассом и его подклассом. Стрелка указывает от подкласса к суперклассу. Суперкласс является базовым для подклассов.









Realization (implementation)

Реализация определяет отношение между интерфейсом и классом, который реализует этот интерфейс. Стрелка указывает от класса к интерфейсу.










Dependency

Зависимость определяет отношение между двумя зависимыми классами. Стрелка указывает на класс, который используется вторым классом.






Containment

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









Package

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

Interface

Интерфейс-это абстрактный элемент, определяющий операции, которые должны быть реализованы в классификаторе. Классификатор связан с реализованными интерфейсами с помощью отношений реализации.

Enumeration

Перечисление-это определяемый пользователем тип, который состоит из перечисляемых литералов/именованных значений. Элемент перечисления представляет собой тип с перечисляемыми литеральными значениями, которые могут использоваться для атрибутов, операций и параметров операций.

N-ary Association

N-арная ассоциация изображена ромбом на диаграмме классов. Он связывает более двух классов в одну ассоциацию.


Комментарии

Популярные сообщения из этого блога

Layer Diagram

Life Insurance System (UML Diagrams)