Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/9787
Title: Програмна реалізація інтелектуального алгоритму планування робочого часу
Authors: Білоніг , Анатолій Володимирович
Повзун, Олександр Дмитрович
Keywords: інтелектуальний алгоритм;планування робочого часу;управління завданнями;тайм-менеджмент;теорія розкладів;EDF;WSPT;Python;SQLite;tkinter;Pomodoro;intelligent algorithm;work time scheduling;task management;time management;scheduling theory;EDF;WSPT;Python;SQLite;tkinter;Pomodoro
Issue Date: 17-Jun-2026
Abstract: АНОТОЦІЯ Виконаавець : Повзун Олександр Дмитрович Тема: «Програмна реалізація інтелектуального алгоритму планування робочого часу». Кваліфікаційна робота бакалавра зі спеціальності 121 «Інженерія програмного забезпечення». Черкаський державний технологічний університет, Черкаси, 2026. Мета роботи полягає у розробці програмного застосунку для автоматизованого планування робочого часу користувача на основі інтелектуального алгоритму, який забезпечує ефективний розподіл завдань з урахуванням їх пріоритетності, дедлайнів та рівня продуктивності користувача протягом дня. Головними завданнями роботи є аналіз сучасних підходів до управління часом і теорії розкладів, дослідження алгоритмів автоматичного планування завдань, вибір програмних засобів реалізації, проєктування архітектури програмного забезпечення, розробка графічного інтерфейсу користувача, реалізація інтелектуального алгоритму формування розкладу, створення підсистем аналітики та тестування працездатності програмного продукту. Об’єктом дослідження є процес планування робочого часу користувача та управління особистими завданнями в умовах обмежених часових ресурсів. Предметом дослідження є методи, алгоритми та програмні засоби інтелектуального планування робочого часу на основі пріоритизації завдань, теорії розкладів та моделей оцінювання продуктивності користувача. У роботі вирішено наступні задачі: –проведено аналіз предметної області та існуючих програмних рішень дляуправління часом і планування завдань; –досліджено можливості застосування алгоритмів теорії розкладів дляавтоматизації процесу формування робочого графіка; –обґрунтовано вибір мови програмування Python, графічної бібліотекиtkinter та системи керування базами даних SQLite; –спроєктовано архітектуру програмного застосунку та структуру базиданих; –реалізовано інтелектуальний алгоритм планування на основікомбінування методів EDF (Earliest Deadline First) та WSPT (Weighted Shortest Processing Time); –розроблено модуль оцінювання продуктивності користувача звикористанням моделі хронопродуктивності; –реалізовано засоби контролю виконання завдань, таймер Pomodoro тапідсистему статистичного аналізу; –проведено функціональне та інтеграційне тестування програмногозабезпечення на різних операційних системах. За результатами виконання роботи створено програмний застосунок, який забезпечує автоматичне формування оптимального розкладу завдань з урахуванням дедлайнів, пріоритетів та рівня енергії користувача. Використання інтелектуального алгоритму дозволяє підвищити ефективність управління робочим часом та зменшити навантаження на користувача під час планування повсякденних справ.
ANNOTATION Performer : Povzun Oleksandr Dmytrovych Title: "Software Implementation of an Intelligent Work Time Scheduling Algorithm" Bachelor's Qualification Thesis in Specialty 121 "Software Engineering". Cherkasy State Technological University, Cherkasy, 2026. The purpose of the thesis is to develop a software application for automated work time scheduling based on an intelligent algorithm that ensures efficient task allocation considering task priorities, deadlines, and the user's productivity level throughout the day. The main objectives of the thesis are to analyze modern approaches to time management and scheduling theory, investigate algorithms for automatic task scheduling, select appropriate software tools for implementation, design the software architecture, develop a graphical user interface, implement an intelligent scheduling algorithm, create analytical modules, and test the functionality of the developed software product. The object of research is the process of work time scheduling and personal task management under conditions of limited time resources. The subject of research is methods, algorithms, and software tools for intelligent work time scheduling based on task prioritization, scheduling theory, and user productivity assessment models. The following tasks have been solved in the thesis: –analysis of the subject area and existing software solutions for timemanagement and task scheduling; –investigation of the possibilities of applying scheduling theory algorithms toautomate work schedule generation; –justification of the choice of the Python programming language, the tkintergraphical library, and the SQLite database management system; –design of the software architecture and database structure; –implementation of an intelligent scheduling algorithm based on a combinationof the Earliest Deadline First (EDF) and Weighted Shortest Processing Time (WSPT) methods; –development of a user productivity assessment module utilizing achronoproductivity model; –implementation of task monitoring tools, a Pomodoro timer, and a statisticalanalysis subsystem; –conducting functional and integration testing of the software on differentoperating systems. As a result of the research, a software application has been developed that provides automatic generation of an optimal task schedule considering deadlines, priorities, and the user's energy level. The use of the intelligent algorithm improves work time management efficiency and reduces the user's workload during the planning of daily activities.
URI: https://er.chdtu.edu.ua/handle/ChSTU/9787
Appears in Collections:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
Факультет інформаційних технологій і систем 
Кафедра програмного забезпечення автоматизованих систем 
ПОЯСНЮВАЛЬНА ЗАПИСКА 
до кваліфікаційної роботи 
«бакалавра» 
освітній рівень 
на тему: Програмна реалізація інтелектуального алгоритму планування робочого 
часу 
Виконав: студент 4 курсу, групи ПЗ-2204 
Спеціальності 
121 «Інженерія програмного забезпечення» 
(шифр і назва напряму підготовки) 
Студдент Повзун О.Д. 
(прізвище та ініціали) 
Керівник Білоніг А.В. 
(прізвище та ініціали) 
Рецензент  Прилуцький О.О. 
(прізвище та ініціали) 
Черкаси 2026
Черкаський державний технологічний університет 
повне найменування вищого навчального закладу 
Факультет інформаційних технологій і систем 
Кафедра програмного забезпечення автоматизованих систем 
Освітній рівень  бакалавр 
Спеціальність 121 «Інженерія програмного забезпечення» 
Освітня програма Інженерія програмного забезпечення 
ЗАТВЕРДЖУЮ 
Зав. кафедри ПЗАС, професор 
  Голуб С.В.  
«___» ______________ 2026 року 
З А В Д А Н Н Я 
НА КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ 
Повзун Олександр Дмитрович 
(прізвище, ім’я, по батькові) 
Тему проекту (роботи) Програмна реалізація інтелектуального алгоритму планування 
робочого часу 
Керівник проекту (роботи) Білоніг Анатолій Володимирович асистент кафедри ПЗАС 
(прізвище, ім’я , по батькові, науковий ступінь, вчене звання) 
Затверджені наказом Черкаського державного технологічного університету від « 13 »
березня 2026 року №56/03-03
2. Строк подання студентом проекту (роботи) 2 червня 2026 р.
3. Вхідні дані до проекту (роботи) Дослідження предметної області програмного
забезпечення автоматизованої системи семантичної сегментації ландшафту; 
проектування архітектури розроблюваного програмного забезпечення (на основі 
архітектури трансформерів SegFormer);  
4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно розробити)
 Вступ; Розділ 1. Існуючі методи та засоби розв’язання поставлених завдань; Розділ 2. 
Впровадження результатів досліджень у практику проектування програмного 
забезпечення інформаційних систем; Розділ 3. Розробка та тестування програмного 
забезпечення; Висновки; Список використаних джерел; Додатки
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових робіт проекту;
Діаграми UML 4 шт,скріншоти роботи програми 4 шт 
6. Консультанти розділів проекту (роботи)
Прізвище, ініціали та посади Підпис, дата
АРозділ
консультанта Завдання видав Завдання прийняв
1
2
3
7.Дата видачі завдання 02 грудня 2026 р.
 КАЛЕНДАРНИЙ ПЛАН 
Строк 
виконання 
№ 
Назва етапів випускної роботи етапів Примітки
п/п випускної 
роботи
1 Постановка задачі 11.12.2025 виконано
2 Підготовка завдання 15.12.2025 виконано
3 Погодження завдання 11.02.2026 виконано
4 Затвердження завдання 15.02.2026 виконано
Основна стадія
1 Підбір матеріалів 21.02.2026 виконано
2 Аналіз шляхів вирішення поставленої задачі 01.03.2026 виконано
3 Розрахунок основних параметрів роботи 11.03.2026 виконано
4 Вибір кінцевого варіанту проектного рішення 01.04.2026 виконано
5 Оформлення первісної редакції роботи 27.04.2026 виконано
Заключна стадія
1 Узгодження прийнятих проектних рішень з виконано
10.05.2026 
керівником
2 Оформлення пояснювальної записки роботи в виконано
кінцевій редакції 15.05.2026 
3 Попередній захист роботи 22.05.2026 виконано
4 Затвердження роботи 29.05.2026 виконано 
5 Рецензування роботи 01.06.2026 виконано 
6 Захист роботи 25.06.2026 
Студент _____________________ Повзун О.Д. 
(підпис) (прізвище та ініціали) 
Керівник проекту (роботи) _____________________ Білоніг А.В. 
(підпис) (прізвище та ініціали) 
АНОТОЦІЯ 
 Виконаавець : Повзун Олександр Дмитрович 
Тема: «Програмна реалізація інтелектуального алгоритму 
планування робочого часу». 
Кваліфікаційна робота бакалавра зі спеціальності 121 «Інженерія 
програмного забезпечення». Черкаський державний технологічний 
університет, Черкаси, 2026. 
Мета роботи полягає у розробці програмного застосунку для 
автоматизованого планування робочого часу користувача на основі 
інтелектуального алгоритму, який забезпечує ефективний розподіл 
завдань з урахуванням їх пріоритетності, дедлайнів та рівня 
продуктивності користувача протягом дня. 
Головними завданнями роботи є аналіз сучасних підходів до 
управління часом і теорії розкладів, дослідження алгоритмів 
автоматичного планування завдань, вибір програмних засобів реалізації, 
проєктування архітектури програмного забезпечення, розробка графічного 
інтерфейсу користувача, реалізація інтелектуального алгоритму 
формування розкладу, створення підсистем аналітики та тестування 
працездатності програмного продукту. 
Об’єктом дослідження є процес планування робочого часу 
користувача та управління особистими завданнями в умовах обмежених 
часових ресурсів. 
Предметом дослідження є методи, алгоритми та програмні засоби 
інтелектуального планування робочого часу на основі пріоритизації 
завдань, теорії розкладів та моделей оцінювання продуктивності 
користувача. 
У роботі вирішено наступні задачі: 
– проведено аналіз предметної області та існуючих програмних рішень для
управління часом і планування завдань; 
– досліджено можливості застосування алгоритмів теорії розкладів для 
автоматизації процесу формування робочого графіка;
– обґрунтовано вибір мови програмування Python, графічної бібліотеки 
tkinter та системи керування базами даних SQLite;
– спроєктовано архітектуру програмного застосунку та структуру бази 
даних;
– реалізовано інтелектуальний алгоритм планування на основі 
комбінування методів EDF (Earliest Deadline First) та WSPT (Weighted 
Shortest Processing Time);
– розроблено модуль оцінювання продуктивності користувача з 
використанням моделі хронопродуктивності;
– реалізовано засоби контролю виконання завдань, таймер Pomodoro та 
підсистему статистичного аналізу;
– проведено функціональне та інтеграційне тестування програмного 
забезпечення на різних операційних системах.
За результатами виконання роботи створено програмний застосунок, 
який забезпечує автоматичне формування оптимального розкладу завдань 
з урахуванням дедлайнів, пріоритетів та рівня енергії користувача. 
Використання інтелектуального алгоритму дозволяє підвищити 
ефективність управління робочим часом та зменшити навантаження на 
користувача під час планування повсякденних справ. 
Ключові слова: інтелектуальний алгоритм, планування робочого часу, 
управління завданнями, тайм-менеджмент, теорія розкладів, EDF, WSPT, 
Python, SQLite, tkinter, Pomodoro. 
 ANNOTATION 
