Учебник по диаграмме классов UML: определение, символы и отношения

Узнайте все о диаграммах классов UML, их определении, обозначениях, символах, отношениях, примерах и о том, как их создавать.

Поделиться в соцсетях:
banner-product
uml class diagram

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

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

В этой статье
  1. Что такое диаграмма классов UML
  2. Обозначения и символы диаграммы классов
  3. Отношения между классами
  4. Примеры диаграмм UML
  5. Как нарисовать диаграмму классов
  6. Заключение

Часть 1. Что такое диаграмма классов UML

Диаграмма классов - один из наиболее широко используемых типов диаграмм UML в программной инженерии. Диаграммы классов важны, так как они дают визуальное представление о том, как работает компьютерная программа, и детализируют компоненты компьютерной программы вместе с их свойствами и методами. Ниже приведены основные компоненты диаграммы классов UML:

Класс:

Представляет собой чертеж или шаблон для создания объектов.

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

Атрибуты:

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

Операции/Методы:

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

Отношения:

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

Часть 2. Обозначения и символы диаграммы классов

Диаграммы UML используют определенные формы для указания объектов. Ниже мы рассмотрим, как классы представлены с помощью класса Person и его связи с Address.

▪ Представление класса

Класс - это основной компонент диаграммы классов UML. Класс представлен прямоугольником. Название класса находится в верхней части прямоугольника с разделителем ниже. Ниже представлено изображение диаграммы класса Person

uml class diagram person notation

▪ Атрибуты класса

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

Атрибуты показаны во втором разделе под названием класса. Имена атрибутов показаны с типом атрибута после двоеточия. Эти атрибуты соответствуют переменным-членам (членам данных) в коде.

Таким образом, экземпляр Person может иметь такие атрибуты, как: Имя, Дата рождения, Пол, Адрес и так далее. Ниже показано, как экземпляр Person может быть представлен с использованием формы UML:

uml class diagram class attributes notation

▪ Методы

Каждый класс должен выполнять какую-то работу и выполнять определенную функциональность. Эти методы указаны в форме класса ниже раздела атрибутов. Так, предположим, что наш Person может выполнять ежедневную рутину, тогда метод performDailyRoutine можно добавить в форму класса следующим образом:

uml class diagram methods notation

Обратите внимание, что если метод возвращает какое-либо значение, то оно показано типом после двоеточия.

