- •1.1. Методологія процедурно‑ орієнтованого програмування
- •1.2. Методологія об'єктно-орієнтованого програмування
- •1.3. Методологія об'єктно-орієнтованого аналізу і проектування
- •1.4. Методологія системного аналізу і системного моделювання
- •Розділ 2
- •2.1. Передісторія. Математичні основи
- •Мал. 2.4. Приклади неорієнтованого (а) і орієнтованого (б) графів
- •Мал. 2.5. Приклади неорієнтованого (а) і орієнтованого (б) дерев
- •Мал. 2.6. Ієрархічні схеми неорієнтованого дерева (а) і орієнтованого дерева (б)
- •2.2. Діаграми структурного системного аналізу
- •I (Input) – вхід, т. Е. Все, що поступає в процес або споживається процесом.
- •2.3. Основні етапи розвитку uml
- •2. Забезпечити початкові поняття язика uml можливістю розширення і спеціалізації для більш точного представлення моделей систем в конкретній наочній області.
- •3. Опис язика uml повинен підтримувати таку специфікацію моделей, яка не залежить від конкретних язиків програмування і інструментальних засобів проектування програмних систем.
- •4. Опис язика uml повинен включати семантичний базис для розуміння загальних особливостей ооап.
- •7. Інтегрувати в себе новітні і якнайкращі досягнення практики ооап.
- •3.2. Загальна структура язика uml
- •3.3. Пакети в язиці uml
- •3.4. Основні пакети метамоделі язика uml
- •3.5. Специфіка опису метамоделі язика uml
- •3.6. Особливості зображення діаграм язика uml
- •4.1. Варіант використовування
- •4.2. Актори
- •4.3. Інтерфейси
- •4.4. Примітки
- •4.5. Відносини на діаграмі варіантів використовування
- •4.6. Приклад побудови діаграми варіантів використовування
- •4.7. Рекомендації по розробці діаграм варіантів використовування
- •5.1. Клас
- •5.2. Відносини між класами
- •5.5. Шаблони або класи, що параметризуються
- •5.6. Рекомендації по побудові діаграм класів
- •6.1. Автомати
- •Include – ця мітка використовується для звернення до підавтомата, при цьому наступний за нею вираз дії містить ім'я цього підавтомата.
- •6.3. Перехід
- •6.4. Складовий стан і підстан
- •6.5. Історичний стан
- •Мал. 6.10. Графічне зображення недавнього (а) і давнього (б) історичного стану
- •6.6. Складні переходи
- •Мал. 6.11. Графічне зображення паралельного переходу з паралельних станів (а) і паралельного переходу в паралельні стани (б)
- •6.7. Заключні рекомендації по побудові діаграм станів
- •7.1. Стан дії
- •7.2. Переходи
- •7.5. Рекомендації по побудові діаграм діяльності
- •8.2. Повідомлення
- •Мал. 8.7. Діаграма послідовності із стереотипними значеннями повідомлень
- •8.3. Приклад побудови діаграми послідовності
- •8.4. Заключні рекомендації по побудові діаграм послідовності
- •9.1. Кооперація
- •9.3. Зв'язки
- •9.4. Повідомлення
- •9.6. Заключні рекомендації по побудові діаграм кооперації
- •10.1. Компоненти
- •10.2. Інтерфейси
- •10.3. Залежність
- •10.4. Рекомендації по побудові діаграми компонентів
- •11.1. Вузол
- •11.2. З'єднання
- •Мал. 11.4. Фрагмент діаграми розгортання із з'єднаннями меходу вузлами
- •11.3. Рекомендації по побудові діаграми розгортання
- •12.1. Загальна характеристика case‑ засобу Rational Rose 98/2000
- •12.2. Особливості робочого інтерфейсу Rational Rose
- •12.3. Початок роботи над проектом в середовищі Rational Rose
- •12.4. Розробка діаграми варіантів використовування в середовищі Rational Rose
- •12.5. Розробка діаграми класів в середовищі Rational Rose
- •12.6. Розробка діаграми станів в середовищі Rational Rose
- •12.7. Розробка діаграми послідовності в середовищі Rational Rose
- •12.8. Розробка діаграми кооперації в середовищі Rational Rose
- •12.9. Розробка діаграми компонентів в середовищі Rational Rose
- •12.10. Розробка діаграми розгортання в середовищі Rational Rose
12.5. Розробка діаграми класів в середовищі Rational Rose
Діаграма класів є основним логічним представленням моделі і містить найдокладнішу інформацію про внутрішній пристрій об'єктно-орієнтованої програмної системи. Активізувати діаграму класів у вікні діаграми можна також декількома способами:
Ця діаграма з'являється за умовчанням у вікні діаграми після створення нового проекту.
Клацнути на кнопці із зображенням діаграми класів на стандартній панелі інструментів.
Розкрити логічне уявлення в браузере (Logical View) і двічі клацнути на піктограмі Main (Головна).
Через пункт меню Browse‑ ‑ CIass Diagram (Браузер‑ ‑ Діаграма класів).
Після активізації діаграми класів спеціальна панель інструментів придбає вигляд, показаний на мал. 12.5. Додавання і видалення елементів відбувається аналогічно, проте у кожного класу є обширна специфікація, що містить інформацію про його атрибути і операції. При цьому видимість атрибутів і операцій зображається у формі спеціальних піктограм або прикрас (мал. 12.11).
Піктограми для видимості, що використовуються, зображаються перед ім'ям відповідного атрибута або операції і мають наступний сенс:
Загальний, відкритий (Public) – встановлюється за умовчанням. Приклад – атрибут 1 в класі 1. В цьому випадку атрибут видний всій решті класів моделі. Будь-який клас може переглянути і змінити значення цього атрибута. В нотації язика UML такому атрибуту відповідає знак "+".
Захищений (Protected). Приклад – атрибут 2 в класі 1. В цьому випадку атрибут можна проглянути і змінити з самого класу 1 або з його нащадків. В нотації язика UML такому атрибуту відповідає знак "#".
Закритий (Private). Приклад – атрибут 3 в класі 1. В цьому випадку атрибут не видний ніякому іншому класу, крім того, в якому він визначений. В нотації язика UML такому атрибуту відповідає знак "‑ ".
Пакетний (Implemented). Приклад – атрибут 4 в класі 1. Такий атрибут є загальним тільки в межах свого пакету. В нотації язика UML для такого атрибута піктограма відсутня.
Мал. 12.11. Приклад графічного зображення діаграми класів в середовищі Rational Rose
Аналогічні піктограми застосовуються для позначення видимості операцій класу. Так, операция_1() класу 1 є захищеною і тому доступ до неї дозволений тільки з самого класу 1 або з його нащадків. Опе‑ рация_2() цього ж класу є закритою і тому, окрім класу 1, вона ніякому іншому класу не доступна.
Для окремих атрибутів виділеного класу можна задати тип даних і початкові значення атрибута, а також призначити стереотип через пункт контекстного меню Open Specification (Відкрити специфікацію). При цьому пропонується вибір відповідних значень із списку, що розкривається. Для окремих операцій вибраного класу можна задати тип результату (класу, що повертається), що повертається, додати аргументи до операції, призначити для неї стереотип, а також визначити протокол і розмір, задати виняткові ситуації і цілий ряд додаткових властивостей. Ці властивості операції доступні через пункт контекстного меню Open Specification (Відкрити специфікацію) і вкладку Operations (Операції). При подвійному клацанні на вибраній операції відкривається додаткове вікно з вкладками, відповідними окремим з вказаних раніше властивостей.
Додавання на діаграму класів відносин (зв'язків) між класами типу асоціацій, залежності, агрегацій і узагальнень виконується таким чином. На спеціальній панелі інструментів вибирається необхідний тип зв'язку клацанням по кнопці з відповідним зображенням. Якщо зв'язок направлений, то на діаграмі класів треба виділити перший елемент зв'язку (джерело, від якого виходить зв'язок) і, не відпускаючи натискуючу ліву кнопку миші, перемістити її покажчик до другого елемента зв'язку (приймач, до якого направлений зв'язок). Після переміщення до другого елемента кнопку миші слід відпустити, а на діаграму класів буде доданий новий зв'язок.
Якщо ж зв'язок ненаправлений (двонаправлена), то порядок вибору класів для цього зв'язку довільний. Для зв'язків можна визначити кратність кожного з кінців зв'язку, задати ім'я і стереотип, використовувати обмеження і ролі, а також деякі інші властивості. Доступ до специфікації зв'язку можна дістати після виділення зв'язку на діаграмі і виклику контекстного меню клацанням правої кнопки миші.
