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

Содержание:

Anonim

Что такое класс?

Класс - это план, который используется для создания объекта. Класс определяет, что может делать объект.

Что такое диаграмма классов?

ДИАГРАММА КЛАССОВ UML дает обзор программной системы, отображая классы, атрибуты, операции и их отношения. Эта диаграмма включает имя класса, атрибуты и операцию в отдельных обозначенных отсеках.

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

Диаграмма классов помогает построить код для разработки программного обеспечения.

В этом руководстве вы узнаете:

  • Что такое класс?
  • Что такое диаграмма классов?
  • Преимущества диаграммы классов
  • Основные элементы диаграммы классов UML
    • Имя класса
    • Атрибуты:
    • Отношения
  • Агрегация против композиции
  • Абстрактные классы
  • Пример диаграммы классов UML:
  • Диаграмма классов в жизненном цикле разработки программного обеспечения:
  • Лучшие практики проектирования диаграммы классов

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

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

Основные элементы диаграммы классов UML

Существенными элементами диаграммы классов UML являются:

  1. Имя класса
  2. Атрибуты
  3. Операции

Имя класса

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

При представлении класса необходимо соблюдать следующие правила:

  1. Название класса всегда должно начинаться с заглавной буквы.
  2. Имя класса всегда должно быть в центре первого отсека.
  3. Имя класса всегда следует писать жирным шрифтом .
  4. Название абстрактного класса должно быть написано курсивом.

Атрибуты:

Атрибут - это именованное свойство класса, которое описывает моделируемый объект. На диаграмме классов этот компонент помещен чуть ниже отсека имени.

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

Атрибуты характеристики

  • Атрибуты обычно записываются вместе с коэффициентом видимости.
  • Общедоступный, частный, защищенный и пакетный - это четыре видимости, которые обозначаются знаками +, -, # или ~ соответственно.
  • Видимость описывает доступность атрибута класса.
  • Атрибуты должны иметь значимое имя, описывающее его использование в классе.

Отношения

В UML существует три основных типа отношений:

  1. Зависимости
  2. Обобщения
  3. Ассоциации

Зависимость

Зависимость означает отношение между двумя или более классами, в котором изменение одного может вызвать изменения в другом. Однако это всегда будет создавать более слабые отношения. Зависимость указывает на то, что один класс зависит от другого.

В следующем примере студент зависит от колледжа.

Обобщение:

Обобщение помогает связать подкласс с его суперклассом. Подкласс наследуется от своего суперкласса. Отношение обобщения нельзя использовать для моделирования реализации интерфейса. Диаграмма классов позволяет наследовать от нескольких суперклассов.

В этом примере класс Student является обобщением класса Person.

Ассоциация:

Этот вид отношений представляет собой статические отношения между классами A и B. Например; сотрудник работает в организации.

Вот несколько правил ассоциации:

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

В этом примере показана связь между студентом и колледжем, т.е. учеба.

Множественность

Кратность - это фактор, связанный с атрибутом. Он указывает, сколько экземпляров атрибутов создается при инициализации класса. Если кратность не указана, по умолчанию она рассматривается как кратность по умолчанию.

Допустим, в одном колледже 100 студентов. В колледже может быть несколько студентов.

Агрегирование

Агрегация - это особый тип ассоциации, который моделирует отношения между агрегатом и его частями.

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

Сочинение:

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

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

Агрегация против композиции

Агрегирование

Сочинение

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

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

Абстрактные классы

Это класс с прототипом операции, но не с реализацией. Также возможно иметь абстрактный класс без объявленных внутри него операций. Аннотация полезна для определения функциональных возможностей классов. Рассмотрим пример абстрактного класса. Предположим, у нас есть абстрактный класс, называемый движением, внутри которого объявлен метод или операция. Метод, объявленный внутри абстрактного класса, называется move () .

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

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

Абстрактный класс не может быть инициализирован или создан.

Обозначение абстрактного класса

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

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

Создание диаграммы классов - простой процесс. Это не связано с множеством технических подробностей. Вот пример:

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

Ниже приведен пример диаграммы классов UML:

Диаграмма классов в жизненном цикле разработки программного обеспечения

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

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

2. Перспектива спецификации: перспектива спецификации описывает программные абстракции или компоненты со спецификациями и интерфейсами. Однако это не дает никаких обязательств по конкретной реализации.

3. Перспектива реализации: этот тип диаграмм классов используется для реализации на определенном языке или приложении. Перспектива реализации, использование для программной реализации.

Лучшие практики проектирования диаграммы классов

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

Вот некоторые моменты, которые следует учитывать при рисовании диаграммы классов:

  • Имя, данное диаграмме классов, должно быть значимым. Более того, он должен описывать реальный аспект системы.
  • Взаимосвязь между каждым элементом необходимо определить заранее.
  • Необходимо определить ответственность за каждый класс.
  • Для каждого класса должно быть указано минимальное количество свойств. Следовательно, нежелательные свойства могут легко усложнить диаграмму.
  • Примечания пользователя должны быть включены всякий раз, когда вам нужно определить какой-либо аспект диаграммы. В конце рисунок должен быть понятен команде разработчиков программного обеспечения.
  • Наконец, перед созданием окончательной версии схему необходимо нарисовать на простой бумаге. Более того, его следует доработать, пока он не будет готов для окончательной подачи.

Вывод

  • UML - это стандартный язык для определения, проектирования и визуализации артефактов программных систем.
  • Класс - это план объекта
  • Диаграмма классов описывает типы объектов в системе и различные виды отношений, которые существуют между ними.
  • Это позволяет анализировать и проектировать статическое представление программного приложения.
  • Диаграммы классов являются наиболее важными UML-диаграммами, используемыми для разработки программных приложений.
  • Существенными элементами диаграммы классов UML являются: 1) класс 2) атрибуты 3) отношения.
  • Диаграмма классов предоставляет обзор структуры приложения перед изучением фактического кода. Это, безусловно, сокращает время обслуживания
  • Диаграмма классов полезна для сопоставления объектно-ориентированных языков программирования, таких как Java, C ++, Ruby, Python и т. Д.