logo
Проектування інформаційної системи автоматизації автомобільного магазину

8. Діаграма класів

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

Діаграма класів є граф, вершинами якого є елементи типу «класифікатор», повязані різними типами структурних відносин.

Є два основних види статичних звязків:

* асоціації;

* підтипи.

Діаграма класів може також містити інтерфейси, пакети, відносини і навіть окремі екземпляри, такі як обєкти та звязку.

На даній діаграмі не вказується інформація про тимчасові аспекти функціонування системи. З цієї точки зору діаграма класів є подальшим розвитком концептуальної моделі проектованої системи.

Клас (class) в мові UML служить для позначення безлічі обєктів, які мають однаковою структурою, поведінкою і відносинами з обєктами з інших класів. Графічно клас зображується у вигляді прямокутника, який додатково може бути розділений горизонтальними лініями на розділи або секції. У цих розділах можуть зазначатися імя класу, атрибути (змінні) і операції (методи).

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

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

Операції класу або методи записуються в третій зверху секції прямокутника. Операція (operation) являє собою деякий сервіс, що надається кожним екземпляром класу за певних вимог. Сукупність операцій характеризує функціональний аспект поведінки класу. Запис операцій класу в мові UML також стандартизований і підпорядковується певним синтаксичним правилам. При цьому кожній операції класу відповідає окремий рядок, яка складається з квантора видимості операції, імені операції, виразу типу повертаємого операцією значення.

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

Інформація з діаграми класів безпосередньо відображається у вихідний код програми - у більшості існуючих інструментів UML-моделювання можлива кодогенераціі для певної мови програмування (зазвичай Java або C++). Таким чином, діаграма класів - кінцевий результат проектування і відправна точка процесу розробки.

Для прикладу генерації коду я обрала мову програмування Java та згенерувала усі класи, описані в системі. Результат генерації наведений в Додатках.

Рис. 8.1. Діаграма класів