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