Підручник з діаграми класів UML: абстрактний клас із прикладами

Що таке клас на діаграмі UML?

A Клас в UML діаграма — це схема, яка використовується для створення об’єкта або набору об’єктів. Клас визначає, що може робити об'єкт. Це шаблон для створення різноманітних об’єктів та реалізації їх поведінки в системі. Клас в UML представлений прямокутником, який містить рядки з іменами класів, атрибутами та операціями.

Що таке діаграма класів?

A Діаграма класів in Engineering — це статична структура, яка дає огляд системи програмного забезпечення, відображаючи класи, атрибути, операції та їхні зв’язки між собою. Ця діаграма містить назву класу, атрибути та операції в окремих відсіках. Діаграма класів допомагає побудувати код для розробки програмного додатку.

Діаграма класів визначає типи об’єктів у системі та різні типи зв’язків, які існують між ними. Це дає високорівневий огляд програми. Цей метод моделювання може працювати майже з усіма об’єктно-орієнтованими методами. Клас може посилатися на інший клас. Клас може мати свої об’єкти або може успадкувати від інших класів.

Переваги діаграми класів

  • Діаграма класів Ілюструє моделі даних навіть для дуже складних інформаційних систем
  • Він надає огляд структури програми перед вивченням фактичного коду. Це може легко скоротити час обслуговування
  • Це допомагає краще зрозуміти загальну схему програми.
  • Дозволяє малювати детальні діаграми, які висвітлюють код, необхідний для програмування
  • Корисно для розробників та інших зацікавлених сторін.

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

Основними елементами діаграми класів UML є:

  1. Назва класу
  2. Attributes
  3. Operaвих

Назва класу

Назва класу в UML

Ім'я класу потрібне лише для графічного представлення класу. Він з’являється у самому верхньому відділенні. Клас — це проект об’єкта, який може мати однакові зв’язки, атрибути, операції та семантику. Клас відображається у вигляді прямокутника, включаючи його назву, атрибути та операції в окремих відсіках.

Представляючи клас, необхідно дотримуватися таких правил:

  1. Назва класу завжди повинна починатися з великої літери.
  2. Назва класу завжди має бути в центрі першого відсіку.
  3. Ім’я класу має бути записано завжди жирним шрифтом Формат.
  4. Назва абстрактного класу UML має бути написана курсивом.

Attributes

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

Атрибути в UML

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

Атрибути в UML

Характеристики атрибутів

  • Атрибути зазвичай записуються разом із фактором видимості.
  • Загальнодоступний, приватний, захищений і пакет — це чотири види видимості, які позначаються відповідно знаками +, -, # або ~.
  • Видимість описує доступність атрибута класу.
  • Атрибути повинні мати змістовну назву, яка описує їх використання в класі.

Відносини

В основному існує три види відносини в UML:

  1. Залежності
  2. Узагальнення
  3. Асоціації

Залежність

Залежність означає відношення між двома або більше класами, у якому зміна в одному може призвести до змін в іншому. Однак це завжди створюватиме слабші стосунки. Залежність вказує на те, що один клас залежить від іншого.

У наступних прикладах діаграми класів UML студент має залежність від коледжу

Відносини в UML

Узагальнення:

Відносини в UML

Узагальнення допомагає підключити підклас до його суперкласу. Підклас успадковується від свого суперкласу. Відношення узагальнення не можна використовувати для моделювання реалізації інтерфейсу. Діаграма класів дозволяє успадковувати від кількох суперкласів.

У цьому прикладі клас Student узагальнено з класу Person.

Асоціація:

Цей вид зв’язку представляє статичні зв’язки між класами A та B. Наприклад; працівник працює в організації.

Ось деякі правила асоціації:

  • Асоціація – це переважно дієслово, дієслівна фраза, іменник чи іменникова фраза.
  • Його слід назвати так, щоб вказати роль, яку відіграє клас, приєднаний у кінці шляху асоціації.
  • Обов'язковий для рефлексивних асоціацій

У цьому прикладі показано стосунки між студентом і коледжем, що є навчанням.

Відносини в UML

множинність

Відносини в UML

Множинність – це фактор, пов’язаний з атрибутом. Він визначає, скільки екземплярів атрибутів створюється під час ініціалізації класу. Якщо кратність не вказана, за замовчуванням один вважається кратністю за замовчуванням.

Припустимо, що в одному коледжі навчається 100 студентів. У коледжі може бути декілька студентів.

агрегування

Агрегація — це особливий тип асоціації, який моделює відношення ціле-частина між сукупністю та її частинами.

Відносини в UML

Наприклад, класна колегія складається з одного або кількох учнів. У агрегації містяться класи ніколи повністю не залежать від життєвого циклу контейнера. Тут клас коледжу залишиться, навіть якщо студента немає.

Склад:

