Що таке клас?
Клас - це проект, який використовується для створення об'єкта. Клас визначає, що може зробити об’єкт.
Що таке діаграма класів?
СХЕМА КЛАСУ UML дає огляд програмної системи, відображаючи класи, атрибути, операції та їх взаємозв'язки. Ця схема включає назву класу, атрибути та роботу в окремих відведених відділеннях.
Діаграма класів визначає типи об'єктів у системі та різні типи відносин, що існують серед них. Це дає перегляд програми на високому рівні. Цей метод моделювання може працювати майже з усіма об’єктно-орієнтованими методами. Клас може посилатися на інший клас. Клас може мати свої об'єкти або успадковувати від інших класів.
Діаграма класів допомагає побудувати код для розробки програмних додатків.
У цьому підручнику ви дізнаєтесь:
- Що таке клас?
- Що таке діаграма класів?
- Переваги діаграми класів
- Основні елементи діаграми класів UML
- Назва класу
- Атрибути:
- Відносини
- Агрегація проти складу
- Анотація класів
- Приклад діаграми класів UML:
- Діаграма класів у життєвому циклі розробки програмного забезпечення:
- Кращі практики проектування схеми класів
Переваги діаграми класів
- Діаграма класу ілюструє моделі даних навіть для дуже складних інформаційних систем
- Він надає огляд структури структури програми перед вивченням фактичного коду. Це може легко зменшити час обслуговування
- Це допомагає краще зрозуміти загальні схеми програми.
- Дозволяє складати докладні діаграми, що виділяють код, який потрібно запрограмувати
- Корисно для розробників та інших зацікавлених сторін.
Основні елементи діаграми класів UML
Основними елементами діаграми класів UML є:
- Назва класу
- Атрибути
- Операції
Назва класу
Назва класу потрібна лише для графічного представлення класу. Він з’являється в самому верхньому відсіку. Клас - це проект об'єкта, який може використовувати однакові відносини, атрибути, операції та семантику. Клас відображається у вигляді прямокутника, включаючи його ім'я, атрибути та операції в окремих відділеннях.
Під час представлення класу необхідно дотримуватися наступних правил:
- Назва класу завжди повинна починатися з великої літери.
- Ім'я класу завжди повинно бути в центрі першого відділення.
- Ім'я класу завжди слід писати жирним шрифтом .
- Абстрактну назву класу слід писати курсивом.
Атрибути:
Атрибут називається властивістю класу, який описує об'єкт, що моделюється. На діаграмі класів цей компонент розміщений трохи нижче іменного відділення.
Похідний атрибут обчислюється з інших атрибутів. Наприклад, вік студента можна легко визначити з дати його народження.
Характеристики атрибутів
- Атрибути зазвичай пишуться разом із коефіцієнтом видимості.
- Публічний, приватний, захищений та пакет - це чотири видимості, які позначаються знаками +, -, # або ~ відповідно.
- Видимість описує доступність атрибута класу.
- Атрибути повинні мати значущу назву, яка описує використання його в класі.
Відносини
В UML існує в основному три типи взаємозв’язків:
- Залежності
- Узагальнення
- Асоціації
Залежність
Залежність означає відношення між двома або більше класами, в яких зміна одного може спричинити зміни в іншому. Однак це завжди створить слабші стосунки. Залежність вказує на те, що один клас залежить від іншого.
У наступному прикладі Student має залежність від коледжу
Узагальнення:
Узагальнення допомагає зв’язати підклас із його суперкласом. Підклас успадковується від його суперкласу. Відносини узагальнення не можуть бути використані для моделювання реалізації інтерфейсу. Діаграма класів дозволяє успадковувати від декількох суперкласів.
У цьому прикладі клас Student узагальнено від класу Person.
Асоціація:
Цей тип відносин представляє статичні відносини між класами A і B. Наприклад; працівник працює в організації.
Ось деякі правила асоціації:
- Асоціація - це здебільшого дієслово або дієслівна фраза або іменник або іменна фраза.
- Його слід назвати, щоб вказати роль класу, прикріпленого в кінці шляху асоціації.
- Обов’язково для рефлексивних асоціацій
У цьому прикладі показано взаємозв'язок між студентом та коледжем, тобто навчанням.
Кратність
Кратність - це фактор, пов’язаний з атрибутом. Він визначає, скільки екземплярів атрибутів створюється при ініціалізації класу. Якщо кратність не вказана, за замовчуванням кратність вважається множиною за замовчуванням.
Скажімо, що в одному коледжі навчається 100 студентів. У коледжі може навчатися декілька студентів.
Агрегація
Агрегація - це особливий тип асоціацій, який моделює цілісні взаємозв'язки між сукупністю та його частинами.
Наприклад, класний коледж складається з одного або кількох студентів. У сукупності вміщені класи ніколи не залежать повністю від життєвого циклу контейнера. Тут клас коледжу залишиться, навіть якщо студент недоступний.
Склад:
Композиція - це особливий тип агрегування, який позначає сильну власність між двома класами, коли один клас є частиною іншого класу.
Наприклад, якщо коледж складається з класів студента. Коледж міг містити багато студентів, тоді як кожен студент належить лише одному коледжу. Отже, якщо коледж не функціонує, всіх студентів також вилучають.
Агрегація проти складу
Агрегація |
Склад |
Агрегація вказує на відносини, коли дитина може існувати окремо від батьківського класу. Приклад: Автомобіль (для батьків) та автомобіль (для дітей). Отже, якщо ви видалите Автомобіль, дочірній Автомобіль все ще існує. |
Співвідношення відображення композиції, коли дитина ніколи не буде існувати незалежно від батьків. Приклад: Будинок (батько) та Кімната (дитина). Кімнати ніколи не відокремляться в будинок. |
Анотація класів
Це клас з прототипом операції, але не реалізацією. Також можна мати абстрактний клас, в якому в ньому не оголошені жодні операції. Реферат корисний для виявлення функціональних можливостей різних класів. Давайте розглянемо приклад абстрактного класу. Припустимо, у нас є абстрактний клас, який називається рухом із методом або операцією, оголошеною всередині нього. Метод, оголошений всередині абстрактного класу, називається move () .
Цей метод абстрактного класу може використовувати будь-який об'єкт, такий як автомобіль, тварина, робот тощо для зміни поточного положення. Ефективно використовувати цей абстрактний метод класу з об’єктом, оскільки для даної функції не передбачена реалізація. Ми можемо використовувати його будь-яким способом для кількох об’єктів.
В UML абстрактний клас має ті самі позначення, що і клас. Єдина різниця між класом та абстрактним класом полягає в тому, що назва класу строго написана курсивом.
Абстрактний клас не можна ініціалізувати чи створити інстанцію.
У наведеному вище позначенні абстрактних класів існує єдиний абстрактний метод, який може використовуватися кількома об’єктами класів.
Приклад діаграми класів UML
Створення діаграми класів є простим процесом. Він не передбачає багатьох технічних питань. Ось приклад:
Система банкоматів дуже проста, оскільки клієнти повинні натиснути деякі кнопки, щоб отримати готівку. Однак існує безліч рівнів безпеки, які повинна пройти будь-яка система банкомату. Це допомагає запобігти шахрайству та надати готівку або необхідні дані для банківських клієнтів.
Нижче наведено приклад діаграми класу UML:
Діаграма класу в життєвому циклі розробки програмного забезпечення
Діаграми класів можна використовувати на різних етапах розробки програмного забезпечення. Це допомагає у моделюванні діаграм класів у трьох різних перспективах.
1. Концептуальна перспектива: Концептуальні схеми описують речі в реальному світі. Вам слід намалювати схему, яка представляє поняття в досліджуваному домені. Ці поняття пов'язані з класом, і він завжди не залежить від мови.
2. Перспектива специфікації: Перспектива специфікації описує програмні абстракції або компоненти із специфікаціями та інтерфейсами. Однак це не передбачає жодного зобов'язання щодо конкретного впровадження.
3. Перспектива реалізації: Цей тип діаграм класів використовується для реалізацій на певній мові чи застосунку. Перспектива впровадження, використання для реалізації програмного забезпечення.
Кращі практики проектування схеми класів
Діаграми класів - найважливіші діаграми UML, що використовуються для розробки програмних додатків. Є багато властивостей, які слід враховувати під час складання діаграми класів. Вони представляють різні аспекти програмного забезпечення.
Ось кілька моментів, про які слід пам’ятати, складаючи схему класів:
- Назва діаграми класів має бути значущою. Більше того, він повинен описувати реальний аспект системи.
- Співвідношення між кожним елементом потрібно визначити заздалегідь.
- Потрібно визначити відповідальність за кожен клас.
- Для кожного класу повинна бути вказана мінімальна кількість властивостей. Тому небажані властивості можуть легко ускладнити діаграму.
- Користувальницькі примітки слід включати, коли вам потрібно визначити якийсь аспект діаграми. В кінці креслення це повинно бути зрозумілим для команди розробників програмного забезпечення.
- Нарешті, перед створенням остаточної версії схему потрібно намалювати на звичайному папері. Більше того, його слід переробити, поки він не буде готовий до остаточного подання.
Висновок
- UML - це стандартна мова для вказівки, проектування та візуалізації артефактів програмних систем
- Клас - це проект об'єкта
- Діаграма класів описує типи об’єктів у системі та різні типи взаємозв’язків, що існують серед них
- Це дозволяє аналізувати та проектувати статичний вигляд програмного додатку
- Діаграми класів - найважливіші діаграми UML, що використовуються для розробки програмних додатків
- Основними елементами діаграми класів UML є 1) Клас 2) Атрибути 3) Зв'язки
- Діаграма класів дає огляд структури структури програми перед вивченням фактичного коду. Це, безумовно, скорочує час обслуговування
- Діаграма класів корисна для відображення об'єктно-орієнтованих мов програмування, таких як Java, C ++, Ruby, Python тощо.