OOP_lec3_OOA+OOD_UML.ppt
- Количество слайдов: 78
Опис предметного середовища та постановка задачі Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
v Для аналізу, візуального моделювання та проектування програмного забезпечення потрібна спеціальна нотація або мова. v UML (Unified Modeling Language) - це мова для Ø візуалізації Ø специфікації, Ø конструювання, Ø документування елементів програмних систем. v UML - мова загального призначення для об'єктного моделювання. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Типи моделей IML UML дозволяє описувати систему такими моделями: v Модель функціонування Як описується функціональність системи з точки зору користувача. v Об'єктна модель Як виглядає проект системи з точки зору об'єктного підходу. v Динамічна модель Як взаємодіють один з одним компоненти системи в динаміці, з часом. Які процеси відбуваються в системі. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Діаграми UML призначені для візуального відображення моделей та їх компонентів. UML 2. 0 має 13 типів діаграм: v. Структурні діаграми (6) v. Діаграми поведінки (3) v. Діаграми взаємодії (4) Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Типы диаграмм UML • use case (прецедентів) діаграма • сlass/object (класів і об’єктів) діаграма • behavior (поведінки) діаграми : – statechart (станів) діаграма – activity (діяльності) діаграма – interaction (взаємодії) діаграми : • sequence (послідовності) діаграма • collaboration (співпраці) діаграма • Implementation (реалізації) діаграми : – component (компонентів) діаграма – deployment (розгортання) діаграма • model management (модель управління) діаграма Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Поняття UML v Для опису структури : Актор, Атрибут, Клас, Компонент, Інтерфейс, Об'єкт, Пакет. v Для опису поведінки : Дія, Подія, Повідомлення, Метод, Операція, Стан, Варіант використання. v Для опису зв'язків : Агрегація, Асоціація, Композиція, Залежність, Спадкоємство. v Деякі інші поняття: Стереотип, Кратність, Роль. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Актори і Варіанти використання в UML Актор в UML – людина, машина або програма, яка впливає на систему, є зовнішньою по відношенню до неї. Варіант використання в UML – опис послідовності дій - (часто з варіантами - сценаріями). Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Зв'язок акторів і варіантів використання Ø Актори і варіанти використання спілкуються за допомогою посилання повідомлень. Ø Повідомлення можуть йти в обидві сторони. Ø Стрілка показує ініціатора спілкування (актор на малюнку) і може бути опущена. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Діаграма варіантів використання Вибрати рейс Забронювати білет Користувач Працювати з даними Управляти рейсами Працювати з БД аеропорта Адміністратор Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад use case diagram Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад sequence diagram Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад package diagram Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад activity diagram Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад class diagram Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад collaboration diagram Floor. Button Light 3. 1. Reset. Button() Floor 3. 2 Turn. On() 3. Elevator. Arrived() 4. 2. 1. Passenger. Enters() 4. 1. 1. Passenger. Exits() Elevator Person 2. Ring. Bell() 1. Reset. Button() Elevator. Button Bell 4. Open. Door() 4. 2. Enter. Elevator() 4. 1. Exit. Elevator() Door Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад deployment diagram Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Постановка задачі Здійснити об’єктно-орієнтований аналіз та об’єктноорієнтоване проектування програми, що моделює роботу Internet-магазину різних товарів електронної техніки. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Об’єктно-орієнтований аналіз (ООА) предметного середовища Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Опис бізнес-логіки системи Основні події, що відбуваються під час роботи Internetмагазину, такі: v - Системний адміністратор торгової фірми розміщує на webсайтах дані про товари та їх ціни. Дані оновлюються періодично; v - Замовник по web-сайтах здійснює пошук товару, ціна та функціональні параметри якого задовольняють його; v - Замовлення на поставку певного товару та дата його доставки оформлюється замовником дистанційно згідно з можливостями web-сайта; v - Оплата товару може здійснюватися готівкою та по платіжним карткам через банки замовника та Інтернет-магазину; v Системний адміністратор Інтернет-магазину веде облік покупців і нараховує їм пільги під час оплати товару, якщо замовник придбав товару на суму, розмір якої більше за такий, що генерований планувальником програми. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Опис бізнес-логіки системи Ø Якщо замовник оплату здійснює по банківській картці, то під час оформлення замовлення покупець вказує відповідні банківські реквізити: vномер картки, vназву банка, vсвоє прізвище vтощо. Ø Якщо замовник буде оплачувати вартість товару готівкою, то в призначений термін торгова фірма відправляє йому товар з платіжними документами. Ø Покупець розраховується готівкою за придбаний товар з його постачальниками. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Опис бізнес-логіки системи Під час оформлення замовлення, спілкуванню по e-mail з Інтернет-магазином, доставки товару може виникнути такі ситуації: v товар є в каталозі, але замовлення не приймають через відсутність його на складі; v товар замовлено, гроші перераховано, але замовнику доставили товар іншого асортименту. В першому випадку магазин пропонує заміну товару йому рівнозначним. Замовник може погодитися або відмовитися від придбання товару. В другому випадку замовник вимагає повернути гроші. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Програма роботи 1. Виконати об’єктно-орієнтований аналіз та проектування предметного середовища засобами UML: 1. 1. Розробити сценарій поведінки об’єкта (послідовний опис дій об’єкта під час його функціонування). 1. 2. Визначити типи взаємодій між користувачем та системою. Побудувати діаграму прецедентів. 1. 3. Виконати ідентифікацію класів системи, що моделюється. Ш Створити список іменників, які відповідають класам. Ш Здійснити аналіз іменників з метою вилучення таких, що не відповідають класам задачі. Ш Побудувати UML-діаграму класів, UML-діаграму об’єктів. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Програма роботи 1. 4. Виконати ідентифікацію атрибутів. Ш Здійснити уточнення списку іменників з метою визначення їх складу. Ш Доповнити діаграму класів даними про атрибути. 1. 5. Здійснити ідентифікація операцій (методів). Ш Створити список дієслівних фраз, що відповідають методам класів. Ш Вилучити усі несуттєві дієслівні фрази. Ш Доповнити діаграми класів списком методів. 1. 6. Визначити взаємодію між об’єктами. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Програма роботи 2. Об’єктно-орієнтоване програмування: 2. 1. Розробити файлову структуру програми на С++ для інтерфейсів і реалізацій класів (файли. h, . cpp). 2. 2. Розробити сценарій моделювання роботи фізичного об’єкта. 2. 3. Розробити тестову програму (у вигляді функції main()), що реалізує сценарій моделювання роботи фізичного об’єкта. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Аналіз і спрощення задачі Основні події, що відбуваються під час моделювання роботи Internet- магазину, такі: ü - Системний адміністратор торгової фірми розміщує на web-сайті дані про товари та їх ціни. Дані оновлюються періодично; ü - Замовник по web-сайтах здійснює пошук товару, ціна та функціональні параметри якого задовольняють його; ü - Замовлення на поставку певного товару та дата його доставки оформлюється замовником дистанційно згідно з можливостями web-сайта; ü - Оплата товару може здійснюватися готівкою та по платіжним карткам через банки замовника та Інтернет-магазину; ü - Системний адміністратор Інтернет-магазину веде облік покупців і нараховує їм пільги. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Сценарій системи моделювання Побудуємо спрощений сценарій системи «робота інтернет магазина» . В ролі ініціатора-виконавця розглядатимемо покупця, який зайшов на web-сайт магазину з метою знайти потрібний йому товар. Найпростішим сценарієм є такий. 1. Покупець переглядає каталог представленої продукції, 2. Придбавши товар – покупець оплачує. 3. В цей же час персонал магазину може редагувати каталог з продукцією, 4. Персонал може узгоджувати з покупцем умови придбання та оплати товару Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Сценарій роботи програми • Покупець переглядає каталог представленої продукції, придбавши товар - оплачує. • В цей же час персонал магазину може редагувати каталог з продукцією, узгоджувати з покупцем умови придбання та оплати товару. • Виконавцем даного сценарію є замовник- покупець. • Оскільки магазин паралельно працює з багатьма покупцями, але принцип його роботи один і той самий, то ж можемо розглядати систему в якій Інтернет магазин обслуговує лише одного покупця. • Для того, щоб магазин почав обслуговувати замовника, йому потрібно визначитись з покупкою, відправивши товар в корзину. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Сценарій роботи програми Послідовність кроків може бути такою: v покупець обирає товар(відправляє в корзину), v оформлює придбання товару у менеджера магазину, v служба доставки магазину доставляє покупку v замовник його оплачує. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад діаграми прецедентів. Версія 1 Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Лексичний та семантичний аналіз опису системи Лексичний, синтаксичний та семантичний аналізи опису об’єктного середовища здійснюють з метою визначення класів, атрибутів і методів. v Виділяють іменники – претенденти на роль класів v Виділяють іменники – претенденти на роль атрибутів v Виділяють дієслова – претенденти на роль методів v Виділяють дієслова – претенденти на роль зв’язків між класами Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад лексичний аналізу опису системи Отримаємо наступний список іменників, які претендують на роль класів: годинник; оплата товару Internet- магазин; готівка системний адміністратор платіжні картки торгова фірма; банк web-сайт; облік покупців дані про товари товар; замовник; пільги замовлення Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Ознаки сутностей, які не є класами Далі список можливих класів проаналізуємо з метою виключення з них зайвих. Такими класами можуть бути: v надлишкові класи: якщо два чи більше класів виражають однакову сутність, потрібно залишити лише один з них; v нерелевантні, тобто такі, що не стосуються вирішуваної проблеми, класи: для кожного іменника треба оцінити, наскільки він необхідний в майбутній системі і видалити неактуальні; v нечітко визначені класи з точки зору поставленої проблеми; v атрибути: деякі іменники більше відповідатимуть не класам, а атрибутам класів; такі іменники зазвичай описують властивості об’єктів(наприклад вік, адреса, рейтинг); v операції: деяким іменникам можливо більш відповідатиме сама дія, а не клас в системі; v ролі: потрібно виключити іменники, що відповідають іменам акторів, їх ролям в об’єктній моделі; v конструкції, що не реалізуються: іменники, що більше зв’язані з програмуванням та апаратною частиною, не слід співставляти класам, оскільки вони не відображають особливостей прикладної системи, що проектується. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад уточнення іменників годинник клас системи, що обробляє час системи Internet- магазин клас системи, головний об’єкт моделювання системний адміністратор роль одного з користувачів системи; дані про товари Клас - список усіх товарів магазину, тобто каталог продукції, торгова фірма надлишковий клас, що є аналогом класу магазину web-сайт надлишковий клас, що є аналогом класу магазину товар іменник з нечітко визначеною роллю в системі, надалі один з можливих класів замовник Клас, що відповідає покупцеві Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад уточнення іменників замовлення Клас оплата товару Операція готівка нечітко визначений клас платіжні картки нечітко визначений клас банк нечітко визначений клас облік покупців список зареєстрованих покупців магазину – клас пільги можливий атрибут Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад результату уточнення класів Після виключення всіх зайвих іменників отримаємо список можливих класів системи, що проектується: v годинник; v магазин; v дані про товари, або каталог; v замовник чи покупець; v замовлення, тобто корзина, з огляду на принцип роботи інтернет магазину; v облік покупців або список покупців, що зареєструвалися в магазині. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад діаграми класів. Версія 01 Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Критерії визначення атрибутів класів q заміна атрибутів на об’єкти: якщо присутність якогось іменника важливіше, ніж її значення, то цей іменник має бути об’єктом, якщо ж значення важливіше, то це має бути атрибутом; q кваліфікатори: якщо значення атрибуту залежить від конкретного контексту, то його потрібно зробити кваліфікаторам; q імена: іменам зазвичай найкраще відповідають кваліфікатори, ніж атрибути об’єктів. В усіх випадках, коли ім’я дозволяє зробити вибір із об’єктів деякої множини, його слід зробити кваліфікаторам; q ідентифікатори: вони зазвичай пов’язані з реалізацією об’єктів. На ранній стадії проектування не потрібно їх розглядати в якості атрибутів; q атрибути зв’язків: якщо якась властивість характеризує не сам об’єкт, а його зв'язок з іншим об’єктом, то її потрібно розглядати як атрибут зв’язку, а не атрибут об’єкта; q внутрішні значення: атрибути, що визначають лише внутрішній стан об’єкту, який непомітний поза об’єктом, слід виключити з списку можливих атрибутів. q неіснуючі деталі: атрибути, що не впливають на виконання більшої частини операцій, бажано не розглядати. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Критерії визначення атрибутів класів ØКваліфікатором - це певний атрибут, який дозволяє знизити кратність залежності. ØКваліфікатори застосовуються в залежностях типів "один-до-багатьох" або "багато-до-багатьох". ØКваліфікатори вказуються на схемах в прямокутнички, що біля прямокутника, відповідного класу. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад визначення атрибутів каталог продукції є в кожному магазині, тобто входить як складова частина в магазин. каталог має нести інформацію про товари магазину, тому його атрибут - список товарів магазину; магазин зазвичай веде перелік своїх покупців, тобто ведеться список покупців, що теж є складовою магазину; кожному зареєстрованому покупцю відповідає його обліковий запис, що містить інформацію про нього: ім’я, адресу, рейтингпоказник кількості покупок - все це є атрибутами класу Покупець; покупцю в кожному магазині для зручності виділяється «корзина» , в якій розміщуються обрані ним товари, тому атрибутом корзини має бути список обраних покупцем товарів; годинник несе інформацію про час в системі моделювання, то виділимо атрибут, що відповідає часу в системі. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад діаграми класів з атрибутами Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Визначення методів класу • Операція - це функція, яку можна застосовувати до об'єктів даного класу. • Виділяємо явні і неявні дієслівні обороти з опису предметного середовища і розглядаємо їх як імена можливих операцій та залежностей між класами. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад визначення методів класів Проведемо аналіз дієслів, попередньо виписавши їх: v - відраховувати; v - відбуватися; v - розміщувати; v - оновлювати; v - здійснювати пошук; v - оформлювати; v - оплачувати; v - вести облік; v - нараховувати пільги. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Уточнення семантики методів vмагазин як головний об’єкт моделювання має працювати, тобто має розпочатися моделювання системи; v- в каталог продукції персоналом магазину товар можуть бути додано, редаговано та видалено дані про нього; v- годинник системи має показувати та змінювати час в системі; v- в список покупців персонал магазину може додавати покупця та редагувати дані про нього; v- в корзину покупець додає чи видаляє товар; v- персонал магазину може очистити корзину при виконанні замовлення; v- покупець може переглядати товар, обирати його(відправити в корзину), оплатити(купити) чи повернути. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад діаграми класів з методами Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Відносини і їхнє графічне зображення на діаграмі класів Базові відносини, що зображуються на діаграмах класів: q. Відношення асоціації (association relationship) q. Відношення узагальнення (generalization relationship) q. Відношення агрегації (aggregation relationship) q. Відношення композиції (composition relationship) Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Відношення асоціації q Асоціація (association) – семантичне відношення між двома й більше класами, що специфікує характер зв'язку між відповідними екземплярами цих класів. q Відношення асоціації відповідає наявності довільного відношення або взаємозв'язку між класами. q Асоціація може означати дію, яку один об’єкт застосовує до іншого. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Відношення асоціації q. Дане відношення позначається суцільною лінією зі стрілкою або без неї з додатковими символами, які характеризують спеціальні властивості асоціації. q Як додаткові спеціальні символи можуть використовуватися ім'я асоціації, символ навігації, імена й кратність класів-ролей асоціації. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Відношення узагальнення (спадкування) q Відношення узагальнення є відношенням класифікації між більш загальним елементом (батьком або предком) і більш частковим або спеціальним елементом (дочірнім або нащадком). q Менш загальний елемент моделі повинен бути погоджений з більше загальним елементом і може містити додаткову інформацію. q Відношення узагальнення описує ієрархічну будову класів і спадкування їхніх властивостей і поводження. q Спадкування (inheritance) – спеціальний концептуальний механізм, за допомогою якого більш спеціальні елементи містять у собі структуру й поводження більш загальних елементів. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад графічного зображення успадкування Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Відношення агрегації q Агрегація (aggregation) – спеціальна форма асоціації, що служить для подання відносини типу "частина-ціле" між агрегатом (ціле) і його складовою частиною. q Відношення агрегації має місце між декількома класами в тому випадку, якщо один із класів являє собою сутність, що містить у собі як складені частини інші сутності. q Відношення агрегації показує, з яких елементів складається система, і як вони зв'язані між собою. q Елементи, що агрегуються, можуть функціонувати й самостійно. q Дане відношення має фундаментальне значення для опису структури складних систем, оскільки застосовується для подання системних взаємозв'язків типу "частина-ціле". Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад графічного зображення відношення агрегації Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Відношення композиції q Композиція (composition) – різновид відносини агрегації, при якій складові частини цілого мають такий самий час життя, що й саме ціле. Ці частини знищуються разом зі знищенням цілого. q Відношення композиції – окремий випадок відносини агрегації. q Це відношення служить для специфікації більше сильної форми відносини "частина-ціле", при якій складові частини тісно взаємозалежні із цілим. q Особливість цього взаємозв'язку полягає в тім, що частини не можуть виступати у відриві від цілого, тобто зі знищенням цілого знищуються й всі його складові частини. q Композит (composite) – клас, що зв'язаний відношенням композиції з одним або більшим числом класів. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад зображення відношення композиції Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Відношення між класами Предметна область із казки “Курочка Ряба” Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Діаграма класів, яка описує предметну область із казки “Курочка Ряба” Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Відношення між класами На діаграмі класи пов‘язані між собою. 1. Успадкування : людина – базовий клас дід, баба – нащадки, похідні класи 2. Асоціація: клас «інструмент» асоціюється з класами «дід» , «баба» 3. Асоціація: клас «інструмент» асоціюється з класом «яйцо» 4. Композиція: клас «хвіст» є невід’ємною частиною класу «миша» 5. Агрегація – на малюнку відсутня KPI Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Технологія визначення залежностей між класами Аналогічно тому, як імена можливих класів виходили з іменників, що зустрічаються в попередній постановці прикладного завдання, імена можливих залежностей можуть бути отримані з дієслів або дієслівних обертів, що зустрічаються в зазначеному документі та з сформульованого сценарію роботи. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Критерії визначення залежностей між класами vзалежності між виключеними класами повинні бути виключені, або переформульовані в термінах класів, що залишилися; vнерелевантні залежності, пов'язані з реалізацією, повинні бути виключені; vдії: залежність повинна описувати структурні властивості прикладної області, а не малоістотні події; vтринарні залежності: більшу частину залежностей між трьома або більшою кількістю класів можна розкласти на кілька бінарних залежностей, використовуючи у разі необхідності кваліфікатори; Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Критерії визначення залежностей між класами vпохідні залежності: потрібно виключати залежності, які можна виразити через інші залежності, тому що вони надлишкові. При виключенні надлишкових (похідних) залежностей потрібно бути особливо обережним, тому що не всі дублюючі одна іншу залежності між класами надлишкові; у деяких випадках інші залежності дозволяють установити тільки існування ще однієї похідної залежності, але не дозволяють установити кратність цієї залежності. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Критерії визначення залежностей між класами ØВидаливши надлишкові залежності, потрібно уточнити семантику залежностей, що залишилися. Øімена ролей: потрібно додати імена ролей там, де це необхідно; Ім'я ролі можна розглядати як похідний атрибут, безліччю значень якого є безліч пов'язаних з цією роллю об'єктів. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Критерії визначення залежностей між класами Ш кваліфікатори: додаючи кваліфікатори там, де це необхідно, ми вносимо елементи контексту, що дозволяє домогтися однозначної ідентифікації об'єктів; Ш кваліфікатори дозволяють також спростити деякі залежності, понизивши їхню кратність; Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Критерії визначення залежностей між класами Øкратність: необхідно додати позначення кратності залежностей; кратність залежностей може мінятися в процесі подальшого аналізу вимог до системи; Øневраховані залежності повинні бути виявлені й додані в модель. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад визначення залежностей між класами Øмагазин включає в себе: каталог товарів, список покупців, корзину для покупця та годинник; Øкаталог продукції містить записи з даними про товари; ØМагазин містить в собі записи про кожного покупця магазину; Øв корзині розміщуються записи з даними про обраний товар; Øкорзина редагується покупцем; Øактивний обліковий запис покупця є роллю актора в системі; Øгодинник відповідає за зміну часу в системі залежно від подій що відбуваються з каталогом продукції, корзиною, списком покупців та активним записом покупця. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Приклад діаграми класів із залежностями Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Проектування в середовищі Sybase Power Designer File -> New Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Проектування в середовищі Sybase Power Designer View -> Diagram -> New Diagram -> Use Case Diagram, Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Проектування в середовищі Sybase Power Designer View -> Diagram -> New Diagram -> Class Diagram Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Проектування в середовищі Sybase Power Designer Потрібно вказати назву діаграми, що створюється. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Проектування в середовищі Sybase Power Designer Вводимо імя створенного классу Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Проектування в середовищі Sybase Power Designer Вводимо атрибути классу. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Проектування в середовищі Sybase Power Designer Введення визначених для класу методів. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Проектування в середовищі Sybase Power Designer Додавання на діаграму звязку між классами Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Програмування в Visual Studion. NET Просмотр кода F: Teaching Students 2009 -2011Methodical materials for disciplinesOOPANSI C++ OOPPrezentation ANSI C++ OOP2011 -2012lec 3version 1. code. doc Запуск програми "G: Teaching Students 2009 -2012Methodical materials for disciplinesOOPANSI C++ OOPPrezentation ANSI C++ OOP2011 -2012OOP lec 3 ОOA+Use. CAse+Class. DiagramInternet_Shop_v 13_program_developInternet_shop_Lab_01debugInternet. Shop. exe" Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Резюме Етапи ОО аналізу та проектування 1. Збір даних про систему на етапі аналізу 2. Розробка діаграми прецедентів, яка описує процес взаємодії користувачів з системою, на підставі даних аналізу. 3. Ідентифікація об’єктів і класів: 3. 1. виділення іменників в опису постановки задачі, 3. 2. фільтрація списку іменників від таких, що не є частиною системи моделювання 3. 3. створення версії 1 діаграми класів 4. Ідентифікація атрибутів класів: 4. 1. виділення іменників в опису постановки задачі 4. 2. фільтрація списку іменників від таких, що не є характеристикою або властивостями об’єктів 4. 3. створення версії 2 діаграми класів Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Резюме Етапи ОО аналізу та проектування 5. Ідентифікація методів класів: 5. 1. Виділення дієслів та їх дієслівних оборотів з опису постановки задачі 5. 2. Фільтрація списку дієслів від таких, які не характеризують поведінку об’єктів 5. 3. Визначення операцій (методів) класів 5. 4. Створення версії 3 діаграми класів 6. Ідентифікація взаємозв’язків між об’єктами та між класами: 6. 1. Фільтрація дієслівних оборотів від таких, що не характеризують взаємовідношення між класам и 6. 2. Створення версії 3 діаграми класів для моделювання взаємодій між об’єктами. Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Контрольні запитання Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ
Сучасні парадигми програмування Ковалюк Т. В. НТУУ КПІ