Відносини в UML

Композиція — це особливий тип агрегації, який означає сильну власність між двома класами, коли один клас є частиною іншого класу.

Наприклад, якщо коледж складається з класів студентів. У коледжі може бути багато студентів, при цьому кожен студент належить лише до одного коледжу. Отже, якщо коледж не функціонує, усі студенти також вилучаються.

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

агрегування Склад:
Агрегація вказує на зв’язок, де дочірній клас може існувати окремо від свого батьківського класу. Приклад: автомобіль (батько) і автомобіль (дитина). Отже, якщо ви видалите Automobile, дочірній Car усе ще існує. Композиція відображає відносини, де дитина ніколи не буде існувати незалежно від батьків. Приклад: будинок (батько) і кімната (дитина). Кімнати ніколи не розділяться на будинок.

Анотація класів

Це клас із прототипом операції, але не реалізацією. Також можна мати абстрактний клас без оголошених операцій всередині нього. Анотація корисна для визначення функціональних можливостей у класах. Розглянемо приклад абстрактного класу. Припустімо, що у нас є абстрактний клас, який називається motion, усередині якого оголошено метод або операцію. Метод, оголошений всередині абстрактного класу, називається a рухатися ().

Цей метод абстрактного класу може бути використаний будь-яким об’єктом, таким як автомобіль, тварина, робот тощо для зміни поточного положення. Ефективно використовувати цей метод абстрактного класу з об’єктом, оскільки для даної функції не передбачено реалізації. Ми можемо використовувати його як завгодно для кількох об’єктів.

В UML абстрактний клас має таке ж позначення, як і клас. Єдина відмінність між класом і абстрактним класом полягає в тому, що назва класу написана строго курсивом.

Абстрактний клас не може бути ініціалізований або створений.

Абстрактна нотація класу
Абстрактна нотація класу

У вищесказаному нотація абстрактного класу, існує єдиний єдиний абстрактний метод, який може використовуватися кількома об’єктами класів.

Приклад діаграми класів UML

Створення діаграми класів є простим процесом. Це не передбачає багатьох технічних деталей. Ось приклад:

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

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

Приклад діаграми класів UML

Приклад діаграми класів UML

Також перевірте: - Діаграми UML: історія, типи, характеристики, версії, інструменти

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

Діаграми класів можна використовувати на різних етапах розробки програмного забезпечення. Це допомагає моделювати діаграми класів у трьох різних ракурсах.

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

2. Перспектива специфікації: Перспектива специфікації описує програмні абстракції або компоненти зі специфікаціями та інтерфейсами. Однак це не дає жодних зобов'язань щодо конкретного впровадження.

3. Перспектива впровадження: Цей тип діаграм класів використовується для реалізацій у певній мові чи програмі. Перспектива впровадження, використання для реалізації програмного забезпечення.

Кращі практики проектування діаграми класів

Діаграми класів є найважливішими діаграмами UML, які використовуються для розробки програмного забезпечення. Є багато властивостей, які слід враховувати під час малювання діаграми класів. Вони представляють різні аспекти програми.

Ось деякі моменти, які слід мати на увазі під час створення діаграми класів:

  • Назва діаграми класів має бути змістовною. Крім того, він повинен описувати реальний аспект системи.
  • Взаємозв'язок між кожним елементом необхідно визначити заздалегідь.
  • Необхідно визначити відповідальність для кожного класу.
  • Для кожного класу необхідно вказати мінімальну кількість властивостей. Тому небажані властивості можуть легко ускладнити діаграму.
  • Примітки користувача слід включати кожного разу, коли вам потрібно визначити якийсь аспект діаграми. Наприкінці креслення воно має бути зрозумілим для команди розробників програмного забезпечення.
  • Нарешті, перед створенням остаточного варіанту схему потрібно намалювати на звичайному папері. Крім того, його слід переробити, поки він не буде готовий для остаточного подання.

Висновок

  • UML є стандартною мовою для визначення, проектування та візуалізації артефактів програмних систем
  • Клас — це план об'єкта
  • Діаграма класів описує типи об’єктів у системі та різні види зв’язків, які існують між ними
  • Це дозволяє аналізувати та проектувати статичне подання програми
  • Діаграми класів є найважливішими діаграмами UML, які використовуються для розробки програмного забезпечення
  • Основними елементами діаграми класів UML є: 1) Клас 2) Атрибути 3) Відносини
  • Діаграма класів надає огляд структури програми перед вивченням фактичного коду. Це, звичайно, скорочує час обслуговування
  • Діаграма класів корисна для відображення об’єктно-орієнтованих мов програмування, таких як Java, C++, Рубі, Python, І т.д.

Також перевірте: - Навчальний посібник із діаграми UML для початківців: вивчайте UML онлайн БЕЗКОШТОВНО