Performer : Povzun Oleksandr Dmytrovych 
Title: "Software Implementation of an Intelligent Work Time Scheduling 
Algorithm" 
Bachelor's Qualification Thesis in Specialty 121 "Software Engineering". 
Cherkasy State Technological University, Cherkasy, 2026. 
The purpose of the thesis is to develop a software application for automated 
work time scheduling based on an intelligent algorithm that ensures efficient task 
allocation considering task priorities, deadlines, and the user's productivity level 
throughout the day. 
The main objectives of the thesis are to analyze modern approaches to time 
management and scheduling theory, investigate algorithms for automatic task 
scheduling, select appropriate software tools for implementation, design the software 
architecture, develop a graphical user interface, implement an intelligent scheduling 
algorithm, create analytical modules, and test the functionality of the developed 
software product. 
The object of research is the process of work time scheduling and personal task 
management under conditions of limited time resources. 
The subject of research is methods, algorithms, and software tools for intelligent 
work time scheduling based on task prioritization, scheduling theory, and user 
productivity assessment models. 
The following tasks have been solved in the thesis: 
– analysis of the subject area and existing software solutions for time
management and task scheduling; 
– investigation of the possibilities of applying scheduling theory algorithms to
automate work schedule generation; 
– justification of the choice of the Python programming language, the tkinter
graphical library, and the SQLite database management system; 
– design of the software architecture and database structure;
– implementation of an intelligent scheduling algorithm based on a combination
of the Earliest Deadline First (EDF) and Weighted Shortest Processing Time (WSPT) 
methods; 
– development of a user productivity assessment module utilizing a
chronoproductivity model; 
– implementation of task monitoring tools, a Pomodoro timer, and a statistical
analysis subsystem; 
– conducting functional and integration testing of the software on different
operating systems. 
As a result of the research, a software application has been developed that 
provides automatic generation of an optimal task schedule considering deadlines, 
priorities, and the user's energy level. The use of the intelligent algorithm improves 
work time management efficiency and reduces the user's workload during the planning 
of daily activities. 
Keywords: intelligent algorithm, work time scheduling, task management, time 
management, scheduling theory, EDF, WSPT, Python, SQLite, tkinter, Pomodoro 
9 
ЗМІСТ 
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ . ....................................................................... 7 
ВСТУП . ......................................................................................................................... 8 
РОЗДІЛ 1. ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ’ЯЗАННЯ ПОСТАВЛЕНИХ 
ЗАВДАНЬ ................................................................................................................... 12 
1.1.Основні визначення та концепції тайм-менедженту . ...................................... 12 
1.2.Аналіз та моніторинг сучасних аналогів .......................................................... 14 
1.3.Постановка задачі . ...............................................................................................16 
ВИСНОВОК ДО ПЕРШОГО РОЗДІЛУ ................................................................. 18 
РОЗДІЛ 2. Впровадження результатів досліджень у практику проектування
програмного забезпечення інформаційних систем . ............................................... 19 
2.1. Моделювання предметної області . ................................................................... 19 
2.1.1.Предметна область моделювання. Модель предметної області. Словник 
предметної області. ................................................................................................... 19 
2.1.2 Елементи моделювання предметної облатсі ................................................. 20 
2.1.3 Робоча область моделювання ......................................................................... 21 
2.2. Формування та аналіз вимог ............................................................................. 23 
2.2.1. Формування вимог до програмного забезпечення. Первинні і детальні 
вимоги. Вимоги замовника і розробника. Функціональні та нефункціональні 
вимоги . ........................................................................................................................24 
2.2.2. Формування вимог за допомогою діаграм прецедентів . .............................25 
ЧДТУ262204 017 ПЗ 
Зм. Лист № документа№ Підпис Дата
Розроб. дПооквзуумне Он.тДа. «Програмна реалізація інтелектуального Літ. Лист Листів
Керівник Білоніг А.В. Д 4
аглортму планування робочого часу» 
Н.контр. Півень О.Б. Пояснювальна записка ФІТІС, кафедра ПЗАС, 
Затв. Голуб С.В. ПЗ-2204 
10 
2.3. Проектування логічної структури програмного комплексу . ......................... 27 
2.3.1. Діаграми класів . ............................................................................................... 28 
2.3.2. Діаграма пакетів . ............................................................................................. 32 
2.4. Архітектурне проектування .............................................................................. 34 
2.4.1. Діаграма компонентів . .................................................................................... 37 
2.4.2. Розгортання програмної системи на апаратних засобах. Діаграма 
розгортання . ............................................................................................................... 38 
2.5. Моделювання поведінки системи . .................................................................... 40 
2.5.1. Діаграма діяльності . ........................................................................................ 40 
2.5.2. Діаграма послідовності . .................................................................................. 42 
2.5.3 Діаграма комунікації . ....................................................................................... 43 
2.5.4 Діаграма скінченного автомату ...................................................................... 44 
ВИСНОВОК ДО ДРУГОГО РОЗДІЛУ . .................................................................. 45 
РОЗДІЛ 3. РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ46 
3.1. Розробка програмного комплексу .................................................................... 46 
3.1.1. Обґрунтування вибору засобів реалізації . .................................................... 47 
3.1.2 Опис структурної та функціональної схем . ................................................... 48 
3.1.3. Опис логічної схеми системи . ........................................................................ 49 
3.1.4. Розробка бази даних . ....................................................................................... 51 
3.1.5. Розробка інтерфейсу користувача . ................................................................ 52 
3.1.6. Опис розробки програмних компонентів ..................................................... 54 
ЧДТУ262204 017 ПЗ 
11 
ЧДТУ262257 017 ПЗ 
3.2. Тестування системи ........................................................................................... 56 
3.2.1. Модальне тестування . ..................................................................................... 56 
3.2.2. Інтеграційне тестування ................................................................................. 59 
3.2.3. Системне тестування ...................................................................................... 60 
3.2.4. Приймальне тестування . ................................................................................. 62 
3.3. Приклади впровадженого програмного комплексу . ....................................... 64 
ВИСНОВКИ ДО ТРЕТЬОГО РОЗДІЛУ ................................................................. 68 
ВИСНОВОК . .............................................................................................................. 69 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ . ................................................................ 71 
ДОДАТКИ.................................................. ................................................................ 74 
ЧДТУ262204 017 ПЗ 
12 
ЧДТУ262257 017 ПЗ 
ПЕРЕЛІК УМОВНИХ СКОРОЧЕНЬ 
API — Application Programming Interface (інтерфейс прикладного 
програмування) 
CSV — Comma-Separated Values (формат зберігання табличних даних) 
DB — Database (база даних) 
EDF — Earliest Deadline First (алгоритм планування з найранішим терміном 
виконання) 
GUI — Graphical User Interface (графічний інтерфейс користувача) 
JSON — JavaScript Object Notation (формат обміну даними) 
KPI — Key Performance Indicator (ключовий показник ефективності) 
OOP — Object-Oriented Programming (об'єктно-орієнтоване програмування) 
OS — Operating System (операційна система) 
PDF — Portable Document Format (формат електронних документів) 
SQL — Structured Query Language (мова структурованих запитів) 
SQLite — Software Library that Implements a Self-Contained SQL Database 
Engine (вбудована система керування базами даних) 
UI — User Interface (інтерфейс користувача) 
UX — User Experience (досвід взаємодії користувача) 
WSPT — Weighted Shortest Processing Time (алгоритм пріоритетного 
планування за зваженим найкоротшим часом виконання) 
AI — Artificial Intelligence (штучний інтелект) 
ML — Machine Learning (машинне навчання) 
7 
ЧДТУ262257 017 ПЗ 
ВСТУП 
Актуальність теми зумовлена необхідністю розробки сучасних програмних 
рішень у сфері інженерії програмного забезпечення для автоматизації в умовах 
постійного зростання інформаційного навантаження на сучасного фахівця. 
Існуючі рішення переважно надають лише базові функції ведення списків, 
ігноруючи індивідуальні особливості продуктивності користувача та складні 
взаємозв'язки між завданнями. З точки зору інженерії програмного забезпечення, 
критично важливими є проектування гнучкої архітектури ПЗ, інтеграція 
алгоритмів теорії розкладів (таких як EDF та WSPT), забезпечення стабільної 
роботи з локальними базами даних та створення інтуїтивно зрозумілого 
інтерфейсу. Розробка інтелектуальної системи дозволяє автоматизувати процес 
прийняття рішень під час планування, що сприяє підвищенню особистої 
продуктивності та зниженню рівня стресу користувача.  
Мета розробки є проектування, програмна реалізація та тестування 
настільного програмного застосунку для інтелектуального планування робочого 
часу на основі алгоритмів теорії розкладів, що забезпечує автоматичне 
формування оптимального графіка завдань. Для досягнення поставленої мети 
необхідно вирішити такі інженерні завдання: Розробити модульну архітектуру 
програмного забезпечення, що забезпечує інтеграцію алгоритмів оптимізації та 
ефективне керування даними; Створити ергономічний графічний інтерфейс 
користувача (GUI) з використанням бібліотеки tkinter; Реалізувати програмні 
модулі для обчислення пріоритетів завдань, ведення статистики та аналітики 
продуктивності; Забезпечити надійність зберігання даних та коректність роботи 
алгоритмів планування в автономному режимі. Завдання розробки Завданням 
розробки є створення програмного забезпечення, яке автоматизує формування 
робочого розпорядку користувача. Програма реалізує динамічну пріоритезацію 
справ на основі термінів виконання, ваги завдань та прогнозованого рівня 
продуктивності, дозволяючи користувачеві мінімізувати час на планування та 
оптимізувати виконання повсякденної діяльності.  
8 
ЧДТУ262257 017 ПЗ 
Об’єкт розробки є процеси проектування, реалізації та тестування 
програмного забезпечення в сфері інженерії програмного забезпечення для 
інтелектуального планування робочого часу. 
Предмет розробки є алгоритми, методи, архітектурні рішення та 
програмні засоби інтелектуального планування робочого часу на основі теорії 
розкладів, методів пріоритизації та моделей оцінювання продуктивності. 
Зокрема, предмет розробки охоплює: Аналіз та формалізацію вимог до систем 
інтелектуального планування; Проектування архітектури застосунку з 
урахуванням принципів модульності; Програмну реалізацію алгоритмів EDF та 
WSPT, інтеграцію з СУБД SQLite та розробку графічного інтерфейсу.  
Методи проєктування та конструювання 
Програмний застосунок створений за допомогою мови програмування Python, 
що забезпечує високу швидкість розробки та легкість інтеграції алгоритмічних 
бібліотек. Для забезпечення надійності зберігання даних використано реляційну 
систему керування базами даних SQLite. Архітектурні рішення ґрунтуються на 
концепціях об'єктно-орієнтованого програмування, що гарантує легкість 
подальшого масштабування системи.  
Опис отриманих результатів 
Розроблено спеціалізоване програмне забезпечення, що дозволяє виконувати 
автоматичне планування робочого дня з урахуванням дедлайнів та пріоритетів. 
Реалізовано механізми аналітики, які надають користувачеві зворотний зв’язок 
щодо його ефективності. Тестування системи підтвердило коректність роботи 
алгоритмів оптимізації та стабільність функціонування інтерфейсу при роботі з 
великими списками завдань.  
Практичне значення отриманих результатів 
Впровадження розробленого програмного забезпечення дозволяє фахівцям, 
студентам та іншим користувачам оптимізувати використання робочого часу, 
знизити психологічне навантаження від прийняття рішень щодо планування та 
підвищити загальну продуктивність діяльності. Система створює умови для 
9 
ЧДТУ262257 017 ПЗ 
більш раціонального розподілу ресурсів та автоматизації рутинних 
організаційних процесів. 
10 
ЧДТУ262257 017 ПЗ 
РОЗДІЛ 1. ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ’ЯЗАННЯ 
ПОСТАВЛЕНИХ ЗАВДАНЬ
Основні визначення та концепції інженерії програмного забезпечення 
У сучасному світі, де фахівці постійно стикаються з великим потоком 
інформації, дедлайнами та численними завданнями, ефективне управління 
робочим часом стає критично важливим. З позиції інженерії програмного 
забезпечення тайм-менеджмент розглядається не лише як набір організаційних 
практик, а насамперед як об’єкт автоматизації через створення спеціалізованих 
програмних систем.
Інженерія програмного забезпечення — це систематична, дисциплінована та 
кількісно вимірювана розробка, експлуатація та супроводження програмного 
забезпечення. Вона охоплює комплекс принципів, методів і інструментів, 
спрямованих на створення якісних, надійних та ефективних програмних 
продуктів. 
Основними концепціями інженерії програмного забезпечення, які є 
фундаментом розробленої системи, є: 
1 Модульність і архітектурне проектування. Сучасні програмні системи 
повинні мати чітко розмежовану модульну архітектуру. Це дозволяє 
забезпечити незалежність компонентів, спростити масштабування, 
тестування та подальшу підтримку програмного забезпечення. 
2 Алгоритмічна ефективність. Одним із ключових завдань є не просто 
збереження даних, а їх ефективна обробка. Застосування алгоритмів теорії 
розкладів (EDF, WSPT), оптимізаційних методів та динамічної 
пріоритезації дозволяє автоматично формувати оптимальний порядок 
виконання завдань, що значно перевищує можливості ручного планування. 
3 Адаптивність та інтелектуальність системи. Сучасне програмне 
забезпечення повинно враховувати контекст використання: динаміку 
завдань, реальну продуктивність користувача, часові обмеження та 
статистику попередніх періодів. Це досягається завдяки інтеграції 
11 
ЧДТУ262257 017 ПЗ 
аналітичних модулів, машинного навчання (на перспективу) та механізмів 
зворотного зв’язку. 
Зараз спостерігається чітка тенденція: користувачі все більше відходять від 
простих списків завдань і потребують інтелектуальних програмних систем, які 
виконують роль активного диспетчера. Такий програмний помічник не просто 
зберігає дані, а аналізує їх, пропонує оптимальні рішення, прогнозує 
навантаження та допомагає приймати обґрунтовані рішення в реальному часі. 
Особистий внесок автора полягає в аналізі існуючих програмних рішень, 
виявленні їхніх функціональних обмежень та розробці власної архітектури 
інтелектуального планувальника робочого часу на основі принципів інженерії 
програмного забезпечення. 
Що треба зробити, а підказувати, коли це найкраще зробити, зважаючи на
терміни, важливість та навіть настрій чи рівень енергії користувача. 
Фактично, інтелектуальне планування часу — це перехід від моделі «я маю 
все встигнути» до моделі «я встигаю головне, не втрачаючи при цьому спокій і 
фокус». Саме такий підхід ми спробували реалізувати в нашому програмному 
застосунку: ми не просто «забиваємо» розклад, а даємо системі алгоритми, які 
допомагають користувачеві приймати кращі рішення щодо свого часу щодня. 
1.1. Аналіз та моніторинг сучасних аналогів 
Сучасний ринок ПЗ для планування можна поділити на кілька ніш, кожна з 
яких має свою цільову аудиторію та суттєві обмеження для фахівця, який шукає 
баланс між продуктивністю та простотою. 
1Todoist, Google Tasks (Хмарні списки завдань) - це найпоширеніший вибір 
для повсякденних справ. Вони імітують паперові нотатники, перенесені в 
цифровий формат. 
Переваги: 
‒ мінімальний поріг входження: Користувач починає працювати з ними 
за лічені секунди. 
‒ мультиплатформенність: Синхронізація «на льоту» між смартфоном та 
комп'ютером дозволяє фіксувати завдання, де б ви не перебували. 
12 
ЧДТУ262257 017 ПЗ 
‒ візуальна чистота: Мінімум зайвих елементів дозволяє зосередитися на 
списку справ. 
Недоліки: 
‒ пасивність системи: Програма не пропонує рішень. Вона не знає, що 
робити далі, і чекає на ваші вказівки. Ви витрачаєте дорогоцінний час 
на «менеджмент списку», замість того, щоб займатися роботою. 
‒ відсутність інтелектуального планування: Вони не вміють автоматично 
розставляти пріоритети на основі дедлайнів чи рівня енергії 
користувача. 
‒ ризик «накопичення» завдань: Система дозволяє нескінченно 
відкладати справи, що призводить до стресу через велику кількість 
прострочених пунктів. 
2 Jira, Asana, Trello (Системи управління проєктами)- це професійні 
інструменти, які часто нав’язують індивідуальним користувачам у 
корпоративному середовищі. 
Переваги: 
‒ потужна візуалізація: Робота з проєктами на різних рівнях деталізації 
(від дошок до графіків Ганта). 
‒ командна синергія: Ідеальна взаємодія між учасниками групи, чітке 
розподілення обов'язків. 
Недоліки: 
‒ надлишкова складність: Для індивідуального планування ці системи 
виглядають як «використання артилерії для полювання на горобця». 
Налаштування робочих процесів потребує часу, який і так є дефіцитом. 
‒ залежність від інфраструктури: Повна залежність від хмарних серверів 
(відсутність інтернет-з’єднання зупиняє роботу) та безпека даних (ви 
віддаєте свій робочий графік на сторонній сервер). 
‒ психологічний бар'єр: Складність інтерфейсу часто відлякує 
користувачів, змушуючи їх покидати систему через кілька тижнів 
використання. 
13 
ЧДТУ262257 017 ПЗ 
3 Локальні трекери та авторські рішення 
Рішення, які встановлюються безпосередньо на пристрій, без потреби в 
зовнішньому сервері. 
Переваги: 
‒ повна автономність: Можливість працювати офлайн, що важливо для 
фахівців, які цінують стабільність та конфіденційність. 
‒ відсутність абонплати: Найчастіше це одноразове рішення або 
безкоштовне ПЗ з відкритим кодом. 
‒ контроль даних: Вся інформація про робочі звички та графік 
зберігається лише локально, що мінімізує ризики витоку. 
Недоліки: 
‒ обмеженість функціоналу: Більшість таких рішень — це «голі» 
інструменти без аналітичних модулів, які б допомагали зрозуміти 
ефективність користувача. 
‒ проблеми з UX/UI: Часто такі проєкти створюються розробниками для 
розробників, тому інтерфейс виглядає недружнім для пересічного 
користувача. 
‒ відсутність "ШІ-планувальника": Майже жоден локальний додаток не 
містить алгоритмічних механізмів, які б автоматично "перетасовували" 
розклад залежно від навантаження. 
Наразі на ринку існує «функціональний розрив»: бракує інструментів, що 
поєднували б простоту використання локального застосунку з інтелектуальною 
математичною оптимізацією розкладу. Саме цей недолік і покликаний усунути 
наш програмний продукт, синтезуючи зручність GUI з ефективністю алгоритмів 
теорії розкладів (EDF, WSPT). 
1.2.  Методи реалізації систем семантичної сегментації 
Процес інтелектуального планування робочого часу базується на 
математичному моделюванні задач як елементів теорії розкладів. Для 
автоматизації цього процесу в нашому застосунку інтегровано два 
14 
ЧДТУ262257 017 ПЗ 
фундаментальні підходи, що дозволяють балансувати між терміновістю та 
пріоритетністю завдань. 
Математичні методи планування : 
1 Earliest Deadline First (EDF — Найближчий термін виконання): 
Цей алгоритм діє за принципом динамічної пріоритезації. У кожен момент 
часу система перевіряє дедлайни всіх активних завдань і надає перевагу тому, 
термін виконання якого спливає найшвидше. У контексті вашого застосунку це 
критично важливо для фахівців, які працюють у жорстких часових рамках[5]. 
Алгоритм мінімізує «максимальне запізнення» (maximum lateness), що допомагає 
користувачеві вчасно закривати проєкти, уникаючи штрафних санкцій чи 
прострочень. 
2 Weighted Shortest Processing Time (WSPT — Зважений найкоротший час 
обробки): 
Цей підхід оптимізує сумарну «вагу» виконаних завдань. Ми розраховуємо 
коефіцієнт ефективності як відношення пріоритету (ваги) завдання до часу, 
необхідного на його виконання (w_i / p_i). Алгоритм сортує завдання за 
спаданням цього показника. Це дозволяє користувачеві за короткий проміжок 
часу виконати найбільшу кількість «цінної» роботи. Наприклад, якщо є коротке, 
але дуже важливе завдання, WSPT виведе його в початок черги, навіть якщо 
дедлайн ще не підтискає. 
Обґрунтування вибору технологічного стека 
Вибір інструментів розробки не був випадковим; він базувався на вимогах 
до автономності, продуктивності та надійності системи. 
‒ мова програмування Python: 
python був обраний через його унікальну здатність поєднувати 
високорівневу абстракцію з потужними можливостями для обробки 
даних. Його гнучкість дозволяє легко імплементувати складну логіку 
планувальника, а наявність великої кількості математичних бібліотек 
робить процес масштабування алгоритмів прозорим. Крім того, 
15 
ЧДТУ262257 017 ПЗ 
динамічна типізація та лаконічний синтаксис дозволили зосередитися 
на бізнес-логіці програми, а не на низькорівневих нюансах пам’яті. 
‒ система керування базами даних SQLite: 
на відміну від мережевих серверних БД (таких як PostgreSQL чи 
MySQL), SQLite зберігає дані у єдиному файлі на диску. Для 
локального планувальника це дає три переваги: нульова вартість 
обслуговування (немає потреби в конфігурації сервера), миттєва 
швидкість доступу до даних при малих обсягах та абсолютна 
незалежність від стабільності інтернет-з’єднання. Всі записи про 
Pomodoro-сесії та логи активності доступні застосунку в режимі 
реального часу. 
‒ графічний інтерфейс Tkinter: 
вибір на користь Tkinter був зроблений з огляду на вимоги до 
«легкості» системи. На відміну від громіздких фреймворків, Tkinter 
забезпечує миттєвий відгук інтерфейсу навіть на пристроях з низькою 
продуктивністю. Це критично для фахівця, який хоче запустити 
планувальник «в один клік» і одразу бачити результат. Стабільність 
роботи бібліотеки гарантує, що інтерфейс не «зависне» під час 
обчислень розкладу, що критично важливо для збереження робочого 
фокусу користувача. 
1.3. Постановка задачі 
На основі проведеного аналізу визначено наступні завдання для розробки: 
‒ розробка настільного програмного застосунку для інтелектуального 
планування робочого часу; 
‒ реалізація механізму динамічного додавання завдань з параметрами 
пріоритету, дедлайну та енерговитрат; 
‒ розробка інтелектуального модуля на основі алгоритмів EDF/WSPT для 
автоматичного розподілу завдань у розкладі дня; 
‒ створення системи моніторингу часу за допомогою таймера Pomodoro з 
автоматичною реєстрацією результатів у БД; 
16 
ЧДТУ262257 017 ПЗ 
‒ розробка аналітичного модуля для візуалізації продуктивності 
користувача за різні періоди часу. 
17 
ЧДТУ262257 017 ПЗ 
ВИСНОВОК ДО ПЕРШОГО РОЗДІЛУ 
У першому розділі було проведено комплексний аналіз предметної області 
та сучасних підходів до планування робочого часу. Дослідження засвідчило, що 
в умовах сучасного темпу життя стандартні інструменти тайм-менеджменту, такі 
як прості списки справ, стають недостатньо ефективними, оскільки 
перекладають на користувача весь тягар прийняття рішень щодо черговості 
виконання завдань. 
Проведений моніторинг програмних аналогів — від хмарних сервісів до 
складних корпоративних систем — виявив наявність суттєвого 
«функціонального розриву». Користувачі змушені обирати між функціональною 
надлишковістю та відсутністю інтелектуальної підтримки. Встановлено, що 
найбільш перспективним напрямком є створення автономного десктопного 
застосунку, який поєднує зручність локального зберігання даних із 
математичними методами оптимізації. 
Обґрунтовано доцільність застосування алгоритмів теорії розкладів (EDF 
та WSPT), які дозволяють автоматизувати процес пріоритезації завдань, 
мінімізуючи суб’єктивний фактор. Вибір технологічного стека — мови Python, 
бази даних SQLite та інтерфейсу Tkinter — визнано оптимальним для 
забезпечення стабільності, швидкодії та незалежності системи від зовнішніх 
хмарних інфраструктур. 
Отже, поставлені завдання розробки — від створення інтелектуального 
модуля планування до забезпечення аналітичного моніторингу продуктивності 
— є актуальними та технічно обґрунтованими. Реалізація запропонованого 
програмного комплексу дозволить користувачеві підвищити особисту 
ефективність, раціонально розподіляти робочий ресурс та автоматизувати 
рутинні аспекти організації власного дня. 
18 
ЧДТУ262257 017 ПЗ 
РОЗДІЛ 2. ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У ПРАКТИКУ 
ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ІНФОРМАЦІЙНИХ 
СИСТЕМ 
2.1. Моделювання предметної області 
Моделювання предметної області дозволяє наочно зобразити архітектурну 
та прикладну проблему, яка повинна бути вирішена розробником у процесі 
створення інженерного рішення, і формує надійну основу для ефективного 
об'єктно-орієнтованого проєктування та конструювання системи. 
2.1.1. Предметна область моделювання. Модель предметної області. 
Словник предметної області. 
Предметна область моделювання 
Предметна область нашого проєкту — це «цифровий простір» для людини, 
яка хоче керувати своїм часом не через хаотичні записки, а системно. Замість 
того, щоб просто записувати, що треба зробити, система допомагає зрозуміти як 
саме це встигнути. До цієї області входить усе, що стосується життя одного 
завдання: від моменту, коли ми його придумали, до фіксації того, скільки часу 
воно «з’їло» насправді. Ми моделюємо процеси, де програма виступає в ролі 
особистого асистента: вона аналізує, що у нас горить, що є важливим, і 
автоматично пропонує план на день, спираючись на реальні дані, а не на 
здогадки. 
Модель предметної області  
Уявімо нашу систему як невеликий механізм, де всі деталі працюють 
разом. Головні учасники цієї моделі — це: 
‒ завдання — це «цеглинки», з яких складається ваш день. 
‒ сесія — це ваш «лічильник», який показує, як швидко ви працюєте. 
‒ алгоритм — це «мозок» системи, який перетасовує завдання так, щоб 
ви встигли зробити найважливіше вчасно. 
‒ користувач — це ви, той, хто задає напрямок і отримує результат у 
вигляді комфортного розкладу. Ця модель дозволяє нам наочно 
19 
ЧДТУ262257 017 ПЗ 
побачити, як при введенні нової справи вона автоматично потрапляє в 
загальний цикл розрахунків і стає частиною вашого продуктивного дня. 
Словник предметної області 
Щоб ми говорили однією мовою, розшифруємо основні терміни, які ми 
використовуємо при проєктуванні: 
1 Завдання (Task): Це не просто рядок тексту. Це об’єкт, який має 
«вагу» (наскільки це важливо), «дедлайн» (коли це має бути готове) та 
«бюджет часу» (скільки хвилин ми на це виділяємо). Саме ці параметри 
дозволяють системі не просто виводити список, а робити його 
«розумним». 
2 Робоча сесія (Pomodoro): Це інструмент для вимірювання реальності. 
Ми часто помиляємося в оцінках: думаємо, що зробимо справу за 15 
хвилин, а витрачаємо годину. Сесія фіксує «чистий» час вашої роботи. 
Це потрібно для того, щоб наступного разу система могла підказати 
вам: «Слухай, ти зазвичай витрачаєш на таке більше часу, давай 
закладемо його більше». 
3 Алгоритм планування (Scheduler): Це «диспетчер» вашого розкладу. 
Він не вміє відчувати втому, але вміє рахувати: 
‒  EDF (Earliest Deadline First) — він як пожежник: завжди ставить 
першим те, що має згоріти раніше за все. 
‒  WSPT (Weighted Shortest Processing Time) — він як бізнесмен: 
обирає те, що найважливіше і зробиться найшвидше, щоб ви 
отримали результат якомога швидше. 
2.1.2 Елементи моделювання предметної облатсі 
Для візуалізації структури системи ми використовуємо нотацію UML. 
Перелік основних графічних символів наведено в (табл. 2.1.) 
Таблиця 2.1 
Графічні символи UML-діаграм, що плануються до використання 
20 
ЧДТУ262257 017 ПЗ 
2.1.3. Робоча область моделювання 
Для забезпечення відповідності технічним вимогам було здійснено етап 
концептуального моделювання. Візуалізовану структуру компонентів системи 
представлено на (рис. 2.1). 
21 
ЧДТУ262257 017 ПЗ 
Рисунок 2.1 – Модель предметної області для системи 
22 
ЧДТУ262257 017 ПЗ 
На наведеному рисунку відображено взаємодію ключових вузлів системи, 
що дозволяє чітко розмежувати зони відповідальності кожного модуля. Опис 
основних елементів моделі: 
1  Користувач (User): виступає як ініціатор процесів у системі. Він
тт   здійснює аутентифікацію, створює нові завдання, наповнює систему
первинними даними та запускає робочі сесії. Користувач взаємодіє з 
інтерфейсом, який відображає актуальний стан системи, сформований 
модулем планування. 
2    Завдання (Task): центральна інформаційна сутність, яка містить усі
необхідні метадані для прийняття рішень: назву, рівень пріоритетності 
(вагу), очікуваний час виконання та часові обмеження (дедлайни). 
3    Модуль планування (Scheduler): є інтелектуальним ядром системи. 
Він отримує набір завдань, що потребують виконання, і застосовує до 
них математичні методи теорії розкладів (алгоритми EDF та WSPT). 
Цей модуль фактично перетворює неструктурований список справ у 
динамічний та впорядкований графік роботи, що мінімізує суб’єктивні 
помилки користувача при самостійному плануванні. 
4   Робоча сесія (WorkSession): забезпечує функцію зворотного зв’язку.              
ии  Вона відстежує реальну тривалість виконання завдання за допомогою
таймера Pomodoro. Дані, накопичені в цій сутності, є критично 
важливими для подальшої аналітики продуктивності, оскільки 
дозволяють зіставляти запланований час із фактичним. 
5 База даних (Database): забезпечує персистентність (тривале збереження)
бб  усієї інформації про завдання, історію виконаних сесій та
налаштування користувача. Використання SQLite дозволило 
реалізувати цю функцію повністю автономно, без необхідності 
зовнішніх серверних запитів. 
2.2. Формування та аналіз вимог 
Визначення, аналіз та структурування вимог є критично важливим етапом 
життєвого циклу створення будь-якого програмного забезпечення, так як саме 
23 
ЧДТУ262257 017 ПЗ 
вимоги визначають майбутній функціонал готового програмного забезпечення та 
критерії, за якими можна гарантувати готовність розроблюваного додатка. 
2.2.1. Формування вимог до програмного забезпечення. Первинні і детальні 
вимоги. Вимоги замовника і розробника. Функціональні та нефункціональні 
вимоги  
Для формування вимог до системи було проаналізовано потреби 
користувача в ефективному плануванні та технічні можливості локальних 
обчислень. Нижче представлено результати опрацювання. 
Первинні вимоги: 
1 Гнучке планування: користувач повинен мати можливість вносити 
завдання з визначенням пріоритету, дедлайну та очікуваного часу. 
2 Інтелектуальна пріоритезація: система повинна автоматично 
формувати розклад, використовуючи алгоритми EDF або WSPT. 
3 Моніторинг продуктивності: можливість запуску Pomodoro-таймера 
для відстеження реальних витрат часу на завдання. 
4 Стабільність даних: вся інформація повинна надійно зберігатися в 
локальній базі даних без потреби в інтернеті. 
5 Аналітичний звіт: відображення статистики виконаних справ та аналіз 
ефективності використання часу. 
6 Інтуїтивний інтерфейс: сучасний графічний інтерфейс із чітким 
розділенням на вкладки. 
7 Автономність: незалежність від зовнішніх сервісів, хмарних API та 
підписок. 
8 Масштабованість: можливість додавання нових категорій завдань та 
налаштувань. 
Детальні вимоги: 
1 Планування: 
‒ реалізація модального вікна для створення завдання з валідацією 
полів (назва не може бути порожньою, час виконання > 0). 
24 
ЧДТУ262257 017 ПЗ 
‒ функціонал «Авто-розклад»: автоматичне сортування записів у 
таблиці бази даних згідно з обраним алгоритмом. 
2 Pomodoro-таймер: 
‒ наявність візуального індикатора часу, що залишився. 
‒ автоматичний запис результату сесії у таблицю work_sessions при 
завершенні таймера. 
3 Робота з БД (SQLite): 
‒ використання SQL-запитів для фільтрації завдань за датою, 
пріоритетом або статусом виконання. 
‒ збереження конфігурації профілю користувача в окремій таблиці. 
4 Аналітика: 
‒ генерація графіків продуктивності на основі накопичених даних про 
робочі сесії. 
‒ візуальне підсвічування завдань, що наближаються до дедлайну. 
‒ UI/UX дизайн (CustomTkinter): 
‒ використання темної теми для комфортної тривалої роботи. 
‒ адаптивність вікон: коректне відображення при зміні розміру 
головного вікна програми. 
5 Ефективність: 
‒ мінімізація часу очікування при виконанні запитів до бази даних за 
допомогою індексації таблиць. 
‒ ізоляція логіки обчислень розкладу від UI-потоку (уникнення 
"зависань"). 
2.2.2. Формування вимог за допомогою діаграм прецедентів 
Для наочної структуризації вимог та графічного представлення сценаріїв 
взаємодії користувача з функціональними модулями системи було розроблено 
діаграму прецедентів (рис. 2.2). Такий підхід дозволяє деталізувати архітектурні 
межі настільного додатка, чітко розмежувати ролі та визначити послідовність 
виконання ключових операцій з управління робочим часом. 
25 
ЧДТУ262257 017 ПЗ 
Рисунок 2.2 – Діаграма прецедентів для системи 
Опис діаграми прецедентів: 
Ця діаграма Use Case ілюструє повний набір функціональних 
можливостей, які надає десктопний додаток «Інтелектуальний планувальник 
робочого часу» для автоматизованої організації робочого процесу та моніторингу 
продуктивності. Нижче наведено детальний опис задіяних акторів та 
прецедентів. 
Актори: 
‒ користувач (Користувач системи): ключовий суб'єкт взаємодії, який 
безпосередньо керує настільним додатком через інтерфейс 
26 
ЧДТУ262257 017 ПЗ 
CustomTkinter, ініціює планування завдань, запускає робочі сесії та 
аналізує згенеровані звіти про продуктивність. 
Прецеденти: 
1   Додати завдання: 
‒ оператор отримує можливість наповнювати систему новими 
справами, визначаючи їхню назву, пріоритет (вагу) та встановлюючи 
часові обмеження (дедлайни). 
2 Обрати алгоритм планування: 
‒ базовий сценарій вибору логіки розрахунку розкладу, що дозволяє 
користувачу вказати метод пріоритезації (EDF або WSPT) перед 
формуванням графіку. 
3 Сформувати розклад: 
‒ основна функція системи, яка активує автоматизований алгоритм 
сортування завдань на основі раніше визначених параметрів для 
мінімізації втрат часу. 
4 Запустити Pomodoro-таймер: 
‒ прецедент, що ініціює процес моніторингу робочого часу, 
дозволяючи користувачу зосередитися на виконанні поточного 
завдання. 
5 Зберегти сесію: 
‒ прецедент, що автоматично розширює (extend) сценарій роботи 
таймера, виконуючи запис фактично витраченого часу до бази даних 
для подальшої обробки. 
6 Переглянути аналітику: 
‒ фінальний етап взаємодії, під час якого додаток виводить на екран 
користувача аналітичну звітність про ефективність виконання плану 
та відповідність запланованого часу фактичному. 
2.3. Проектування логічної структури програмного комплексу 
Побудова логічної архітектури розроблюваного програмного забезпечення 
дозволяє сформувати чітке уявлення про його внутрішню структуру, 
27 
ЧДТУ262257 017 ПЗ 
взаємозв'язки між окремими модулями та принципи циркуляції інформаційних 
потоків. Логічне проектування забезпечує декомпозицію системи на автономні 
компоненти, що спрощує подальшу програмну реалізацію, тестування та 
інтеграцію алгоритмів планування. 
2.3.1. Діаграми класів 
Основою об'єктно-ор'єнтованого проектування настільного додатка 
«Інтелектуальний планувальник» є діаграми класів, які описують статичну 
структуру системи, атрибутивний склад сутностей та методи їхньої взаємодії. Це 
дає змогу детально регламентувати процеси обробки завдань, розрахунку 
розкладу та реєстрації робочого часу. 
На основі первинного аналізу функціональних вимог та визначеної логіки 
роботи було розроблено концептуальний каркас системи. Його відображає 
початкова діаграма класів, наведена на (рис. 2.3). 
Опис діаграми класів: Діаграма відображає ієрархію об’єктів, що 
забезпечують функціонування системи: 
1 Користувач (User): виступає зовнішнім суб'єктом, який ініціює 
взаємодію з додатком. Метод login() забезпечує автентифікацію для 
початку роботи з планами. 
2 Графічний інтерфейс: виступає посередником між користувачем та 
ядром системи. Він відповідає за візуальне представлення списку 
завдань та забезпечує зворотний зв'язок (update_schedule_view). 
3 Завдання: є основною моделлю даних. Метод add_task() інкапсулює 
логіку додавання нової справи з усіма необхідними параметрами. 
4 Планувальник : «інтелектуальний» центр системи. Він отримує дані 
про завдання та за допомогою методу generateSchedule() застосовує 
логіку сортування, перетворюючи список справ на впорядкований 
графік. 
5 База даних: забезпечує персистентність даних. Методи saveTask() та 
getTasks() дозволяють системі зберігати стан завдань навіть після 
завершення роботи додатка. 
28 
ЧДТУ262257 017 ПЗ 
Рисунок 2.3 – Початкова діаграма класів 
29 
ЧДТУ262257 017 ПЗ 
Ця модель демонструє послідовний потік даних: від введення 
користувачем через графічний інтерфейс до алгоритмічної обробки в 
планувальнику та кінцевого збереження в базу даних. Така модульна структура 
дозволяє незалежно оновлювати алгоритми планування або інтерфейс, що є 
ключовою перевагою обраної архітектури. 
Система складається з чотирьох основних шарів: шар даних (Data Layer), 
шар бізнес-логіки (Business Logic Layer), шар презентації (Presentation Layer) та 
шар інтелектуального аналізу (Intelligence Layer).  
З метою деталізації логіки та забезпечення цілісності системи початкову 
схему було розширено внутрішніми параметрами та функціональними методами. 
Повну діаграму класів програмного комплексу представлено на (рис. 2.4). 
Повна діаграма класів деталізує внутрішню архітектуру програмного 
комплексу, розподіляючи відповідальність між модулями для забезпечення 
ефективного конвеєра обробки відеоданих. Нижче наведено опис кожного 
компонента: 
1 Користувач (User): виступає ініціатором бізнес-логіки. 
‒ методи: choose_source() — виклик вікна вибору медіаданих; 
set_hq_mode() — активація режиму високої якості; view_result() — 
перехід до відображення результатів сегментації. 
2 Графічний інтерфейс (AppGUI): центральний керуючий клас на базі 
CustomTkinter. 
‒ атрибути: window — головний об'єкт вікна; source_path — шлях до 
джерела; hq_mode — прапорець фільтрації; 
‒ методи: init_ui() — налаштування графічних елементів; 
update_display_frame() — оновлення візуального виводу в 
реальному часі. 
3 Відеопотік / Кадр (VideoCapture): відповідає за взаємодію з апаратним 
та файловим забезпеченням. 
30 
ЧДТУ262257 017 ПЗ 
‒ атрибути: source_type — тип джерела; resolution — розмірність 
кадру; matrix_data — робоча матриця OpenCV. 
‒ методи: read_frame() — отримання нового кадру; is_opened() — 
контроль стану підключення. 
Рисунок 2.4 – Повна діаграма класів 
4 Процесор зображень (ImageProcessor): шар препроцесингу даних. 
31 
ЧДТУ262257 017 ПЗ 
‒ атрибути: target_size — розмірність для відповідності архітектурі 
моделі. 
‒ методи: transform_bgr_to_rgb() — корекція каналів; 
convert_to_tensor() — конвертація у тензорний формат для PyTorch. 
5 Модель сегментації (SegFormerModel): обчислювальне ядро системи. 
‒ атрибути: architecture — тип мережі; device — вибір обчислювача 
(CPU/CUDA); weights_path — шлях до ваг. 
‒ методи: load_weights() — ініціалізація моделі; execute_inference() — 
запуск інференсу нейронної мережі. 
6 Семантична маска (SegmentationMask): модуль постобробки результатів 
ШІ. 
‒ атрибути: class_matrix — масив передбачень; quality_mode — 
параметр обробки. 
‒ методи: apply_morphology_filter() — покращення контурів та 
видалення шумів. 
7 Легенда та Візуалізація (LegendBlending): фінальний шар графічного 
оверлею. 
‒ атрибути: class_labels — перелік ландшафтних зон; color_palette — 
набір кольорів. 
‒ методи: alpha_blending() — накладання маски на оригінал; 
draw_legend_overlay() — відображення легенди класів. 
2.3.2. Діаграма пакетів 
Для високорівневого структурування вихідного коду, спрощення 
супроводу додатка та розподілу логічних шарів системи було виконано пакетне 
проєктування. Результати організації модулів програми представлено у вигляді 
діаграми пакетів на (рис. 2.5). Вона відображає модульну архітектуру, де 
32 
ЧДТУ262257 017 ПЗ 
користувач взаємодіє із системою через ізольовані пакети конфігурації, 
інтерфейсу, ядра планування, таймера та роботи з даними. 
Рисунок 2.5 – Діаграма пакетів 
Діаграма пакетів відображає модульну архітектуру програмного 
комплексу, де кожен пакет інкапсулює певну область відповідальності, що 
дозволяє мінімізувати зв'язність системи та підвищити її підтримуваність. 
Зв’язки між пакетами на діаграмі ілюструють потоки керування та залежності 
між компонентами: 
1 Конфігурація системи (P_Config): виконує роль централізованого 
сховища параметрів. Вона забезпечує ініціалізацію початкових значень 
для пакету «Логіка планування» та налаштування графічного 
33 
ЧДТУ262257 017 ПЗ 
інтерфейсу, що дозволяє гнучко змінювати конфігурацію системи без 
необхідності модифікації основного коду. 
2 Графічний інтерфейс (P_UI): виступає точкою взаємодії з 
користувачем. Пакет ініціює робочий процес шляхом виклику методів 
пакетів «Моніторинг продуктивності» (запуск таймера) та «Логіка 
планування» (формування розкладу). 
3 Логіка планування (P_Scheduler): містить основні алгоритми 
оптимізації робочого часу. Пакет отримує запити від користувача через 
інтерфейс та здійснює операції зчитування та запису даних до рівня 
збереження. 
4 Моніторинг продуктивності (P_Timer): реалізує функціонал Pomodoro-
таймера. Пакет забезпечує автономний облік робочих інтервалів та 
передає результати завершених сесій безпосередньо до пакету роботи з 
даними для подальшого аналізу. 
5 Робота з даними (P_Data): забезпечує абстракцію доступу до постійного 
сховища. Пакет виступає єдиним джерелом істини для логіки 
планування та таймера, відповідаючи за збереження завдань та історії 
продуктивності користувача. 
Така структура пакетів дозволяє реалізувати принцип відокремлення 
інтерфейсу від бізнес-логіки та шару даних, що є критично важливим для 
масштабованості розробленого програмного рішення. 
2.4. Архітектурне проектування 
Програмне забезпечення системи «Інтелектуальний планувальник 
робочого часу» побудоване за модульно-компонентним принципом. Розділення 
загального конвеєра обробки завдань на ізольовані функціональні модулі 
забезпечує високий рівень автономності компонентів, спрощує процедуру 
розширення алгоритмів планування та оптимізує роботу з базою даних. 
Основними архітектурними модулями розроблюваного десктопного 
додатка є: 
34 
ЧДТУ262257 017 ПЗ 
‒ Модуль високорівневого графічного інтерфейсу: відповідає за 
рендеринг віконних форм, захоплення подій миші та клавіатури, а 
також відображення актуального стану розкладу в реальному часі. 
‒ Модуль планування (Scheduler Engine): забезпечує реалізацію 
математичних алгоритмів (EDF та WSPT), обробку списку завдань та 
генерацію оптимального графіка роботи. 
‒ Модуль моніторингу часу (Pomodoro Engine): керує життєвим 
циклом робочих сесій, здійснює зворотний відлік часу та ініціює події 
завершення інтервалів роботи/відпочинку. 
‒ Модуль персистентності даних: виконує операції зчитування та 
запису інформації до бази даних SQLite, забезпечуючи цілісність історії 
виконаних завдань. 
2.4.1. Діаграма компонентів 
Результати деталізації внутрішньої структури програмного комплексу та 
визначення інтерфейсів взаємодії між його фізичними кодовими структурами 
подано у вигляді діаграми компонентів на рис. 2.6. Ця модель ілюструє, як 
програмні блоки супроводжують трансформацію даних від моменту введення 
користувачем до отримання аналітичного звіту. 
Ключові компоненти системи: 
1 Користувач: зовнішній суб'єкт, який ініціює робочі процеси в системі, 
надаючи вихідні дані та команди для запуску планування чи 
моніторингу часу. 
2 Інтерфейс програми (MainWindow): центральний компонент, що 
забезпечує зв'язок між користувачем та іншими модулями. Він реалізує 
навігацію та оркеструє роботу системи. 
3 Управління завданнями (TasksTab): компонент для введення даних про 
справи. Він передає інформацію до бази даних для подальшого 
зберігання та обробки. 
4 Алгоритм планування (SchedulerAlgorithm): компонент бізнес-логіки, 
який зчитує параметри завдань з бази даних, застосовує методи 
35 
ЧДТУ262257 017 ПЗ 
оптимізації (EDF/WSPT) та повертає впорядкований графік роботи 
назад в інтерфейс. 
5 Моніторинг часу (Pomodoro Timer): компонент, що відстежує 
продуктивність виконання завдань. Він взаємодіє з інтерфейсом для 
запуску сесій та записує результати завершених інтервалів у базу 
даних. 
6 База даних (Database/SQLite): компонент зберігання, який консолідує 
всю інформацію про завдання та історію успішності користувача, 
забезпечуючи персистентність даних між сеансами роботи програми. 
Рисунок 2.6 – Діаграма компонентів 
Ця архітектура дозволяє відокремити інтерфейс користувача від складних 
обчислювальних алгоритмів, забезпечуючи високу надійність та зручність 
супроводу системи. 
2.4.2. Розгортання програмної системи на апаратних засобах. Діаграма 
розгортання 
Оскільки розроблювана система «Інтелектуальний планувальник» є 
локальним настільним додатком (Desktop Application) з інтегрованими 
алгоритмами оптимізації розкладу, її розгортання здійснюється безпосередньо на 
робочій станції користувача. 
36 
ЧДТУ262257 017 ПЗ 
Схема фізичного розміщення програмних компонентів на апаратних вузлах 
комп'ютера відображена на діаграмі розгортання (рис. 2.7). 
Рисунок 2.7 - Діаграма розгортання 
Оскільки розроблювана система «Інтелектуальний планувальник» є 
локальним настільним додатком, її розгортання здійснюється безпосередньо на 
робочій станції користувача. Схема фізичного розміщення програмних 
компонентів відображена на діаграмі розгортання. 
‒ Вузол Робоча станція (Node: User Workstation ПК): представляє 
персональний комп'ютер, на якому виконується додаток. Всередині 
виділено середовище виконання Python Runtime Environment, що 
забезпечує запуск програмного коду. 
‒ Артефакт GUI & Core Execution: виконуваний пакет, що містить 
інтерфейсні форми CustomTkinter та модулі обробки даних SQLite. 
‒ Вузол Локальний накопичувач (Node: Local Storage): фізичний 
жорсткий диск або SSD, на якому зберігається файл бази даних tasks.db. 
‒ Зв'язок: між основним додатком та накопичувачем реалізовано через 
інтерфейс зчитування/запису запитів до локальної бази даних. 
37 
ЧДТУ262257 017 ПЗ 
2.5. Моделювання поведінки системи 
Поведінкове проектування було реалізовано з метою аналізу динаміки 
роботи додатка, виявлення логіки зміни його станів та дослідження часової 
взаємодії між окремими об'єктами системи. Такий підхід уможливив детальне 
відтворення алгоритму функціонування комплексу: починаючи з ініціалізації 
графічного інтерфейсу користувачем і завершуючи процесами інтелектуального 
планування та контролю виконання завдань 
2.5.1. Діаграма діяльності 
Динамічна поведінка системи базується на обміні подіями між 
компонентами інтерфейсу та ядром бізнес-логіки. Для візуалізації цієї взаємодії 
було побудовано діаграму послідовності (рис. 2.8), яка відображає життєвий 
цикл виконання ключових операцій: додавання завдань, запуск алгоритму 
оптимізації та реєстрацію результатів сесії Pomodoro. 
Діаграма діяльності візуалізує алгоритмічні процеси «Інтелектуального 
планувальника», деталізуючи логіку взаємодії користувача з основними 
функціональними модулями системи. Процес моделювання охоплює повний 
цикл роботи: від ініціалізації додатку до фіксації результатів виконання завдань 
Основні етапи виконання діяльності: 
1 Ініціалізація та вибір режиму: після запуску головного вікна 
(MainWindow) система переходить у стан очікування дій користувача, 
де реалізовано розгалуження на три основні сценарії роботи. 
2 Сценарій «Додавання завдань»: користувач взаємодіє з формою 
TasksTab, вводить параметри завдання (назву, пріоритет, дедлайн), 
після чого дані зберігаються у локальній базі даних SQLite, 
забезпечуючи їх доступність для подальшої обробки. 
3 Сценарій «Оптимізація» (Планування): при запуску алгоритму 
SchedulerAlgorithm система зчитує масив завдань із бази даних, 
застосовує математичні методи пріоритезації (EDF або WSPT) та 
автоматично формує впорядкований графік роботи, який виводиться в 
інтерфейсі. 
38 
ЧДТУ262257 017 ПЗ 
4 Сценарій «Моніторинг» (Pomodoro Timer): активація таймера 
запускає окремий фоновий потік, що гарантує безперервний відлік часу 
та оновлення графічного індикатора (Canvas). Після завершення 
робочої сесії фактично витрачений час (actual_min) автоматично 
записується в базу даних. 
5 Завершення циклу: кожен із вищезазначених сценаріїв завершується 
викликом оновлення DashboardTab, що гарантує відображення 
актуальної статистики продуктивності користувача в реальному часі. 
Ця діаграма демонструє чітке розділення логіки обробки даних та 
забезпечує наочність паралельних та послідовних процесів, що критично 
важливо для розуміння поведінки інтелектуального планувальника. 
Рисунок 2.8 – Діагарма діяльності 
2.5.2. Діаграма послідовності 
Взаємодія між архітектурними компонентами системи та часова 
послідовність обміну повідомленнями під час додавання нового завдання 
представлена на діаграмі послідовності (рис. 2.9). 
39 
ЧДТУ262257 017 ПЗ 
Рисунок 2.9 - Діаграма послідовності 
Опис діаграми послідовності: 
1 Учасники взаємодії: 
‒ Користувач — ініціатор процесу створення завдання. 
‒ TasksTab — компонент графічного інтерфейсу, що відповідає за 
відображення списку. 
‒ TaskDialog — діалогове вікно для введення даних про нове завдання. 
‒ Database — контролер доступу до даних. 
‒ SQLite — файл бази даних, де зберігається інформація. 
40 
ЧДТУ262257 017 ПЗ 
2 Послідовність дій: 
‒ користувач активує команду «Нове завдання» в інтерфейсі TasksTab, 
що ініціює відкриття вікна TaskDialog. 
‒ після введення даних та підтвердження, TaskDialog викликає метод 
add_task(), який передає дані до контролера Database. 
‒ контролер Database виконує SQL-команду INSERT INTO tasks, після 
чого база даних підтверджує успішну операцію (OK) та повертає 
унікальний ID створеного запису. 
‒ після успішного збереження діалогове вікно TaskDialog закривається, а 
TasksTab автоматично надсилає запит get_tasks() для актуалізації 
списку. 
‒ контролер Database зчитує оновлені дані (SELECT *) із SQLite та 
передає їх до TasksTab, після чого таблиця в інтерфейсі оновлюється, 
ии відображаючи додане завдання для користувача.
Цей сценарій підтверджує чітку послідовність взаємодії: від ініціації 
користувачем до актуалізації даних у графічному інтерфейсі, що гарантує 
цілісність даних у системі. 
2.5.3 Діаграма комунікації 
Діаграма комунікації відображає архітектурну взаємодію між основними 
об’єктами системи, візуалізуючи потоки даних та послідовність викликів методів 
у процесі функціонування планувальника. Вона деталізує шлях інформації від 
моменту введення користувацьких параметрів до фінального оновлення 
інтерфейсу.(Рис.2.10). 
41 
ЧДТУ262257 017 ПЗ 
Рисунок 2.10.- Діаграма комунікації 
Послідовність взаємодії об’єктів: 
1 Дії користувача: користувач взаємодіє з графічним інтерфейсом, 
вказуючи необхідні параметри (наприклад, пріоритет чи дедлайн 
завдання), що ініціює роботу всієї системи. 
2 Графічний інтерфейс (MainWindow): виступає центральним вузлом 
управління, який приймає дані від користувача та спрямовує їх до 
програмного конвеєра для подальшої обробки. 
3 Програмний конвеєр (Tasks & Scheduler): виконує роль посередника, 
який структурує вхідні дані та формує запит до алгоритму оптимізації. 
4 Алгоритм оптимізації (SchedulerAlgorithm): отримує дані для 
розрахунку, застосовує методи впорядкування (EDF/WSPT) та повертає 
готовий розклад назад до конвеєра. 
5 Візуалізація (Dashboard): конвеєр передає сформований графік до 
модуля візуалізації, який забезпечує відображення актуальної 
інформації на дашборді для користувача. 
6 Оновлення інтерфейсу: фінальним кроком є оновлення головного 
вікна MainWindow для відображення результатів оптимізації та стану 
продуктивності. 
42 
ЧДТУ262257 017 ПЗ 
2.5.4 Діаграма скінченного автомату 
Для моделювання логіки життєвого циклу робочих сесій та управління 
станами таймера було розроблено діаграму станів (рис. 2.11). Вона відображає 
скінченний автомат, що визначає правила переходу системи між етапами 
«очікування», «роботи», «паузи» та «завершення», гарантуючи коректність 
реєстрації результатів продуктивності у базі даних. 
Рисунок 2.11- Діаграма скінченого автомату 
Опис діаграми станів: 
Діаграма станів формалізує поведінку таймера Pomodoro та взаємодію 
користувача з ним: 
43 
ЧДТУ262257 017 ПЗ 
‒ Idle (Очікування): початковий стан системи після ініціалізації. Таймер 
готовий до вибору завдання та отримання команди на початок сесії. 
‒ Working (Робота): стан активного відліку часу. В цьому режимі 
система виконує фонові обчислення та оновлює графічний індикатор 
виконання завдання. 
‒ Paused (Пауза): стан призупинення сесії, що дозволяє користувачеві 
тимчасово перервати роботу без втрати прогресу, з подальшим 
поверненням до стану «Робота». 
‒ Completed (Завершення): стан, який досягається після закінчення 
встановленого часового інтервалу. У цьому стані система автоматично 
фіксує результати сесії (значення actual_min) у локальній базі даних 
SQLite. 
‒ Умови переходу: кожен стан передбачає можливість повернення до 
«Idle» через команду «Скасувати», що забезпечує гнучкість управління 
сесіями та запобігає помилкам у журналі продуктивності. 
44 
ЧДТУ262257 017 ПЗ 
ВИСНОВОК ДО ДРУГОГО РОЗДІЛУ 
У другому розділі проведено комплексне проектування інтелектуального 
планувальника робочого часу. На основі аналізу функціональних та 
нефункціональних вимог було сформовано архітектуру системи, що базується на 
принципах модульності та чіткого розмежування відповідальності між шарами 
інтерфейсу, бізнес-логіки та зберігання даних. 
Поведінкове моделювання системи, реалізоване через побудову діаграм 
UML (діяльності, послідовності, комунікації та станів), дозволило: 
‒ Візуалізувати життєвий цикл роботи додатка: від моменту ініціалізації 
до автоматизованого формування графіка завдань. 
‒ Обґрунтувати вибір технологічних рішень: використання фонових 
потоків для таймера Pomodoro та інтеграцію алгоритмів пріоритезації 
(EDF та WSPT) для оптимізації робочого розкладу. 
‒ Забезпечити узгодженість даних: через детальне опрацювання взаємодії 
з базою даних SQLite на кожному етапі виконання завдань. 
Побудовані поведінкові моделі є фундаментом для подальшої програмної 
реалізації, оскільки вони мінімізують ризики помилок при розробці та 
забезпечують високу адаптивність системи до дій користувача. Таким чином, 
спроектована архітектура повністю відповідає поставленим завданням щодо 
створення ефективного інструменту для підвищення персональної 
продуктивності. 
45 
ЧДТУ262257 017 ПЗ 
РОЗДІЛ 3. РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО 
ЗАБЕЗПЕЧЕННЯ 
3.1. Розробка програмного комплексу 
3.1.1. Обґрунтування вибору засобів реалізації 
Для розробки програмного продукту «Інтелектуальний планувальник» 
було обрано стек технологій, що забезпечує високу продуктивність, 
кросплатформність та простоту інтеграції модулів. Обґрунтування вибору 
засобів реалізації наведено нижче: 
‒ мова програмування Python: обрана як основний інструмент 
розробки завдяки її гнучкості, потужним бібліотекам для обробки 
даних та підтримці багатопоточності (threading), що є критично 
важливим для коректної роботи таймера Pomodoro без блокування 
основного графічного інтерфейсу. 
‒ графічний інтерфейс (GUI): вибір бібліотеки для реалізації 
інтерфейсу (наприклад, CustomTkinter або PyQt) дозволив створити 
сучасне, адаптивне робоче середовище з використанням кольорових 
легенд, графічних індикаторів прогресу на базі Canvas та інтуїтивно 
зрозумілих форм введення даних. 
‒ система управління базами даних SQLite: використання SQLite як 
локальної СУБД обґрунтоване її легковаговістю та відсутністю потреби 
в окремому сервері. Вона забезпечує ефективне виконання SQL-запитів 
(INSERT, SELECT), що гарантує швидкий доступ до завдань та ведення 
журналу сесій у реальному часі. 
‒ алгоритмічне забезпечення: застосування методів оптимізації 
розкладу (EDF — Earliest Deadline First, WSPT — Weighted Shortest 
Processing Time) реалізовано засобами Python, що дозволяє 
автоматизувати процес пріоритезації справ та надавати користувачеві 
персоналізовані рекомендації через дашборд. 
‒ візуалізація даних: реалізація динамічного дашборду забезпечує 
відображення ключових метрик продуктивності, таких як рівень 
46 
ЧДТУ262257 017 ПЗ 
виконання завдань та прогрес поточної цілі, що допомагає 
користувачеві аналізувати власну ефективність на основі зібраних 
даних. 
Вибір зазначених інструментів дозволив створити цілісну систему, яка 
забезпечує повний цикл роботи з користувацькими даними: від введення 
завдання до автоматизованого аналізу продуктивності. 
3.1.2 Опис структурної та функціональної схем 
Для побудови надійної архітектури «Інтелектуального планувальника» 
було проведено декомпозицію системи на логічні модулі. За допомогою 
структурної схеми (рис. 3.1) було візуалізовано архітектурні зв'язки між 
основними компонентами програми, що дозволяє визначити ієрархію підсистем 
та їхню роль у загальному конвеєрі обробки даних. Функціональна схема (рис. 
3.2) доповнює структурну модель, деталізуючи алгоритмічний шлях 
проходження інформації від дій користувача до фіксації результатів у базі даних. 
Структурна схема відображає модульний підхід до розробки, де кожен 
елемент виконує ізольовану функцію. Це значно спрощує подальшу підтримку 
програми та її масштабування. 
Рисунок 3.1 – Структурна схема 
Опис структурної схеми: 
‒ головний додаток (MainWindow): виступає в ролі контролера 
(Controller), що забезпечує зв'язок між інтерфейсом та бізнес-логікою. 
47 
ЧДТУ262257 017 ПЗ 
Він ініціалізує середовище та керує життєвим циклом усіх інших 
модулів. 
‒ модуль завдань (TasksTab): відповідає за користувацький інтерфейс 
введення та обробку вхідних параметрів. Модуль гарантує, що дані про 
завдання (пріоритети, дедлайни) коректно валідуються перед записом. 
‒ алгоритмічне ядро (Scheduler): автономний блок, що містить 
математичну логіку оптимізації розкладу. Він функціонує як 
обчислювальний інструмент, що трансформує неструктуровані 
завдання у впорядкований список. 
‒ таймер Pomodoro: високоавтономний модуль, що використовує окремі 
потоки для оновлення GUI, гарантуючи, що інтерфейс не блокується 
під час відліку часу. 
‒ база даних (SQLite): єдина точка зберігання, що забезпечує 
персистентність стану програми. Використання реляційної моделі 
дозволяє ефективно пов'язувати завдання з історією виконання сесій. 
Функціональна схема описує послідовність процесів та трансформацій, які 
зазнають дані під час взаємодії користувача з додатком. 
Опис функціональної схеми: 
‒ обробка запитів: кожен клік користувача проходить стадію обробки в 
інтерфейсі, де формується запит до бізнес-логіки. Це забезпечує 
безпеку даних та запобігає передачі некоректних типів даних у базу. 
‒ інтелектуальна оптимізація: функціональна гілка «Планування» 
забезпечує автоматичну пересортування завдань. Завдяки реалізації 
алгоритмів EDF та WSPT, система щоразу пропонує користувачеві 
найбільш ефективний шлях виконання справ, мінімізуючи 
прострочення дедлайнів. 
‒ моніторинг продуктивності: гілка «Моніторинг» реалізує замкнений 
цикл відліку часу. Ключовою функцією тут є автоматичне фіксування 
результату сесії після завершення таймера, що усуває потребу в 
ручному веденні звітності користувачем. 
48 
ЧДТУ262257 017 ПЗ 
‒ фінальна візуалізація: останній етап — оновлення дашборду — 
об’єднує результати роботи всіх попередніх модулів, надаючи 
користувачеві актуальну картину його продуктивності, що є кінцевою 
ціллю функціонування системи. 
Рисунок 3.2- Функціональна схема 
3.1.3. Опис логічної схеми системи 
Логічна схема роботи системи описує послідовність кроків та алгоритмічні 
переходи, які здійснює додаток «Інтелектуальний планувальник» від моменту 
ініціалізації до завершення робочої сесії користувачем. 
Алгоритм роботи системи складається з таких етапів: 
1 Запуск програми: 
‒ користувач запускає додаток. Система ініціалізує головне вікно, 
завантажує параметри конфігурації та встановлює безпечне 
з’єднання з локальною базою даних SQLite для підготовки 
середовища до роботи. 
2 Відображення головного інтерфейсу (Дашборду): 
49 
ЧДТУ262257 017 ПЗ 
‒ програма відкриває графічну панель управління з вкладками. У цей 
момент система зчитує поточний список справ із бази даних, 
розраховує їх пріоритетність та виводить актуальну статистику 
продуктивності, очікуючи подальших вказівок оператора. 
3 Вибір налаштувань та запуск процесів: 
‒ введення завдань: Користувач взаємодіє з формою додавання справ, 
вказуючи назву, рівень важливості та часовий дедлайн. Після 
підтвердження система автоматично оновлює реєстр завдань. 
‒ вибір стратегії планування: Користувач обирає алгоритм оптимізації 
розкладу (EDF або WSPT). Програма миттєво обробляє масив 
завдань і формує впорядкований список виконання справ. 
‒ активація таймера Pomodoro: Користувач обирає завдання та тисне 
кнопку «СТАРТ». Додаток запускає фоновий потік, який починає 
відлік часу робочого інтервалу. 
4 Робота системи (Цикл планування та моніторингу): 
‒ процес планування: Система виконує розрахунок пріоритетів. Якщо 
додано нове завдання, програма автоматично перераховує розклад, 
щоб користувач завжди мав найефективніший план на день. 
‒ цикл таймера: Програма запускає швидкий цикл відліку часу: 
оновлення лічильника \rightarrow візуалізація прогресу на 
графічному індикаторі (Canvas) \rightarrow запис витраченого часу 
(actual_min) у базу даних. 
‒ зворотний зв'язок: Система автоматично оновлює дані на головному 
екрані, демонструючи прогрес виконання поточної цілі. 
5 Завершення роботи: 
‒ цикл роботи продовжується до моменту виконання завдання або 
вичерпання часу сесії. Користувач також може натиснути кнопку 
«ЗУПИНИТИ» для переривання сесії. 
‒ після зупинки програма фіксує підсумкові дані в базі, звільняє 
системні ресурси, закриває відкриті потоки таймера та повертає 
50 
ЧДТУ262257 017 ПЗ 
користувача в головне меню, де він може змінити налаштування або 
завершити роботу додатку, закривши його стандартним способом. 
3.1.4. Розробка бази даних 
Для реалізації функції тривалого зберігання даних про завдання та 
продуктивність користувача у проекті було обрано систему управління базами 
даних SQLite. Даний вибір базується на тому, що SQLite є безсерверним, 
легковаговим та високоефективним рішенням, яке ідеально підходить для 
десктопних додатків. Вся інформація зберігається в одному локальному файлі, 
що спрощує процес резервного копіювання, перенесення програми та не 
потребує встановлення додаткового програмного забезпечення. 
Структура бази даних (Рис.3.3) була спроектована згідно з принципами 
реляційної моделі для забезпечення цілісності та мінімізації надлишковості 
інформації. Основу системи складають два логічно пов’язані блоки. Перший 
блок відповідає за реєстр завдань, де зберігаються всі основні параметри 
користувацьких справ, включаючи назву, встановлений пріоритет та дедлайн. 
Використання окремих полів для статусу виконання дозволяє системі миттєво 
фільтрувати активні завдання від вже завершених, що є критично важливим для 
коректної роботи алгоритмів оптимізації. 
Рисунок 3.3 – Структура бази даних
51 
ЧДТУ262257 017 ПЗ 
Другий блок даних виділений під журнал продуктивності, який фіксує 
результати кожного сеансу роботи за методом Pomodoro. Для забезпечення 
логічного зв’язку між цими блоками використовується механізм зовнішніх 
ключів. Кожен запис у журналі продуктивності містить посилання на конкретне 
завдання з реєстру, що дозволяє системі агрегувати дані та вираховувати 
загальний час, витрачений на виконання того чи іншого завдання. 
У процесі розробки особлива увага приділялася швидкодії виконання 
запитів. Для забезпечення миттєвого відгуку програми при великій кількості 
записів було реалізовано індексування полів, що відповідають за часові 
параметри та дедлайни. Це дозволяє алгоритмам планування EDF та WSPT 
виконувати розрахунки без затримок навіть при тривалому використанні 
додатка. 
Безпека даних та їх незмінність забезпечуються через використання 
транзакційного підходу. Кожна операція зміни статусу завдання або додавання 
нового запису в журнал виконується як цілісна транзакція. Це означає, що у 
випадку виникнення критичних помилок чи збоїв, система гарантує відсутність 
частково записаних даних, що захищає базу від пошкоджень та зберігає 
статистику продуктивності користувача у стабільному стані. 
Такий підхід до моделювання даних дозволяє планувальнику ефективно 
поєднувати функції простого реєстру справ із можливостями інтелектуальної 
аналітики, створюючи надійну основу для відображення статистики на дашборді 
та автоматизації розкладу. 
3.1.5. Розробка інтерфейсу користувача 
Інтерфейс користувача (GUI) «Інтелектуального планувальника» 
спроектовано з фокусом на продуктивність та швидкість доступу до даних. 
Реалізація базується на об’єктно-орієнтованому підході до створення віджетів 
tkinter, що дозволяє легко масштабувати програму.(Рис.3.4.)та (Рис.3.5.) 
Процес розробки інтерфейсу проходив у кілька етапів, кожен з яких 
відображає основні сценарії роботи оператора: 
52 
ЧДТУ262257 017 ПЗ 
1 Етап проектування макету: було створено концептуальну модель, де 
основні інструменти (завдання, таймер, аналітика) винесені в окремі 
вкладки для зменшення когнітивного навантаження на користувача. 
2 Реалізація навігаційної панелі: для забезпечення інтуїтивного 
управління розроблено бічне меню, що дозволяє миттєво перемикатися 
між режимами роботи без потреби у складних переходах. 
3 Візуалізація даних: особливу увагу приділено модулю аналітики, де 
дані про виконані сесії Pomodoro трансформуються у графічні 
гістограми за допомогою бібліотек візуалізації (наприклад, matplotlib 
або вбудований Canvas). 
Рисунок 3.4 - Фрагмент реалізації головного класу інтерфейсу 
53 
ЧДТУ262257 017 ПЗ 
Рисунок 3.5 - Схема головної панелі управління 
3.1.6. Опис розробки програмних компонентів 
Розробка програмних компонентів системи базувалася на принципах 
модульності та відокремлення бізнес-логіки від інтерфейсу користувача. Це 
дозволило забезпечити високу стабільність додатку та спростити процес 
налагодження окремих частин коду. Основні програмні компоненти включають 
ядро обробки даних, модуль таймера та механізми взаємодії з базою даних. 
Реалізація алгоритмічного ядра 
Логіка пріоритезації завдань є серцем системи. Вона реалізована як 
автономний набір методів, що оперує даними, отриманими з бази. Нижче 
наведено фрагмент коду, що демонструє принцип валідації та оновлення даних 
завдання, що є критичним для забезпечення цілісності розкладу (Рис 3.6). 
54 
ЧДТУ262257 017 ПЗ 
Рисунок 3.6 — Фрагмент методу збереження даних завдання 
Реалізація динамічного інтерфейсу 
Для забезпечення інтерактивності було розроблено механізм динамічного 
оновлення таблиці завдань. Метод refresh відповідає за актуалізацію списку 
справ з урахуванням застосованих користувачем фільтрів. 
Рисунок 3.7 — Метод оновлення таблиці завдань 
55 
ЧДТУ262257 017 ПЗ 
Візуалізація аналітичних даних 
Особливу увагу при розробці було приділено модулю аналітики, де на 
основі оброблених даних з pomodoro_logs будуються графіки активності. 
Реалізація _draw_activity використовує можливості Canvas для побудови 
гістограми, що демонструє продуктивність користувача в часовому розрізі. 
‒ координатне масштабування: система автоматично розраховує 
ширину стовпчиків залежно від кількості днів у вибраному періоді, що 
гарантує коректне відображення графіку як для тижневого, так і для 
місячного зрізу. 
‒ динамічне розфарбовування: стовпчики гістограми змінюють колір 
залежно від інтенсивності навантаження (високе/середнє/низьке), що 
дає користувачеві миттєвий візуальний зворотний зв’язок щодо його 
працездатності. 
Використання вказаних підходів до розробки компонентів дозволило 
створити гнучку систему, яка легко піддається модифікації. Зокрема, додавання 
нових алгоритмів сортування чи нових типів графіків аналітики не потребує 
зміни фундаментальної архітектури, що підтверджує ефективність обраного 
технологічного стеку. 
3.2. Тестування системи 
У цьому розділі проведено комплексне тестування розробленого 
програмного забезпечення «Інтелектуальний планувальник» з використанням 
різних рівнів та підходів до верифікації коду. Метою тестування було 
підтвердження коректності роботи алгоритмів пріоритезації завдань, стабільності 
взаємодії з базою даних SQLite та відмовостійкості графічного інтерфейсу в 
умовах інтенсивного використання. 
Результати проведених випробувань демонструють високу стабільність 
архітектури, готовність додатка до впровадження, відповідність вимогам 
надійності та коректність функціонування всіх ключових вузлів системи 
3.2.1. Модальне тестування 
56 
ЧДТУ262257 017 ПЗ 
Функціональне тестування було спрямоване на підтвердження 
відповідності розробленого програмного забезпечення визначеним технічним 
вимогам. У ході тестування було застосовано метод «чорної скриньки» для 
перевірки реакції системи на дії користувача та коректності виконання 
алгоритмів обробки даних. Модульне тестування «Інтелектуального 
планувальника» виконано з використанням сучасного фреймворку pytest та 
модуля unittest.mock, що дозволяє ізолювати компоненти системи (інтерфейс та 
базу даних) від зовнішніх залежностей. 
Наведено програмну реалізацію модульних тестів для перевірки логіки 
оновлення стану завдань та валідації вводу (Рис.3.8)(Рис.3.9): 
Рисунок 3.8 — Програмна реалізація тестів на оновлення статусу та 
видалення завдань 
57 
ЧДТУ262257 017 ПЗ 
Опис модульних тестів: 
‒ test_task_status_update: перевіряє коректність зміни статусу завдання в 
базі даних (наприклад, з pending на done). Метод гарантує, що після 
виклику API оновлення, відповідний запис у БД отримує актуальне 
значення. 
‒ test_invalid_pomodoro_settings: перевіряє стійкість системи до введення 
некоректних даних. Тест підтверджує, що при спробі встановити 
від'ємні або нечислові значення для тривалості Pomodoro, система 
коректно обробляє виключення. 
‒ test_task_deletion: перевіряє логіку видалення запису з бази даних, 
гарантуючи, що після виконання команди delete_task, запис за вказаним 
ідентифікатором стає недоступним для вибірки. 
Рисунок 3.9 — Програмна реалізація модульних тестів для валідації вводу 
58 
ЧДТУ262257 017 ПЗ 
Таблиця 3.1 
Зведена таблиця результатів виконання модульних тестів 
Модуль Результат 
test_task_status_update Успішно 
test_invalid_pomodoro_settings Успішно 
test_task_deletion Успішно 
3.2.2. Інтеграційне тестування 
Інтеграційне тестування призначене для перевірки коректності спільної 
взаємодії та обміну даними між основними ізольованими компонентами системи: 
модулем графічного інтерфейсу (GUI), ядром керування таймером (Pomodoro 
logic) та шаром доступу до даних (SQLite Database). 
Для реалізації інтеграційних випробувань застосовано середовище pytest із 
підміною методів запису в базу даних та керування часом за допомогою об'єктів 
MagicMock та patch. Це дозволило протестувати життєвий цикл завдання без 
реального очікування завершення таймера. Програмну реалізацію інтеграційного 
тесту для перевірки конвеєра виконання завдання представлено на (рис. 3.10). 
Опис інтеграційних тестів: 
‒ test_full_pipeline_execution: перевіряє повний ланцюжок передачі 
сигналів керування від віконної форми додатка до бази даних та блоку 
таймера. Тест верифікує, що при ініціюванні команди «Розпочати 
завдання», програма успішно викликає метод оновлення статусу в БД, 
запускає фоновий потік таймера та коректно оновлює відображення 
інформації в головному вікні. 
‒ Верифікація узгодженості: Випробування доводять, що зв'язки між 
модулем користувацького введення (TaskDialog), модулем бізнес-
логіки та базою даних працюють злагоджено: дані не втрачаються, 
стани завдань коректно синхронізуються між інтерфейсом та 
сховищем, а таймер не блокує основний потік виконання програми. 
59 
ЧДТУ262257 017 ПЗ 
Рисунок 3.10 – Програмна реалізація інтеграційного тестування конвеєра 
виконання завдання  
 Таблиця 3.2 
‒ Результати інтеграційного тестування 
Модуль Результат 
test_full_pipeline_execution Успішно 
3.2.3. Системне тестування 
Системне тестування передбачає оцінку розробленого програмного 
комплексу «Інтелектуальний планувальник» в цілому як єдиної завершеної 
системи, перевіряючи її працездатність у реальних умовах експлуатації. Цей етап 
тестування охоплює як функціональну коректність роботи всіх модулів, так і 
нефункціональні параметри системи: швидкодію інтерфейсу, коректність 
фонового виконання таймера Pomodoro та стабільність збереження даних при 
тривалому навантаженні. 
60 
ЧДТУ262257 017 ПЗ 
Для автоматизації перевірки цілісності конвеєра обробки завдань та якості 
фільтрації статистичних даних було спроектовано тестову архітектуру за 
допомогою pytest, програмний код якої представлено на (рис. 3.11). 
Опис системних тестів: 
‒ test_system_high_quality_morphology (адаптовано для аналітики): 
здійснює наскрізну перевірку підсистеми агрегації статистики. Тест 
імітує виникнення «шумових» даних (наприклад, аномально короткі 
сесії роботи), що могли б викривити результати аналітики, та 
підтверджує, що при активації алгоритму фільтрації вбудоване ядро 
обробки успішно відсікає нерелевантні записи, видаючи оператору 
стабілізований звіт про продуктивність. 
‒ Експериментальна оцінка продуктивності: ручне тестування на базі 
цільового обчислювального пристрою, під час якого вимірювався час 
відгуку інтерфейсу (GUI response time) при перемиканні між великими 
наборами завдань. Результати підтвердили стабільну роботу системи 
без видимих затримок (UI latency < 100 мс), що відповідає критерію 
зручності роботи в реальному часі. 
Рисунок 3.11 – Програмний код системного тестування логіки морфологічної 
фільтрації та обробки даних 
61 
ЧДТУ262257 017 ПЗ 
Таблиця 3.3 
Підсумкові результати проведення системних випробувань 
Модуль Результат 
test_system_high_quality_morphology Успішно 
Тестування навантаження (Database Стабільно (Час запиту < 10 мс) 
I/O) 
Тестування інтерфейсу користувача Відповідає ДСТУ ISO/IEC 25051 
3.2.4. Приймальне тестування 
Приймальне тестування перевіряє, наскільки розроблений програмний 
комплекс «Інтелектуальний планувальник» відповідає визначеним на етапі 
проектування вимогам та чи готова система до реальної експлуатації 
користувачем. Тести охоплюють верифікацію функціональності інтерфейсу, 
стабільності таймера Pomodoro, коректності роботи з базою даних та ергономіку 
управління часом. 
Тестування проведено у вигляді мануальних сценаріїв, що імітують типові 
робочі дні користувача. 
Сценарій 1. Створення завдання та встановлення пріоритету 
Сценарій: Успішне додавання нового запису в базу даних із визначеними 
параметрами (пріоритет, дедлайн, час).  
Кроки: 
‒ запустіть додаток «Інтелектуальний планувальник». 
‒ натисніть кнопку «Додати нове завдання». 
‒ заповніть поле назви завдання, виберіть пріоритет у списку та 
встановіть орієнтовний час виконання. 
‒ натисніть «Зберегти».  
‒ очікуваний результат: завдання з’являється у списку (Treeview) з 
коректно відображеним рівнем пріоритету.  
‒ запис успішно додано до файлу бази даних tasks.db. 
62 
ЧДТУ262257 017 ПЗ 
Сценарій 2. Запуск та робота таймера Pomodoro 
Сценарій: Оцінка працездатності модуля фонового таймера та його впливу 
на UI.  
Кроки: 
‒ виберіть існуюче завдання у списку та натисніть «Розпочати». 
‒ спостерігайте за відліком часу у вікні таймера. 
‒ під час відліку спробуйте перемикатися між вкладками «Завдання» та 
«Аналітика». Очікуваний результат: Таймер продовжує зворотний 
відлік у фоновому потоці без затримок в інтерфейсі. При досягненні 
нуля система видає візуальне сповіщення або звуковий сигнал (якщо 
реалізовано). 
Сценарій 3. Генерація аналітичного звіту 
Сценарій: Візуалізація продуктивності користувача на основі логів бази 
даних.  
Кроки: 
‒ перейдіть на вкладку «Аналітика». 
‒ виберіть часовий діапазон для перегляду. 
‒ натисніть кнопку «Оновити графік». Очікуваний результат: Система 
динамічно розраховує дані з pomodoro_logs, будує графік активності 
(гістограму) на об'єкті Canvas, коректно масштабуючи осі відповідно до 
періоду. 
Сценарій 4. Екстрене завершення та цілісність даних 
Сценарій: Перевірка виходу з програми при активному таймері. Кроки: 
‒ запустіть таймер для завдання. 
‒ закрийте головне вікно програми через стандартну кнопку «Х» (Close). 
Очікуваний результат: Програма коректно зупиняє потік таймера, 
виконує db.commit() для збереження поточних змін і успішно вивільняє 
ресурси без помилок у консолі. 
‒ Таблиця 3.4 
‒ Виконання всіх ручних сценаріїв приймального тестування  
63 
ЧДТУ262257 017 ПЗ 
Сценарій Результат 
Додавання та збереження завдання в БД Успішно 
Робота таймера Pomodoro у фоновому Успішно 
потоці 
Побудова аналітичного графіка Успішно 
Коректне закриття з вивільненням ресурсів Успішно 
3.3. Приклади впровадженого програмного комплексу 
Розроблений програмний комплекс «Інтелектуальний планувальник» 
забезпечує інтуїтивно зрозумілий інтерфейс для автоматизації обліку робочого 
часу та підвищення персональної продуктивності. Нижче наведено опис 
ключових етапів взаємодії з системою. 
1  Запуск додатка та первинна конфігурація 
Після запуску головного виконуваного файлу системи користувач 
потрапляє на вкладку «Налаштування» (Рис. 3.12). На цій сторінці здійснюється 
первинна ініціалізація профілю, встановлення графіку роботи («Початок» та 
«Кінець» робочого дня) та налаштування параметрів техніки Pomodoro: 
тривалості робочого інтервалу та часу перерв. 
2  Створення та коригування завдань 
Для планування робочого навантаження користувач переходить у розділ 
«Завдання». Додавання нової справи здійснюється натисканням кнопки «Додати 
нове завдання», що відкриває діалогове вікно (Рис. 3.13). Користувач вносить 
назву завдання, обирає категорію, рівень пріоритету та оцінює очікуваний час 
виконання. Система автоматично зберігає ці параметри в локальну базу даних 
work_planner.db. 
3  Виконання завдань та використання таймера Pomodoro 
Модуль «Pomodoro» (Рис. 3.14) призначений для безпосередньої роботи 
над завданнями. Оператор обирає зі списку активне завдання, після чого 
64 
ЧДТУ262257 017 ПЗ 
запускається зворотний відлік часу. Система автоматично веде «Журнал сесій», 
фіксуючи дату, назву завдання та витрачені хвилини. Це дозволяє користувачеві 
відстежувати концентрацію на кожній окремій задачі протягом дня. 
4  Аналіз продуктивності та робота з дашбордом 
На «Дашборді» (Рис. 3.15) система надає візуалізовану звітність: кількість 
виконаних завдань, витрачений час та рівень продуктивності в реальному часі. 
Штучний інтелект аналізує завантаженість користувача та виводить 
персоналізовані рекомендації (наприклад, «Навантаження в нормі»), 
допомагаючи уникати професійного вигорання та оптимізувати графік. 
5  Структура файлової системи 
Програмний комплекс має модульну архітектуру, що спрощує технічне 
обслуговування (Рис. 3.16). Основна логіка розподілена між пакетами: 
‒ core — ядро розрахунків; 
‒ ui — графічний інтерфейс; 
‒ data — методи взаємодії з БД; 
‒ utils — допоміжні функції. 
Рисунок 3.11 – Головний профіль користувача 
65 
ЧДТУ262257 017 ПЗ 
Рисунок 3.12 – Вікно коригування завдань 
Рисунок 3.13-Таймер виконання завдання 
66 
ЧДТУ262257 017 ПЗ 
Рисунок 3.14 – Розроблений графічний інтерфейс ПЗ 
Рисунок 3.15 – Створена БД 
67 
ЧДТУ262257 017 ПЗ 
ВИСНОВКИ ДО ТРЕТЬОГО РОЗДІЛУ 
У третьому розділі було проведено повну програмну реалізацію 
«Інтелектуального планувальника» та здійснено комплексне тестування його 
функціональних можливостей. 
За результатами виконаної роботи можна зробити наступні висновки: 
1 Програмна реалізація: Розроблено архітектуру додатка з чітким 
розділенням на рівні даних (data), бізнес-логіки (core) та інтерфейсу 
(ui). Впроваджено локальну базу даних SQLite, яка забезпечує швидкий 
доступ до завдань та ведення історії робочих сесій користувача. 
Графічний інтерфейс, побудований на CustomTkinter, забезпечує високу 
ергономічність та зручність роботи з усіма модулями системи. 
2 Функціональність: Реалізовано інтелектуальний алгоритм Pomodoro, 
інтегрований із системою ведення логів, що дозволяє користувачеві не 
лише керувати своїм часом, а й аналізувати ефективність роботи на 
вкладці «Аналітика». Механізм рекомендацій ШІ забезпечує зворотний 
зв’язок, допомагаючи користувачеві уникати перевантажень. 
3 Якість ПЗ: Проведене тестування (модульне, інтеграційне, системне та 
приймальне) підтвердило надійність розробленого програмного 
продукту. 
‒ модульні тести довели коректність роботи окремих компонентів 
інтерфейсу та БД; 
‒ інтеграційні тести підтвердили безперебійну взаємодію між 
таймером, базою даних та графічною оболонкою; 
‒ cистемні та приймальні випробування засвідчили, що система 
працює стабільно в реальних умовах, відповідає вимогам до 
швидкодії (час відгуку < 100 мс) та успішно обробляє помилкові дії 
користувача. 
Таким чином, розроблений програмний комплекс повністю відповідає 
технічному завданню та готовий до експлуатації кінцевими користувачами, 
забезпечуючи ефективний інструментарій для автоматизації персонального 
планування часу.
68 
ВИСНОВОК 
У кваліфікаційній роботі вирішено актуальне науково-прикладне завдання 
автоматизації процесів персонального планування часу та аналізу ефективності 
робочої діяльності шляхом розробки програмного комплексу «Інтелектуальний 
планувальник». 
На основі проведеного аналізу та результатів розробки можна зробити 
наступні висновки: 
1. Обґрунтування актуальності: Встановлено, що в сучасних умовах 
високої інформаційної завантаженості методи класичного тайм-
менеджменту потребують цифровізації та інтеграції з алгоритмами 
аналізу даних. Запропонована інтелектуальна система дозволяє 
мінімізувати когнітивне навантаження на користувача, автоматизуючи 
розподіл завдань та моніторинг продуктивності.
2. Теоретико-методичне забезпечення: Досліджено та систематизовано 
підходи до організації робочого часу, зокрема техніку Pomodoro. 
Обґрунтовано доцільність використання архітектури, що базується на 
поділі бізнес-логіки, шару зберігання даних та графічного інтерфейсу, 
що забезпечило високу гнучкість системи.
3. Технічна реалізація: Розроблено програмний комплекс, який успішно 
поєднує інструменти планування з аналітичним блоком. Інтеграція бази 
даних SQLite дозволила забезпечити цілісність та довготривале 
зберігання логів активності користувача. Реалізовані алгоритми 
дозволяють проводити динамічну візуалізацію продуктивності, що надає 
користувачеві зворотний зв’язок щодо його ефективності.
4. Результати тестування: Комплексна програма випробувань (модульне, 
інтеграційне та системне тестування) підтвердила коректність роботи 
всіх програмних модулів та стабільність системи при різних сценаріях 
навантаження. Виявлено високий рівень відмовостійкості та 
відповідність розробленого інтерфейсу сучасним ергономічним вимогам.
69 
5.   Практична цінність: Створений програмний продукт є готовим
рішенням для індивідуального користувача, що сприяє підвищенню
особистої ефективності. Завдяки модульній структурі код є придатним
для подальшого масштабування, включаючи можливість впровадження
складніших алгоритмів машинного навчання для прогнозування
продуктивності.
Таким чином, мета роботи досягнута, а поставлені завдання виконані в 
повному обсязі. Результати роботи можуть бути використані як для особистого 
планування, так і як база для подальших досліджень у сфері персональної 
продуктивності та інтелектуальних систем управління часом. 
70 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
1 Allen D. Getting Things Done: The Art of Stress-Free Productivity. New 
York: Penguin Books, 2001. 352 p. URL: https://gettingthingsdone.com/getting-things-
done-the-art-of-stress-free-productivity/ 
2 Cirillo F. The Pomodoro Technique: The Acclaimed Time-Management 
System That Has Transformed How We Work. New York: Currency, 2018. 160 p. 
URL: https://www.pomodorotechnique.com/ 
3 Pinedo M. L. Scheduling: Theory, Algorithms, and Systems. 5th ed. Cham: 
Springer, 2016. 680 p.URL:https://link.springer.com/book/10.1007/978-3-319-26580-3 
4 Russell S., Norvig P. Artificial Intelligence: A Modern Approach. 4th ed. 
Hoboken: Pearson, 2020. 1132 p. URL: https://aima.cs.berkeley.edu/ 
5 Covey S. R. The 7 Habits of Highly Effective People: Powerful Lessons in 
Personal Change. New York: Simon & Schuster, 1989. 372 p.  
URL: https://www.franklincovey.com/courses/the-7-habits/ 
6 Lutz M. Learning Python. 5th ed. Sebastopol: O'Reilly Media, 2013. 1648 p. 
URL: https://www.oreilly.com/library/view/learning-python-5th/9781449355722/ 
7 Summerfield M. Programming in Python 3: A Complete Introduction to the 
Python Language. 2nd ed. Addison-Wesley, 2010. 552 p.  
URL:https://www.amazon.com/Programming-Python-Complete-Introduction-
Language/dp/0321680561 
8 Owens M., Allen G. SQLite. 2nd ed. Sebastopol: O'Reilly Media, 2010.528 p. 
URL: https://www.oreilly.com/library/view/sqlite-2nd-edition/9780596156060/ 
9 Fowler M. Patterns of Enterprise Application Architecture. Boston: Addison-
Wesley, 2002. 533 p. URL: https://martinfowler.com/books/eaa.html 
10 Nielsen J. Usability Engineering. San Francisco: Morgan Kaufmann, 1994. 
362 p. URL: https://www.amazon.com/Usability-Engineering-Jakob-
Nielsen/dp/0125184069 
71 
11 Hermans F. The Programmer's Brain: What Every Programmer Needs to 
Know about Cognition. Manning Publications, 2021. 280 p. URL: 
https://www.manning.com/books/the-programmers-brain 
12 Трофименко О. Г., Тугарина Ю. В. Алгоритми та структури даних. 
Харків: ХНУРЕ, 2020. 384 с. 
13 Pavlov A., Misyura O. Intelligent scheduling systems: survey and taxonomy. 
Journal of Computer Science. 2021. Vol. 17(8). P. 731–745. 
14 Kurzweil R., Marcus G. Predicting task duration: ML approaches in time 
management software. AI & Society. 2022. Vol. 37(2). P. 543–558. 
15 Roenneberg T. Internal Time: Chronotypes, Social Jet Lag, and Why You're 
So Tired. Cambridge: Harvard University Press, 2012. 288p.  
URL: https://www.hup.harvard.edu/books/9780674975392 
16 McKinney W. Python for Data Analysis. 3rd ed. Sebastopol: O'Reilly Media, 
2022. 579 p. URL: https://wesmckinney.com/book/ 
17 Beazley D., Jones B. K. Python Cookbook: Recipes for Mastering Python 3. 
3rd ed. O'Reilly Media, 2013. 706 p. URL: 
https://www.oreilly.com/library/view/python-cookbook-3rd/9781449357337/ 
18 Sommerville I. Software Engineering. 10th ed. Pearson, 2016. 816 p. URL: 
https://www.amazon.com/Software-Engineering-10th-Ian-
Sommerville/dp/0133943038 
19 Pressman R., Maxim B. Software Engineering: A Practitioner's Approach. 9th 
ed. McGraw-Hill Education, 2020. 976 p. URL: 
https://www.mheducation.com/highered/product/software-engineering-a-practitioners-
approach-pressman.html 
20 Todoist — Task Manager & To-Do List. URL: https://todoist.com (дата 
звернення: 01.05.2025). 
21 Microsoft To Do. URL: https://todo.microsoft.com (дата звернення: 
01.05.2025). 
72 
22 Notion – One workspace. Every team. URL: https://www.notion.so (дата 
звернення: 02.05.2025). 
23 Trello – Manage Your Team's Projects From Anywhere. URL: 
https://trello.com (дата звернення: 02.05.2025). 
24 RescueTime – Time Management Software. URL: 
https://www.rescuetime.com (дата звернення: 03.05.2025). 
25 Python Software Foundation. Python 3.11 Documentation. URL: 
https://docs.python.org/3.11/ (дата звернення: 05.05.2025). 
26 SQLite Documentation. URL: https://www.sqlite.org/docs.html (дата 
звернення: 05.05.2025). 
27 Tkinter — Python Interface to Tcl/Tk. URL: 
https://docs.python.org/3/library/tkinter.html (дата звернення: 06.05.2025). 
28 TIOBE Programming Community Index. URL: https://www.tiobe.com/tiobe-
index/ (дата звернення: 08.05.2025). 
29 ДСТУ 8302:2015. Інформація та документація. Бібліографічне посилання. 
Загальні положення та правила складання. Київ: ДП «УкрНДНЦ», 2016. 16 с. 
30 Закон України «Про авторське право і суміжні права». Відомості 
Верховної Ради України. 2023. № 30. Ст. 197. 
73 
ДОДАТОК А
ЗАТВЕРДЖЕНО: 
Зав. кафедрою ПЗАС, 
професор 
_________________Голуб С.В. 
„____” ______________ 2026 р.
Програмна реалізація 
інтелектуального алгоритму планування робочого часу
Специфікація
482. ЧДТУ 262257 017
Листів 2
Розробник ________________ Повзун О.Д. 
Керівник ________________ Білоніг А.В. 
2026 
 
