
Варіант 1
Версія 1
Здійснитиоб’єктно-орієнтованийаналізтаоб’єктно-орієнтованепроектуванняпрограми, щомоделюєроботукомп’ютера.Моделюючапрограмавключаєгодинник, якийнапочаткумоделюваннявстановлюється в 0, а потімвідраховуєтактичасудомоментузавершенняпроцесумоделювання.Планувальникпрограмимоделюєпроцесвключенняживлення, післяякогомоделюєтьсязавантаженняопераційноїсистеми і далізавантаженняприкладнихпрограм.Планувальникпрограмигенеруєзавантаженняприкладнихпрогрампісляуспішногозавершеннязавантаженняопераційноїсистеми.Позапитукористувачавиводитьсянаекранданіпроактивніприкладніпрограми, розподілоперативноїпам’яті, завантаженняпроцесора (аналогічнодиспетчерузадач у Windows).Основніпараметрикомп’ютера (типпроцесора, йогошвидкодія, обсягоперативноїпам’яті) користувачтежотримуєпозапиту.Планувальникпрограмимаєвиводитинаекранповідомленняпроподії, щовідбуваються у системі, щомоделюється.Результатиоб’єктно-орієнтованогоаналізуподати у виглядісценаріюроботифізичногооб’єктутаперелікуіменників, дієслів, щопретендуютьнаназвикласів, атрибутів і методівкласів; результатиоб’єктно-орієнтованогопроектуванняподати у виглядідіагрампрецедентів, об’єктів і класів.Згенеруватикодінтерфейсівкласів, побудуватипроект (накожнийклас – подвафайли: заголовнийтасрр), додатидопроектукодзгенерованихкласів.
Версія 2
Додати конструктори по замовчуванню, ініціалізації та деструктори до всіх створених класів. Додати конструктори копіювання до всіх класів крім Годинника і Планувальника. Під час виклику кожного конструктора і деструктора повинно виводитися повідомлення, в якому вказується назва класу і тип викликаного конструктора чи деструктора. Створити об’єкти класів Планувальник і Комп’ютер, які автоматично створюють об’єкти-атрибути, зв’язані відношенням композиції. Потрібно передбачити два режими введення даних — з клавіатури і використовуючи стандартні значення. Застосовувати конструктори ініціалізації і по замовчуванню для цих режимів відповідно.
Версія 3
Додати методи-аксесори для атрибутів усіх створених класів. Для атрибутів типу bool застосувати предикатні функції. Використати ітератори та функції утіліти. Рекомендації до виконання: використати функції-утіліти в класі Комп’ютер для розрахунку завантаження процесора та кількості зайнятої оперативної пам’яті, застосувати ітератори у всіх процесах, де відбувається перелік об'єктів, наприклад, підрахунок оперативної пам’яті, зайнятої прикладними програмами.
Версія 4
Додати деякі константні та статичні атрибути до класів (або зробити константними чи статичними існуючі атрибути). Рекомендації до виконання: зробити константними всі методи get, зробити статичними та константними максимальний об’єм оперативної пам’яті, максимальну частоту процесора тощо для контролю введених з клавіатури даних.
Версія 5
Реалізувати перевантаження операторів для деяких функцій та дружні функції. Рекомендації до виконання: перевантажити операції завантаження/закриття програми на заданій операційній системі, перевантажити операції інкрементації та присвоєння класу Годинник.
Версія 6
Реалізувати просте успадкування класів. Рекомендації до виконання: перевантажити клас Процесор, створивши клас Двоядерний процесор.
Версія 7
Реалізувати множинне успадкування класів. Рекомендації до виконання: створити клас Ноутбук чи Моноблок успадкуванням від класів Монітор і Системний блок.
Версія 8
Реалізувати оброблення виключних ситуацій. Рекомендації до виконання: передбачити реакцію користувача на аварійні ситуації під час завантаження операційної системи (збої в апаратній частині комп’ютера, збої в програмному забезпеченні). Моделювальна програма має продемонструвати ситуації, що можуть привести до припинення роботи комп’ютера та виходу його з ладу (завершення роботи та вивантаження операційної системи, виключення живлення, аварійне завершення чи переривання роботи прикладної програми, порушення користувачами протоколів роботи, знищення користувачем системних файлів, збої в роботі вінчестера чи інших носіїв інформації, раптове зникнення зображення на екрані в результаті його поломки, екранні перешкоди тощо).
Варіант 2
Версія 1
Здійснити об’єктно-орієнтований аналіз та об’єктно-орієнтоване проектування програми, що моделює роботу автомобіля. Моделювальна програма включає годинник, який на початку моделювання встановлюється в 0, а потім відраховує такти часу до моменту завершення процесу моделювання. Планувальник програми моделює процес випробування автомобіля, дозволяючи користувачу в діалоговому режимі вибирати режими прискорення та гальмування. Планувальник програми генерує появу інших рухомих об’єктів на трасі руху автомобіля, робота якого моделюється. Користувач має можливість вибрати варіант своїх дій із запропонованих планувальником. Планувальник програми має виводити на екран повідомлення про події, що відбуваються у системі, що моделюється. Результати об’єктно-орієнтованого аналізу подати у вигляді сценарію роботи фізичного об’єктута переліку іменників, дієслів, що претендують на назви класів, атрибутів і методів класів; результати об’єктно-орієнтованого проектування подати у вигляді діаграм прецедентів, об’єктів і класів. Згенерувати код інтерфейсів класів, побудувати проект (на кожний клас – по два файли: заголовний та срр), додати до проекту код згенерованих класів.