XS
SM
MD
LG
Державний університет інформаційно-комунікаційних технологій

(Державний університет телекомунікацій)


Адреса:
03110, Україна
м. Київ, вул. Солом'янська, 7
Контактна інформація:
Державний університет інформаційно-комунікаційних технологій

(Державний університет телекомунікацій)

Застосування UML (частина 3). Діаграма класів - Class Diagram

14:24, 19-02-2020

Діаграма класів – це основа будь-якої документації програмного проекту. А також стартова точка у реалізації програмного додатку на мові Java.

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

Модель кожного класу є шаблоном майбутнього об’єкту, який створюється на основі цього класу. Кожна програма може містити чисельну кількість  різних об’єктів. Як відомо, об’єкти мають стан та поведінку, відповідно до концепції ООП. На рівні класу стан описується полями даних, а поведінка – методами. Візуально на діаграмі класів поля даних та методи представляються в типовому вигляді:

            На представленій діаграмі (дякуємо https://sparxsystems.com/resources/tutorials/uml/logical-model.html) представлено один клас, у вигляді прямокутника. Прямокутник поділено на 3 секції:

  • верхня секція містить назву класу;
  • середня секція описує стан, тому містить перелік полів класу, імена та типи даних, разом із указанням області видимості (“-“ – private, “+” – public, “#” – protected);
  • нижня секція описує поведінку, тому містить містить перелік методів – імена методів, їх тип (статичні чи нестатичні), тип повернення, перелік вхідних параметрів тощо; також в цій секції указують конструктори, які прописані в явному виді у коді програми.

Модель класів лежить в основі об’єктно - орієнтованого програмування. Вона описує загальний стан всієї програмної системи, так і її поведінку. Кожний клас з цієї моделі інкапсулює свій стан (це поля класу) та пропонує сервіси для керування цим станом (на основі методів). Якісне слідування принципу інкапсуляції передбачає обмеження прямого доступу до стану, тобто до полів класу. Це досягається шляхом створення методів отримання доступу та методів зміни полів (так звані getters and setters). Також правильна розробка класу передбачає можливість оновлення стану тільки в одному місці та у відповідності із певними правилами.

Ще приклади діаграми класів та коди відповідних програм на мові Java, які розроблені на практичних заняттях студентів 1-го курсу.

Як видно з наведеного прикладу, візуалізація коду класу Dog у вигляді діаграми класу, дозволяє набагато швидше отримати інформацію про структуру класу та стан майбутніх об’єктів, дізнатись про поведінку таких об’єктів. Звісно, з проектування саме діаграми класу краще всього розпочинати створення програми, бо на цьому етапі краще всього зробити декомпозицію предметної області, проаналізувати сутність для якої проектується клас (собаку), побачити, що треба враховувати а що ні.

                       

Використані матеріали сайтів:
https://sparxsystems.com
https://www.omg.org
https://wikipedia.org/wiki/UML

Бажаєте дізнаватись про особливості вступу у 2024 році?
Підписуйтесь на спільноти спеціальності "122 Комп’ютерні науки" кафедри Комп’ютерних наук та першим отримуйте новини, сповіщення про важливі події, підготовчі курси, дні відкритих дверей та багато цікавого.
Читайте також

Про кафедру

Кафедра Комп'ютерних наук

Отримати консультацію

Ваш запит на зворотній дзвінок отримає завідуючий кафедрою
Надіслати запит

Абітурієнту

Освітня програма: Комп’ютерні науки

За освітньою програмою Комп’ютерні науки, спеціальність 122 Комп’ютерні науки (англ. Computer Science, CS) готуються фахівці, що здатні виконувати функції розробника-програміста, спеціаліста по мережах, адміністратора баз даних, системного адміністратора, DevOps Engineer, спеціаліста по тестуванню програм, IT-архітектора. Вони володіють навичками алгоритмічного мислення, уявлення інформації, програмування і проектування комп’ютерних систем. Основні розділи: алгоритми і структури даних, мови програмування, архітектура комп'ютерів, операційні системи і комп'ютерні мережі, розробка програмного забезпечення, сервери і бази даних, штучний інтелект та робототехніка, комп'ютерна графіка, взаємодія людини і комп'ютера та ін.

Освітня програма: Комп’ютерні науки

За освітньою програмою Комп’ютерні науки, спеціальність 122 Комп’ютерні науки (англ. Computer Science, CS) готуються фахівці, що здатні виконувати функції розробника-програміста, спеціаліста по мережах, адміністратора баз даних, системного адміністратора, DevOps Engineer, спеціаліста по тестуванню програм, IT-архітектора. Вони володіють навичками алгоритмічного мислення, уявлення інформації, програмування і проектування комп’ютерних систем. Основні розділи: алгоритми і структури даних, мови програмування, архітектура комп'ютерів, операційні системи і комп'ютерні мережі, розробка програмного забезпечення, сервери і бази даних, штучний інтелект та робототехніка, комп'ютерна графіка, взаємодія людини і комп'ютера та ін.

Переглядів: 20 955