Позначення Найменування Примітки 
Документація 
482.ЧДТУ. 262257 12 01 Текст програми 
482.ЧДТУ. 262257 34 01 Інструкція користувачеві 
482.ЧДТУ. 262257 90 01 Графічні матеріали 
75 
ДОДАТОК Б 
Програмна реалізація інтелектуального алгоритму планування робочого часу 
Текст програми 
482.ЧДТУ. 262257 12 01
Листів 
Розробник ________________ Повзун О.Д. . 
2026 
 
482.ЧДТУ. 262257 12 01
import tkinter as tk 
from tkinter import messagebox 
import sys 
import os 
# Додаємо кореневу директорію до шляху 
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) 
from ui.main_window import MainWindow 
from data.database import Database 
def main(): 
 """Точка входу в програму.""" 
 # Ініціалізація бази даних 
 db = Database() 
 db.initialize() 
 # Запуск GUI 
 root = tk.Tk() 
 root.title("Інтелектуальний планувальник робочого часу") 
 root.geometry("1200x750") 
 root.minsize(900, 600) 
 # Іконка та стиль вікна 
 try: 
     root.iconbitmap("") 
 except Exception: 
 pass 
77 
482.ЧДТУ. 262257 12 01
 app = MainWindow(root, db) 
 root.protocol("WM_DELETE_WINDOW", lambda: on_close(root, db)) 
 root.mainloop() 