▪ Видимость

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

  • Публичный: Обозначается знаком (+)
  • Приватный: Обозначается знаком (-)
  • Защищенный: Обозначается знаком (#)

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

Часть 3. Отношения между классами

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

Наследование

Это, вероятно, наиболее используемое отношение в UML. Его можно определить как:

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

uml class diagram inheritance relationship notation

В контексте UML (Unified Modeling Language) наследование, часто называемое обобщением, описывает связь между суперклассом и его подклассом. Суперкласс также называется базовым классом, а подкласс называется производным классом. Подкласс способен включать дополнительную информацию наряду с унаследованными элементами от суперкласса.

Композиция

Композицию можно кратко объяснить как:

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

Ниже приведен пример того, как выглядит Композиция в диаграмме UML:

uml class diagram Composition relationship notation

Читается как: Класс компьютера состоит из устройств ввода и вывода.

Агрегация

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

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

uml class diagram aggregation relationship notation

Теперь Студент зависит от информации о Семестре и Адресе. Однако Студент все еще может существовать без этой информации. Любой экземпляр Студента может иметь Семестр или Адрес, или ни того, ни другого, и все равно существовать.

Ассоциация

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

В контексте UML свойство класса отвечает за поддержание ссылки на экземпляр или множество экземпляров другого класса.

uml class diagram a ssociation >relationship notation

Зависимости

  • Соединение зависимости обозначает отношение "использования", указывая, что изменения в одной сущности могут влиять на другие, зависящие от нее. Термин "зависимость" используется, когда необходимо обозначить, что одна сущность использует другую.
uml class diagram dependencies relationship notation

Интерфейс/Реализация

Интерфейс - это способ изменения или модификации поведения одного класса в другой. Здесь нам не нужно наследовать каждый атрибут от базового класса. Вместо этого мы реализуем интерфейс, который дает любому классу необходимую адаптацию.

Обозначает реализацию интерфейса или реализацию абстрактного класса другим классом.

uml class diagram implementationrelationship notation

Перспективы диаграмм классов

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

В целом существуют три способа создания диаграмм классов UML:

  1. Концептуальный: Это касается только основных аспектов бизнеса.
  2. Спецификация: Это более детально, чем концептуальная диаграмма классов UML, и здесь мы показываем детали класса в диаграмме.
  3. Реализация: Это более детальный способ создания диаграммы классов UML.

Обратите внимание, что класс Person зависит от другого класса, называемого Address. Здесь в диаграммах UML возникают отношения. Именно это мы рассмотрим далее.

Часть 4. Примеры диаграмм UML

Диаграмма классов системы заказов

1.Эта диаграмма классов выполняет цель размещения заказа в любом магазине и затем его оформления.

2.В основном здесь восемь типов классов:

① Клиент: Клиент состоит из имени и адреса. Клиент размещает заказ в системе и оформляет его. Клиент может разместить ноль, один или несколько заказов

② Заказ: Заказ определяет действие клиента в магазине. Заказ включает дату, статус заказа и может рассчитывать итоги и налог. Заказ должен содержать один или несколько деталей заказа.

③ Детали заказа: Каждый заказ состоит из нескольких строк, называемых Деталями заказа. Здесь мы определяем количество и налоговый статус этой строки. Один экземпляр детали заказа может иметь только один товар.

④ Товар: Для каждой строки заказа есть товар. Товар может иметь вес для доставки и описание.

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

UML-диаграмма супермаркета:

1. Её можно использовать для отображения процесса любого розничного бизнеса, включая супермаркеты или интернет-магазины.

2. Вариант использования, который она решает для любого розничного бизнеса — это способ оформления счетов.

3. По сути, существует пять классов:

① Биллинг супермаркета: Это сердце UML-диаграммы, где фактически происходит функциональность.

② Клиенты: Клиенту выставляется счет за покупку.

③ Покупка: Покупка — это то, что клиент делает в супермаркете. Покупка зависит от другого объекта, называемого Тарифы.

④ Тарифы: Здесь мы определяем цены на различные товары в нашем рыночном пространстве

⑤ Инвентарь: Инвентарь обновляется каждый раз, когда в нашем магазине происходит выставление счета.

Часть 5. Как нарисовать диаграмму классов

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

Независимо от того, какое программное обеспечение вы используете или рисуете ли вы вручную, шаги и концепции в целом останутся неизменными.

Вот пошаговое руководство:

  1. Определите классы:
  • Определите основные классы в вашей системе. Обычно это существительные в вашей предметной области.
  • Рассмотрите, какие атрибуты (данные) и методы (функции) может иметь каждый класс.
  1. Создайте боксы классов:
  • Нарисуйте бокс для каждого класса. Поместите название класса в верхней части бокса.
  1. Добавьте атрибуты и методы:
    • Внутри каждого бокса класса перечислите атрибуты и методы.
    • Атрибуты обычно показываются с их типами данных.
    • Методы перечисляются с их параметрами и типами возврата.
  2. Нарисуйте отношения:
  • Определите отношения между классами. Общие отношения включают ассоциацию, агрегацию и композицию.
  • Используйте линии со стрелками для представления этих отношений.
  • Отметьте линии мультипликатором (например, 1, *, 0..1), чтобы указать, сколько объектов задействовано.
  1. Учитывайте мультипликативность:
  • Определите, сколько экземпляров одного класса связано с экземпляром другого класса. Мультипликативность часто представляется рядом с концами линий ассоциации.
  1. Включите наследование:
  • Если ваша система включает наследование (т.е. класс наследует от другого), представьте это с помощью стрелки с полым треугольником, указывающим на суперкласс.
  1. Учитывайте видимость:
  • По желанию вы можете использовать символы, такие как '+' (публичный), '-' (приватный) и '#' (защищенный), чтобы обозначить видимость атрибутов и методов.
  1. Проверьте и уточните:
  • Убедитесь, что ваша диаграмма классов точно отражает отношения и структуру вашей системы.
  • Уточните по мере необходимости на основе обратной связи или изменений в требованиях.

Часть 6. Заключение

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

edrawmax v15 онлайн