- •Методичні вказівки
- •Частина 1
- •1 Лабораторна робота №1
- •2 Лабораторна робота № 2
- •2.1 Мета роботи....................................................................46
- •3 Лабораторна робота № 3
- •3.1 Мета роботи....................................................................66
- •1.2 Основні теоретичні відомості
- •1.2.1 Призначення діаграми класів
- •1.2.2 Концепція об’єкту та класу
- •1 Лабораторна робота № 1 Діаграми класів
- •1.1 Мета роботи
- •1.2.2.2 Класи
- •1.2.2.2.3 Атрибути класу
- •1.2.2.2.4 Операції класу
- •1.2.3 Концепція зв’язку та асоціації
- •1.2.3.1 Зв’язки та асоціації
- •1.2.3.2 Види асоціацій
- •1.2.3.3 Кратність
- •1.2.3.4 Ім’я полюсів асоціації
- •1.2.3.5 Упорядкування
- •1.2.3.6 Мультимножини та послідовності
- •1.2.3.7 Кваліфіковані асоціації
- •1.2.4 Створення діаграми класів
- •1.2.4.1 Строка інструментів
- •Interface (інтерфейс)
- •1.2.4.2 Контекстне меню класу
- •1.2.4.3 Специфікації класу
- •1.2.5 Приклад виконання
- •1.3 Завдання на лабораторну роботу
- •1.5 Приклади індивідуальних завдань
- •1.6 Контрольні запитання
- •Лабораторна робота № 2 Діаграми послідовностей
- •2.1 Мета роботи
- •2.2 Основні теоретичні відомості
- •2.2.1 Призначення діаграми послідовностей
- •2.2.2.1 Лінія життя об’єкта
- •2.2.2.2 Налаштування часу життя об’єкту
- •2.2.3 Фокус керування
- •2.2.4 Створення повідомлень
- •2.2.4.1 Властивості повідомлень
- •2.2.5 Створення діаграми послідовностей
- •2.2.5.1 Строка інструментів
- •2.2.6 Приклад виконання
- •2.3 Завдання на лабораторну роботу
- •2.5 Контрольні запитання
- •3 Лабораторна робота № 3 Діаграми кооперації
- •Мета роботи
- •Основні теоретичні відомості
- •3.2.1 Призначення діаграми кооперації
- •3.2.2.1 Мультиоб’єкт
- •3.2.2.2 Активні та пасивні об’єкти
- •3.2.2.3 Контекстне меню об’єкту
- •3.2.2.4 Налаштування області видимості об’єктів
- •3.2.3 Зв’язки
- •3.2.3.1 Стереотипи зв’язків
- •3.2.4 Повідомлення
- •3.2.5 Створення діаграми кооперації
- •3.2.5.1 Строка інструментів
- •3.2.6 Приклад виконання
- •3.3 Завдання на лабораторну роботу
- •3.5 Контрольні запитання
- •Рекомендована література
1 Лабораторна робота № 1 Діаграми класів
1.1 Мета роботи
Навчитися проектувати діаграми класів з використанням програмного середовища Rational Rose, зокрема, створювати класи, атрибути та операції класів, накладати зв’язки між класами, генерувати коди класів на мові програмування С++.
1.2 Основні теоретичні відомості
1.2.1 Призначення діаграми класів
Class diagram (діаграма класів) основна діаграма для створення коду програми. За допомогою діаграми класів створюється внутрішня структура системи, описується успадкування та взаємне положення класів один щодо іншого. Тут описується логічне представлення системи, так як класи - це лише заготовки, на основі яких потім буде визначено фізичні об'єкти. Таким чином, діаграма класів описує загальне уявлення системи.
Зазвичай діаграма класів створюється для всіх класів системи, на відміну від діаграми об'єктів, яку проектувальники створюють для окремих об'єктів зі складною поведінкою і взаємодією.
Діаграма класів містить значки, що представляють класи, інтерфейси і їх зв'язки. Класи можуть представляти будь-які C++ класи: прості, параметризовані або метакласи. Інтерфейси - це деякий набір дій або операцій, який обслуговує взаємодію реалізацій класів.
Можливе створення однієї або декількох діаграм класів, які описують класи верхнього рівня в поточній моделі. Також можливе створення однієї (або більше) діаграм класів, які описують класи, що містяться в пакетах. Так, діаграма класів сама по собі є пакетом для класів моделі, але можна виділити додаткові пакети для логічного угруповання класів.
За допомогою діаграми класів можлива зміна в будь-який момент властивостей будь-якого класу або його зв'язків, і при цьому діаграми або специфікації, пов'язані із зміненим класом, будуть автоматично оновлені. Діаграма класів може бути використана як при аналізі готової системи, так і при розробці нової.
1.2.2 Концепція об’єкту та класу
1.2.2.1 Об'єкти
Модель класів описує статичну структуру системи: об'єкти і відносини між ними, атрибути та операції для кожного класу об'єктів. Модель класів - найважливіша з трьох основних моделей (моделі класів, моделі станів, моделі взаємодій). В основі системи повинні бути об'єкти, а не необхідна функціональність, тому що об'єктно-орієнтована система краще відповідає реальному світу і виявляється більш життєздатною при можливих змінах. Моделі класів є інтуїтивним графічним представленням системи і тому особливо корисні для спілкування з замовниками.
Мета моделювання класів полягає в описі об'єктів. Об'єкт (object) - це концепція, абстракція чи сутність, що володіє індивідуальністю і має сенс в рамках програми. Об'єкти часто бувають іменами власними чи конкретними посиланнями, які використовуються в описі завдань або при спілкуванні з користувачами. Деякі об'єкти існують (або існували) в реальному світі (наприклад, Альберт Ейнштейн чи компанія General Electric), тоді як інші є суто концептуальними сутностями (наприклад, тестовий прогін № 1234 або формула коренів квадратного рівняння). Об'єкти третього типу додаються в модель в процесі реалізації і не мають ніякого відношення до фізичної реальності. Вибір об'єктів залежить від природи завдання і від уподобань розробника. Коректне рішення в даному випадку не є єдиним. Всі об'єкти мають індивідуальність і тому відрізняються один від одного. Індивідуальність означає, що об'єкти відрізняються один від одного внутрішньо, а не за зовнішніми властивостями. Два процесора Athlon II X2 240 2,8 GHz все одно є різними процесорами. Об'єкт є екземпляром класу.