def on_close(root, db): 
 """Обробник закриття вікна.""" 
 if messagebox.askokcancel("Вихід", "Закрити програму?"): 
 db.close() 
 root.destroy() 
if __name__ == "__main__": 
 main() 
class Database: 
 """Клас для роботи з локальною базою даних SQLite.""" 
 DB_PATH = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 
 "work_planner.db") 
 def __init__(self): 
 self.conn = None 
 self.cursor = None 
 def initialize(self): 
 """Ініціалізація та створення таблиць.""" 
 self.conn = sqlite3.connect(self.DB_PATH) 
78 
482.ЧДТУ. 262257 12 01
 self.conn.row_factory = sqlite3.Row 
 self.cursor = self.conn.cursor() 
 self._create_tables() 
 self._seed_defaults() 
 return self 
 def _create_tables(self): 
 """Створення схеми бази даних.""" 
 self.cursor.executescript(""" 
 CREATE TABLE IF NOT EXISTS categories ( 
 id      INTEGER PRIMARY KEY AUTOINCREMENT, 
 name    TEXT NOT NULL UNIQUE, 
 color   TEXT DEFAULT '#4A90D9', 
 icon    TEXT DEFAULT '��' 
 ); 
 CREATE TABLE IF NOT EXISTS tasks ( 
 id              INTEGER PRIMARY KEY AUTOINCREMENT, 
 title           TEXT NOT NULL, 
 description     TEXT, 
 category_id     INTEGER REFERENCES categories(id), 
 priority   INTEGER DEFAULT 2,   -- 1=низький 2=середній 3=високий 4=критичний 
 estimated_min   INTEGER DEFAULT 30,  -- оцінений час у хвилинах 
 actual_min      INTEGER DEFAULT 0,   -- фактичний час 
 deadline        TEXT,               -- ISO datetime 
 scheduled_start TEXT,              -- ISO datetime 
 scheduled_end   TEXT, 
 status          TEXT DEFAULT 'pending',  -- pending/in_progress/done/cancelled 
 energy_required INTEGER DEFAULT 2,   -- 1=низький 2=середній 3=високий 
79 
482.ЧДТУ. 262257 12 01
 created_at      TEXT DEFAULT (datetime('now','localtime')), 
 updated_at      TEXT DEFAULT (datetime('now','localtime')) 
 ); 
 CREATE TABLE IF NOT EXISTS work_sessions ( 
 id  INTEGER PRIMARY KEY AUTOINCREMENT, 
 task_id     INTEGER REFERENCES tasks(id), 
 start_time  TEXT NOT NULL, 
 end_time    TEXT, 
 duration_min INTEGER DEFAULT 0, 
 notes       TEXT 
 ); 
 CREATE TABLE IF NOT EXISTS user_profile ( 
 id              INTEGER PRIMARY KEY DEFAULT 1, 
 name            TEXT DEFAULT 'Користувач', 
 work_start      TEXT DEFAULT '09:00', 
 work_end        TEXT DEFAULT '18:00', 
 break_duration  INTEGER DEFAULT 15,  -- хв 
 pomodoro_work   INTEGER DEFAULT 25,  -- хв 
 pomodoro_break  INTEGER DEFAULT 5, 
 peak_hours      TEXT DEFAULT '09:00-12:00',  -- години пікової продуктивності 
 weekly_goal_min INTEGER DEFAULT 2400          -- 40 годин 
 ); 
 CREATE TABLE IF NOT EXISTS activity_log ( 
 id  INTEGER PRIMARY KEY AUTOINCREMENT, 
 event_type  TEXT, 
 description TEXT, 
80 
482.ЧДТУ. 262257 12 01
 timestamp   TEXT DEFAULT (datetime('now','localtime')) 
     ); 
 """) 
 self.conn.commit() 
 def _seed_defaults(self): 
 """Початкові дані.""" 
 self.cursor.execute("SELECT COUNT(*) FROM categories") 
 if self.cursor.fetchone()[0] == 0: 
 cats = [ 
 ("Розробка", "#4A90D9", "��"), 
 ("Навчання", "#7B68EE", "��"), 
 ("Зустрічі", "#F5A623", "��"), 
 ("Адміністрування", "#50E3C2", "⚙️"), 
 ("Особисте", "#E91E63", "��"), 
 ] 
 self.cursor.executemany( 
 "INSERT OR IGNORE INTO categories (name, color, icon) VALUES (?,?,?)", cats 
 ) 
 self.cursor.execute("SELECT COUNT(*) FROM user_profile") 
 if self.cursor.fetchone()[0] == 0: 
 self.cursor.execute("INSERT INTO user_profile DEFAULT VALUES") 
 self.conn.commit() 
 # ──────────────────────────── Tasks ──────────────────────────── 
 def get_tasks(self, status=None, date=None): 
