Professional Documents
Culture Documents
ООП. Лабораторна робота 12 - 1
ООП. Лабораторна робота 12 - 1
Рис. 1
N-рна асоціація
Єдина відмінність, з точки зору властивостей, N-арної асоціації від
двомісної - це відсутність можливості вказати напрямок читання імен, і,
навпаки, є можливість вказати число закінчень - за замовчуванням 3.
Узагальнення
З точки зору елемента, що з'єднує два класи, узагальнення нічим не
відрізняється від двомісної асоціації. А з параметрів узагальнення, на даному
етапі нас може цікавити тільки ім'я.
Клас асоціації, клас N-арной асоціації
Єдина особливість класу асоціації полягає в тому, що він володіє
параметрами, як асоціації (параметри полюсів асоціації), так і класу (атрибути,
операції). І те й інше ми вже розглянули раніше, але окремо, в описі асоціації
та класу.
Тип даних
Для створення перерахування, потрібно використовувати елемент «тип
даних». Цей елемент схожий на клас, в якому так само можна налаштувати
операції, але замість атрибутів задана категорія «перерахування», яка стає
доступною при вказівці стереотипу «enumeration».
Як тільки ви вказали такий стереотип, в категорії «перерахування»
з'явиться можливість додавати черговий елемент перерахування (ім'я та
значення).
Так можна створити перерахування fruits, що містить різні фрукти. При
бажанні, значення можна не вказувати (в цьому випадку осередки в стовпці
«буквальний» залишайте порожніми).
Рис. 2
Рис. 3
Клас Window визначає загальні параметри вікон всіх типів, зокрема
прямокутну кордон, яка визначається атрибутами х1, у1, х2, у2, і операції, що
дозволяють відображати і приховувати вікно, а також поміщати його на
передній або на задній план в загальному наборі вікон.
Полотном (canvas) називається область, в якій може відображатися
графіка. Canvas успадковує кордон від класу Window і додає розміри області
полотна, які визначаються атрибутами Сх1, СУ1, сх2, СУ2. Canvas містить
безліч елементів, на що вказує асоціація з класом Shape. Всі фігури
характеризуються кольором і шириною лінії. Фігури можуть бути лініями,
еліпсами або многокутниками. Кожен клас фігур має свої власні параметрами.
Багатокутник (Polygon) визначається списком його вершин. Еліпси (Ellipse) і
багатокутники є замкнутими фігурами, які характеризуються кольором і
шаблоном заливки. Лінії (Line) є одновимірними, а тому не можуть бути залиті.
Полотно підтримує операції додавання і видалення елементів.
Текстове вікно TextWindow - це різновид вікна з смугами прокрутки
ScrollingWindow, яке характеризується двома зсувами прокрутки xOffset і
yOffset і підтримує операцію scroll, що змінює значення зсувів. Текстове вікно
містить рядок і підтримує операції вставки і видалення символів. Полотно з
прокруткою (ScrollingCanvas) - особливий різновид полотна, що підтримує
прокрутку. Це вікно одночасно є полотном і вікном з прокруткою. Таким
чином, воно являє собою приклад множинного спадкоємства.
Панель (Panel) містить безліч об'єктів PanelItem, кожен з яких
характеризується унікальним в рамках однієї панелі ім'ям itemName, про що
говорить наявність кваліфікатора у відповідній асоціації. Кожен елемент панелі
може належати тільки одній панелі. Такий елемент являє собою зумовлений
значок, за допомогою якого користувач може взаємодіяти з системою.
Елементи панелі бувають трьох видів: кнопки, перемикачі та текстові елементи.
Кнопка (Button) характеризується відображається на екрані рядком, а також
атрибутом depressed, який показує, натиснута вона чи ні. Перемикач (Switch)
дозволяє користувачеві вибрати один із зумовлених варіантів, кожен з яких є
об'єктом класу ChoiceEntry, що характеризується відображається рядком і
повертається при його виборі значенням. Між ChoiceItem і ChoiceEntry є дві
асоціації: асоціація один-до-багатьох визначає безліч доступних варіантів, а
асоціація один-до- одного визначає обраний варіант. Обраний варіант повинен
бути одним з доступних, тому одна асоціація є підмножиною іншої, на що
вказує стрілка зі словом {subset}. Це приклад обмеження.
Коли елемент панелі вибирається користувачем, це породжує подія
(Event), яке представляє собою об'єднання сигналу про подію з таким, що
підлягає виконанню дією. Всі види елементів панелей мають асоціації
notifyEvent. Кожен елемент пов'язаний з однією подією, але одне і те ж подія
може породжуватися кількома елементами панелі. Текстові елементи
породжують події іншого типу, пов'язані з натисканням на клавішу клавіатури,
що відбувається в той момент, коли текстовий елемент є вибраним. Ці події
вказуються асоціацією з ім'ям полюса keyboardEvent. Текстові елементи
успадковують подія notifyEvent від суперкласу PanelItem. Подія notifyEvent
породжується при виділенні текстового елемента мишею.
Ця модель має безліч недоліків. Наприклад, нам слід було б визначити
тип Rectangle, який можна було б використовувати для визначення меж вікон і
полотен, а не вводити два однакових набору з чотирьох атрибутів. Лінія могла
б бути окремим випадком полілінії (послідовності з'єднаних між собою
лінійних сегментів), і тоді полілінія і багатокутник були б підкласами нового
суперкласу, що визначає список точок. Тут не вистачає безлічі атрибутів,
операцій і класів, які необхідні для реальної віконної системи. Між вікнами
повинні бути асоціації, наприклад, вони можуть перекривати одна одну. Проте,
ця проста модель дасть вам деяке відчуття того, що повинна являти собою
модель класів. Можна критикувати її, тому що вона містить в собі деякі чіткі
затвердження. Така модель могла б послужити основою для створення більш
повної моделі.
Варіанти завдань
№ вар. Опис
1 Календар, подія, нагадування, контактна особа, рік, тиждень, день.
Врахувати такі факти:
1) календарів може бути кілька;
2) календар складається з днів, групувати по тижнями та місяцями;
3) кожна подія пов'язана з одним календарем, може відбуватися
один раз в день і повторюватися в інші дні;
4) події можуть бути пов'язані з контактними особами;
5) з кожною подією може бути пов'язано нагадування. Нагадування
можуть бути по електронній пошті або у вигляді звукового сигналу,
разові або періодичні.
2 Абонент, робоча станція абонента, сервер оператора, тариф, сеанс
зв'язку, рахунок.
Врахувати такі факти:
1) сервер надає робочої станції абонента доступ до ресурсів
оператора (інтернет, сховище даних, обчислювальні потужності)
під час сеансу зв'язку;
2) кожна послуга надається за власним тарифом;
3) для кожної послуги можливо кілька тарифів;
4) з кожним абонентом пов'язаний індивідуальний рахунок
(account), в залежності від залишку коштів на і надається послуга
(або надається, або ні);
5) абонент самостійно поповнює свій рахунок; оператор може
відправляти абонентам повідомлення про необхідність поповнення
рахунку.
3 Клієнт, борт, водій, автомобіль, диспетчер, замовлення, тариф.
Врахувати такі факти:
1) клієнт через диспетчера здійснює замовлення таксі. Викликати
він може тільки одне таксі;
2) для виконання кожного замовлення призначається борт
(автомобіль з водієм);
3) автомобілі можуть бути наступних типів - седан і мікроавтобус;
4) тариф визначається в залежності від типу автомобіля, клієнта
(персональної накопичувальної знижки).
4 Склад, магазин, торгова точка, товар, клієнт, постачальник,
рахунок.
Врахувати такі факти:
1) торгова точка і магазин реалізують товари, надані
постачальником. Магазин - це торгова точка, з власним складом;
2) клієнти можуть бути як фізичними, так і юридичними особами;
3) постачальники - тільки юридичні особи;
4) грошові операції з юридичними особами здійснюються через
один банківський рахунок;
5 Курс (предмет), лекція, лабораторне заняття, практичне заняття,
залік, іспит, деканат, кафедра, викладач, потік, група, студент.
Врахувати такі факти:
1) студенти об'єднані в групи, а групи в потік;
2) по кожному предмету для кожного потоку може бути тільки один
лектор, і 2 (один з них може бути сам лектор) викладача
лабораторних занять;
3) по кожному предмету обов'язково є лекції, а також в залежності
від предмета можуть бути практичні, лабораторні заняття, а також
залік або іспит;
4) у різних потоків по одному і тому ж предмету можуть бути різні
викладачі;
5) лектор по кожному студенту повідомляє інформацію в деканат
про відвідуваність занять, проміжному контролі, здача курсових
робіт, здача іспиту чи заліку;
6) викладачі працюють на певній кафедрі, до якої приписаний
предмет.
6 Банк, рахунок, клієнт, кредит, внесок, цінні папери, валюта.
Врахувати такі факти:
1) клієнти банку можуть купувати і продавати цінні папери і
валюту через банк;
2) клієнти можуть відкривати вклад і брати кредит у банку, при
цьому для кожного окремого кредиту або вкладу заводиться свій
рахунок;
3) клієнти можуть бути фізичними і юридичними особами.
7 Школа, дитячий майданчик, директор, шкільна рада, клас, книга,
школяр, вчитель, кафетерій, кімната відпочинку, комп'ютер, парта,
стілець, лінійка, олівець, гойдалки.
Врахувати такі факти:
1) дитячий майданчик, клас, кафетерій, кімната відпочинку - це
приміщення і площі школи;
2) директор керує роботою школи, будучи її працівником;
3) вчителі - працівники у школі;
4) школярі навчаються в школі, заняття проходять в певних класах,
і на них школярі можуть використовувати книги, лінійки, олівці;
5) в класах розташовуються парти, стільці, комп'ютери;
6) послугами кафетерію можуть скористатися всі бажаючі;
7) кімната відпочинку тільки для співробітників школи;
8) шкільна рада - група людей, що складається з батьків школярів,
що впливає на роботу школи.
8 Вираз, константа, змінна, функція, список аргументів, оператор
порівняння, арифметичний оператор, оператор, комп'ютерна
програма.
Врахувати такі факти:
1) комп'ютерна програма складається з операторів, функцій,
констант, змінних;
2) функція, в свою чергу, складається з операторів, констант,
змінних, і має список аргументів;
3) оператори являють собою вирази (які складаються з частин,
пов'язаних між собою арифметичними операторами: додавання,
ділення, віднімання, множення; частини - це константи, змінні і
функції, яким, в свою чергу, в якості аргументів передаються
константи і змінні), пов'язані між собою операторами порівняння;
4) оператори додавання і віднімання можуть бути унарними
(застосовуватися тільки до одного операнду) або бінарними
(застосовуватися до двох операндів)
9 Спортсмен, біатлоніст, лижник, стрибун з трампліна, міністерство
спорту, олімпіада, змагання, спортивна школа, тренер.
Врахувати такі факти:
1) спортсмени займаються різними зимовими видами спорту, кожен
з яких має свої особливості, тому розрізняють спортсменів -
біатлоністів, лижників, стрибунів на лижах з трампліну;
2) кожен спортсмен проходить навчання в спортивній школі під
керівництвом свого тренера; один тренер може працювати з
декількома спортсменами;
3) всі спортсмени беруть участь у змаганнях; в кожному змаганні,
кожен спортсмен займає певне місце;
4) участь в олімпійських іграх - мрія будь-якого спортсмена, але не
всі спортсмени показують достатній результат, для участі в них;
5) спортивну школу фінансує міністерство спорту, воно ж визначає
спортсменів, які представляють країну на олімпійських іграх;
10 Планшет, смартфон, повідомлення, текстове повідомлення,
голосове повідомлення, відео-повідомлення, розмова, відео-
розмова, людина.
Врахувати такі факти:
1) кілька людей можуть спілкуватися один з одним на відстані за
допомогою планшетів і смартфонів;
2) люди можуть розмовляти один з одним передаючи тільки звук
(Аудіо-зв'язок), відео і звук (відео-зв'язок) або надсилати один
одному повідомлення - голосові, текстові, відео.
3) в розмові може брати участь одночасно кілька людей
(конференц-зв'язок);
11 Клавіатура, миша, комп'ютер, людина, операційна система,
редактор діаграм, подія, клацання кнопкою миші, натискання на
клавішу.
Врахувати такі факти:
1) людина малює діаграму в редакторі діаграм;
2) для взаємодії з редактором вона використовує мишку та
клавіатуру, які підключені до комп'ютера;
3) операційна система, при виникненні події (натискання клавіші
клавіатури або клацання кнопкою миші) передає редактору
діаграми дані за подією, на які він реагує відповідним чином
(наприклад додає новий клас на діаграму);
12 Документ, лист, малюнок, текст, геометрична фігура, група, еліпс,
прямокутник, відрізок.
Врахувати такі факти:
1) документ складається з листів, на яких можуть розташовуватися
малюнки, текст, геометричні фігури;
2) до геометричних фігур відноситься еліпс, прямокутник,
відрізок;
3) текст, малюнки і геометричні фігури можуть об'єднуватися в
групи;
4) один і той же елемент документа, може належати одночасно
тільки одній групі;
5) група може складатися мінімум з двох елементів;
13 Читач, книга, читацький квиток, бібліотека, журнал, газета,
збірник наукових статей, паперові видання.
Врахувати такі факти:
1) читач зареєстрований в бібліотеці, і має читацький квиток (який
є унікальним для кожної бібліотеки і для кожного читача);
2) читач може брати паперові видання в бібліотеці - журнали,
газети, книги, збірники статей.
3) інформація про кожного паперовому виданні, яке читач взяв у
бібліотеці, заноситься в читацький квиток.
14 Слово, буква, звук, словник, тип (іменник, дієслово, прикметник,
прислівник),
Врахувати такі факти:
1) в словнику описано безліч слів;
2) з кожним словом пов'язані варіанти його написання -
послідовність літер, варіанти перенесення, варіанти вимови -
послідовність звуків, тип (дієслово, іменник, прикметник,
прислівник);
3) для кожного слова описано одне і більш його значень (в
залежності від контексту використання);
4) значення слова записуються в порядку спадання частоти
використання;
5) у багатьох слів є антоніми і синоніми;
6) для кожного слова наведена етимологія (походження слова).
15 Поїзд, машиніст, вокзал, пасажир, провідник, вагон купе, вагон
плацкарт, місце, квиток.
Врахувати такі факти:
1) потяг складається з вагонів (купи і / або плацкарт)
2) машиніст керує поїздом, провідник - відповідальний за свій
вагон;
3) пасажир сідає на поїзді на вокзалі, поїзд робить на вокзалі
зупинку;
4) квиток дає право пасажиру на проїзд в конкретному поїзді, в
конкретному вагоні, на конкретному місці;