81 
482.ЧДТУ. 262257 12 01
 q = """SELECT t.*, c.name as cat_name, c.color as cat_color, c.icon as cat_icon 
      FROM tasks t LEFT JOIN categories c ON t.category_id = c.id""" 
 params = [] 
 conds = [] 
 if status: 
 conds.append("t.status = ?") 
     params.append(status) 
 if date: 
 conds.append("DATE(t.scheduled_start) = ?") 
 params.append(date) 
 if conds: 
     q += " WHERE " + " AND ".join(conds) 
 q += " ORDER BY t.priority DESC, t.deadline" 
 self.cursor.execute(q, params) 
 return [dict(r) for r in self.cursor.fetchall()] 
 def add_task(self, data: dict) -> int: 
 cols = ", ".join(data.keys()) 
 placeholders = ", ".join(["?"] * len(data)) 
 self.cursor.execute( 
 f"INSERT INTO tasks ({cols}) VALUES ({placeholders})", list(data.values()) 
 ) 
 self.conn.commit() 
 self.log("task_add", f"Додано завдання: {data.get('title')}") 
 return self.cursor.lastrowid 
 def update_task(self, task_id: int, data: dict): 
 data["updated_at"] = datetime.now().strftime("%Y-%m-%d %H:%M:%S") 
 sets = ", ".join([f"{k}=?" for k in data.keys()]) 
82 
482.ЧДТУ. 262257 12 01
 self.cursor.execute(f"UPDATE tasks SET {sets} WHERE id=?", 
      list(data.values()) + [task_id]) 
 self.conn.commit() 
 def delete_task(self, task_id: int): 
 self.cursor.execute("DELETE FROM tasks WHERE id=?", (task_id,)) 
 self.conn.commit() 
 self.log("task_delete", f"Видалено завдання ID={task_id}") 
 def get_task(self, task_id: int): 
 self.cursor.execute("""SELECT t.*, c.name as cat_name, c.color as cat_color 
 FROM tasks t LEFT JOIN categories c ON t.category_id=c.id 
      WHERE t.id=?""", (task_id,)) 
 row = self.cursor.fetchone() 
 return dict(row) if row else None 
 # ──────────────────────────── Sessions ──────────────────────────── 
 def start_session(self, task_id: int) -> int: 
 now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") 
 self.cursor.execute( 
 "INSERT INTO work_sessions (task_id, start_time) VALUES (?,?)", (task_id, now) 
 ) 
 self.conn.commit() 
 self.update_task(task_id, {"status": "in_progress"}) 
 return self.cursor.lastrowid 
 def end_session(self, session_id: int, notes: str = ""): 
 now = datetime.now() 
83 
482.ЧДТУ. 262257 12 01
 self.cursor.execute("SELECT start_time FROM work_sessions WHERE id=?", (session_id,)) 
 row = self.cursor.fetchone() 
 if row: 
 start = datetime.strptime(row["start_time"], "%Y-%m-%d %H:%M:%S") 
 duration = int((now - start).total_seconds() / 60) 
 self.cursor.execute( 
 "UPDATE work_sessions SET end_time=?, duration_min=?, notes=? WHERE id=?", 
 (now.strftime("%Y-%m-%d %H:%M:%S"), duration, notes, session_id) 
 ) 
 # Оновлення фактичного часу в завданні 
 self.cursor.execute( 
 "UPDATE tasks SET actual_min = actual_min + ? WHERE id=" 
 "(SELECT task_id FROM work_sessions WHERE id=?)", 
 (duration, session_id) 
 ) 
 self.conn.commit() 
 return duration 
 return 0 
 def get_sessions(self, task_id=None, date=None): 
 q = "SELECT ws.*, t.title FROM work_sessions ws LEFT JOIN tasks t ON ws.task_id=t.id" 
 params = [] 
 conds = [] 
 if task_id: 
     conds.append("ws.task_id=?"); params.append(task_id) 
 if date: 
     conds.append("DATE(ws.start_time)=?"); params.append(date) 
 if conds: 
 q += " WHERE " + " AND ".join(conds) 
84 
482.ЧДТУ. 262257 12 01
 q += " ORDER BY ws.start_time DESC" 
 self.cursor.execute(q, params) 
 return [dict(r) for r in self.cursor.fetchall()] 
85 
ДОДАТОК В 
Програмна реалізація 
інтелектуального алгоритму планування робочого часу 
Інструкція користувачеві 
482.ЧДТУ. 262257 34 01
Листів 
Розробник ________________ Повзун О.Д. 
2026 
 
482.ЧДТУ. 262257 34 01
Ця інструкція описує порядок роботи з програмним забезпеченням . 
Програмний комплекс «Інтелектуальний планувальник» призначений для 
оптимізації робочого часу, автоматизації обліку завдань та аналізу продуктивності 
користувача за допомогою інтегрованих методів планування та аналітичних 
алгоритмів. 
Системні вимоги: 
‒ Операційна система: Windows 10/11. 
‒ Програмне забезпечення: Встановлений інтерпретатор Python 3.10+ та необхідні 
бібліотеки (згідно з requirements.txt). 
‒ База даних: Система автоматично створює файл work_planner.db у директорії 
програми при першому запуску. 
1. Запуск програми та опис інтерфейсу
Після запуску системи користувач потрапляє на вкладку «Налаштування» (Рис. 
В.1), де проводиться первинна ініціалізація профілю та параметрів Pomodoro. 
Рисунок. В.1 - Головне вікно налаштувань «Інтелектуального 
планувальника» 
2. Планування та коригування завдань
Керування завданнями здійснюється через спеціальне вікно (Рис. В.2), де 
задаються назва, категорія, пріоритет та очікуваний час. 
87 
482.ЧДТУ. 262257 34 01
Рисунок. В.2  - Діалогове вікно створення нового завдання 
3. Виконання завдань та робота таймера
Для фокусованої роботи використовується інтерфейс таймера (Рис. В.3) з 
інтегрованим журналом сесій. 
Рисунок. В.3 - Робочий інтерфейс модуля таймера Pomodoro 
4. Моніторинг та аналітика
Дашборд (Рис. В.4) надає зведену інформацію про продуктивність, прострочені 
завдання та рекомендації ШІ. Детальний аналіз та побудова графіків доступні 
на вкладці «Аналітика» (Рис. В.5). 
88 
482.ЧДТУ. 262257 34 01
Рисунок. В.4 - Графічна візуалізація продуктивності на вкладці «Аналітика» 
Рисунок. В.5- Вікно розкладу дня та візуалізація навантаження 
5. Допоміжні модулі та структура даних
Вікно «Розклад дня» (рис. В.6) дозволяє візуалізувати завантаженість по 
годинах. Технічну структуру проекту, включаючи файл бази даних work та 
вікно налаштування (Рис.В.7.) 
89 
482.ЧДТУ. 262257 34 01
Рисунок. В.6- Вікно розкладу  аналітики 
Рисунок. В.7- Вікно налаштування 
90 
ДОДАТОК Г 
Програмне забезпечення інформаційної системи аналізу об'єктів ландшафту 
Текст програми 
482.ЧДТУ. 262257 90 01
Листів 11 
Розробник ________________ Повзун О.Д. . 
2026 
 
482.ЧДТУ. 262257 90 01
Рисунок Г.1 – Титульний слайд 
Рисунок Г.2 – Мета та завдання розробки 
92 
482.ЧДТУ. 262257 90 01
Рисунок Г.3 – Актуальність , об’єкта та предмет дослідження 
Рисунок Г.4- Аналіз існуючих програмних рішень 
93 
482.ЧДТУ. 262257 90 01
Рисунок Г.5 – Обґрунтування вибору технологічного стеку 
 Рисунок Г.6- Діаграма прецедентів для системи  та Повна діаграма класів 
94 
482.ЧДТУ. 262257 90 01
Рисунок Г.7 - Діагарма діяльності та Діаграма розгортання 
Рисунок Г.8 - Діаграма компонентів 
95 
482.ЧДТУ. 262257 90 01
Рисунок. Г.9- Діагарма пакетів 
Рисунок. Г.10- Діаграма послідовності та Діаграма комунікації 
96 
482.ЧДТУ. 262257 90 01
Рисунок. Г.11- Діаграма скінченного автомату 
Рисунок. Г.12- Структура бази даних 
97 
482.ЧДТУ. 262257 90 01
Рисунок. Г.13-  Профіль користувача 
Рисунок. Г.14-  Управління  завданнями 
98 
482.ЧДТУ. 262257 90 01
Рисунок. Г.15 - Таймер Pomodoro 
Рисунок. Г.16 - Дашборд WorkPlanner 
99 
482.ЧДТУ. 262257 90 01
Рисунок. Г.17 - Результати тестування 
Рисунок. Г.18 – Висновки роботи 
100 
482.ЧДТУ. 262257 90 01
Рисунок. Г.19 – Дякую за увагу 
101