Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/9191
Title: Розробка телеграм боту формування чек-листа для обраного виду тестування програмного забезпечення
Authors: Катаєва, Євгенія Юріївна
Сиротенко, Сергій Сергійович
Keywords: автоматизація;розробка програмного забезпечення;розробка телеграм бота;чек-листи;тестування різного виду програмного забезпечення;проектування;бази даних;automation;software development;Telegram bot development;checklists;various types of software testing;design;databases
Issue Date: 17-Jun-2024
Abstract: АНОТАЦІЯ Сиротенко С.С., тема кваліфікаційної роботи бакалавра «Розробка телеграм боту формування чек-листа для обраного виду тестування програмного забезпечення», за спеціальністю 121 «Інженерія програмного забезпечення», - «Черкаський державний технологічний університет», м. Черкаси , 2024 Ця дипломна робота присвячена розробці телеграм боту для формування чек-листа для обраного виду тестування програмного забезпечення інформаційної системи . Метою виконання кваліфікаційної роботи є створення програмного забезпечення інформаційної системи телеграм бота, який дозволить користувачам швидко та ефективно створювати чек-листи для тестування ПЗ. Робота передбачає : 1 Аналіз методів та засобів розв'язання поставлених задач; 2 Конструювання програмного забезпечення інформаційної системи; З Проектування програмного забезпечення інформаційної системи; 4 Тестування усунення недоліків програмного забезпечення інформаційної системи. Для розробки програмного забезпечення інформаційної системи телеграм бота формування чек-листа для тестування обраного виду ПЗ проектовані інформаційні системи які включають аналіз предметної області, розробки логічної структури системи, проектування інтерфейсу користувача, створення бази даних, проведення модульного, інтеграційного, системного та приймального тестування. Об'єктом розробки є процес проектування, конструювання, тестування програмного забезпечення.
Sirotenko S.S., Bachelor's qualification thesis topic "Development of а Telegram Bot for Creating Checklists for а Selected Tepe of Software Testing", specialty 121 "Software Engineering", - "Cherkasy State Technological University", Cherkasy, 2024. This thesis is dedicated to the development of а Telegram bot for creating checklists for а selected type of software testing. The goal of the qualification work is to create software fоr а Telegram bot that allows users to quickly and efficiently create checklists for software testing. The work involves: 1 Analysis of methods and tools for solving the given tasks; 2 Construction of information system software; З Design of information system software; 4 Testing and debugging of information system software. То develop of information system software for the Telegram bot for creating checklists for the selected type of software testing, information systems were designed, which include domain analysis, logical structure development, user interface design, database creation, and conducting unit, integration, system, and acceptance testing. The object of development is the process of designing, constructing, and testing software.
URI: https://er.chdtu.edu.ua/handle/ChSTU/9191
Appears in Collections:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)



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

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬЮ1Й ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
Факультет інформаційних технологій і систем 
Кафедра програмного забезпечення автоматизованих систем 
ПОЯСНЮВАЛЬНА ЗАПИСКА 
до кваліфікаційної роботи 
бакалавра 
на тему: «Розробка телеграм боту формування чек-листа для обраного виду 
тестування програмного забезпечення» 
Виконав: студент 4 курсу, групи ПЗ-2004 
спеціальності 
121 «Інженерія програмного забезпечення» 
(шифр і назва напряму підготовки) 
Студент Сиротенко С.С. 
(прізвище та ініціали) 
Керівник Катаєва Є.Ю. 
(прізвище та ініціали) 
Рецензент ЗолотоверхийЯ.В. 
(прізвище та ініціали) 
Черкаси 2024 
Чс ЖІlСЬІ<ИЙ С ))1(8ВІІИЙ TCXIIOJJOJ jчний ніпс CИ'JC'J 
llODIIC 11nіімс11уво1111.11 ІJИЩО/ О /IOIJ'/IJJ/1,HO/ О 1акшту 
Факультет ін ю Jма ійних технологій і систе 
Кафедра 
Освітній рівень баr<алаnр 
Спеціальність 
Освітня програма амного забезпечення 
J\C, професор 
С.Го б 
ЗАВДАННЯ 
НА КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ 
Сиротенко Сергій Сергійович 
( прізвище, ім'я, по батькові) 
І. Тема проекту (роботи) Розробка телеграм боту формування чек-листа для оо:раного виду 
тестування ПЗ 
Керівник проекту (роботи) Катаєва Євгенія Юріївна д.т.н., професор 
(прізвище, ім 'я , по батькові, науковий ступінь, вчене звання) 
Затверджені наказом Черкаського державного технологічного університету від « 26 » moтoro 
2024 року №60/04 
2. Строк подання студентом проекту (роботи) _____ ____ _________  
З. Вхідні дані до проекту (роботи) стандарти програмного забезпечення; процеси управління: 
календарне планування проекту; управління ризиками проекту; управління ресурсами 
4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно розробити) Вступ: 
Розділ І. Існуючі методи та засоби розв 'язання поставдених завдань; 
Розділ 2. Впровадження результатів дослідження у практику проектування програмного 
забезпечення інформаційних систем; 
Розділ З. Розробка та тестування програмного забезпечення; 
Висновки: 
Список використаних джерел; 
о атки. 
5. Перелік графічного матеріалу (з точним зазначенням обов'язкових робіт проекту); 
Додатоки Г - Графічний матеріал. 
6. Консультанти розділів роботи 
Прізвище, ініціали та посади Підпис, дата 
Розділ 
консультанта Завдання видав Завдання прийняв 
І 
2 
7. Дата видач.і завдання =2~6~л=ю~~то~г~о~2=0~2~4-'--"'·Р ~_ ___________________  
КАЛЕН РНИЙ ПJІЛН 
'трок 
виконання 
Назва craniв в,тускної роботи с-rанів 
кваліфіка , -~ 
І П П 1 1 1
" -Нror 
о . 
1 постановка задачі 13. І 
2 П1дrотовка завдання 16. J 
з Погодження завдаНRJІ 
26 . О 
дження завдан.н.я 
27.02. 
ої задачі 
2 04.02. 
з 10.03.2 
4 І 7.03.2 
5 о 25.03.2 
Заключна стадія 
Узгодження прш1нятих проектних рішень з 
к івнmюм 
2 Оформлення пояснювальної записки роботи в 13.05.2024 
15.05.2024 
02.06.2024 
5 Рец 06.06.2024 
6 Захи 
Студент-дипломник 
Сиротенко с.с. 
(прІЗвищ, та ініціали) 
Керівник проеюу Катаєва Є.Ю. 
(прі1в11щс та ініціали) 
Завідувач кафедри 
Голуб С.В . 
(прізвищ, та і 11іціали) 
ЛІІОТАІ~ІИ 
'11р~У1'l'ІІІ,~) С. ' .. · 1·t'м11 1 t\11J1iфi1 ш~ііІ1юУ 1ю ю·пt )11t<11ш111рн 11Po·1rюб r<n тслс r ·рам 
)0·1 ·у формущІНтt 11 1,-.1шс·1'1\ ) ~.!НІ 0Gр1ню1 ·0 1шну ·1·ct;·.r-yrшнюr r1po1 ·raмнoro 
зn н~:ш ч1~111н1 , · н ' 11 •ніщ1ьністю 121 «111жс11срін щюгр11м11огu зобсзпсчснюr», 
«Ч~р1,nс1,1 нй )\сржщщні,і ·1·ох11шю1·ічт11,\ у11івсрситст», м, Чсрю1си , 2024, 
1\ н )\НП.Помна роботн нрнснячена розробці тенеграм боту для формування 
чск-лн тn )\ЛЯ 06ршю1 о nиду тестуnанш1 nрш рамного забезпечення .інформаційної 
'ИСТСМИ. 
Мстою вю<онnння 1шаліфікаційноі' роботи є створення програмного 
забс пс'Існня інформаційної системи телеграм бота, який дозволить користувачам 
швидко тn ефе1<тивно створювати че1<:-листи для тестування ПЗ. 
Робота передбачає: 
1 Аналіз методів та засобів розв'язання поставлених задач; 
2 Конструювання програмного забезпечення інформаційної системи; 
З Прое1<тувшп1я програмного забезпечення інформаційної системи; 
4 Тестування усунення недолі1<ів програмного забезпечення інформаційної 
системи. 
Для розроб1<и програмного забезпечення інформаційної системи телеграм 
бота формування че1<-листа для тестування обраного виду ПЗ проектовані 
інформаційні системи я1<і в1шючюоть аналіз предметної області, розробки логічної 
структурии системи, проектування інтерфейсу користувача, створення бази даних, 
проведення модульного, інтеграційного, системного та приймального тестування. 
Об'єктом розроб1<И є процес прое1<тувапня, конструювання, тестування 
програмного забезпечення. 
Ключові слова: автоматизація, розроб1<а програмного забезпечення, 
розроб1<а телеграм бота, чек-листи, тестування р1зного виду програмного 
забезпечення, проектування, бази даних. 
ANNOTATION 
Siюteпko S.S. , Bacl1el01·'s qualification tl1esis topic "Developmeпt of а Telegram 
Bot for Cгeating Cl1ecklists fог а Selected Туре of Software Testing", specialty 121 
"Softwaгe Engineeгing", - "Cherkasy State Technological University", Cherkasy, 2024. 
This thesis is dedicated to tl1e development of а Telegram bot for creating 
checklists for а selected type of software testing. The goal of the qualification work is to 
create software fог а Telegram bot that allows users to quickly and efficiently create 
checklists for software testing. 
The work involves: 
1 Analysis of methods and tools for solving the given tasks; 
2 Construction of information system software; 
З Design of information system software; 
4 Testing and debugging of information system software. 
То develop of information system softwarefor the Telegram bot for creating 
checklists for the selected type of software testing, information systems were designed, 
which include domain analysis, logical structure development, user interface design, 
database creation, and conducting unit, integration, system, and acceptance testing. 
The object of development is the process of designing, constructing, and testing 
software. 
Keywords: automation, software development, Telegram bot development, 
checklists, various types of software testing, design, databases. 
. fJ(: J' 
ПЕРЕ JK :КОР . 11 ІІЬ " Л УМОІJІJИ П 1JfA f ,,llJ1, ,.,,,,,,,,,,,,,,,,,,.,,.,, ~ 
ВС Пw ., ••І' w1o:11• ♦ ! ",, ,,., f,fl~1' f ІІІ f/,-1,J,1111 ~1<• 1 • ;. •ІJ~ І fj,1 І ••,,., ,, tJ ,,,,., ІІІІ І І S11t, t11,f! ~,11 І~ ' ,, ІІ'#ІІ,$<1-jІІ~,,- 1• 11 ,,111 ІU~ 1 ,,.~ a,t ,,. J ІІ •;ІІІ• ІІІJ (j 
ABJJ ИИХ 
АВДАПЬ ...... ,. ......... ., ............ ., ... ,, .. ,,,., ......, ,.,,, ......... ., .. ,,.,,,, ,,,,,,,.,, ..... ,,,,,,,,, ... ,,,,. ,9 
1.1 а • бо 11 1 · ро · 1 c11ffr ptnpoбr ·f 13 ,,,., .. ,,, .... ,,, .,, ,,,,,,,,, , . 
1.2 On11 п· т110 обл J. ,, .. , .. ,,,., ...... ,. . ,.,, .•, ,,, ... .,, ... ,,,,,.,,, .. ,.,,,,,,,,..,,,.,,,,, 11 
1. f t бо я 
В1rсновок о nepmoro роздJлу ................................. ,. . ,,,,,,.,,.,.,,,,,,,,,,.,,,. ,,,, .. ,,. 16 
2 ВПРОВАДЖЕННЯ РЕЗУЛЬТАПВ ДОСЛІДЖЕНЬ У ПР КТИКУ 
ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 
ІНФОРІ\fА..ЩЙНІІХ СИСТЕМ .................................................................... ,. ... 1 
2.1 Моделювання nредметноі області ......................... ,, ............... ............... .. 
2.1.1 Предмеrна облаrn моделювання. Модель npe,ц1,renroї обласrі. 
Словявх. предrr.t:еrяої області .......................................................................... 1 
2.1.2 Елементи моделюваmш предметно-І області ···••m• .. ш .... . ....................2 1 
2.1.3 Робоча область моделюв,ання ............................................................... 23 
2-2 Формування та аналіз вимог .................................... ................................ 2 · 
2.2.1 Формування вимог до nporpaмяoro :забезпечення. Пер-вmmі і 
деr~ьиі вимоrи. Вимоrн zамсmняка і розробника. Фуmщіональні та 
нефунщіонал:ьш вимо.rн .. .... .. .. .... .. .... .. .... .. .. .. ... . .. .. .. .. .. ... . .. .. .. . .. .. ... ... .... .. .. ... .. .  5 
2.2.2 Формування вимоr за допомогою ді.аrрами nрецедентів ................... 28 
2"3 Проектування логічно і струхтури проrрамноrо КО)ІWІексу ............ .31 
2. З .1 Д1.3І'р'ЗЮf УJІЗ.Сів .... .•• • .  . .• • . •.  .• • • ••• .  . •. • . . . . •.  •. .. •• • .  . . ••.  . •• .  •• •• .  •.  . .• .  . . •. . . . . . . . . . . . . . . . . . •.  . , 1 
2.З .2 Дia:rpawf nакеrів ..................................................................................... 34 
2.4 АрІіТЕ"1)'Рие проекту.в,ання ....................................................................... З 5 
2.4 . 1 Діаграма компонентів ......................................................... ...................З  5 
ЧДІУ. 242302.012 ПЗ 
~~== ;-...,.._,_,._~..,__cn_• -І 
(ПOІCВIOIIUШlil.,JIUUJCD) . .. ЗАС, 
ПЗ~2004 
2. 4. 2 Розгортання :програмної· системи на апараnшх засобах. діаграма 
розгортаІІНЯ ............................................................ ......................................... З 7 
2.5 1\.Іодедювання поведjн:ю1 с11сТ&111 .. ... .................. .... .. .......................... 40 
2.5.1 Діаграма діяльності ................................................. ... .... ...... .. ........... 40 
2.5 .2 Діаrрама послідовності ............................ .. ....................................... 4З  
2.5 .3 Діаrрама комунікації .. .................... .............................................. ..... 45  
2.5.4 Діаграма скшченноrо автомату ..... .. .................................. ............... 47 
В11сновкп до др)тоrо розділу .............. .. .............. ........................................... 52  
3 РОЗРОБКА ТА ТЕСТУВАННЯ ІІРОГРАl\.ШОГО ЗАБ,ЕЗПЕЧЕНВЯ 53 
3.1 Розробка npoFpal.\moro k-01.tПЛЄKCJr . ......................................................... 53 
3.1.1 Обrрунrування :вибору засобів реалізації ........................................... 53 
3 .1.2 Опис ,стректурноІ ( функціональної} схеми .......................................... 55  
3.1.3 Ormc логічної схеми сясте~ш ................................................................. 5& 
3.1.4 Розробка бази даних ....... ....................................................................... 61 
3.1.5 Розробка інтерфейсу користувача ....................................................... 62 
3 .1. 6 Опис розробки програмних ко1шоненrів ........................................... 68 
3.2 Тестування систе11и ................................................................................... 70 
3.2.] Мо,цульне тесrувавня. ........................................................................... 70 
3 ')· ') Ів . ... 
.~ • .L, теrрзд1ШІе тестува·ш іЯ .. ... . .. . . .. .. .. .. .. ..... .. .. .. .. .. . . .. .. .. .. .. .... ..... .. .. .. .......... .. . 7" 
L 
З .2.3 СистешІе тес1:ував:ня ............................ .................................................. 72 
3.2.4 Приймальне тестування: .................................................. ........................... 73 
3.3 ПрИЮІади впровадженого проrраІ.\1ного комплексу ............................ 74 
Висновки до 3 розді.11у ................... .................... ................................................. 78 
ВИСНОВОК .............................................. .......... .......... .. .. .................................... 79 
СПИСОК ВИКОРИСТАНИХ ДЖЕ-РІ Л ..................... .............. .... .... ............. 81 
ДОДА'ООІ ...... .......... .. ..... . ...................... .... .......... ..... ........ ....... .. 85 
ЧДТУ.24 2302.0]2ПЗ 41 
ЗІL. Лист № цо~Ш!Jm Підпис &п 
ПЕРЕЛІК СІ(ОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ 
ПЗ програмне забезпечення ; 
ІС інформаційна система ; 
10 інформаційний об'єкт; 
СУБД система управління базами даних ; 
UМL уніфікована мова моделювання. 
ЧДТУ. _4 _30_,01 2 ПЗ 
ВСТУП 
А туаль ність темп 
Актуальність визначається потребою у розробці програмного забезпечення 
інформаційної систе:м:и телеграм-бота які стають все популярнішими завдяки 
простому та зручному інтерфейсу. Розробка боту для тестування у такому 
популярному месенджері, як Telegraш, робить процес формування чек-листів 
доступнішим та зручнішим. Він також спрощує та прискорює процес підготовки 
до тестування, завдяки автоматизації. Кожен проект прогармного забезпечення 
потребує індивідуального підходу до тестування, і розробка боту дозволяє 
користувачам самостійно формувати чек-листи, адаптуючи їх до конкретних 
потреб. Порівняно зі стандартн:им:и інструментами для створення чек-листів, 
телеграм-бот може надати додаткові переваги, такі як миттєве сповіщення та 
зручна взаємодія прямо в чаті, полегшуюч:и комунікацію та управління чек­
листам:и. 
Тестування програмного забезпечення інформаційної системи є 
критичним етапом у процесі розробки програмних продуктів, спрямованим на 
забезпечення їхньої якості та надійності. Зростання обсягів та складності 
програмних систем, а також швидкі темпи їхнього розвитку, створюють потребу 
у вдосконаленні методів тестування та інструментів для його автоматизації. 
З точки зору інженера програміста, розробка телеграм-боту для тестування 
програмного забезпечення є цікавим та корисним проектом, який може 
покращити якість та ефективність процесу розробки. 
Мета і завдання розробки 
Метою роботи є розробити програмне забезпечення інформаційної 
системи телеграм бота який формує чек-листи для тестування обраного виду 
програмного забезпечення. Для досягнення поставленої мети в роботі 
вирішувались наступні завдання розробки: 
1 Інформаційний пошук методш, засобів та методик п обу дуви 
програмного забезпнчення інформаційних систем виконання 
поставлених завдань. 
6 
1 /){J'Y. 24 2302.0 J 2 І 1'1 
2 І І ·р J "JJНJt ШН1JІОІ'ін . 
J Jlp() ro уrншш1 11rш рuмного 'Ja >c·mcrr · m1я jнф ,рмаційно1 сисrrеми 
JJJ(J J I0 1HHOЧИ MO/t JJІОЩШШ/ Нf)СДМС'Г/ЮЇ oбJJaC'J і , формування :вимоr та 
бази даних. 
4 Кон труrоnання нрограмного "абсзнечсння jнформацтно1 системи. 
5 Розробити зручний інтерфейс користувача. 
6 Тестування програмиоrо забе печення інформацjйно1 сисrrеми, 
7 Провадження та супроводження програмного забезпечення . 
Об'є1п- розробки 
Об'єктом розробки є процес створення програмного забезпечення 
інформаційної системи телеграм ботом чек листів для тестування обраного виду 
nporpaмнoro забезпечення, 
Предмет розробки 
Предметом розробки є програмного забезпечення інформаційної системи 
для формуваня чек-листа для обраного виду програмного забезпечення за 
допомогою Telegram-бoтy. 
Методи проектування та конструювання: Для досягнення поставленої 
мети застосовані такі методи проектування та конструювання: 
аналіз аналогів додатків; 
проектування за допомоги UМL діаграм; 
конструювання за допомогою фреймворку TelegramAPI. 
Методи розробки 
Розробка телеграм бота для формування чек-листів для тестування 
обраного виду програмного забезпечення включають використання мови 
програмування Python і Te]egram АРІ для забезпечення взаємодії з платформою. 
Було створено серверну логіку для обробки повідомлень. Після цього було 
проведено тестування та налагодження для забезпечення коректної роботи та 
відповідності вимогам. 
Опис отрима11их резуJІьтатів 
7 
ЧДТУ . 24 2302.01 2 ПЗ 
Отриманj результати роботи над розробкою телеграм-бота для формування 
чек-листів тестування обраного виду програмного забезпечення вкшоtrають: 
- успішну реалізацію фушщіонаJ11>1-юсті бота; 
- зручний інтерфейс; 
- стабільну роботу після тестуваюш та налагодження. 
Бот задовольнив вимоги проекту та став ефективним шструментом 
формування чек-листів для тестування обраного виду програмного 
забезпечення. 
Практичне значення отриманих результатів 
1 Під час проектування бази даних для полегшення розробки 
програмного забезпечення було використано АРІ SQLiteЗ. 
2 Проведений аналіз аналогів для побудови власної зручної інтерфейсної 
частини програмного продукту. 
З Спроектовано серверну частину. 
4 Створено власне програмне забезпечення згщно методш розробки 
додатку, описаних у ход1 проектування. 
5 Спроектовано клієнтську частину. 
Особистий внесок автора 
Головною метою кваліфікаційної роботи було розробити телеграм бота, 
який створює чек-листи для тестування обраного виду програмного 
забезпечення. В результаті виконання роботи було реалізовано інформаційну 
систему. Розроблена програма, в якій користувач повинен мати можливість 
обирати вид програмного забезпечення щоб бот створював чек-лист для його 
тестування, редагувати та видаляти чек-листи. Під час проектування бази даних 
для полегшення розробки програмного забезпечення було використано АРІ 
SQLiteЗ. Проведений аналіз аналогів для побудови власної зручної інтерфейсної 
частини програмного продукту. Спроектовано серверну та клієнтську частину. 
Створено власне програмне забезпечення згідно методів розробки додатку, 
описаних у ход1 проектування . 
8 
ЧДТУ . 24 2302.012 ПЗ 
1 ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ'ЯЗАННЯ ПОСТАВЛЕНИХ 
ЗАВДАНЬ 
1.1 Телеграм боти та їх роль у сучасній розробці ПЗ 
Чат-боти - це програмні засоби, які автоматизовано взаємод1ють з 
користувачами через текстовий чат. Вони можуть виконувати різноманітні 
завдання, від відповіді на запитання до виконання конкретних дій за певними 
сценаріями. Ці боти можуть бути вбудовані в різні месенджери, соціальні 
мережі, веб-сайти або мобільні додатки. 
Телеграм чат-боти є програмними агентами, які автоматично взаємодіють 
з користувачами через чат-інтерфейс месенджера Telegram. Їх функціональність 
базується на програмній логіці та може включати різноманітні можливості: 
1 Автоматизована відповідь на повідомлення: Чат-бот може програмно 
. . . . . . . . 
анашзувати отримаю повщомлення в чат~ 1 вщповщати на них заздалепдь 
заданими шаблонами або за допомогою інтелектуальних алгоритмів обробки 
природної мови. 
2 Надання інформації: Бот може надавати користувачам різноманітну 
інформацію, таку як новини, погодні умови, курси валют, інструкції тощо. 
З Виконання команд: Користувачі можуть взаємодіяти з ботом, 
відправляючи йому команди для виконання різних завдань, таких як створення 
чек-листів, нагадування про події, пошук інформації тощо. 
4 Інтеграція з зовнішніми сервісами**: Чат-бот може інтегруватися з 
різними зовнішніми сервісами та АРІ для надання розширених можливостей, 
наприклад, для бронювання послуг, замовлення товарів, отримання інформації з 
ІНШИХ джерел. 
5 Розваги та ігри: Деякі чат-боти створені для розваги користувачів, вони 
можуть пропонувати ігри, тести, анекдоти тощо. 
9 
ЧJ(ТУ . 24 2302.01 2 П1 
Таким чином, телеграм 1-1 1л·-боти нрсдставшrкrrь собою ПО'Т'JЖНИЙ 
·інструмент для автоматизації комунікації ·1 а надання різноманітних серв1с1 в у 
чаті Telegгa111 . 
Розвиток чат-ботів надає безліч можливостей для постійного 
удосконалення їхньої фую<ціональності та ефективності. Використання 
. . 
штучного штелеюу 1 машинного навчання стає основою для створення 
"розумних" чат-ботів, яr<і можуть аналізувати дані та навчатися на їх основі 
Завдяки цьому, вони стають здатними надавати більш точні та контекстна 
адекватю вщповіді на запитання користувачів. 
Технолоrії обробки природної мови є ще одним ключовим елементом у 
розвитку чат-ботів. Вони дозволяють ботам розуміти та адекватно реагувати на 
mодську мову, що робить комунікацію з ними більш природною та зручною для 
користувачів. Це забезпечує покращення якості обслуговування та підвишує 
задоволення від використання чат-ботів. 
Ще одним аспектом розвитку є інтеграція чат-ботів з іншими сервісами та 
платформами. Це дозволяє розширити їхню функціональність та надати 
користувачам доступ до різних послуг через єдиний чат-інтерфейс. Такий підхід 
робить чат-ботів більш універсальними та зручними для використання в різних 
сферах. 
Наступним кроком у розвитку чат-ботів є їхнє персоналізоване 
налаштування для потреб кожного користувача. Це означає, що боти можуть 
надавати індивідуально підготовлені відповщ1 та послуги, що відповідають 
унікальним потребам та пріоритетам кожного користувача. 
В цілому, розвиток чат-ботів спрямований на покращення їхніх 
можливостей та забезпечення більш ефективної та індивідуалізованої взаємодії 
з користувачами. 
Чат боти потрібні для виконання ряду важливих функцій, що робить їх 
незамінними в різних сферах життя та бізнесу. 
По-перше, вони служать для автоматизації взаємодії з користувачами через 
текстовий чат, що спрощує і прискорює обробку запитів та надання відповідей . 
10 
ЧДТУ . 24 2302.012 ПЗ 
Це особливо корисно для компаній , які надають кл і нтське обс,1утовуван-ня, 
банків , магазинів та інших підприємств , які ,ають потребу в постійному 1в·язку 
зі своїми клієнтами . 
По-друге, чат-боти можуть бути використані для автоматизаuії ругинних 
операцій та процесів , що дозволяє підвищити продуктивність та зменшити 
витрати часу та ресурсів . Наприклад, вони можугь виконувати розрахунки, 
надавати інформацію про стан замовлень або навіть проводити опитування та 
анашзувати даю. 
По-третє, чат-боти забезпечують доступ до послуг та інформапїї в бу.іІЬ­
який час та з будь-якого пристрою з підкmоченням до Інтерне-rу. Це дозволяє 
користувачам отримувати потрібну допомогу або інформацію навіть у 
найнетиповіший час, що покращує їхнє задоволення від обслуговування. 
У загальному, чат-боти стали важливим інструментом для автоматизації 
бізнес-процесів, покращення обслуговування клієнтів та забезпечення доступу 
до інформації та послуг у будь-який час та в будь-якому місці. 
1.2 Опис предметної області 
Тестування програмного забезпечення - це процес систематичного 
перевіряння, аналізу та оцінки програмних продуктів з метою визначення їхньої 
відповідності вимогам, специфікаціям та очікуваІПІЯМ користувачів. Це 
необхідна складова у розробці програмного забезпечення для забезпечення його 
якості, надійності та безпеки . 
Тестування ПЗ включає в себе ряд дій, включаючи планування тест~в, 
розробку тестових сценаріїв, виконання тестів та аналіз отриманих результатів. 
Цей процес може бути виконаний як вручну, так і з використанням 
автоматизованих інструментів тестування, залежно від конкретних потреб та 
характеристик проекту. 
Тестування програмного забезпечення є важливим етапом у розробці 
програмних продуктів, оскільки воно дозволяє виявляти та усувати помилки та 
11 
ЧДТУ. 24 2302.01 2 ПЗ 
дефе1пи на ранн іх етапах розробr<и , що зменшує ризик виникнення проблем у 
пізніших стадіях проеюу та n ідвищус як ість нрограмного забезпечення . 
У світлі швидкого розвитку програмних технологій та зростання 
конкуренції на рюшу програмного забезпечення , тестування відіграє ключову 
роль у забезпеченні висо1<ої якості продуктів . Помилки та дефекти можуть 
призвести до серйозних проблем, що підкреслює важливість тестування для 
забезпечення надійності та безпеки програмного забезпечення. 
Актуальність тестування програмного забезпечення підтримується також 
стрімким розвитком технологій та зміною вимог користувачів . Користувачі 
сьогодення оч1кують вщ програмного забезпечення не лише високої 
функціональності, але й швидкості реакції, зручного інтерфейсу та високого 
рівня безпеки. Це ставить нові виклики перед розробниками ПЗ, для вирішення 
яких необхідно ефективно використовувати методи та інструменти тестування. 
1.3 Огляд існуючих телеграм ботів для створення чек-листів для 
тестування ПЗ 
Перший аналого - CheckListBot 
Рисунок 1.1 - CheckListBot 
12 
•JJ('J У. 4 2 ·ю2.о 12 r п 
І~ іі ю 1· ( •1 1 -J111 "ІОМ , 11ри'ш11 1 1 ·ним ; ш ·rrrюm ·нт1 ор1 ані1аrrїі -~авдань та 
' \ІІІ ' І<ів . ( 'ІНШІІі фушщії ЦІ,оr о ютн ІНОІЮ1ННО'/ f, : 
І )~O)ЩBt\111/}J JI М нті в : J И МОЖС'J /(O/ЩІШНf CJfCMCf-f'fИ до сниску, 
тщ шш, )'ІІІ ї т т 1, т ві 1 юві){омнснт1 . f f сма(' ІІО'Ірсби в складних vомаидах, 
щю то шщіuшіть т 1, т і ni11 уде д даний до нашого сниску. 
Рисунок 1. 2 - Додавання елементів в чат бота 
2 Відзначення завдань: Ви можете позначати завдання як виконаю, 
надсилаючи їх індекс. Наприклад, якщо у списку є елементи "1 Придбати 
молоко" та "2 Відправити листа", надішліть "2" і пункт "Відправити листа" буде 
відзначено як виконаний. 
13 
t'f/tTY . 2/4 2]02.0 J 2 Т П 
Рисунок 1.3 - Відзначення завдань 
З Автоматичне очищення списку: Якщо всі елементи списку відзначені 
як виконані, ваш список буде автоматично очищено. Це забезпечує підтримку 
організованості та чистоти ваших списків завдань. 
Рисунок 1.4 - Автоматичне очищення списку 
14 
ЧДТУ. 242302.01 2 ПЗ 
Недоліки: 
Відсутність і нформації дш1 полегшеню1 роботи з ботом. 
2 Відсутність команд дш1 роботи з ботом . 
З Не можна створювати свої шаблони для чек-листі в . 
1.4 Постановка задачі 
Після аналізу існуючих програмних аналогів, було виявлено їх переваги та 
недоліки і на основі отриманої при аналізі інформації, виникла наступна 
постановка задачі: 
створити простий і зручний користувацький інтерфейс; 
створити готові шаблони, щоб користувач міг вибрати готовий чек­
лист для обраного виду ПЗ після чого телеграм бот створить чек лист; 
додати можливість створення та видалення власних шаблонів чек­
листш; 
добавити команди для зручного користування телеграм ботом. 
За збереження і обробку даних відповідає серверна частина, яка пропонує 
зручне у використанні АРІ яке розпшрення може з легкістю використовувати 
задля своїх потреб . 
Після проведення детального анашзу системи, необхідно спроектувати 
базу даних з урахуванням можливих майбутніх змін. 
Клієнтська частина проекту буде складатися з інтерфейсу телеграм-бота, 
який буде забезпечувати зручну та інтуїтивно зрозумілу взаємодію з 
користувачем. Моя модель буде моделювати взаємодію користувача з ботом, 
включаючи створення нового чек-листу, вибір готового шаблону, додавання та 
видалення власних шаблонів, а також використання команд для зручного 
управління ботом. 
15 
ЧДТУ . 24 2302 .О І 2 П 
Ви новок 110 н ршоr·о розді:Jf 
Розроб1<а теле11)аМ бо1у для формування tJе:r< •листа для обраного виду 
тестування ЩJОJ1)аМного забезнечення акtуальним завданням у сучасному 
інформаці й1-1ому середовищі. Використання чат-ботів у різних сферах життя та 
бізнесу стає все більш поширеним явищем) що забезпечує автоматизащю 
процесів та покращення взаємодії з користувачами. 
Тестування програмного забезпечення має важливе значе~-rня у процесі 
розробки програмних продуктів. Відповідно , розробка засобу, який 
допомагатиме збирати та організовувати чек-листи для тестування, сприятиме 
підвищеш-Ію якості, надійності та безпеки програмного забезпечення . 
Щоб забезпечити ефективність та якість розробки та функціонування 
телеграм боту, провели аналаіз аналогу такого, вивели плюси 1 МJнуси такого 
боту. 
Після аналізу існуючих програмних аналогів, було виявлено їх переваги та 
недоліки і на основі отриманої при аналізі інформації, виникла постановка 
задачі . Розробити простий і зручний користувацький інтерфейс, створити готові 
шаблони, щоб користувач міг вибрати готовий чек-лист для обраного виду пз 
після чого телеграм бот створить чек лист. Додати можливість створення та 
видалення власних шаблонів чек-листів. Добавити команди для зручного 
користування телеграм ботом. Розробити клієнтську та серверну частину. 
Крім того, важливо врахувати різноманітні види тестування програмного 
забезпечення, такі як модульне, інтеграційне, системне та приймальне 
тестування, і розробити засоби для формування чек-листів , які враховуватимуть 
специфіку кожного з них. Наприклад, для модульного тестування може бути 
важливо виділити окремі компоненти програми та розробити чек-листи для 
перевірки 1·хньої правильно1· роботи в ізоляції. У свою чергу, інтеграційне 
тестування передбачає перевірку взаємодії між різними компонентами програми 
та перевірку роботи програми як єдиного цілого. 
16 
ЧДТУ. 24 2302.012 ПЗ 
Такий телеграм бот може стати корисним інструментом для розробників 
програмного забезпечення, сприяючи ефективному та систематичному 
проведенню тестування, а татюж opJ анізації та аналізу результатів тестів . 
17 
ЧДТУ. 24 2302.012 ПЗ 
2 ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У ПРАКТИКУ 
ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 
ІНФОРМАЦІЙНИХ СИСТЕМ 
2.1 Моделювання предметної обJ1асті 
В цьому підрозділі розглядатимуться такі питання : предметна область 
моделювання, модель предметної області , словник предметної області , елементи 
моделювання предметної області, робоча область моделювання 
2. 1.1 Предметна область моделювання. Модель предметної області . 
Словник предметної області 
Предметна область моделювання 
Для моделювання предметної області системи створення чек-JШстів для 
тестування обраного виду ПЗ, виходячи з класичної схеми, можна визначити 
наступні етапи розробки: 
1 Функціональна модель «як є»: 
Функціональна модель <<Як є» ( as-is) описує поточний стан предметної 
області перед тим, як буде здійснено будь-які зміни або поліпшення. Ця модель 
дає змогу зрозуміти, як система функціонує наразі, які процеси та взаємодії 
відбуваються між користувачами та системою. Це включає збір інформації про: 
- анал1з взаємодн з користувачами: огляд способів взаємодії 
користувачів з ботом через команди, повідомлення та інші елементи; 
- опис функціоналу: визначення всіх можливих операцій та функцій, які 
може виконувати бот на даному етапі розвитку; 
- аналіз процесів: встановлення послідовності дій, яю здійснюються 
ботом для виконання завдань або обробки запитів користувачів; 
- виявлення сильних та слабких сторін: визначення можливостей для 
покращення функціоналу та оптимізації взаємодії з користувачами. 
2 Модель «як треба»: 
18 
_J 
ЧДТУ. 24 2302.012 ПЗ 
- на основі аналізу моделі «як є», розробляється модель «як треба», що 
відображає бажані зміни та оптимізації; 
- розширення фующіоналу: додавання нових функцій та можливостей 
для розширення функціоналу та покращення взаємодії з 
користувачами; 
- покращення інтерфейсу: апровадження зручного та інтуїтивно 
зрозумілого інтерфейсу для полегшення взаємодії з користувачами; 
- оптимізація взаємодії з користувачами: застосування алгоритмів 
машинного навчання для покращення процесу взаємодії та адаптації до 
потреб користувачів; 
- підтримка багатомовності: додавання можливості використання бота у 
різних мовах для розширення аудиторії; 
- забезпечення безпеки: впровадження заходів захисту конфіденційності 
та безпеки даних користувачів, включаючи шифрування та 
ідентифікацію користувача. 
З Концептуальна модель даних: 
На цьому етапі розробляється концептуальна модель, що включає: 
сутносп: Користувач, Шаблони чек-листів, Чек-лист, Пункти чек-
ЛИСТІВ; 
відносини м~ж сутностями: Наприклад, кожен користувач може 
створювати багато чек-листів; 
атрибути сутностей: Детальна інформація, яка повинна зберігатися для 
кожної сутності, така як ідентифікатор, ім'я тощо. 
Завершення цього процесу дозволить чітко уявити як поточю процеси 
функціонують, які зміни необхідні для оптимізаці. 
Модель предметної області 
19 
ЧДТУ. 24 2302.01 2 ПЗ 
При розробці телеграм бота для створення чек-листів обраного виду ПЗ, 
моделювання предметної області вимагає визначення ключових елементів , що 
відображають стру1сrуру і процеси. Ці елементи включають сутності, атрибути, 
відносини, обмеження та процеси, які разом формують основу для системи. Ось 
детальний опис кожного з цих елементів: 
Сутності: 
1 Чек-листи: чек-листи, створені користувачами на основі шаблонів або 
власних ідей . 
2 Користувачі: інформація про користувачів, які взаємодіють з ботом. 
З Шаблони: назви та структура доступних шаблонів чек-листів . 
Кожна сутність має набір атрибутів, які детально оrrnсують її 
характеристики. Наприклад: 
чек-листи: Ідентифікатор, Назва, Пункти; 
користувачі: Ідентифікатор, Ім'я, Нікнейм; 
шаблони: Ідентифікатор, Назва, структура. 
Відносини: 
Відносини описують як сутності пов'язані між собою. Наприклад : 
- користувач має багато шаблонів чек листів; 
- шаблона містять назву та чек-листи. 
Обмеження 
- не можна редагувати та видаляти вже готош шаблони створею 
розробником. 
Процеси: 
Процеси відображають операції та дії що виконує система: 
1 Створення шаблону: створення своїх шаблонів, щоб бот створював чек 
листи . 
20 
ЧДТУ. 24 2302.01 2 ПЗ 
2 Редагування створених шаблонів : редагування та видалення створених 
шаблонів 
Ці елементи формують основу длн розробки телеграм бота, дозволяючи 
легко керувати своїми шаблонами. для тестування ПЗ. 
Словник предметної області: 
Чек-лист: перелік завдань або пунктів, які потрібно виконати або 
перевірити. Кожен чек-лист має унікальну назву та може містити різні пункти, 
що представляють собою конкретні дії або перевірки 
Шаблон: попередньо визначена структура чек-листа, що м1стить 
стандартний набір пунктів, який можна використовувати для створення нових 
чек-листів. Шаблони служать основою для створення nmових чек-листів, що 
дозволяє користувачам швидко генерувати списки завдань без необхідності 
вручну додавати кожен пункт. 
Користувач: особа, яка взаємодіє з телеграм-ботом. 
Звітність: процес генерування звітів на основі виконаних чек-листів та їх 
пунктів. Звіти можуть містити інформацію про завершені завдання, статуси 
пунктів, а також час та дату виконання. 
2.1.2 Елементи моделювання предметної області 
Моделювання відбувалось з використанням мови UМL, що була створена 
для візуального моделювання складних та простих програм: їх структуру та 
функціонал. Для цього, UML має велш<у кількість елементів, що полегшують 
процес моделювання. При побудові моделей з використанням UМL, 
використовуються основні три компоненти - об'єкти чи сутності , їх взаємодії та 
д1аграми. 
Структурні об'єкти відображають реалью сутносп та реч1, яю мають 
статичну поведінку. Їх приклади зображено на рис. 2.1. 
21 
ЧДТУ. 24 2302.012 ПЗ 
i- Classna11te І Knac відображає набір ідентичних речей, які 
окреслюють функціонаm,►11 можпивості та властивості 
об'єкта . 
е Епемнет Use Case зображує набір дій , які виконує 
система для досягнення мети . 
) 
Наfі1частіше використовується у діаграмах варіантів 
використання . Це об'єкт, який взаємодіє з 
системою, наприклад, користувач. 
Actor 
Componer№J t<омпонент зображає фізичну частину 
системи 
Рисунок 2.1 - Структурні об'єкти телеграм бота формування чек-листа 
для тестування обраного виду ПЗ [ 1] 
Поведінкові об'єкти зображують поведінку системи. Наприклад у діаграмі 
діяльності, поведінка системи описується за допомогою об'єктів, що зображено 
на рис. 2.2. 
8 Початковий стан 
СІ) Кінцевий стан 
Дія Назва діяльності 
~ Умова для виконання 
Рисунок 2.2 - Об'єкти діаграми діяльності телеграм бота формування чек­
листа для тестування обраного виду ПЗ [І] 
22 
Ч/(ТУ . 24 2302.01 2 ПЗ 
Зn необх ідності елементи мо;{сл і можна з1 -рунувати за допомогою об'єкту 
'пакет'(расkаgс). І снуют1) то1<ш1, об\:J(ТИ юrя стnuрсння описі в і коментарів на 
діаграмах(поtе ). 
Важливою складовою молел і є взаємодії між сутностями. Вони описують 
як сутності повинні взаємодіяти м іж собою для коректної роботи системи, 
модель якої створюється . Типи взаємодШ на діаграмах позначаються 
відношеннями(Рис. 2.3) [1] 
. . .,. 
в1дношення асоц1ац11 
І І 
в1дношення залежност, 
. ... 
--◊ в1дношення агрегац11 
---------♦ t ... 
в1дношення КОМПОЗИЦІІ 
Рисунок 2.3 - Приклади відношень між об'єктами телеграм бота формування 
чек-листа для тестування обраного виду ПЗ [1] 
2.1.3 Робоча область моделювання 
На моделі зображена робоча модель системи, з послідовністю передачі всіх 
даних до БД. Див. рис. 2.4. 
23 
ЧДТУ . 24 2302.0 І 2 П" 
Створені wa/Jno~и 
Внесенн~ .а ~н11х ,ориG т1еа-чеУ 
С11СТе1.1г База данщ 
Обробка о,оєі шабrо~v 
сvс,емсю 
Рисунок 2.4 - Модель робочої області системи телеграм бота формування 
чек-листа для тестування обраного виду ПЗ 
На рисунку зображено інформаційний процес у системі даних, починаючи 
з користувача, який ініціює процес введення або запиту даних. Користувач 
отримує доступ до системи, яка може включати аунтефікацію та ініціацію 
сеансу. В самій системі відбувається обробка і внесення даних, після чого 
оброблені дані пересилаються до бази даних для зберігання. База даних 
класифікує ці дані як інформацію про створені шаблони для чек-листів, 
забезпечуючи ефективність і логічність процесу від початку і до кінця. 
2.2 Формування та аналіз вимог 
В цьому підрозділі розглядатимуться такі питання: формування вимог до 
програмного забезпечення, первинні і детальні вимоги, вимоги замовника і 
розробника, функціональні та нефункціональні вимоги, формування вимог за 
допомогою діаграми прецедентів 
24 
ЧДТУ. 24 2302.012 ПЗ 
2 2
· · 1 Формування вимог до програмного забезпечення . Первинні і детальні 
вимоги. Вимоги замовника і розробника . Функціональні та нефункціональні 
вимоги 
Формування вимог до програмного забезпечення. 
Процес формування вимог до програмного забезпечення є ключовим 
етапом У розробці системи, який визначає, які функції та характеристики 
повинна мати система, щоб задовольнити потреби користуБачів та відповідати 
поставленим цілям проекту. Вимоги можуть бути поділені на первинні та 
деталью, а також на вимоги замовника і розробника. 
Вимоги до програмного забезпечення вюпочає: 
- техніко-економічне обrрунтування; 
- збір вимог; 
специфікація вимог до програмного забезпечення; 
- перевірка вимог до програмного забезпечення. 
Збір вимог: 
У разі позитивного результату техніко-економічного обrрунтування 
проекту, наступним етапом є збір вимог користувача. Для цього аналітики та 
інженери взаємодіють з клієнтом та кінцевими користуБачами, щоб з'ясувати їхні 
бажання стосовно того, які функції має мати програмне забезпечення та які 
функції ВОНИ хочуть ВКЛЮЧИТИ ДО НЬОГО. 
Специфікація вимог до програмного забезпечення: 
SRS, який створює системний аналітик після збору вимог, є документом, 
що описує, як програмне забезпечення буде взаємодіяти з апаратним 
забезпеченням, зовніІШІіми інтерфейсами, його швидкістю роботи, часом 
відгуку, переносимістю, ремонтопридатністю, швидкістю відновлення після 
збою, безпекою, якістю, обмеженнями та іншими характеристиками. Вимоги від 
клієнта записуються природною мовою, але системний аналітик перетворює їх 
на технічну мову, щоб вони були зрозумілі для розробників. В SRS мають бути 
25 
ЧДТУ. 24 2302.О 12 ПЗ 
вказаю вимоги користувача та технічні вимогиJ опис дизайну, формат форм та 
друк графічного інтерфейсу; умоnні та математичні позначення тощо. Після 
розробки SRS вимоги nеревіря1оtьсн на rrраr<тичність, відповідність 
функціональності та області програмноrо забезпечення, якість та завершеність. 
Це забезпечує те) що nрограмне забезпечеtпur буде розроблене відповідно до 
вимог користувача та фун1щіональних вимог. 
Первинні і детальні вимоги 
Розробка телеграм-бота для створення чек-листів для конкретного виду 
програмного забезпечення вимагає визначення первинних і детальних вимог, що 
забезпечать злагоджену взаємодію між різними компонентами системи та 
відповідність очікуванням користувачів. 
Первинні вимоги - це загальні високорівневі вимоги, які визначають 
основні функції та цілі системи. 
Метою системми є забезпечення користувачам зручний інструмент для 
швидкого і ефективного створення чек-листів для тестування програмного 
забезпечення. 
Основні функції 
- реєстрація та автентифікація користувачів; 
- створення, редагування та видалення чек-листів; 
- запуск готових шаблонів чек-листів для різних видів тестування ПЗ; 
- зберігання та доступ до чек-листів у базі даних. 
Детальні вимоги включають специфікації, необхідні для реалізації кожної 
складової системи . У контексті розробки телеграм-бота для створення чек-листів 
ці вимоги охоплюють підтримку створення та зберігання шаблонів чек-листів, 
можливість користувачів створювати власні чек-листи, редагувати та видаляти 
пункти. Функціональність бота повинна включати інтерактивний інтерфейс для 
зручної взаємодії з користувачами, забезпечувати швидке створення та 
управління чек-листами. Система також має включати можливосп для 
надсилання сповіщень користувачам про зміни у чек-листах, а також 
26 
ЧДТУ . 24 2302.012 ЛЗ 
nід1~риму13ати багатомовніс~ь. Звітнkть повинна дозволяти користувача [ 
генерувати звіти 11ро ви1<0нання 1ек-п~-,стіn , зберігати ,·х у зручних фор атах для 
подальшого аналізу та е1<с11ор1-у. 
Вимого для роз11об1Нtkа : 
1.  1 Корнстувач повинен мати можливість взаємодіяти з ботом через 
:команди та ююпки . 
1.2 Бот повинен забезпечувати інтуїтивно зрозумілий інтерфейс для 
додавання , редагування та видалення завдань і категорій. 
1.3 Всі доступні команди повинні бути відображені у вшляді кнопок на 
клавіатурі бота . 
1.4 Користувач повинен мати можливість створювати нові шаблони чек­
листів, вказуючи їх назву та опис . 
1.5 Користувач повинен мати можливість переглядати всі свої шаблони. 
1.6 Бот повинен забезпечувати можливість редагування та видалення 
шаблонів. 
Вимоги для замовника: 
1 Замовник повинен мати можлив1сть розпочати взаємодоо з ботом, 
ввівши команду /start. 
2 Програмне забезпечення повинно забезпечити засоби для введення і 
збереження різноманітних даних користувача, інтерактивний інтерфейс для 
взаємодії з користувачем, підтримувати обробку команд, зберігання даних про 
шаблони чек-листів та надавати користувачам можливість вибирати готові 
шаблони для створення нових чек-листів. 
Функціональні вимоги включають специфікації, необхідні для реалізації 
.кожної складової системи. 
реєстрація та автентифікація користувач1в: Забезпечити можливІсть 
реєстрації нових користувачів та автентифікацію вже зареєстрованих; 
створення чек-листів: Користувач повинен мати можливІсть 
створювати нові чек-листи для обраного виду тестування ПЗ; 
27 
ЧДТУ . 24 2302.012 ПЗ 
редагування чек~листів : Бот rювинен дозволяти користувачам 
редагувати існуючі чек-листи ; 
видалення чек-листів : Користувачі повинні мати можливість видаляти 
чек-листи; 
перегляд чек-листі в: Бот повинен дозволяти користувачам переглядати 
свої чек-листи ; 
запуск готових шаблонів чек-листів : Забезпечити можливість запуску 
готових шаблонів чек-листів для різних видів тестування ПЗ; 
надсилання сповіщень: Бот повинен надсилати користувачам 
сповіщення про важливі події. 
Нефункціональні вимоги: 
продуктивність: Система повинна обробляти запити користувачів у 
реальному часі з мінімальною затримкою; 
зручність використання: Інтерфейс бота повинен бути інтуїтивно 
зрозумілим і простим у використанні; 
безпека: Система повинна забезпечувати захист даних користувачів від 
несанкціонованого доступу; 
масштабованість: Система повинна підтримувати збільшення кількості 
користувачів та даних без значної втрати продуктивності; 
надійність: Система повинна бути стійкою до збоїв і забезпечувати 
безперебійну роботу; 
сумісність: Бот повинен бути сумісним з р1зними платформами 1 
пристроями; 
підтримка та обслуговування: Забезпечення технічної підтримки та 
оновлення системи для вирішення нових потреб і потенційних 
проблем . 
2.2.2 Формування вимог за допомогою діаграми прецедентів 
Один з найважливіших етапів проектування системи - ідентифікація 
прецедентів та дійових осіб. Цей процес включає чітке визначення системи та її 
28 
ІДТУ. 24 2302.012 П 
оточення, визначення того, т, дійові особи взаємодіють з системою, а також 
визначення очікуваного фунt<ціоналу системи (варіанти використання) . Для 
детального опису фу1щціоналу системи використовуються загальні поняття з 
глосарїї предметноі· області. Ці дії зазвичай виконуються у такій послідовності: 
визначенвя дійових осі б, визначення прецедентів (варіантів використання), 
складання опису 1<0жного прецеденту та опис моделі прецедентів в цілому (у 
тому числі створення словника предметноі: області) [2] 
Видалення rnорених 
\. шаблоніз 
~·---...._ __ __ 
Реєструється у с1юемі 
1------ Реда гування стєоренних 
Створення нових шаблонік 
шаблоніа 
Готові шаблони 
розробнююм 
КорпСТ)·вач 
Перетяд інфор1лації 
Рисунок 2.5 - Діаграма перецендів телеграм бота формування чек-листа 
для тестування обраного виду програмного забезпечення 
29 
ЧДТУ. 242302.012 ПЗ 
Діаграма прецедентів (Use Case Diagra111) "може включати наступні 
основні прецеденти: 
І Користувач реєструється у системі: 
користувач пише команду /start; 
система обробляє користувача і вносить в базу даних. 
2 Користувач авторизується в системі: 
система перевіряє унікальни ідентифікатор користувача; 
користувач отримує доступ до функціонало. 
З Користувач переглядає інформацію: 
користувач має можливість переглянути доступну інформаці; 
система надає інформацію про функціональність і роботу бота. 
4 Користувач використовує готові шаблони розробником: 
користувач обирає потрібний шаблон; 
симтема відправляє чек лист. 
5 Користувач створює нові шаблони: 
користувач вводить дані для нового шаблону; 
система зберігає введені дані. 
6 Користувач редагує створені шаблони: 
користувач вибирає шаблон для редагування; 
користувач редагує дані в шаблоні; 
система зберігає зміни. 
7 Користувач видаляє створені шаблони: 
користувач вибирає шаблон для видалення; 
система підтверджує видалення; 
шаблон видаляється з бази даних. 
зо 
ЧД' І У.24 2302.012 П 
2.3 Проектування J101 і 111ої 11)У тури nрограм11ого ко~нurексу 
В цьому підрозділі розглядатимуться такі питання : дjаграма клас1в, 
діаграма пакетів. 
2.3.1 Діаграми класів 
Діаграма юшсів - це статичне зображення структури моделі, яке відображає 
декларативні елементи, такі як класи, типи даних, їх вміст та відносини між 
ними. Хоча діаграма класів може включати позначення для пакетів та їх 
вкладених елементів, її основний фокус на статичних елементах моделі. Імена 
класів повmmі відображати поняття предметної області та описувати тільки одну 
сутність. 
По темі було розроблену наступну діаграмму класів [2] . 
..._ ЕІ Телеграм бот - 8 Користувач 
,., 
ІВ База даних 
,1, 
а Чек-лист ЕІ Шаблон 
~ 
)~ 
Рисунок 2.6 - Діаграма классів без атрибут для телеграм бота формування чек­
листа для тестування обраного виду програмного забезпечення 
На цій діаграмі зображені різні класи такі як: 
1 Телеграм бот. 
2 Користувач. 
31 
ЧДТУ . 24 2302.01 2 ПЗ 
З База даних . 
4 Шаблон. 
5 Чек-лист. 
Г-1 Телеграм бот 1-1 Кори ст ува•1 
..т @,:с.--е~'с '<О J:"•,стуе• '-' » 
c-..:ipei-- .., . ...,e<• .. ,~,cr. ,д.w-т1,1ф"г,ор 
- S...a •cvc.:::i,,. ◄--
Ім' ,~ 
їо,·є ... 
По~t.1оr.\,~ ... ,.._""І Н І ІС""'ІІ Й J,', 
' 
Е! База ДІІНИХ 
CnACC! < ~-11 5 ."": СІ Іо- 8 
35ере;,._ення моеих чек:.г,ист-j е 
Е] Чек-лист -~ 
в Шаблон 
Hue ~ 
пу .. ,.,.,.,. Н2.Зе~. 
◄-
ПуІ-І .<Т;,,1 '-"•К•Л V: :::ТіІ 
C .a::ip •1--o t".:c,;iv..c:"y■~ue ,., 
f.:.'1!: н ТИС. +:~";":,р 
-е ..., щ:::::;, ,:г~р 
t 
Рисунок 2.7 - Діаграма класів телеграм бота формування чек-листа для 
тестування обраного виду програмного забезпечення 
На цій діаграмі зображені різні класи з атрибутами: 
1 Користувач : 
опис : Представляє користувача системи; 
атрибути : ім 1я , ідентифікатор , нікнейм ; 
методи : реєстрація, авторизація, отримання повідомлень . 
2 Телеграм бот : 
опис: Клас, який управляє функціональністю бота, такими як 
запуск, обробка команд і відправка повідомлень; 
32 
ЧДТУ. 24 2302.012 ПЗ 
- атJ)ибути··  то1 ,ен , методи·  для взасмод11···  , 1· нтерфейс, створення чек-
листа; 
- методи: надсила1-11-1я повщ· омлень, обробка вхщних повjдомлень, 
взаємодія з базою даних . 
З Шаблон 
- опис: базова структура, яка визначає формат і вміст чек-листа; 
- атрибути: вміст, ідентифікатор, назва, пункти, тощо; 
- методи·. додаван ня ша б лону, редагування шаблону, видалення 
шаблону. 
4 Базаданих 
- опис: Представляє набір шаблонів для тестування програмного 
забезпечення; 
- атрибути: список шаблонів (templates), збереження нових чек­
листів (checklists). 
- методи: оновлення шаблону, видалення, додавання нового 
шаблону. 
5 Чек-листи (Checklists): 
- опис: Представляє чек-листи, які створює користувач через бота; 
- атрибути: назва, пункти, ідентифікатор, шаблони створею 
користувачем, тощо; 
- методи: створення нового чек-листу, редагування, видалення. 
Зв'язки між класами 
- користувач (User) взаємодіє з Телеграм ботом (TelegramВot); 
- телеграм бот (TelegramВot) взаємодіє з Базою даних (Database) для 
зберігання та отримання шаблонів і чек-листів; 
- шаблон (Template) зберігається у Базі даних (Database); 
- чек-лист (Checklist) використовує Шаблон (Template) і створюється 
користувачем через Телеграм бот (TelegrarnВot). 
Ці класи взаємодіють між собою для забезпечення функціональності 
,.,,., 
.).) 
ЧДТУ. 24 2302.012 ПЗ 
телеграм боту. 
2.3 .2 Діаграми пакетів 
Діаграма пакетів (Package ct· 
. tagщ111) Є ЄД · 
иним шструментом який дозволяє 
І{ерувати складюстю моделі · Граф · v ' 
. 1чвии сим 
б вол пакету використовується для 
граф1чного зо раження пакетів над · 
1аграмах. 
По темі було розроблену насту . 
пну д~аграмму пакетів [9] . 
І 
l 
Модуль користувач ,., . 
Модуль телеграм бот 
І ~ \ 
Модуль інтерфейс 
І ',, 
Модуль бази даних 
І 
,-. Модуль шаблон 
І 
. Модуль чек-лист 
Рисунок 2.8 - Діаграма пакетів для телеграм бота формування чек-листа для 
тестування обраного виду програмного забезпечення 
Систему можна розглядати як набір модулів, які забезпечують функціонал 
телеграм бота для створення чек-листів для тестування програмного 
забезпечення. Діаграму пакетів можна організувати наступним чином: 
34 
ЧДТУ . 24 2302.01 2 ІІЗ 
Модуль користувачів. в . ...  
· · ю1 10 1 mє клоси та комrюнснти дюr реєстращ 1 , 
авторизації та керування rч. І>ушш'і онр"1 ·11-~- 1 -11· с ·1 ·1~"  лля yrrpanлimr я 1 1ск-листами, 
додавання , редагування та видалення . 
2 :М.од)1.rtь інтерфейс,, · Мод • · ... 
• .т • уль, що м 1стить компоненти для взаємод11 з 
користувачем через інтерфейс телеграм боти. 
З :м:од)'.ТІЬ бази даних: Включає компоненти для зберігання та витягу 
інформації про чек-листи , користувачів та інше. 
4 l\1одуль шаблон1·в·. м1· с тить ша б лони, за допомогою яких можна 
створювати нов1 чек-листи. 
5 Модуль телеграм бота: Включає компоненти для зв'язку з АРІ 
Telegraш, обробки вхідних повідомлень, відправлення вихідних повідомлень і 
керування взаємодією з користувачами через платформу Telegram. 
Така організація модулів у вигляді пакетів дозволяє логічно групувати 
компоненти за їх функціональністю та роллю в системі, що полегшує розробку, 
тестування та шдтримку системи . 
2.4 Архітектурне проектування 
В цьому підрозділі розглядатимуться такі питання: діаграма копмонентів, 
розгортання програмної системи на апаратних засобах, діаграма розгортання. 
2.4.1 Діаграма компонентів 
Діаграма компонентів (Component diagram) показує зв'язки між фізичними 
або логічними модулями, які складають систему, що моделюється. Додавання 
зв'язків між компонентами на діаграмі може допомогти краще зрозуміти 
архітектуру системи. У мові UМL І, компонент зображується як прямокутник з 
двома меншими прямокутниками зліва. Внутрішній прямокутник містить ім'я 
компонента і , можливо, додаткову інформацію. У мові UML 2, компонент 
зо б ражується як прямокутник з нео б ов 'я зковим ключовим словом " component " у 
вигляді стереотипу. 
На відміну від попередніх діаграм, діаграма компонентів описує фізичне 
представлення системи та дозволяє визначити арх~тектуру розроблюваної 
35 
ЧДТУ . 24 2302.012 ПЗ 
системи , встановлюючи залежності між програмними компонентами . У багатьох 
середовищах розробки , мо·д уль·  б . . .., 
а о компонент може вщловщати фаилу. 
По темі було J)ОЗJ)облену наступну дt· аграмму компонент1·в  [9]. 
Модуль 
Модуль шаблонів 
аунтефікац1і 
Модуль 
чек-листів 
Користувацький 
інтерфейс (UI) Модуль 
телеграм ботоот 
Серверний застосунок 
(Server Application) 
База даних (Database) Інтеграційний шар 
АРІ 
телеграм бот 
Рисунок 2.9 - Діаграма компонентів телеграм бота формування чек-листа для 
тестування обраного виду програмного забезпечення 
Діаграма компоненпв для телеграм боту який створює чек-листи 
виглядати наступним чином: 
36 
І ) (' І . 2 О .о 12 J П 
І І О))Іt т nюц 1 111, 111, . 1 фе і 
- ' І J І 1 \) М j 11 } (\) 1' " 11, ( ' 
• -, -1 , м ))ЩІ 1с ри тyшitra '10 ,ере іт·срфсйс 
1 
2 срnср1ші · а. то . 1101 
л DП JIOl ік Т' , як обробля вх ідн і 
ti щнр ВJШ ідrювідj ; 
- м фі1 ції: Від~1 11сревірку правильності входу 
му· 
- м л ша л нів: відповіда . за готові шаблони· 
' 
- модуль ч к-листів: відповіда . за створення чек-листів. 
3 Інтеграційний шар (lntegration Layer): 
- арі Teleg1·am: інтерфейс для взаємодії з Telegram АРІ для обміну 
повщомл ниями та керування ботом. 
4 База даних (Database): 
- сховище даних: централізоване сховище всієї інформації, пов'язаної 
з шаблонами, чек-листами які створив користувач . 
Така структура дозволяє боту взаємодіяти з користувачами через Telegram, 
зберігати необхідні дані у базі даних, обробляти вхідні повідомлеІШЯ та 
використовувати сторонні сервіси для розширення його можливостей. 
2.4.2 Розгортання програмної системи на апаратних засобах. д1аграма 
розгортання 
Діаграма розгортання в UМL відображає обчислювальні вузли, 
компоненти та об' кти, що працюють на цих вузлах під час виконання програми. 
На діаграмі відображаються лише компоненти, які мають робочі кземпляри, 
тоді як компоненти без екземплярів можна відобразити на діаграмах компонент. 
Діаграма розгортання зосереджена на відображенні робочих екземплярів 
компонентів, тоді як діаграма компонент зосереджена на зв'язках між різними 
типами компонентів. 
Діаграма розгортання (Deployment Diagram) в UМL є д~аграмою, що 
37 
ЧДТУ. 24 2302.О 12 П 
.відображає апаратні компоненти , на яких викону ться система, та їх зв'язки [9]. 
для теми "Розробка телеграм бота для ствросння чек-листів для тестування ПЗ", 
діаграма розгортання може виглядати так: 
/ / 
СешР. Ieleg1·am BotAPI 
V 
І / / / / / 
СеР.ВеР. застос,'НКів Се()МР.И ДОПО~Ііжнш: Систе~ш ~юніторПНІ ~ та 
(бізнес-.1оrіка). сервісів ~урналюванвя 
V / І/ 
І 
І / / І 
База)анш КоР.ІІсrувачі 
,.~,.  (Клієнтськпй рівень} 
І/ / 
Рисунок 2.1 О - Діаграма розгортання телеграм бота формування чек-листа для 
тестування обраного виду програмного забезпечення 
38 
ЧДТУ . 24 2ЗО2.ОJ 2 rп 
Діаграма розгортання lVНJ теле, rам f>o,ra /(mr с:пюрсння чек лис.ів 
тестування ПЗ може Вf<mочати нuстунні елементи : 
1 Сервер TeJeg1·a•n Bot АJ)І : 
Опис: Сервер, що нада · AJ>J для nзаємо1tії ·з пюі'м телеграм ботом . 
Місце розгортання: Може бути розміщений в хмарних сервісах або на 
власному сервері . 
Функції: Обробка вхідних та вихідних повідомлень бота . 
2 Сервер застосунків (бізнес-логіка): 
Опис: Виконує бізнес-логіку бота та керує взаємодією з базою даних . 
Місце розгортання: Цей сервер може бути окремим компонентом, що 
взаємодіє з сервером Telegram Bot АРІ та базою даних. 
Функції: Обробка запитів від користувачів, лопка створення та 
. . . . · с: 
редагування чек-листш, а також взаємощя з шшими серюсами, якщо потрюно. 
3 База даних: 
Опис: Служить для зберігання шаблонів тестування, чек-листів та іншої 
інформації, необхідної для роботи бота. 
Місце розгортання: Може бути розміщена на тому ж сервері, що й сервер 
Telegram Bot АРІ, або на окремому сервері баз даних. 
Функції: Зберігання та доступ до даних для бота. 
4 Користувачі (Клієнтський рівень): 
Опис : Користувачі, що взаємодіють з ботом через месенджер Telegram. 
Місце розгортання: Користувачі можуть використовувати будь-який 
пристрій з встановленою програмою Telegram. 
Функції: Взаємодія з ботом для створення та управління чек-листами 
тестування . 
5 Сервери допоміжних сервісів: 
39 
ІДТУ . 24 2302.01 2 П 
Опис: Можуть включати ес · . 
рвtси д11я анатзу 1щних , нотифікаuій~ а також 
інші додаткові фу1шціональності. 
Місце розго~ тання: Ці CCJJB . . 
ери можуть бути ро3Міщені 01<ремо або на тому 
ж сервері, що й сервер застосуш<ів. 
Функції: Наприклад можливі , . • 
' ci ь надсилання пов1домлень про нагадування 
або звіти nµo статистику ВИІ<ористання бота. 
6 Системи моніторингу та журналшвання: 
Om1c: Системи для моніторингу та ведення журналу подій бота, що 
допомагають виявляти проблеми та аналізувати його роботу. 
Місце розгортання : Часто ці системи розміщуються окремо від основних 
комnоненпв. 
Функції: Відстеження роботи бота, аналіз помилок та покращення його 
продуктивносп. 
2.5 Моделювання поведінки системи 
В цьому підрозділі розглядатимуться такі питання: діаграма діяльності, 
діаграма послідовності, д~аграма діяльності, д~аграма комунікації, діаграма 
скінченного автомату. 
2.5 .1 Діаграма діяльності 
Для опису логіки процедур, бізнес-процесів і потоюв використовують 
д1аграми діяльності. Ці діаграми схожt на блок-схеми, але вони дозволяють 
показати паралельні процеси. За допомогою діаграми діяльності будь-хто, хто 
здійснює процес, може визначати порядок дій . Тобто, діаграма встановлює 
правила обов'язкової послідовності дій, які повинні бути виконані. Діаграми 
діяльності також корисні при розробці паралельних алгоритмів, де незалежні 
потоки можуть виконувати роботу паралельно [9]. 
40 
ч т . 24 2 02.01 2 n 
Нижче П] ед тавл 
на наступна діаr рама діяльності 
l 
1 
Бот вмзнечає тм~:~ nоо\домлення та 
вмконує вщnоеІднІ дІ\ 
Cn,ope!DDI иавоrо "<U.......-.Кс,т:а Ві.зоб-р~---- З~І:Т)-пвв:х ,.•  ._... . 
.--.:ис:тu, 1 Р4!ЗІО"),а~ і~-ючоrо 
---------+-- ------_-_-_-J.--_,,,/ 
Бот ~Р~о азво1а..хіє з 
~рвст.,.-вач~,1 зз:в ВЕП:о.ва.в:ия обраної 
зії 
Рисунок 2.11 - Діаграма діяльності телеграм бота формування чек-листа для 
тестування обраного виду програмного забезпечення 
. . 
Розробка д1аrрами ДІЯЛЬНОСТІ м~ж компонентами допоможе краще 
зрозуміти, як інформація та запити переходять між різними елементами телеграм 
бота для створення чеклистів для тестування обраного виду ПЗ. 
1 Початок: 
користувач відправляє повідомлення боту; 
користувач надсилає команду або запит до телеграм бота. 
2 Отримання повідомлення: 
41 
_.J 
► 
ЧДТУ . 24 2302.О І 2 П 
- бот отримує повідомлення від користувача ; 
- бот отримує занит або команду від: r<ористувача через сервер 
Telegгam АРІ . 
з Обробка запи1у : 
- бот визначає тип повідомлення та виконує відповідні дії; 
- бот аналізує повідомлення, визначає його тип ( створення чек-листа, 
редагувюrnя , перегляд тощо). 
4 Вибір дії: 
- створення нового чек-листа: бот запитує необхідну інформацію від 
користувача та зберігає новий чек-лист; 
- редагування існуючого чек-листа: бот запитує ідентифікатор чек­
листа та дозволяє користувачеві вносити зміни; 
- перегляд чек-листів: бот отримує дані з бази даних і відправляє 
список чек-лист1в користувачу. 
5 Інтерактивна взаємодія: 
- бот взаємодіє з користувачем для виконання обраної дії; 
- заповнення чек-листа: бот запитує користувача про кожен пункт 
чек-листа; 
- додавання пункпв до чек-листа: бот дозволяє користувачею 
додавати нові пункти; 
- підтвердження виконання завдання: бот запитує підтвердження від 
користувача для завершення задач~. 
б Обробка дії: 
42 
ЧДТУ . 24 2302.О 12 ПЗ 
- бот оновлює дані в баз ,· 
даних ; 
- збереження нових дани .. .. . 
х · 6 0 r збер1гає або оновпює дані в базі даних; 
вщправка шдтвердженн.я корис·rувачеві : бот надсилає 
пщтверджен.ня користувачу про усп ішне виконання. 
7 Завершення дії: 
- користувач отримує відп · • 6 _ __ 
ов1дь вщ ота з результатами виконано1 ДІІ. 
8 Вихід: 
- користувач завершує взаємодію з ботом·,  
- користувач може завершити сеанс або продовжити взаємоДІю з 
ботом для нових запитів. 
На кожному кроці, де користувач має вибір дії, д~аграма МІСТИТЬ 
розгалуження, яке веде до відповідних дій. Цикли відсутні, але є мож.,їИВість 
повернення до вибору дії після завершення кожної операції, що дозволяє 
користувачу виконати декілька дій за одну сесію. 
2.5 .2 Діаграма послідовності 
Діаграма послідовності використовується для зображення об'єктів, яю 
беруть участь у взаємодії та послідовності повідомлень, які вони обмінюють між 
собою. Ці діаграми є одним із найпопулярніших способів представлення 
детальних вимог на етапі аналізу. Головна мета перетворення полягає у 
збільшенні рівня точності, формалізації вимог та їх представленні у вигляд~, 
необхідному для подальшого проектування [9]. 
Нижче наведено можливу діаграму послідовності для розробки телеграм 
бота для створення чек-листів для тестування ПЗ. 
43 
ЧДТУ . 24 2302.01 2 П 
Телеrра_ , Бо т l _, Ба ::: а .аа н о: 
''  
Ві.цnравnяє повідомлення Отри І"І ує повідо 1~лення Оr1овлюе дан і 
Визна-1ає п1 п повідомлення 
Виконує ві,!]повІдн і дії 
.;·~О-т-р.v.. м-.у.є..Ю...н.<..н.:.л..ю.е. .д..а.н..і  ,: 
, 
. ГL_ Надсилає відповідь 
1••~-- Отримує в1дnовідь ~ · · 
Від равл є saniп на 
перевірк,• дос;упн11х чек-листів 
Оброб1:а запиrу 
За.ПІП на 
перев ірку шаблонів 
че1:-лис-т;ів 
с--· ВІдображ.аннs; д?ст~; ни-___ х+Відображання_ дост:~тних 
чек ИСПБ чеt: ЛІ1СїіВ -
,· 
Відправляє зап 11т н а СїВорення 
чек-лнсїа 
Обробка запиту 
__J 
с.Стєорює ,а відправляє обран1111 
uer.-Лl1Cї 
Рисунок 2. 12 - Діаграма послідовності телеграм бота формування чек-листа для 
тестування обраного виду програмного забезпечення 
44 
l 
ЧДТУ . 24 23 02 .О 12 ПЗ 
Користувач: відпраля є повідомлення боту . 
телеграм бот: отримує повідомленюr . 
Бот визначає тип повідомлення 
Бот виконує відповідні дії: 
База даних: Якщо повідомлення , . 
пов язане 1з запитом даних , бот отримує 
дані 3 бази даних. 
Якщо повідомлення пов'язане з • 
оновленням даних, бот оновлює дані в баз1 
даНИХ· 
Телеграм бот: надсилає відповідь користувачу. 
Користувач : отримує відповідь. 
Користувач: вщправляє запит на перевірку доступних чек-листів . 
Телеграм бот: обробляє запит та відправляє запит в базу даних на перевірку 
mаблонів чек-листів 
База даних: передає список доступних чек-листів телеграм боту. 
Телеграм бот: відправляє користувачу всі доступні чек-листи для 
тестування ПЗ. 
Користувач: відправляє запит на створення чек-листа. 
Телеграм бот: оброблює запит, створює обраний чек лист та відправляє 
користувачам. 
На діаграмі послідовності кожна з цих взаємодій буде представлена як 
. . . 
горизонтальна стршка, що вказує вщ вІДПравника до отримувача, з часом, що 
просувається вертикально вниз. Об'єкти (User, Telegram bot, Data Base тощо) 
зазвичай розміщуються зліва направо у верхній частині діаграми в порядку їх 
активації . 
2.5.3 Діаграма комунікації 
Діаграма комунікації (Communication Diagram) - це один із типів діаграм 
UМL, який використовується для візуалізації взаємодії між об'єктами або 
компонентами системи, які передають повідомлення один одному. 
На діаграмі комунікації об'єкти чи компоненти представляються як 
45 
. . . ЧДТУ. 24 2302.01 
"яокут1-1ик1в чи гуртюв, а зв'яз01< . 2 ПЗ 
f1PЯ1v• МІЖ НИМИ ~ . 
дачі nов·щ омлень. к ожен зв'яз , як стр·т о к, яю.  вказують напрям 
nepe . ок може бути пі n v . • 
~лається вщ одного об'єкта або . д исании повщомленням, яке 
Jіадс компонента . 
Діаграма комунікації може бут . до шшоrо . 
. и використана . . . 
м:одіють м1ж собою в системі та . . для розум1ння, яю об'єкти 
взає яю повщомлення . 
І(ах певних сценаріїв . Вона МО) передаються м1ж ними у 
раМ ІСе допомогти 
·ку роботи системи та виявити по •v • розробникам краще зрозуміти 
дofl тенцшю проблеми . , . 
ОДІї. між об'єктами. чи покращення у процес~ 
133аєм: 
Діаграма комунікації для розробки 
• телеграм бо та для створення чек листів 
для тестування п З вщображає взаємодії . . 
. МІЖ р1зними учасниками ( об'єктами 
nродесу та повщомленнями, які вони обмінюю . 
ть. Ось так виглядає така д~аграма: 
і . Of)il'l.~1; ~ ёі'VЩ 2, Оrр:,ша"~ {:JІІ!Щ 
ДО-:1)1'.'!Іt:і ~Щ]Qt:la ~ г~ :roct)rn~ш wafuioo дn; 
іс1;Т)'Еа!'Jі~(13 fе&і)Р:'{:1я Пj 
З , C!w.~Ot: Дt{f(i';-W: Шіt~ОНіІ! 
дr~ щ~р;;к;~ c1trщr~ 
OO~<s!DJO іШ~~Н~ Ш 
ТtлтамБот 
б . Q~pJ~ rь i>.~ot?.~4 
Ш:Jjл~ 11~r,л1;,:сіа 
7. Сщ1r.( Іl~ЮЇДОІ,\~СІ'J;~ -1 
0'5iNt'.111 шмом.~ 
іа Е\qП~Є r.opІ ! CТjt,f.y 
Рисунок 2. 13 - Діаграма комунікації телеграм бота формування чек-листа для 
тестування обраного виду програмного забезпечення 
Учасники: 
Користувач (User): Відправляє команду для отримання конкретного 
шаблону чек-листа . 
Телеграм Бот (Telegram ВОТ): Отримує команду вщ користувача. 
Аналізує команду і визначає, який шаблон чек-листа відповідає запиту. Вибирає 
відповідний шаблон чек-листа зі свого набору шаблонів. Обробляє шаблон 
46 
Ч)\ТУ . 24 2302 . ОІ 2 rr ·з 
аповню . даю , форм111у(- , JЮЩ1(· , . 
(з _ .. J(<щ .._, r<ояу ~нфор r:щir.()) . АідпраRПЯ:f' 
"стуuачу оброблс,ти шаблон чеr< -н ., . 
){ОР 1 , и r а ~fio pc·1yrrrпa'r 1апи·rу . 
База даних (Databas ): Зберіпн· . 
( , l (aJH rrro шаблони rr J<-ЛИСТІВ для 
.,-vвання ПЗ. 
1·еС•1 
кому11 ікація : 
Користувач вщnравляє nовідомлення те1rеграм· 
боту лля отримання 
доступних шаблонів че1<-листів для тестування ПЗ . 
Телеграм Бот запитує інг1)0рмаці,о 
'і 3 6 ази даних . 
База даних повертає список доступних шаблонів чеклистів тестування ПЗ 
Телеграм Боту. 
Телеграм Бот відправляє повідомлення 
користувачу з доступними 
ruаблонами чек лиспв для тестування ПЗ . 
Користувач отримує повідомлення 
обирає потрібний шаблон для 
створення чек-листа. 
Телеграм Бот обробляє шаблон чек-листа 3 бази даних . 
Телеграм Бот створює відповідний шаблон і відправляє повідомлення з 
чек-листом користувачу. 
На діаграмі комунікації кожен з цих кроків представлений у вигляд~ 
повідомлення між об'єктами, зі стрілками, що вказують напрямок комунікації. 
Об'єкти розташовуються на діаграмі так, щоб відображати логіку взаємодії та 
послідовність обміну повідомленнями. 
2.5.4 Діаграма скінченного автомату 
Діаграма кінцевого автомата (Finite State Machine diagram) - це один із 
типів діаграм UМL, який використовується для моделювання поведінки системи 
у вигляді кінцевого автомата, тобто математичної моделі , яка є кінцевою 
кількістю станів і переходів між ними . 
На діаграмі кінцевого автомата кожне стан системи представлено як 
еліпса, а переходи між станами _ як стрілок, які вказують на умови переходу м1ж 
станами . К ожен перех·щ  може бути підписаний умовою, яка має бути виконана, 
Щоб перейти до наступного стану. 
47 
ЧДТУ · 24 2302.О 12 І ІЗ 
Діаграма 1<і1-щсвого uвтомnта може fi . 
. >уrи RИJ<ористана юrя рп,у. rіння . як 
ма переходить вщ однщ-0 стону < • 
сІ'Істе . д) ІПню,·о 'Ннrсжно RiJ( rrcвюrx у тв 1 тз які ... иконуються пщ час переходу м· . . 
,11 JІ в ІЖ снн-1ами . f-:Joнa юже допо югтн 
бникам краще зрозуміти логіІСу 6 , . _~  . 
розро ро 0111 системи та ВИЯВИ"'ГИ ПОТЄfЩІИНІ 
блеми чи покращення у процесі перехо;.,у м~· 
JТJ)O С\ ж станами . 
По темі роботи була створена нас· • . 
1-упва д~аграма CJ<JНLJeнoro автомату . 
Діаграма сюнченноrо автомату (Finite State Machine, FSM) для rтpouecy 
розробки телеграм бота для створення чек-листів для обраного виду ПЗ може 
ілюструвати стани системи під час використання та переходи між цими станами 
залежно від дій користувачів або системних подій. Ось приклад такоі дjаграми: 
Стани : 
Стан 1: Початковий стан 
Опис: Початковий стан, в якому знаходиться бот до початку взаємодй з 
користувачем. 
Дії: Очікування команди від користувача. 
Стан 2: Стан створення чек-листа 
Опис: Стан, в якому користувач створює новий чек-лист. 
Дії: Користувач вводить назву і пункти чек-листа. 
Стан З: Стан редагування створеного чек-листа 
Опис: Стан, в якому користувач редагує вже створений чек-лист . 
Дії: Користувач вносить зміни до назви або пунктів чек-листа. 
Стан 4: Стан перегляду 
Опис: Стан, в якому користувач переглядає створені або готові шаблони 
чек-JШспв. 
Дії: Користувач переглядає чек-лист, оцінює його, і за потреби, вносить 
ЗМІНИ . 
Стан 5: Стан перегляду готових шаблонів чек-лиспв 
Опис: Стан, в якому користувач перегляда є ГОТОВ! шаблони чек-ЛИСТІВ, 
надані ботом. 
Дії: Користувач обирає шаб  лон для пе регляду або використання. 
48 
ЧДТУ. 24 2302.О 12 J ІЗ 
J]ерсходи між станами : 
[Початковий стан] --вести зан . __ .. . 
Иr > [Сrан створення 1 ек-листа] 
подія : Користувач вводить ком 
анду для створення нового чет<-листа. 
дія : Бот переходить до стану створе•~,_.я 
г '- чек-листа. 
2 [Стан створення чек-лис·rа] --Pel"aryвa1-1f·rя 
С\ створеного--> [Стан 
гування створеного чек-листа] реда 
ПОДl.Я : Користувач завершує ство · ~ 
. рення чек-листа 1 бажає иого редагувати. 
Дія: Бот переходить до стану редаrування. 
З [Стан редагування створеного чек-листа]--> (Стан перегляду] 
Подія: Користувач завершує редагування чек-листа. 
Дія: Бот переходить до стану перегляду. 
4 [Стан перегляду] --скасування тестування чек-листа-> [Початковий 
стан] 
Подія: Користувач вирішує скасувати тестування чек-листа. 
Дія: Бот повертається до початкового стану. 
5 [Початковий стан] --вести запит--> [Стан перегляду готових шаблонів 
чек-листів] 
Подія: Користувач вводить команду для перегляду готових шаблонів чек­
лист~в. 
Дія: Бот переходить до стану перегляду готових шаблонів. 
б [Стан перегляду готових шаблонів чек-листів] --отримання чек-листа 
від бота--> [Стан перегляду] 
Подія: Користувач обирає готовий шаблон і отримує його від бота для 
перегляду. 
Дія: Бот переходить до стану перегляду. 
7 [Стан перегляду] --скасування тестування чек-листа--> [Початковий 
стан] 
Подія : Користувач вирішує скасувати тестування чек-листа. 
Дія: Бот повертається до початкового стану. 
8 [Початковий стан] --вести запит--> [Стан створення чек-листа] 
49 
ЧДТУ. 24 2зо2.012 ПЗ 
f1 дія· Користувач вводить кома~щу 
ДІ.оЯ.  Бо· т переходить до стану створе•rднн я створення нового чек-листа. 
• г я чек-листа. 
9 [Стан створення чек-листа] • . 
,rt;"овий стан] --в1дм1нити створення чек-листа--> 
[1Іоча1,,. 
J1одія: Користувач вирішує відмінити с·rворенн• чек-листа. 
Дія: Бот повертається до початкового стану. 
10 [J1очатковий стан] --вести заnит--> [Стал nереrляду готових шаблонів 
qe І( mхстів] -Jи• 
Подія: Користувач вводить команду для перегляду готових шаблонjв чек-
JІJіСrів­
Дія: Бот переходить до стану перегляду готових шаблонів. 
11 [Стан перегляду готових шаблонів чек-листів] --вjдмjнити перегляд 
готов их шаблонів чек-листів--> [Початковий стан] 
Подія: Користувач вирішує відмінити перегляд готових шаблонів чек-
листm. 
Дія: Бот повертається до початкового стану. 
По,;nхоеv.й стан ,- ---; 
Рисунок 2. 14 - Діаграма скінченого автомату т елеграм бота для формування 
чек-листів тестування обраного виду програмного забезпечення 
Ця д1. аrрама в.щ ображає можливі стани телеграм боит ам ділжя  цситвмоир еснтнаян ачемки-, 
листів ДЛЯ обраного виду тестува Ш-ІЯ ПЗ та переход 50 
ЧДТУ. 24 2302.О І 2 ПЗ 
0 ані на діях користувачів. Вона допомагає розробникам і аналітикам 
,с~ • ··· 
' oз)'r.f.t TИ логіку взаємод.н  кори. стувач1.в  з системою та спроектувати ш· тер<у, еи- с і 
ф,р y i-iJ{l.{1. О  І-І ал застосунку в~дпов~дно до по1реб користувачів. (9] 
51 
-
ЧДТУ . 24 2302.01 2 ПЗ 
Висновки до другого розділу 
д..,а оnису вс1х процесів , я1<і відбувалися rr i·д 
J J,,,. час розробки додатку, 
овувалася уніфікована мова моде (U UML 
р~ст люnаншr ML). Діаграми 
i J<O . 
І! nоділяються на поведшкові та структурні . Поведінкові діаграми 
vl'foJJlJO 
1 а.ють процеси У модельованому середовищі, а структурш діаграми 
іfіОбра)І< 
11 ~оть елементи, що складають систему. Ті самі типи діаграм можуть 
1101<а3У . . . . 
овуватися як для моделювання 61знес-процес1в , т.а к 1 для проектування ~а 
5J{J{ . О uм . ...  
тури. Одне з осн вних завдань L - слугувати засобом комун1 кащ 1 
ар>'1те1< 
~ команди та з замовнш<0м. UМL-діаrрами можуть бути використані для 
все ре . . . . 
ваННЯ арх~тектури великих проекпв, дозволяючи зібрати як велию, так 1 
r,(OдeJIJO . 
. . еталі та створити каркас програми. Для створення UМL модеш з 
,др16f{1 д 
го програмного коду можна застосовувати зворотне проектування. У 
. ,rt,юЧО 
1Cri; ·- . . .. 
рській роботі були створені діаграми розгортання, комуюкацв, 
бакалав 
. сті компонентів, пакетів, класів, послідовностей, скінченного автомата 
д!ЯЛЬВО , 
дентів для телеграм бота для формування чек-листів обраного виду ПЗ . 
та uреце 
52 
ЧДТУ . 24 2302.01 2 ПЗ 
3 розrоБКА т А ТЕСТУВАННЯ ПРоrр А Много ЗАБЕЗПЕЧЕННЯ 
з.1 розробка програмного комnJtексу 
В цьоМ)' підрозділі розглядатимуться т , . . . 
аю питання : обrрунтування вибору 
6. реалізації~ опис стреt<турної (функц · . 
3асо 113 lОШUІьt-юІ) схеми, опис логічної схеми 
розробка бази даних, розробка ін ф v 
снстемU , тер еису користувача , опис розробки 
аМНИХ компоненпв. 
J1J'oгp 
3.1.1 Обrрунтування вибору засобів реалізації 
Розробка телеграм бота для створення чек-листів для тестування 
nрограмн:ого забезпечення вимагає використання відповідних технологій та 
інструментів для забезпечення ефективності, безпеки та зручності ви:користаШІЯ 
для користувачів. У цьому розділі розглянемо основні технології та інструменти, 
які можуть бути використані для позробка телеграм бота для створення чек­
листів для тестуваШІЯ ПЗ. 
Telebot (також відомий як pyTelegramВotAPI) - це бібліотека для 
створення ботів Telegram на Python. Вона забезпечує простий та інтуїтивно 
зрозумілий інтерфейс для взаємодії з АРІ Telegram, дозволяючи швидко 
розробляти та налаштовувати ботів для різноманітних завдань. 
Json - це стандартний модуль Python для роботи з даними у форматі JSON 
(JavaScript Object Notation). JSON використовується для зберігання та обміну 
структурованою інформацією. Модуль 'json' дозволяє сер1ал1зувати 
(перетворювати Руthоn-об'єкти в JSON-cтpoкy) та десер1ал1зувати 
(перетворювати JSON-cтpoкy в Руthоn-об'єкти) дані. 
sqlite3 - це вбудована бібліотека Python для роботи з базою даних SQLite. 
SQLite - це легка, вбудована система управління базами даних (СУБД), яка не 
вимагає , sqli'teЗ' дозволяє створювати, читати, 
налаштування сервера. 
53 
ЧДТУ. 24 2302.О 12 JІ З 
,,·н та видаляти дані в базі даних SQLite бе,нrосеrсюн,о 1 Python~кoдy. 
,0133 
1013
1 JJ k _ це стандартний модуль І' th - -~ . 
о r1•acebaC У <m , якии fШJ(аЄ ІНструменти для 
форматування та друку трасувuпшr стека (stack tracc). Трасування 
qeHJ•J.Я , 
пилУ . rнri, інформацію про те, ЯІ<і функції були викликані до моменту 
м1с 
сrс1,з Ц 
13),fl(ЛІОЧеННЯ, е дуже 
J(JleI·Il~Я ~юрисно для налагодження та виявлення 
91111Н • 
у код~. ~нJJOI< 
~о~ os _ це стандартний модуль Python, який надає функції для взаємодії з 
ю системою. Він дозволяє виконувати операції з файлами та 
о!ІераІХійНО 
nпоrамИ, керувати процесами, отримувати системну інформацjю та 
~afw• 
ти налаштування середовища виконання. 
змі!fJова 
Dotenv - це бібліотека Python, яка використовується для завантаження 
. .,11их середовища з файлу '.env' у середовище виконання програми. Це 
ЗМІІU• 
дозволяє зберігати конфіденційні дані, такі як ключі АРІ та паролі, окремо від 
ду ' що підвищує безпеку та зручність керування на.л аштуваннями. ко 
Pathlib - це стандартний модуль Python, який надає об'єктно-орієнтований 
інтерфейс для роботи з файловими шляхами. Він забезпечує більш інтуїтивно 
зрозумілий та зручний спосіб маніпуляції шляхами до файлів та каталогів 
порівняно з традиційними методами модуля 'os'. 
Loguru - це бібліотека для логування в Python, яка забезпечує простий та 
зручний інтерфейс для запису логів. Вона підтримує автоматичне обертання 
журналів, форматування та фільтрацію, що робить процес логування більш 
ефективним та організованим. 
PyCharm - є потужним і багатофунrщіональним інструментом для розробки 
HaPython в · ф .. .. б 
· ІН надає всі необхідні інструменти для е ективно1 та зручно~ ро оти 
з кодом 
' тестуванням, налагодженням, веб-розробкою та базами даних. Завдяки 
»ід'Гр11 . 
мщ великоj' кількості плагінів та інтеграцій, PyCharm є ідеальним вибором 
54 
. . ЧДТУ. 24 2302.012 П 
бm,~ків Руtlюп р1зн:их рівнів в. -
озРо . ' tд ноча11<івців до r, -. .· . . 
µJ1Я р . GitНub : Git використову . рофес~онатв. 
G1t ra є rься д11я контролrл . .., 
. сJОЇ роботи та з б ер1. гання 1<одоtщх _ rv Верс1и коду , (J' t' tf- fu Ь  -
с111ль1 реnозиторіїв . 
µJJЯ . асоби реалізації вибрані дJ1я ств _ 
JJ) з ореннst функr j . .., 
• , . . . l( ональноrо та натиного 
т legi·am з шд1 рнмкою бази да . . 
боrз е . - них , збер· 1rа -ння·· м конфщ. еншию. ..-, -rх 
JiffYB ань ' зручним управшнням файла'" •и 
11gJJЗ !VI та ефекти вни f логуванням. 
3. J .2 Опис стректурної ( функціональиоі) схеми 
ф,nп<діональна схема для телеграм 
; ·- 6 ота який створює чек 
лести для 
виду ПЗ може включати наступні осн . 
обраяог0  овю компоненти. 
телеграм бот 
2 Управління шаблонами 
- створення шаблонів: Можливість створювати б · 
ша лони чек-лисnв; 
- редагування шаблонів: Можливість редагувати створенj шаблони; 
- видалення шаблонів: Можливість видаляти створені шаблони. 
З Базаданих 
- зберігання даних: Централізоване утримання всієї інформації, що 
належить систем~; 
- безпека даних: Забезпечення захисту інформації вщ 
несанкціонованого доступу та неприпустимого використання ; 
- резервне копіювання: Автоматичне створеш~я резервних копій з 
метою відновлення інформації у випадку аварійних ситуацій. 
4 Чек-лист 
- створення чек-листа : пl· сля обраного шаблон)' створюється чек­
лист; 
_ тестування о б раного виду ПЗ·•  створюється чек-лист де тестується 
обраний вид програмного забезпечення. 
55 
r 
ЧДТУ . 24 2302.0J 2 ІJ З 
Уrоа впІ~чR 
wв5л оч а , Аtt 
Зберігання да о;их 
База даних 
Резерв не f.Опіюsання 
Рисунок З .1 - Функціональна схема програми телеграм бота для формування 
чек-листів тесrування обраного виду програмного забезпечення 
Структурна схема для телеграм бота який створює чек лести для обраного 
виду ПЗ може включати наступні основні компоненти: 
1 Серверна частина: 
сервер: обробляє запити від клієнтської частини, забезпечує логік_ 
додатку. 
2 Клієнтська частина: 
інтерфейс (UI): включає основне меню телеграм бота та дії з ним 
для користувача. 
З Підсистема "Ведення бази даних": 
модуль зберігання даних: відповідає за зберігання інформації у базі 
даних; 
56 
ЧДТУ. 24 2302.ОІ 2 ПЗ 
модуль зчитування даних : відповідає за зчитування і нфор rаІ(ії 1 
ба311 даних; 
- модуль оновлення даних: відповідаt за оновnенн.sr інформац(, У ба-J і 
aJJJ-fX . 
fд1.І ДСJ1С тема "Формування звітів": 
4 
- мо дуль створення звітів : відповідає за створення звітів на основ~ 
іJІфорМ ації 3 ба.зи даних; 
- мо дуль форматування звітів: відповідає за форматування створених 
звітів. 
Інтерфе1k (UI) 
Мод~•ль зберіїання 
Клієкн:ьt:а частина 
даню: 
Ре.;~,т.; зг~1п 
1 ~ 
-
Модул, JіЧІі Т\'ЄЗ ННЯ Підс~юе,Аа ведення ба з11 ,., _..  Підснсте .1 а .ф.ор 1,1ування . Мо~ль с;еоре.іНЯ 
1(- Серверна часn1на 
зsі ·, 
дгн111. даних '· ЗВІТІВ 
- -
. ' 
Модуль оноВJ ення Модуль фор~1атування 
Сервер звітів 
даних 
-
Рисунок З 2 - Структурна. схема програм и телеграм бота для формування 
чек-лисп.. в  тестування о бра.ного виду програмного забезпечення 
57 
І f/f/f ' ~ , t ' 
1 ,01 · rп 
i;t,Y ,,,. 1 1 111 ' 1 ,V ІЩ / т, /11 11 11' , . 
, • 1 ,1 /ffUm /ІІІ 
' НІ ' І'JН ' уrнн1,rя. інфор н rtiї t 
11 ' ІИ )(ІІ ІtНХ ~ 
м /І щ,ю І lf О/.( ІІІ ІІІ НІ /tl 1/Щ " : , /ІІІ 114 )ІІІ , 'НІ ( 
~тнш шв, Інфпр rації у бе ·-. і 
;1) ,tHX, 
Jf;t< 'И :·1 м11 "Ф1 рму1111 111,н ,11 ,1 нІІ : 
1 
,,,. Ml / у' Ю, "І І 1)')( НІНІ 'Ш 'І /t'•  В /. l,l ( (ІН /(Щ! , І "1 ·1юр ,,mr ·шітіn н о нові 
.1 ,нJн рмнн 
1 '1 11 ' н / 1111нх : 
,.. м ,11,ут 1 ф( І МІ І ' І Н/ 1/1/,sr ' ІН ' І ' 11 ' 11 /ІІІ 
• ' 011 І /(it( ' ·н.1 форма-rунання створених 
fAІJMfi~ ~t§~kMi•I~ 
КлІt11rма t1t1 сти11а 
Д#ІІИУ 
І ~ 
1t,:v->~'l'/tt,-1 mдr,vtfhІA§ МІі9•1Н~ 5~!11 ПІдс ІІСТОІА О формуван~А м ~ ~ . 
Сuрв~рнu чu~·111н11 
звh Ів вt~ 
:;д, /!Ь~И1. 
1 
Моду11ь формR1увон~ 
1Іиц111, <ш.1 11 ьк l Copuep щі1ІD 
ІІИ/ 
◄тру '1•урна схема J rроrрами · 1 ·ш1егрnм ота для фе р 1ув \НН 1 
iftк, "JІ И.( ;'J Ш,  'І ' (;'І'УШІНШІ обраНОJ"О виду нрограмно1 ·0 ' а зн ·ч НШІ 
7 
-
( І) (ТУ . 21 2102.О 12 rf 'I 
І t І 'ТР І т J 11 , 'МІ\ 1/0J(П 'JY(' IJ 't1'I ( 1• І 
1v10'lfl Я'J()J( 
. , , Ін У(, тн нт::~ 
'<t H1J IJ"tп ()) П )І'ШИ. І 'JІ ' f f)ам f V. r 
, ф ІІІ (\І - )(}' f Н'і,Н M()J(J f '$ JlfJf)И 
\. . n· н )( 1111, " ·щ ·ш •ty(' 'і6 'J1ir у ,а,, 
''\ , )''  1 111Н .. ' . а1111я 'Jf1 yr . 
rр,нннння rани , . 
, nl1t1llЯ 'Щ\Тtв I ВЩІІОВі)Щ(' ЗfІ ф v. , ,;1 f r 
,, J><Ч " армувюнrя 1нj,, ,н на 
11\J\ії, 
і11Фt 1 
.1 . . lll1 Л Гі ШОЇ 
. ми истеми 
J1 )гічна \' ма для П телеграм бота для створенF-rя 
ЧеУ.:-іТИС ? 
... ня нрограмного абсзnечення 
•1' , вnп 
1 ' . може включати наступні 
11101І нти : 
1 J(ористувацьr<ий інтерфейс (UI): 
- включає в себе обмін теr<стовими пов . 
щомленнями та кнопюu д..-~ 
перегляду, сворення чек-листів тощо. 
2 Менеджер користувачів: 
- аутентифікація та авторизація: Перевірка 
користувачів та управління їх доступом до функцій бота. 
З Модуль чек-листів: 
- можливість користувача створювати нові чек-листи та до авати д 
них пункти; 
- редагування та видалення чек-листів: Функціональність .:~ля зшв:и 
та видалення існуючих чек-листів; 
- поділ чек-листів: Можливість ділитися створеними чек-m1ста.\Ш з 
шшими користувачами. 
4 Модуль пунктів чек-листа: 
- додавання та видалення пунктів : Можливість додавати нові пут,.їІІ 
до чек-листа та видаляти їх; 
· • ф нкціональність для позначення 
- позначення виконаних пункпв . У 
58 
~ І 
ЧДТУ. 24 2302.0f 2 ПЗ 
13J,ІJ(оНаних або невиконаних пунктів. 
управління даними: 
5 
_ зберігання чек-листів та п , . . 
унк пв. База даних для збереження 
оJJених користувачами чек-листів та .. . . . 
ств 1х rrункпв; 
операції з базою даних: Функції для . 
- · додавання, редагування та 
13J,l далення даних з бази даних • 
логування та моюторинг: 
6 
з апис подій: Журналювання дій користувач.ш -  та системних под.ш V  
для аналізу та відлагодження проблем. 
- моніторинг працездатності: Відстеження працездатності бота та 
виявлення можливих неполадок. 
7 захист даних: 
- шифрування даних: Захист інформації про користувачів та їх чек­
листи шляхом шифрування та інших методів безпеки . 
- захист від несанкціонованого доступу: Заходи безпеки для 
запобігання несанкціонованому доступу до даних користувачів та 
системи. 
8 Система повідомлень: 
', 
- повідомлення про нов1 чек-листи: Автоматичне сповіщення: 
користувачів про створення нових чек-листів або додавання до них 
НОВИХ ПУНКТІВ. 
- повідомлення про нагадування: Система нагадувань про невиконаю 
пункти чек-листів. 
59 
ЧДТУ. 24 2302.О 12 ПЗ 
Користуваць t< ий --
інтерфейс ➔ Менеджер 
користувачів 
' .. 
Модуль пунктів 
1~ 
чек-листів ' Модуль чек-лист ів 
'; 
Система .... 
повідомлень ~ Управління даними 
,. . 
Захист даних .J Логування та 
~ 
моніторинг 
Рисунок З.З -Логічна схема телеграм бота для формування чек-листів 
тестування обраного виду програмного забезпечення 
Ця лопчна схема відображає основю компоненти системи та їх 
взаємозв 'язки. Користувацький інтерфейс взаємодіє з менеджером користувачів, 
яюm у свою чергу взаємодіє з модулями чек-листів та пунктів чек-листа. Система 
повідомлень відповідає за сповіщення користувачів про ною чек-листи або 
нагадування про невиконані пункти. Управління даними відповідає за 
збереження інформації про чек-листи та їх пункти, а логування та моніторинг -
за відстеженням дій користувачів та стану системи. Захист даних забезпечує 
безпеку інф ормацн·..  користувач·ш  та системи в ц ш· ому · 
60 
....... 
ЧДТУ. 24 2302.012 ІТ 
розробка бази даних 
3.1 ,4  
а1-1их складається з 2 табJtиць. 
J;3.за д . . , . users, templates. 
а в баз~ даних має зв язки тиnу 
с~ем << 0 дин до баг ·, 
аrьох» виглядає ·rак : 
Тnб, 1щп 
р "н tJ·s-" -
V-- - -
T rrp 
ПоJ1С ----
i----
id ~gе,г 
.,,.,. u~er_ 
&j~ 
•1 ~. 1111Іі і;~іихu~...ю.!Р-
var.:har 
steP 
: 
---- !S~~"Y. ча 
!1 
-~ Таб.'1 11ця ''te.mplat·es " 
no,ie т, ... І 
' Опис ' 
~ 
І 
teтplate_id integш 
! 
І 1,,,·иі~.:2.,:1.вvй ЇЗ•.ат.Ф.h.::а-rор 1:паО...70 ·~ 
- І 
І 
І 
useг_id v3rchзr. і 
i.... Jдекnt~!,jкз,то~Dиmеача 
- 1  
.І 
template_ name varcha~ І Назва шаблона 
І 
І 
І 
template_d ata tim·estam~ 
Час створе·н,нR шаблона 
'І  
І 
Рисунок . З .4 - Схема бази даних телеграм бота для формування чек-листів 
тестування обраного виду програмного забезпечення 
На зображенні представлена діаграма бази даних, яка містить дві таблиць, 
1
nов язаних між собою. Ця база даних може бути використана для управління 
шаблонів телеграм бота. Ось короткий опис кожної таблиці та їх поля: 
users: 
user_id (integer): унікальний ідентифікатор користувача; 
step (varchar): крок, на якому знаходиться користувач у процес~ 
взаємодії з системою. 
2 Templates: 
61 
ЧДТУ. 24 2302.01 2 ПЗ 
teп1plate __ id (i111ege1): унікальний іденпfфіка,rор rтзблтr:;, ; 
нser_id (i11teget'): ідентифікатор користуваr,а який -rр(Їбив нл~б:ю 
(посилання на таблицю users); 
tel1 lplat-e- нате (vat·cl1aг) : :назва шаблона,·  
teп1plat-e_d ata (tiшestaшp) : час створення замовлення. 
ten1plates має зв'язок з таблицею users через. поле u"er id. шо 
~и~ . -
fa . еlffифікувати користувача, який бере участь у створенні шаблона.. 
.яє 1)1 
10зв0·11 уктура бази даних дозволяє вести облік користувачів та іх створених 
І.{.я  с'ГзРв 'язок м~· ж та блицями "t emp І а te s " 1·  "u sers ''  забезпечує можлив1·с ть 
6 о}{1В· 
JJ!I JJ . ати користувача, який створив кожен шаблон. 
Jffliф1~')'В 
Jle розробка інтерфейсу користувача 
3.1.5 
грам бот є системою для створення чек листів для теС'І)'Вання різШІХ теле 
ання ПЗ. Основна мета телеграм бота в автоматизаціІ створення чек 
,Uдів тес'І)'В 
. та перегляду готових шаблонів для тестування різних видів ПЗ. 
n1C'flВ 
1 Команда /start 
Щоб почати роботу з ботом і його інтерфейсом необхідно написати 
/start після чого бот відправить вам повідомлення з кнопками і 
,омандУ 
10~,, ,.J.,. .т.m..:.r.m......m -- командами. 1 
62 
ЧДТУ . 24 2302.ОІ 2 ПЗ 
s ,,· І · 1 1-,,,✓  .sy. r n1r ,ir1I ( , 
І1  tstart 
беріть потрібну категорію. 
ви ристовуй е / І1 е І р, щоб отримати іНфо 
вик0 РМац1ю про 60"а. 
Рисунок 3 .5 - Команда /start 
2 Команда /help. 
Після того як ви в1дправите повщомлення чат-боту команду "/help" 
в!.І!  вl. ДП равить вам повідомелення про допомогу з ботом, де буде надана 
інформація про бота. 
,t  /h єІ р . 2:· 3 ✓/ 
І Serhiy Syrotenko 
/help 
Допомога з ботом : 
Бот призначений для тепування різних видів програмного 
забезпечення. Напишіть коr,J1анду /siatт щоб почати роботу 3 
бо ом. 
Наші контакти 
Рисунок 3 .6 - Команда /help 
63 
--
serr1iy Syc-o teпko 
/statt 
виберr·-, ь nоїрібну КаїеrорІю. --- -- '" -- ·- ,,. -- -
- : -::,.- "' : І, . , 
7 ·r· ,г 
• 1 r.?t.:~ !J!/r:.~-,~:\ ;/i·1.l/1.f: 
Ті=: ;:;_J~1~j_. ·.; ..~ ~~1Zr.tJ};:,- ~!·/, .. 1J:~:--;,:,c,\ 
, . ~ 
ГJt:t·~/ !,\-\::;2f::(j_;!,~?~\:11Jii~1Лj~щ3. 
-...J.' • 
• t:.., 
І ,' 
РQсу»,о к 3.7 - Готові шаблони для . абезпечення 
тестування про грамного з 64 
ЧДТУ. 24 2302.012 ПЗ 
При виборі потрібно·1· кате~' . ... 
· ор11 6 уде створений чек-лист де, ви зможете 
тестувати програмне забезпечення. Також при виборі категорії ви зможете 
змінити стан елемента . 
І Ser f1 iy Syrot enko 
/start 
Сїан елемента змінено! 
:f \(Лj!Y] (i:f~:'J~tt•irii; p;,;cii t=н/,;,• 'q:1·~1 ·, ,:,т• І' .r,) 
..,_ • ·• • - ~-• •• ,. .• -r;v ;:. "'-~ . • : ,-,. :- -~•\•,. •. -І )., - ' -: , І , ІJ , J 
.._  ._ .. ---, ·- .-· . .. _ . - ·.--- :.. :-.:... . 
0
,,·-~ }~~J\y_ : ,f1 .[:1~:;]Jfiiд;·~~-::~;;::::{~i1.:};:\ii.i~ft\~i;iiJ ; ~., 
.:> )~;~~iif;i;~f;fi;ti;;!:,;;;~;:::~\.  
.- -і~і11;;;,ді);,і11~~,;,t;1,~~;;;і~;-, -
.. ---. - ~-- ~..:- ~-'"- :.:,...:.-_ ~ __, : - __, ,. .. ';, :_:,. -~'-
-~---~ ._ _ , . ~].:.., ~.\j .};~~1&~~:f(;;.;~;,__  ·:_;: ~~----~.··- · 
І •> І 
- •• • :... ;.. • - • - ·• _.._ І 
Рисунок З .8 - Чекл-лист "Перевірка хмарних додатків" 
4 Створення: нових шаблонів чек-листів. 
При натисканні на кнопку "Створити шаблон" ви перейдете в нове меню 
де, за допомогою повідомлення зможете створити свій чек-лист. 
65 
ЧДТУ. 24 2302.012 ПЗ 
f Se r h i y Sy r oter) l-<o 
І /'Start 
Щоб створити шаблон потрібно написати rз першо,,11у рядку 
назву шаблона. в наоупних пункти якІ вам nотрІбнІ . 
'j І l 
Теаування веб-сайта ЧДТУ 
Відображення логотип},' сайту. 
Навігація. 
Кор-ектність роботи кнопок. 
і .2:2С ✓./ 
І Se r h iy Syro t enko 
І Те-стування в-еб-сайта ., .. 
Шаблон створено! - ·- _. 
Рисунок 3 .9 - Створення шаблона 
5 Створені шаблони. 
Після того як ми створили шаблон, ми можемо перейти в головне меню і 
натиснути на кнопку "Створені шаблони" де будуть зберігатись наші шаблони. 
Sert1 iy Syr-oter1 ·,о 
І,  /start 
Вибері ь потрібну к.а егорію. 
Рисунок 3. l о _ Кнопка "Створені шаблони" 
66 
ЧДТУ. 24 2302.012 ПЗ 
6 Редаrування та видалення шаблонів. 
Після того як ми створили шаблон ми можем його використовувати, 
редагувати та видалити. 
( Serhiy Syrotenko 
( t start 
Тепер ви можете змінювати стан елемента списку. 
Рисунок 3.11 - Чек-лист створеного шаблону 
Іяа n:: : 7: ; g v-~ 
f Serfli y Syrotenko 
( /start 
Редактуи-їе ш аблон . Щоб видалити цей шаблон напишіть 
'Видалити'. 
( Serh iy Syroter1ko 
~ Видалити 
Шаблон видалений. 
Ри· сунок 3 •1 2 _ Видалення шаблону 
67 
ЧДТУ. 24 2302.01 2 П 
Ця система дозволяє розробник . А . 
ам Єч)ективно створювати і керувати 
амними компонентами . Вона . . . 
JJJ'orp . ... . за 6 ез11ечує 1Нструменти для розробки , 
-n.гнавІІЯ та штеграцн р1зних комn . 
,recJ.J- онент1в, що значно сrrрощує процес 
бки. З її допомогою можна стnо~,ю . . . . 
розро . вати Шаблони чек-листш для перев~.рки 
· різних видtв ПЗ, автоматизувати . 
я:J(осТl 1 естуваиня та забезгrечити висоІ<у якість 
iciJIJieвoгo продукту. Система також підтримує збереження та спільне 
вfіІ(ористання створеІШХ шаблонів, що дозволяє командам розробників 
ефективно співпрацювати та дотримуватися стандартів якості. 
3.1 .6 Orn1c розробки програмних компонентів 
Телеграм бот побудований на базі бібліотеки pyTelegramВotAPI . Він 
відповідає за обробку вхідних повідомлень від користувачів та виклик 
відповідних функцій для створення та управління чек-листами. 
Файл арр.ру 
Цей файл налаштовує та запускає Telegram бота для створення чек-листів 
для теС'І)'Вання програмного забезпечення. Він імпортує необхідні модулі та 
функції, визначає команди та обробники, і запускає бота. Ось детальний опис 
його роботи: 
1 Функція register_bot_actions(bot): 
Реєструє команди та обробники для Telegram бота. 
Викликає функції для реєстрації команд start та help, які відповідають на 
відповідні команди користувачів. 
Реєструє колбеки для обробки різних взаємодій з ботом, таких як вибір 
категорії, вибір завдань, створення шаблонів тощо. 
Виюrикає функцію для реєстрацп···  O б ро б ни ка вс1х повідомлень 
(а  І І_m essages _ handler) , яка обробляє вс1·  вх·щ ю·  пов ід·о млення · 
Ін . . и метод DB.initialize(). 
щ1алізує базу даних, викликаюч V • ·-· 
( клад ім'я та юзернеим) 1 записує 11 в 
Отримує інформацію про бота напри ' 
. (Ь t) щоб зареєструвати всі команди 
ВиІ<Ликає функцію register- bot_a ctюns о ' 
'rаобробники для бота . 68 
ЧДТУ · 24 2302.О J 2 П 
запуска · бота в режимj pol1ing щ 
· , о l о· воля ~ боту постійно перев іряти 
наявність нових повідомлень і обробляти їх . 
основний блок if _11а111е_ = "- шаіh - ,, ..  
Перевіряє, чи скрипт вююну 1. . 
· ься на11ряму (а не ~мттортується як модуль) , 
і якІUО так, то виклиr<а фун1<цію i11it() дтt запуску бота. 
2 Використання бази даних sqlite3: 
метод se)ect- 01·- create- user п · . · · 
ерещряє наявюсть користувача в баз1 даних 
за user_id і, якщо користувач не знайдений, створює новий запис . Метод 
set_ user_  step оновmоє поле step для заданого користувача в базі даних . 
Метод create_template зберігає новий шаблон у базу даних, приймаючи 
user_id, template_naine та template_data, перетворюючи template_data у JSОN­
формат перед збереженням. 
Метод update_template оновлює існуючий шаблон за category_id, 
приймаючи нов1 template name та template_  data, також перетворюючи 
template_data у JSОN-формат. 
Метод get_all_templates повертає всі шаблони для заданого user_id, а 
метод get_d ata_  for_  templates повертає дані конкретного шаблону за template_  id, 
перетворюючи їх із JSОN-формату. 
Метод delete_template_by_category_id видаляє шаблон з бази даних за 
category _id. 
З Callbacks: 
Файли callback це функції для обробки р1зних подій та команд у 
Telegram боті. Кожен файл відповідає за конкретний аспект роботи з ботом. Опис 
длЯ кожного: 
- about_callback.py: обробляє виклики, пов'язані з відображенням 
інформації про бота або проект, "П ро на с"·,  
- Ьасk callback.py: обробляє повернення користувача до попереднього 
- ається кнопка "Назад"; 
меню або кроку, коли натиск · 
. . б бляє редагування категорій шаблонів, 
- category_ ed1t_callback.py. 0 ро . . ... 
. вати або видаляти 1снуюч1 категорв; 
дозволяючи користувачам зм~ню 
69 
ЧДТУ . 24 2302.0J 2 ПЗ 
_ mock_categories.py: стnо юс , . _.  . 
. ~ Р · або обробля~-: яиб,р те<:тов-и:х ( mock) 
категор111, використовується . 
· для тестунанJJя або демонстралії роооrи 
бота; 
- create_ternplate_callbacl, .J)Y: обр· об11· я1.~ c·r.,,,(,·pefJYJ·~r .с . 
,:.. о r п НОВИХ ПJaOП()1ffB 1 
включаючи введення назви шaбJJOJiy , . ._, __ . . . 
1а ИОJ 'О ЗМJсту; 
- mock_select_todos callback ру· обр _ . 
- · · о 6 ляє ви 61р ·rесто-вих (mock) 
завдань або пунктів списку, ви 
-користовується для тестування або 
демонстрації роботи бота; 
- select_c ategory- callback.py: обробляє вибір категорій шаблонів, 
дозволяючи користувачам вибирати, з якою категорією вони хочуть 
працювати; 
- select_todos_callback.py: обробляє вибір завдань або пунктів списку у 
вибраній категорії, дозволяючи користувачам вибирати завдання для 
перегляду або редагування; 
- todos_callback.py: обробляє загальні дії, пов'язані з завданнями або 
пунктами списку, включаючи їх створення, редагування та видалення. 
3.2 Тестування системи 
В цьому підрозділі розглядатимуться такі питання: модульне тестування, 
інтеграційне тестування, системне тестування, приймальне тестування . 
3.2.1 Модульне тестування. 
Мій телеграм-бот написаний на мові програмування Python, тому я буду 
використовувати pytest для тестування його функціоналу. 
Pytest є дуже популярним і потужним фреймворком для тестування в Python 
[30] , і він може бути використаний для тестування телеграм-бота. Завдяки своїй 
простоті використання, гнучкості і широкому спектру можливостей, pytest 
дозволяє легко створювати, запускати та управляти тестами, включаючи 
Модульні тести, функціональні тести, інтеграційні тести та інші . [ЗО Python. 
Офіцітrnщт а документацІЯ. . - р еЖ им доступу .·  https://docs.python.org/3/.] 
Я також б уду використав увати бібліотеку PyTelegramВotAPI [34] для 
70 
... ЧДТУ. 24 2302.О J 2 І ІЗ 
. теrрац11 з АРІ Телеграму та перев ір~ш J . 
ІІІ . . . . . . ( Jуmщютшу бт н. {34 py'f'c lcramHotЛ fJГ', 
режим доступу. 11 ttps.//pytba.1·eadt11cd . І 
-- осs.ю c11//utcRt/ . J 
тести будуть ВІ<mочати таJ<і ста _ 
· ни , НІ< нсрсні рю.1 11ранит,11ос·1 і обробки 
,,.0маяд користувача , перевірt<а в · . 
~ ІДІювщсй бо·1·а Іl '- ' р 1·з1r1· 1<омю1;щ та сненар1' '( u. 
взаємодїї з користувачем. 
Результати тестування буд • 
. уть вщображсні У нигшщі звіту, який 
І. дтверджує усшшне виконання тестів ДJJ 11 я І<ожного 1<0мпонента бота. 
Таблиця 3.1 
Результат модульного тестування 
- Модуль Результат 
Арр.ру У спішний запуск 
start_  command.py У спішне завантаження залежностей 
help_  command.py У спішне завантаження залежностей 
mock.json У спішне завантаження залежностей 
todos.py У спішне завантаження залежностей 
select_ category_  callback.py У спішне завантаження залежностей 
select_todos_callback.py У спішне завантаження залежностей 
todos_ callback.py У спішне завантаження залежностей 
about_c a11back.py У спішне завантаження залежностей 
back_  callback.py У спішне завантаження залежностей 
create_  template_  callback.py У спішне завантаження залежностей 
category_  edit_c a1Jback.py У спішне завантаження залежностей 
mock _ select category_  callback У спішне завантаження залежностей 
mock select todos callback у спішне завантаження залежностей 
у спішне завантаження залежностей 
а11 messages handler.py 
71 
. . " ЧДТУ . 24 2302. О / 2 ,, 
Jнтегрлщинс те •тувон,в, - 1І  J 
0 новна мста інтс1 'рацій,ю~ ·о те 
. стущтщr 1/ОJІЯРu · , . , 
одіf м1ж компонентами систем , , ' · У нинннстn 11rJ , 11mi<ж 
»3ММ и , J UJ<иx те llCІJ а,; 1 
, 
• ·дповідність формату 1 ,oнjдOMJJ Р :1и;н,,1а lf(,j)eщJнa 11а.них 1 
н1.JlJ ст->, ІІробJJсми ·1j 
)вленням даних, авомащ,1.1 j стани зб"реженням та 
8іДН( · 'І'ОПЮ. 111'/'СГ , ' :-:. 
ра101111е тестування теле-грам 
бо1'а лолята перевjрці взаємодjj• різних 
тсомпо11с11тія системи та пере-вірні 
е:ктн:ості їх спільноj' роботи. коР 
Таблии.я 3,2 
Рез у ль тати інтеграційного тестування 
,..--
Інтегровані компоненти 
Результат 
- І 
І 
start_  command + а11_ messages_  handler У спішне завантаження залежностей , 
1 
+ database 
І 
! 
І 
help_  command + all_ messages_  handler У спішне завантаження залежностей 
І 
І 
todos.py + mock.json + keyboadrds.py У спішне завантаження залежностей ' 
І 
Translator.py + translations.json У спішне завантаження залежностей І 
Create _ template_  callbacks + database У спішне завантаження залежностей 
todos_callback.py + keyboards.py У спішне завантаження залежностей 
З .2.3 Системне тестування 
включає в себе перев1рку всієї 
Системне тестування телеграм бота 
системи, включаючи його функціональність, взаємодію з користувачем, 
· · сервісами які можуть бути 
взаємодjю з базою даних, а також зовюшн1ми ' 
. ових сценаріїв, які можуть бути 
використані ботом, Ось декілька прикладш тест 
використані для системного тестування: 
72 
ЧДТУ. 242303 .ООН JJ 'J 
забезпечують вщокремлене тестуrннr І . 
· -НЯ ( JYJJJЩJЙ ~ MC'fOJ(iH ~1(,0 KШtCiU -~ M(~Гtfl(J 
ревірки їхньої коректності та ni • ,, . . 
ne дпоnщrrосн О 1JJкуианому pc:rymпa:ry , 
Модульне тестування системи 0 6 . 
тку медичних нрспара-rrн ап-rски м~-': т, 
?Je ті перевірити коректність роботи . 
окремих модулш або ко-мrюнсн-r1р,. сис·rе . 11и , 
Було проведено наступні модульні тести: 
Таблиня 3. J 
Етапи модульного тестуван11я 
модуль Тип Викона-я-ня 
p0st(d b.Model) - Перевірка, чи можна додати нов~ медичиj Виконано 
препарати до системи і чи зберігаються 
правильні дані про них. 
- Перевірка, чи можна оновити існуючі дані і чи 
зберігаються зміни. 
app.route("/create - Тест, що перевіряє, чи валідуються правильно Ви.конано 
_drug", введені дані, такі як дата, час, кількість тощо. 
- Перевірка, чи повертає система помилки при 
невалідних вхідних даних 1 чи приймає 
правильні дані. 
З .2.2 Інтеграційне тестування 
Основна мета інтеграційного тестування полягає у виявленні помилок у 
взаємодії мjж компонентами системи, таких як неправильна передача даних, 
левіJ:wовідність формату повідомлень, проблеми з1 збереженням та 
т, 
Таблиця 3.4 
Опнс 
Статус 
вне меню бота. 
- ffilY 'THlll Г0l'Ов.і Пройдено 
шаблонн чек-листів 
ч~р~ н го ВІЩj ПЗ . 
Т R н nеревірен~т=а~п=--о----. _____ J_ ____ j 
вернута шформацjя Пройдено 
про нь го 
;: ~....  ;_;.,.~------~еег, ~;В;р, е-~рR;Q,; --нн;ов;о;г~о;-~к=о=~----1----J 
ристувача на ~ 
п вернено його номер пр оидено 
Оrримати шаблони Пройдено 
Iare Отримати оновлений шаблон Пройдено 
І 01])им ано ш·  ф ормацn· о про користувача Пройдено 
тести забезпечують грунтовну оцінку системи перед її впровадженням, 
=~ -б забезпечиш n ефеь.'ТИВність, безпеку та зручність для кінцевих користувачів. 
3.3 llрпю"Іадв впровадженого програмного комплексу 
СистеУЗ бу_ а розроблена з метою автоматизації процесів створення та 
:rіння чек-листами для тестування різних видів програмного забезпечення 
). Це інноваційний телеграм бот, який дозволяє користувачам ефективно 
rанізовувати процеси тестування, забезпечуючи швидке створення, 
J)е.Jаrування та виконання чек-листів для перевірки функціональності, безпеки, 
І1рОдуКІивності та інтерфейсу різних типів програмного забезпечення. Ось 
еюлька прикладів провадження програмного комплексу: 
аввя веб-додат.ків: Опис: Телеграм бот 1 Телеграм бот для тестув 
дОЗВ()ттпє -листи для тестування веб-додатків, 
""Ul користувачам створювати чек . 
BJUJ . . тування безпеки, продуктивност1 та 
ючаючи функціональне тестування, тес 
Uf!{JX. 74 
ЧДТУ. 24 2302.01 2 ІТ 
функціонал: 
І(орисrувач1 можуть обирати готов. 
• 1 Шаблони чек-нистів або створювати 
свої власн1. 
можлив1сть редагувати та :видаляти Cl ' . 
ворею чек-листи. 
rнтеграц~я з 1ншими системами для 
· автоматичного запуску тесті в та збору 
результапв. 
Приклад використання: 
Корисrувач запускає бота І обирає шаблон для функцjонального 
тестування веб-додатку. 
Створюється чек-лист з необхідними пунктами для перев1рки 
функдіональносп . 
Після завершеІШЯ тестування користувач може зберегти результати 
отримати зв~т. 
Очікуваний результат: Бот допомагає ефективно оргаюзувати процес 
тестування, знижує ризик пропуску важливих перевірок, забезпечує зручне 
збереження та аналіз результатів. 
2 Телеграм бот для тестування мобільних додатків: 
Опис: Телеграм бот забезпечує створення чек-лиспв для тестування 
мобільних додатків на платформах Android та iOS. 
Функціонал: 
Шаблони для тестування мобільних додатків, включаючи тестування на 
різних пристроях та версіях ОС. 
Можливість додавати власні пункти до чек-листів. 
Збір та аналіз результатів тестування з мобільних пристроїв. 
Приклад використання: 
к б б для тестування мобільного додатку на Авdгоіd. 
ористувач о ирає ша лон 
с .рками такими як установка додатку, запуск, 
творюється чек-лист з пере вl , 
ФУІnщіональність ' UI/UX та безпека. 
. . . 
n може переглянути результати 1 зробити 
~еля виконання тест1в користувач 
в»с~ювки щодо якості додатку. 
75 
... чдтУ. 24 2зо2.о 12 nз 
0-qjкувании результат: Бот до помагає 3 б 
...,, . - а езпечити · , _._, · . · 
додатюв знижує час високии р1вень якост1 
б·1J iьf!Jf~ ' на створ 
rJO . • ення тестових сценаріїв, забезпечує 
,rtrfle збер1гання та анал1з результатів . 
зр; -
3 телеграм бот для тестува1111я АРІ : 
ооос: Телеграм бот дозволяє ств 
. . орювати чек -
-листи для тестування АРІ, 
qаючи перев1рки на коректюсть відповід· .., . 
вJV110 еи , продуктивюсть, безпеку. 
Фуокціопал: 
Шаблони для тестування RESTful та SOAP АРІ. 
можливість налаштування параметр· . 
1в запитш та перевірок відповідей. 
т,-т,геграція з системами CI/CD д 
1DJ. ля автоматичного запуску тестів. 
Приклад використання: 
Користувач обирає шаблон для тестування RESTful АРІ. 
Створюється чек-лист з перевірками, такими як GET, POST, РUТ, DELEТE 
запити, валідація відповідей, перевірка статус кодів. 
Після виконаІПІЯ тестів бот зберігає результати і надає звіт користувачу. 
Очікуваний результат: Бот забезпечує високу якість та безпеку АРІ, 
допомагає швидко виявляти та виправляти помилки, інтегрується з існуючими 
системами автоматизації. 
4 Телеграм бот для тестування десктопних додатків: 
Опис: Телеграм бот допомагає створювати чек-листи для тестування 
десктопних додатків на різних операційних системах. 
Функціонал: 
Шаблони для тестування функціональності, продуктивності та безпеки 
десктопних додатків. 
Можливість додавання власних перевірок до чек-листш. 
з . . ння з десктопних систем. 
61р та аналіз результат1в тестува 
Приклад використання: 
ес вання десктопного додатку на 
Користувач обирає шаблон для т ту 
76 
ЧДТУ. 24 2зо2 . 01 2 ПЗ 
Windows. 
створюється чек-лист з перевіркам», так11м11 як установка додатку, запуск, 
-• __Ф У11І(Ціональність, інтеграція з ОС, безпека . 
n·сля виконання тестів І<ористув 
1 ач отримує детальuииv  зю•т  rтро резупьтати.-  
о І
ч ·куваний результат• Бот заб езnеч-· ує всеб-1·ч не тестування десІ<топни-х 
113
.''·   Jl одатків, знижує Р ик помилок, підв11щує ефективність тестування та аналізу 
ультапв . 
рез 
Впровадження цієї системи дозволить значно підвищити ефективність та 
. jJі(ість процесу тестування різнЮ( ВІfДів проrраWІого забезпечення. Завдяки 
автоматизації створення та управління чек-листами, користувачі зможуть 
nrвидmе виявляти та усувати помилки, забезпечуючи високу надійність та 
безпеку своїх продуктів. Телеграм бот надає зручний та інтуїтивно зрозумілий 
інтерфейс, що робить процес тестування доступним навіть для користувачів без 
- · глибоких технічних знань. Інтеграція з іншими системами та можливість 
-масштабування дозволяє використовувати бота в різних середовищах, 
· забезпечуючи стабільну та якісну роботу програмного забезпечення. 
77 
ЧДТУ. 24 2302.012 ПЗ 
Висновки до з розділу 
[Іід час цього етапу проекту було успіщно розроблено програмний додаток 
3 сі:ма необхідmrми функціями. При проектуванні були ретельно врахованj всі 
acуn e J(ffl модульності та інтерфейсу додатку з використанням відповідної 
gaвq альної літератури для правильного виконання запланованих етапів. База 
була успішно спроектована та реалізована під час розробки. Результати 
дaJJJ{X 
І1Роек' .. Т;'-\/RаННЯ системи б ули вт~. лен1.  в кш. цевому додатку, якииV  проVи ш ов 
відJJОВідне тестування. Висновком з тестування є безперебійна та належна робота 
додат,-v-;v  у своїй предметній області. 
78 
ЧДТУ . 24 2302.О І 2 ПЗ 
висновок 
в "с1ювок досліджен1-1 "о J1 І Пl· дІ<рестоє уснішну 
Т 1 розробку та впровадження 
. овадійного е e g1·a111 бота формуванн ., , .. 
11-rH л чек-1шс11в для тестування обраного 
rr\/ тестування програмного забезп . 
.13fil-'J . ечення . Ця система демонструє значні 
еваrи у сфер~ автоматизації та . 
неР зручност1 ВИІ<ористання, забезпечуючи 
1, fстувачам швидкий і ефе~пивн v • 
коР ии спос1б створення, редагування та 
,гr11Jавління чек-листами через знайомий інтерф v 
1••• . еис месенджера . 
.Автоматизащя процесу створення чек-листів дозволяє значно скоротити 
qac, необхідний для підготовки до тес V • • 
тування, знижуючи имов1рюсть людських 
nоМИл ок та підвищуючи точність 1· як·~ сть тестування. Використання Telegram як 
платформи для бота забезпечує кросплатформеність, що дозволяє користувачам 
працювати з ботом на будь-якому пристрої з доступом до Інтернету, будь то 
комп'ютер, планшет чи смартфон. 
Централізоване зберігання даних у базі даних уніфікує інформацію та 
забезпечує її актуальність і доступність для всіх зацікавлених сторін, включаючи 
розробників, тестувальників та менеджерів проектів. Це дозволяє легко 
відстежувати прогрес тестування та забезпечує прозорість усього процесу. 
Важливою особливістю розробленого бота є його можливість інтеграції з 
іншими системами, що може значно розширити функціональність та зручність 
використання. Інтеграція з існуючими системами управління проектами та 
інструментами для тестування забезпечує єдине інформаційне середовище, що 
полегшує координацію роботи між різними командами та підвищує загальну 
ефективність процесу розробки програмного забезпечення. 
З точки зору подальшого розвитку системи, важливою є її адаптивність та 
масштабованість. Висока адаптивність дозволяє системі ефективно реагувати на 
змінн1· б • ючаючи зміни у вимогах до тестування та 
потре и користувачш, вкл 
Розв,.. . .., М абованість системи забезпечує можливість її 
r.1TOI( НОВИХ Те:ХНОЛОГlИ. аСШТ 
в ІіІ<ористання у проектах будь-якого масшта б у та складності, від невеликих 
стартапів до великих корпоративних проектів . 
79 
ЧДТУ. 24 2302.О І 2 ПЗ 
rакн м чином, впровадження цієї сис·Іеми дозволнть значно покрашити 
тестування програмного забезпечення, забезпечуючи високу 
J1]1011ec J-•І ІСТЬ , зручність та точність. Це досдіджетщ ілюструє важливіС'ІЬ 
еФе0JбмИaВ. Ul' іЬfИХ технодогій у сфері розробки ПЗ та їхню роль у підвищенні JJКості 
івФфРе J<ТНВН ості тестування в умовах щвидкого розвитку технодоrій . 
ra е 
о 
чдТУ.24 
список ВИІ( 0 .о 1 2 nз 
ОРІfстл1111У 
. л.ДЖЕРЕЛ 
l\f т дичm р к 1ендації 
ni го овки . . . 
бувачів вищо, • . квалнр~кащйної роботи 
1 осв1тн зі cne і . 
пр гра.мп го забезпечення» . ц альност1 121 «Інженерія 
УСІХ фо. рм на:в f8ННЯ [Т .В .. За па Г.О. Куницька С ю· екст] /Укл.: Голуб 
· • П1вень о Б К . 
в.І. ~ rелап в,  .В . Олексюк В В . ·.  · атаєва Є •ю  ., с алапатов 
. . М-во осв1ти і нау у .. 
держ. техно . ун-т. _Черкаси . ЧДТу ки краши, Черкас, 
. · 2023. - 96 с.] 
rшь 1:анов А.А. Карткові техн -~· 
~ ологп в автоматизації маркетингу. 
То fськ: Видавництво НТЛ, 2020. - 379 с. 
Ат Brown and Greg Wilson. Th 
е Architecture of Open Source 
Applications. - 2021 . - 121 р. 
4 АРІ Server [ЕлектроННИй 
ресурс] Режим доступу: 
https://www.crossbase.de/DEfDEЛoesungen/dat en Ь ere1· t s t 11 g/
е ип a p1. -server. 
5 Gwynne Richards. W arehouse Management: А Complete Guide to 
Improving Efficiency and Мinimizing Costs in the Modem Warehouse. -
2017. - 250 р. 
6 International Testing-Board. Testautomatisierung Defmition, Tutorial und 
Artikel Testautomatisierung [Електронний ресурс] І Code Рrоjесt-Режим 
доступу: https ://www.testing-board.com/testautomatisierung. 
7 Marc Unger. 50 Dropship & Wholesale Vendors: Dropshipping List (Drop 
Shipping & Wholesalers Book 1) . - 2020. - 500 р. 
8 Realm Studio [Електронний ресурс] / Бе more productive with Realm 
Studio - https:/ /realm.io/products/realm-studio. 
9 SAP [Еле:ктроШІИЙ ресурс] І Developer Overview - Режим доступу: 
https://www.sap.com/index.htrnl. . ~ 
авенко О . В. Комбшовании 
10 В ои... тко В .В  ., Бевз С.В. см г
' Бур б ело · ·, . 
. використанням засобів теорІЇ 
метод пошуку оптимальних р~mень 3 
. ... 
· · . ., енергетичю технологн. - N!.0..  
графів // Оптико-електроюп ІН ф ор мацшно-
2 (16). - 2008. - с. 67-70. 
81 
. ЧДТУ. 24 2302.О І 2 rJ '{ 
1J  Ковnлсю,о 0.(). І( 
о1-п~с1щія с·, ·•юrс 
серед< ) винщ упранлн· н,я fJJJH MCJ)CЖCROJ 'O ін·", )орм~нr~ ійного 
I<oмrinrriпo // 
нац1· оІ~  ал 1) нш·о унт· срситсту 20 Вісник Хмет,ниr~hІ<()ГО 
. . 16. No І, ·rом 2. С . 21 -26. 
12 Ковален1,о О.О. Необхцщіст 
І, внроrщ;(Жсння інформаційних технтюгі й 
та про1·рамного забезпечення на ні;щnт•мс·r(j . !І С . . . 
. . І' · оІ ОІ(ІЗЛьН()-еJ<ОНОМJЧНJ , 
поттичш та І<ультурні оціш,и і 
. прогнози на рубежі двох тискчоліть : --
Терношль: ТНУ, 2019. _ с. 416_418_ 
13 Коваленко О.О. Створення інф •v 
. ормащиного середовища підприємства 
для якісного прийнятrя управл~·нс . 
ьких р1шень // Регіональна 
перспектива. - 2019. -№2-3 (27-28). _ С.121-128. 
14 Коваленко О• О• Сучасні тенденції управління інформацjйними 
ресурсами підприємства // Методологія та практика менеджменту у 
ХХІ століпі: загальнодержавні, галузеві та регіональні аспекти: 
матеріали VI Міжнародної науково-практичної конференції 26-27 
квітня 2019 р. м. Полтава. -Полтава: ПУЕТ, 2019. - С. 368-370. 
15 Коваленко О.О. Теорія інформаційних взаємодій на підприємстві // 
Збірник наукових праць ВНАУ. - Вінниця: РВВ ВНАУ, 2020. - Вип. 5. 
- т. з. - с. 156-159. 
16 Модульне тестування (Unit testing) [Електронний ресурс] І Qalight 2021 
Режим доступу: http://lviv.qalight.com.ua/Ьaza-
znan/modulnetestuvannya. 
. .., . і технології: Навчальний 
17 Соколов В.Ю. Інформац1ин1 системи 
посібник. -Київ: ДУІКТ, 2019· - 341 с. . 
.., уре] _ 2017. - Режим доступу. 
18 Android Framework [Електроннии рес · 
. eant-by-Android-framework. 
https·//www.quora.com/What-1s-m 
· 201 8. _ Режим доступу: 
19 Kotlin [Електронний ресурс]· 
https://kotlinlang.org/. 201 9, _ Режим доступу: 
й ресурс]. -
20 Android Studio [Електронни . 
. d' rg/wiki/A ndroid_ Studю. 
https://uk.wik1pe 1а.о 
ЧДТУ. 24 2302 
R.EST (Електронний .о 12 nз 
2.1  . ресурс]. - 20 І 9. 
Jзrtps://uk.wikipedia.01·g/wjkj/R_ESl. - Режим лоступу: 
2 ТІзе МІТ Liceпse (МІТ) [Е 
Z ле1п1)он11т.:r,.-
..,. ..,1 recy ,·, 
11rtps ://ope11souтce.01·g/liceпses/МJ т. rc. - Режим доступу: 
2З Mat·tiп Fowle1· - GlЛ At·cJ1itect .. 
u1es. Частю-t·t І [І 
2009. - Режим доступу : 1Htp://ww . ' с:;JJектронний ресурс] . -
. w.гusdoc . ru/artic l es/1 8358/ 
24 МаtіШ Fowleг - GUI Ai-c]1itectu1·es Час·· . . . 
· ~ина 2 [Електронний ресурс] . -
2009. -Режим доступу: ]Htps ·//Ьab h Ь 
· ra а r.ru/post/53536/ 
25 Баес Л. Архітектура програмного заб · . 
езпечення на практищ, 2 частина: 
пер . з англ. І Лен Баес, Пол Клементс р· . К 
, 1к ацман -, 2006 - 575 с . 
26 литвак Б.Г. Експертні технології управління. 2004_ 
27 Гамма Е. Прийоми об'єктна-орієнтованого проектування. Патерни 
проектування: пер. з англ. / Е. Гамма, Р. Хелм, Р. Джонсон, Дж. 
Влісідес. 2007. - 366 с. 
28 Тестування. Фундаментальна теорія. Частина 2 - Методології розробки 
ПЗ [Електронний ресурс] : [Веб-сайт]. - Електронні дані. - DOU.ua, 
2005-2016. - Режим доступу: https://dou.ua/forums/topic/14015 
29 Jinja2. Офіційна документацtя. Режим доступу : 
https://jinja.palletsprojects.com/en/3.1.x/. 
Режим доступу: 
ЗО Python. Офіційна документацtя. 
https://docs.python.org/3/. 
Режим доступу : 
3 І SQLite. Офіційна документац~я. 
https://www.sqlite.org/docs.html. . 
Режим доступу : 
32 Traceback. Офіційна документац~я. 
·ь а /traceback.html . . 
https://docs.python.org/З/II r ry . https://docs.spring.ю/sprшg-
Peжим доступу. 
33 Web МVС framework. - ~ nce/html/mvc.html. 
. framework-re1ere . 
framework/docs/3.2.x/spring- режим доступу. 
34 pyTeieramВotAPI". 
.° І en/latest1 •  
ht1ps ://pytba.readth edocs .1  
83 
ЧДТУ. 24 2302.012 ПЗ 
35 вootstrap. Офіційна документація . Режим доступу : 
ьttps://getbootstrap.com/docs/5.3/getting-started/introduction. 
ДОДАТОК А 
1рофесор 
-----f--'li---,,.Щ,../..l.__ __ Го луб С. В . 
,,_ ' ' -------2024 р . 
Розробка телеграм боту формування 
qек-листа для обраного виду тестування програмного забезпечення 
Специфікація 
482. ЧДТУ 242302.012 
Листів 2 
Сиротенко С. С • 
Розробник Катаєва Є.Ю. 
Керівник Голуб С.В. 
Завідувач кафедри 
2024 
.... 
ЧДТУ 24 2302 .О І 2 
- -- -
nозначення 
,;,  
- »айменуьащ1я 
- -
,_ - Примітка І 
24 2302 12 01 l101<ументація 
482·~· 24 2302 34 01 Текст програми 
" ~~: 24 2302 90 О 1 Інстру1щія І<ористувачеві 
~ Графічні матеріали 
-
І • 
І ~ 
: 
~ 
~ 
~ 
i----
-
, ___ 
,.._ 
І..____ 
І ------
86 
доддток 1; 
розро 6к  а телеграм боту формування чек-листа цля обраного виду тестуваию, 
програмного забезпечення 
Текст програми 
482.ЧДТ'У. 24 2302 12 01 
Листів 12 
Розробник 1:fЬ Сиротенко С.С. 
2024 
@8"P·ro11te ("/'') 
;fipdexO: 
retum r"., nder- template("mшn .html ") 
а pp,route("/about") 
oefa bout(): 
return render ~template(" about.html ") 
@app.route("/create_ drug", methods=['POST', 'GET']) 
J!ef ereate_ d rug(): 
ifrequest.metlюd = 'POST': 
ritle = request.fom1['title'] 
teX1. = request.forni['text'] 
post = Post(title=title, text=text) 
try: 
db.~essiQn .add(post) 
db,session.commitQ 
print('Data add iщccsesfuly') 
return redirect('/') 
except; 
reiurn "О Jщt:бJ:(a nри добвалещІИ записи 1' 
else: 
return re d 
n er _temp]at.e(''create _ drug.html 1') 
@app,toute("/ h 
de f sb s 0w- dru.g ") 
ow. J)Osts(): 
88 
482 . ЧJ. ТУ . 24 2302 12 01 
з 
І qt1 Єl'Y . о І І() 
ro sts"' pos . 1c111plotc("sl10w_dr11gs.l11111I " • posts- posts 
rc11der_ ) 
rct11r11 
,,, senti11cl() 
,11 Brker -
eneric(cls, parameters, elen=_marker): 
f check_g 
de - k coiтect count for parameters of а generic cls (intem h 
,.. .. ,cheC а I е 1p er). 
. g,.v es 3 nice error message in case of count mismatch 
ThІS . 
jfnot elen: 
ra1.s e TypeEiтor(f" {c ls} is not а generic class") 
if elen is - marker: 
ifnot hasattr(cls, "__pararneters_") or not cls.__parameters_: 
raise TypeError(f' {c ls} is not а generic class") 
elen == len( cls.__pararneters _) 
alen == Іen(parameters) 
ifalen !== elen: 
if hasattr( cls, "__parameters_ "): 
parameters = [р for р in cls.__parameters_ ifnot _is_unpack(p)] 
num_tv_tuples = sum(isinstance(p, TypeVarTuple) for р in parameters) 
if (num_tv_tuples > О) and (alen >= elen - num_tv_tuples): 
retum 
raiseTypeError(f'Too {'many' ifalen > elen else 'few'} parameters for {cls};" 
f' actual {alen}, expected {elen}") 
ifsys.version_info >= (3 , 10): 
def -should _c ollect_ fi-om _pararn eters( t): 
return isinstance( 
1
' (typing._ GenericA!ias, types.GenericAlias, _types . UnionТype) 
) -
eljf sys V . 
· ers,on_info >= (3, 9): 
' def _shoutd 
_c ol!ect_ fi-om _pararneters( t): 
89 
482.чдrv. 24 2зо2 ,2 () J 
ч~nсс(І , (typiпg. Gc11ericл lins, typ·м.OenericA t · 
,,,r,11 si11S1 13-~)) 
rC 
І t- -fror11 - p0tм11e1er1;(t) : 
• J соІ ес 
с1 st·r  ~ 1І 011 Іu._  typ1•1 1g._ о·e-п ,. · л,1·1 1:S)  · 
e(t , ... rrc l\tt(I l'l()f t . ~n' '·"~. ".. ,· dC ,. n ,•s r·п s t ot1c  "" 1 
rctrJ r
vмs(types, typevвr_  types=N<щe ): 
І 1yJ)e_ • . 
00
dtf., 11сс - е vв,· іаЬІ е co11ta111ed 111 ty j>es і11 ottler f 
ІІе01  011 ІУР о 
,·'" с о · . (Jexicogr·a pІ  н' е 0 1· d er ) . 1·1o t exar-npfe:: 
. nr011ce 
nrst ,ре" 
91 
vai·s((T, List[S, Т])) === (Т, S) 
соІІссt_ІУРе-
•·"" es is No11e: 
cvлr_!YP 
j(()'P es = typi11g.ТypeVar 
tYPcvar_! УР 
(\,afS"' о 
for t in types: 
jf( 
. ,~nce(t typevar types) and 
isrns=• ' -
t not in tvars and 
no t _i s - unpack(t) 
): 
tvars.append(t) 
if_ should _c o\lect_from _pararneters(t): 
tvars.extend([t for t іл t._pararneters_ ift not in tvars]) 
re(llm tuple(tvars) 
NoRetum = typing.NoRetum 
#Some unconstrained type variables. These are used Ьу the container types. 
#( These are not for export.) 
T=typing.TypeVar('T') # Any type. 
KT= typing.TypeVar('КТ') # Кеу type. 
VT= typing.TypeVar('VТ') # Value type. 
Т_со = typing.TypeVar('T _со', covariant=True) # Any type covariant containers. 
T_contra = typing.TypeVar('Т_ contra', contravariant=True) # Ditto contravariant. 
irs ys ve . 
. rsюn_info >= (3 , І І) : 
frorn ty • . 
Ping import Any 
else: 
90 
482 .ЧДТУ. 24 2302 12 01 
5 
r-,1eta(IYPe): 
s ;. rt'/ Іieck (self, obj): 
vloS ,,, . tвлсес -
111S 
Jef ,,,,,, f ·s у· 
u ,д п . 
·rsel І 11 • t . 
І , eError( typ111g_ex еп s1011 s .Апу сш111 оt Ье . . . 
jse 1) Р used W1th 1s1nstan ( " 
rti () i11 stiшcecl1eck_( obj) се ) ) 
super ·-
ref11111 
r (se\f): 
de f ,,,,,, ге P- . 
Іfis дnу . 
jfse "typing_ extens1·0 11s.А  ny 11 
retuf11 
м,r•І1 super()._repr_() 
re1.,,·· 
tacJass==_ AnyMeta): 
лnу(111е 
сІЗS5 • 1t ype indicating an unconstrained type. 
11••spec1a 
. ompatible with every type . 
• ;\nY is с 
umed to have all methods . 
• ;\nY ass 
_; \11 values assumed to Ье instances of Any. 
Note that all the above statements are true from tbe point ofview of 
staric type checkers. At runtime, Any should not Ье used with instance 
checks. 
тt lf ll 
def_new_(cls, *args, **kwargs): 
if cls is Any: 
raise TypeError(11Any carmot Ье instantiated") 
return super()._new_(cls, *args, **kwargs) 
ClassVar = typiлg.Class Var 
~ass_ ExtensionsSpecialFonn(typing._ Specia!Fonn, _root=True ): 
def _ repr_(selt): 
retum 'typing_e xtensions.' + self._ name 
'ina-!-iy P.m g.Final 
~ 8Ys.vers1·0 · 
n_mfo >== (З , 11 ): 
fina] "' ty . 
PІng.final 
:lse: 
#@fina\ е · 
XІS!s in 3.8+, but we backport it for аІІ versions 
91 
482.ЧдТУ . 24 2302 12 о 1 
І І to keep support for tl1e fіІІnІ . 6 
# ьefore 3·  - _ nttt,bщe , 
rtps ://Ьugs.pytlюn .org/issue46342 
# see 11  
deffinsІ(f): 
ТІ is decorator са:11 Ье used to i11dicote to 
""" 1 1У Ре cl1eckcrs that 
d corated 111et!10d саш1оt Ье ove1·riddeп d 
the е , aii decorated class 
1 ье subclassed. For еха:111р\е · 
(;811ПО ' 
c\ass ваsе: 
@fina\ 
defdone(self) -> None: 
cJass Sub(Base): 
def done(self) -> None: # Error reported Ьу type checker 
@final 
cJass Leaf: 
class Other(Leaf): # Error reported Ьу type checker 
There is no runtirne checking of these properties. ТЬе decorator 
sets the " _final_" attribute to " True" on the decorated object 
to allow runtime introspection. 
111111 
try: 
f._fmal_ = True 
except (AttributeError, ТypeError): 
# Skip the attribute silently if it is not writable. 
# AttributeError happens ifthe object has _slots_ or а 
# read-only property, TypeError if it's а builtin class. 
pass 
retum f 
defJntVar(name): 
retum typing.TypeVar(name) 
#д L' 8 
iteral bug was fixed in 3.11 .0, 3.10.1 and 3·9· 
if sys,version_info >= (3, 1О , І) : 
LiteraJ - h, . 
- ·J pщg,Literal 92 
,. 
4~2 ЧJ TV ') І (}? 12 () І 
с І РС : r naнen ІІІ ,·в І , pвrern . (рвtвtrІ І Щ· 
dc 
l• •.·, ternв l . І 
11 Ір І ot І , t 't'al tteнlirrti : fl г.tt 
,,,, , ,д 11 ,У ,ІТ '~ ~ 
r 01.0,11 s "" ll . 
'n 1101-вm te1·s: 
ro1· р І 
ir isinstnnce(p, _ Lit га І eneticЛ Іі~s) : 
params.exte11d(p._ a1·gs _ ) 
else: 
pвrams.append(p) 
return tuple(params) 
der _v alue_and_type_iter(params): 
for р in params: 
yield р, type(p) 
class _LiteraIOenericAlias(typing._G enericAlias, _root=True): 
def _ eq_(self, other): 
if not isinstance( other, _ LiteralGenericAlias): 
retum Notlmplemented 
these_args_deduped = setLvalue_and_type_iter(self._ arg ) 
other_args_deduped = setLvalue_and_type_iter(other._ arg ) 
return these_args_deduped == other_args_deduped 
def _ hash_(selt): 
retum hash( frozensetLv al ue _ and _ type _ iter( sel f._a rgs _))) 
class _L iteralF ormLE xtensionsSpecialF orm, _root=True ): 
def _ init_ (self, doc: str): 
self._name = 'Literal' 
self._doc = self._ doc_ = doc 
def _getitem_ (self, parameters) : 
ifnot isiлstance(parameters, tuple): 
parameters = (parameters,) 
pararneters = _t latten_ literal_params(parameters) 
val_type _pairs = listL value_and_type_iter(parameters)) 
try : 
deduped_pairs = set( val _ type_ pairs) 
except TypeError: 
93 
482чд·Т . У. 24 2302 12 01 
8 
ьІе para111eters 
# ІJ!lJ1asІ111 
ptlSS 
else: . Jogic to typiпg._ deduplicate 011 J>ytlнm _ 
51• 1111Іаr 
3· 9 ~ 
# duped_pairs) < le11(vnl_type_pnirs): 
·f 1e11(de 
1 
_para111eters = О 
ne''' . 
• 1·11 val type_pa1rs: 
for pair -
jfpair itt deduped_pairs: 
ne~•yarameters.append(pair[O]) 
deduped_pajrs.remove(pair) 
not deduped_pairs, deduped_pairs 
asse rt 
parameters = tuple(new_parameters) 
LiteraІGenericAlias( self, parameters) 
retufll-
. ral L1•t e ra1f о rm(doc="""\ 
== 
Lite - А type that сап Ь е use d to .ш  d1' cate to type checkers 
that the corresponding value has а value literally equivalent 
to the provided parameter. For example: 
var: Litera1[4] = 4 
The type checker understands that 'var' is literally equal to 
the value 4 and no other value. 
Literal[ ... ] cannot Ье subclassed. There is no runtime 
checking verifying that the parameter is actual\y а value 
instead of а type. "" ") 
_o1•erload_dum.my = typing._overload_dummy 
ifho,oн..,lyp ' 11 
-..ац/\ tng, get_overloads") : # З.І І+ 
overJoad = typing.overload 
get_overloads = typing.get overloads 
clear ov І -
ehe: - er 0ads = typing.clear_  overloads 
І! {tnoduie· { 
· quaJname: {f irstJineno: func}}} 
~over\oad . . . 
_reg1stry == collectюns.defaultd1ct( 
functooJs р . . ) 
· art1al( collections.defaultdict, d1ct 94 
.. 
482 ЧДТУ . 
. . 24 2302 12 о 1 
о 
,/ 
(oad(fuЛC): 
defover or for overloaded fuпctio11 s/111 etliods . 
••• Decorat 
stub <,,: ( е, pface two or nюre stub defiпitior1 s for thе  satne 
ІІІ 8 
. а ro,v each decoi-ated \Vith @overload р 
f1Jllction 1n ' • or exarnple: 
@overJoad . 
( Jue: None) -> None . ... 
defutf8 va 
@overJoad 
def utf8(va1ue: bytes) -> bytes: ... 
@overfoad 
value: str) -> bytes: ... 
def ut f8(
1n а non-stub file (і .е. а regular .ру file), do the same but 
folfow it with an implementation. The implementation shou\d *not* 
Ье decorated with @overload. For example: 
@overload 
defutf8(value: None) -> None: ... 
@overload 
defutf8(value: bytes) -> bytes: ... 
@overload 
def utf8(value: str) -> bytes: ... 
defutf8(value): 
# implementation goes here 
Тhе overloads for а function сап Ье retrieved at runtime using the 
get_overloads() function. 
tltlJJ 
# classmethod and staticmethod 
f"' getattr(func, "_func_", func) 
!!у : 
_overload _registry[f. _ module_ ][f ._q ualname _J[ 
f._code_ .со_ fi.rstlineno 
] "" func 
except AttributeError: 
# Not а normal function; ignore. 
Pass 
return 
_o verload - dummy 
95 
482 urn-y 
. ~1 . 24 2302 12 01 
10 
erІoзds(func): 
еІ ov 
def g - .. 11 defined overloads for *func• as а s
•••Re•", гn а e quence ." "" 
t11od and staticinetlюd 
JJ rassrne 
1< с ttr(fuJIC, "_func_", func) 
("' gеІВ 
· rnodule_ not іп _ overload _registry: 
;f f.--
refUJ11 О 
d . t -- - 0 verload - registry[f. module_J 
rno - d,с . . -
alnante not m mod d1ct: 
;ff. __ qu - -
returO О 
fjst(rnod _ dict[f._q ualname_ J. values()) 
returl1 
ear 0verloads0: 
de f с l -
•••сІеаr all Overloads in the registry ·" "" 
overload_ registry .clearO 
# ТhЇS is not а real generic class. Don't use outside annotations. 
туре= typing.Тype 
# various АВСs mimicking those in collections.abc. 
#л  few are simply re-exported for completeness. 
AwaitaЬle = typing.Awaitable 
Coroutine = typing.Coroutine 
AsynclteraЬle = typing.Asynciterable 
Asynclterator = typing.Asynciterator 
Deque = typing.Deque 
ContextМanager = typing.ContextManager 
AsyncContextManager = typing.AsyncContextМanager 
DefaultDict = typing.DefaultDict 
0rderedOict = typing.OrderedDict 
Counter = typing.Counter 
ChainМap = typing.ChainMap 
AsyncGenerato r -- ty · 
pшg.AsyncGenerator 
Text = 1у P.i ng.Text 
11'PE_CHECKING = typing.TYPE_CHECКING 
}R.ото 
І _ALLOWLIST = { 
СОІІРм
""'1
"1 0ns.abc': [ 
'СаІІаЬJ , , І ЬІ , 
е , Awaitable', 'Iterable', 'Iterator', 'Async tera е, 
96 
482.ЧДТУ. 24 2302 
- 12 ()І 
І і 
r3D _А тrRS == { 
б~c1,1JD thods_ ", "_aпnotations_'', ''_weakref " " . 
" ьstractfТle . - , _,s_ protocot·· 
, в 111 11 
_,,, 1ir11eyrotoco ' - dtct- "'  "_ 
1 
s І о ts _"'  '_parameters " • 
•,,1-s_ _~  11
ьases_11 , "_module_", _MutableMapping_ marker"-, ~·  doc .. 
, 0r1g_ • 1 , - · 
,,,, sh ook - "'  11 - ortg- с ass - ', 11 - init- ",  "- ne w " -
' ~~ las _, 
,,,, attrs ", "_callable_proto_members only " 
,__yrotoco 1- - - - , 
11
, J110tch_args_ ' 
,,,, 
ion info >== (3, 9): 
jf s)'S,Ve rs -
EXCLUPED _А ТТRS.add("_ class __getitem _") 
jfsys.version_info >== (3 , 12): 
_EXCLUDED _А ТТRS.add("_t ype_ params _") 
_EXCLUDED_ATTRS = frozenset(_EXCLUDED_ATTRS) 
def _get_protocol _a ttrs( cls): 
attrs = set() 
forbase in cls._mro_[:-1]: # without object 
ifbase._name_ in {'Protocol', 'Generic'} : 
continue 
annotations = getattr(base, '_annotations_ ', {}) 
for attr in (*base._dict__, *annotations): 
if (not att-r.startswith('_ аЬс _') and attr not in _EXCLUDED _А ТТRS): 
attrs.add( attr) 
return attrs 
def с 11 
~ а er(depth===2): 
І!у: 
return . ') 
е~ее sys._getframe(depth).f_globals.get('_ name_', '_ main_ 
Pt (AttributeError, ValueError): # For platforms without _getframe() 97 
482.ЧдТУ. 24 2зо2 12 ot 
12 
. at1 Г І' bute was re111oved fто111 protocol tnembers in • , 
111В 10~_вrgs1c_p ort tl 1i' s cJ11шge to olde1· Pyt\1011 vetsio1111. 3 13 
#',,, ttO ЬВС 
е ,vвn 1.n  fo >"" (З , 13): 
p1V • 
5vcrs1on_ . protocol 
j(SY· ~ t)'Plf1g, 
pJ'O 1осоІ 
еІsЄ.·  reckless_ class- checks(deptl1=. З): . . 
def  -aifoW_ ··nstance and class cl1ecks for spectal stdl1b modules. 
I 
11 1111 АІІ0Wa nd func t о ols modules indiscriminately call isinstance() and 
rье аЬJсa ssO on the whole МR.О of а user class, wl1ich may contain protocols. 
jssubc 
caller( d ер th) in {'аЬс', 'functools', None} 
retufll -
98 
ДОДА ток в 
озробка телеграм боту формування чек-листа для обраного виду тестування 
Р програмного забезпечення 
Інструкція користувачеві 
482. ЧДТУ 24 2302 34 01 
Лисгів7 
Розробник Сиротенко С.С. 
2024 
4 2. 
. 24 2 02 34 01 
f ...n~f ОТ Є И те ЮЮ ЛЯ Т О 
ч' рення ЧеІ< ли тіR 
,r<\/ tl}{Jl ПЗ. новна та я т туванн рви 
0
fCC i; v 8.п л гра бо а 
·13 , 8ВТО, tати l(ЇЇ С1 ин 
рІід1 р rJІЯдУ ГОТОВІ ша лоюв дЛЯ ес 
~е 1'8 11 тування рі ни и j ПЗ. 
11 • r/' {а11да / tart 
1. J'-0 
,rr 6 ІІ чати р бо з ото 1 і його інтерф V 
J..1.-' • еисом необхідИо написати о а· 
·с;JІЯ q ro бот вщправить вам повідомле 
tвІ1 J11 ння 3 .кнопками і доступними 
~~{І{-
Serh ·у Syrotenko 
/start 
Виберіть потрібну категорію. 
Використовуйїе ІhеІр, щоб отримати інф ормац.1ю  про боїа. 
Рисунок В.1 - Команда /start 
2. Команда /help 
Після того як ви вщправите повідомлення чат-боту команду "'h Ір'' 
ІВ 81. Д1Іравить вам повідомелення про допомогу з ботом, д б д надана 
формація про бота. 
100 
Jhelp з 
І Serhiy Syrotenko 
/help 
допомога з ботом: 
- Бот призначений для тестування РІ 
забезпечення. НапишІть команду 31 ~их видІ s nроrрамно,о 
ботом. s~a,·t щоб почати роботу з 
') 
наші контакти 
11 
., >·➔ 
Рисунок В.2 - Команда /help 
з.Готові шаблони для обраного виду програмного забезпечення . 
При натиску на кнопку "Готові шаблони для обраного виду програмного 
забезrrечеrтитvu..а.  " , бот буде відображати готові шаблшш чек-листів тестування ПЗ. 
101 
482. t--ЩТ.У  . 2-4.  2302 34 о 1 
Ser·f1iy Sy1·otenko 
/start 
виберіть потрібну категорtю. 
( ---· '7.' ·: .,,. ~- . .;• •.- . ;- .-• -
,r '(~~  ~ _1_  : 1 ! ; _· · · /r : :. " ~ 
- - -
-~l~if{~·-,.;·u~-i,}1:Zi~;,iд,~~:~h~:i~}{;tJrl~)~~,,:;_) дь·'i_·"·;:.~:.-·; '·. .  1 ';  • ' . 
,с_ 
;.~!,-~-.щ~;4rВ. •J'l •fff :)' ,, е; • ,;. ·с ·:·· ' ·', 
-, ,ii:i1;~~~~i,~:j;,, ,;,,::.::r ,,, --, 
-- - _. - , _ _,  - ~ ~ ..;·~~ •. :. ......, :,;_.:.:. :' ~- .:::::...:..~_ _:=:._ 
і;-__ -- -=,;{~f'~t/J;f»!f!l)i\~,;; 
~-- ____ -~•~~~~і~,:~tі:•~і{Ф·с1,-. "' " 
t _J~ 'J::;~!::':t!J.Ч:t'i'.11~_iH17_'<'A}4'm~?:~; ,_1 ~,-.,, ;:;, ,., \· .: 
'· 
f. 
І · 
rІ  ~-~t)/Д!~Г;\; \: tлт:•їТ\\ f~:~ і : , п; : ;:~....:-, 
І'~-- - ----~---::' ?t,~:ї;/.Т/~Л1!,kf~~:\1-\~ї,;~; ..... -·=· 
Рисунок В.З - Готові шаблони для тестування програмного 
забезпечення 
- При виборі потрібної категорії буде створений чек-лист де, ви зможете 
4
'/естувати програмне забезпечення. Також прІІ в11борі категорії ви зможете змінити 
стан елемента. 
102 
r -
482 чдт 
. У. 24 2302 34 01 
5 
І Sе 1· І1іу Syтote 1 , п 
/start 
Сїан елемен а змінено ! 
І І ' 
• І . 
. ;.;tE
- -- .1 -l·1 Х\ 
. ;: 
_.;;_ - ~-- ·--- ....... 
Рисунок В.4- Чекл-лист "Перевірка хмарних додатків" 
5. Створення нових шаблонів чек-листів. 
При натисканні на кнопку "Створити шаблон" ви перейдете в нове меню де, 
за допомогою повідомлення зможете створити свій чек-лист. 
~ t scar:: . 7 : ; g ✓/ 
Serhiy Syr o t e r1ko 
І Іstart 
б потрібно написати в першому рядку 
Що створити ш аблон ~ . 
б на в наmmних пункти які вам потрІон1. 
назву ша ло , ~ • J 
Тесrування веб-сайта ЧДТУ~ 
Відображення логотипу саиту. 
Навігація. 
Карек ність роботи кнопок. 
І Sні1іу Syr. oten t,o ~ 
І теаування веб-саита ... 
шаблон ств.орено! 
в 5 - Створення шаблона 
Рисунок • 
103 
482 u 7f'J"' 1 . о 
. ~ у. 24 2302 34 о 1 
с
6. 1130рені шаблони . (j 
.е ля того як ми створиJJи шаб 
f] .1 лон ) ми . _ 
"С .. . - можемо П"'ре "· 
и на кнопку творею 11Іабло ,, .. _ с; ити Г(JJI('J ,не Nfeн 1 1 
14 cff)'r ни де будун. 3б  - . -~. . 
~гf )ерн 3тисr" тнт пrабт ни. 
І se,Ny Syr о е г1 k() 
tstart 
Виберіть потрібну категорію, 
r -
і 
Рисунок В.б - Кнопка "Створені шаблони1 • 
7. Редагування та видалення шаблонів. 
Після того як ми створили шаблон ми можем йоrо в.икор.истовувати, 
редагувати та видалити. 
І ,.. 
, ,;~( І•ну s1mte11 ko 
І /яart 
~епер ви r-.11ozeтe змінювати стан елемента сп~1с ку. 
І .1· І' 
в - Чек-лист створеного шаблону 
Рисунок ·7  
104 
І 
482 .ЧдТУ . 24 2зо2 34 о, 
t. ,rнv v,o r1~1r, 
/sta гt 
Редактуй е шабмн . об ид.али III цей шабло 
'ВИДсІЛІІІ и', 
видали и - -. . .// 
Sertliy S 1·otenko 
Видали и 
Шаблон видалений . 
Рисунок В.8 - Видалення шаблону 
Ця система дозволяє розробникам ефективно створювати і к руваrrи 
рограмними компонентами. Вона забезпечує шструменти для розробки., 
ес'І)'ВаННЯ та інтеграції різних компонентів, що значно спрощує процес ро робки. 
: їїдопомогою можна створювати шаблони чек-листів для перевірки якості різню 
мів ПЗ, автоматизувати тестування та забезпечити високу якість кінцевого 
родукту. Система також підтримує збереження та спільне використання 
nорених шаблонів, що дозволяє командам розробників ефективно співпрацювати 
адотримуватися стандартів якості. 
105 
► 
ДОДАТОКГ 
бка телеграм боту формування чек-листа для обраного виду тестування 
розр0 
програмного забезпечення 
Графічні матеріали 
482.ЧДТУ. 24 2302 90 01 
Листів 9 
Розробник Сиротенко С.С . 
2024 
482. ЧДТУ. 24 2302 90 О І 
2 
Ба кал а, ре,) ка pof>( >та 
Рисунок Г І - Слайд І 
Встуо 
Мста і ЗНRГІ.ННІІЯ f)ЮfIOOh':11 
JJOJjJ•JbJl'L/! 'ІЕ' .' І .:Гра:. 1 QО ! <І ЯlcJl(! ,.рор:І.!?, "d •.:ШСПJ .1:!Jt 
(1ОJЖІі()Г:J r.11.:iy nporpм.0 1nr,1 i~fis':н~reflIOi - .::~,лю югсн 
тестуt~~ІІfНЯ у Т3КОМУ 0(1Пу.1Яj) І Н>М;-' месен.:[m~рі . 
для .]•,.1 Сі!Пі0/і І l:0 ПОСТ::Іl\1 Е' tf ()Ї ч~ш ;t р,х'\,, І 
». Т.:Іе:,т;~т роо, п-ь npouec ф1:~р~1у в:нш,я •1~н -:пrсті1.1 
1шріu :,,11;;1111 1:1. н:ктутrі 1 :І 'tІ~\ ;Н(ІJ Ц rннrn t'ila(: 
тулнішн '-1 І іі 1р! 1нід1т. 1 В ін rм:ож спрошуr: п, 
пре нес 11 1.Jf<)ТОВНІ .: ю і •.::ст 'ЕШШ-ІЯ . 
s;"!BJЯІuJ r,.eroм;rп, 3аuії f<ол-:с:н 11рос1-а ПЗ rю 1pr~iiyr 
LІІ..ui~iJ\;i 1ь1юr< ПІ.JХ().J\ .1,, ес. уrмння j p o'JJHi(}f;;1 
І►.І f . !11$~1 /ІН-  t< fljJ•/ 1•.' 1' B-il'/:-lf•I (:і'Н, fЩ; Г,Ш.,Н І І <І  )i'tp:•,t\ Ій f /1 
'І:'~ - fJ '1 l І ' 'І.]Л r, .. 
• ' ' \ J()LjJJ Г'( .J ІІ МІІ-/ (\ р,: { І І І /.\ І JІН f-' l:L- І 
Рисунок Г 2 - Слайд 2 
107 
482.ЧДТУ . 24 2302 9О О І 
1 
Всту 11 
,. .. r 
J 
Рисунок Г З - Слайд З 
ВСТУ.,, П 
~ltHІJU 11 1 нн.· ..:-1:, ·uо ІНІ JІ 1 (1 1.;t:Іfн.: f'JІ°)' H-► U ~· І ІІН 11 ; ,J.:1:t j ,_.,,: ;,f 11~.?.JlJL!.! п.-_. ... : fiift: Jt: ftt)) Jt-:'! t!. ~;'IC !-:•~t)&.2:J:.J 'Г:1~.:1 ~:е7◊.дІ І !}>~-..!· 1; 1:~ !J;ІНН.'і (:І <: .. ~ip'y.lpasщa:.t; 
іа";:.:ссrш .1цз..:.:,.r.s 
ljj)XIT,11iJsв( ,.., .з:,тт..: \ ,.-.r;.1 L: .а . .з:i:1q, r1 :'-r 
;;.;!:JJJ:Y!В:fJ1.rt1 :.i.1 .з1,ОГtІ\1('1 {\'І,Ю фp:.•;j~1r;,:;--т;t,.1' j ~Іе~г,лtА?J 
!ltfOJJi р<НуvІіІШ :~e[ p :1 ,.1-G,) T;1 ;!.JЯ ф(•J)!J:,'MHfJS Чеf.:-.l Г!,: !JiJ , • ·--,-y ~;Jill/S l>!~Cl1r!llf() J!,. ШІІХ1µ11 с-,Ш.1LО :, , ,:. JШ llj)uff"'"''1'"1/Н.'I :'~ 111• • (·rщ1nw.A:pt_;i:~ 
:1,.-.(~.wf~ НЮі !Uftf~t.' ( .. О.1l1Ф'-~. . ,І (."- J І'...\ ~у:н-. t7Up:'J!·> с~1-'І ОСрн:- · . 1:·ч Jt.~• .].t..':I uUµUlЇ IO( ЛL'IO.-i:l {'.H.J 1.'Ш. .. . Пі1.\' І:і Щ,LІ[~ ~:·:1.) l1J-'-ЧІ..: .:!~н ..,  J·$f!"i~.Ь :D:!fi!; 
.ш ' ~-!ct-:лл~- p;::,J . lti•) :j-<.<>:.·Н:J ~J. JJІ .J01,.1fj,.1J. H •::,-.,~1 , bJDf' .. >l @L, .. 
ОJІІІ((ІfJІН~ІІІJН'І f1t"l~ . J"'f•rJв· -,t"_Ji Jr,І7I0 PL' "1 iir,';, ТІ~ r,.,.rx:-~ 1! ~il.1 rt.н. pr,r, ;:ix-, i("'; f ~rp 1 1 •,,H"i1.."I Г:I .:п ч 1 J 1 ('ІfПl'_:llilFm~ t1ch:· lflo': i i fl 'i~-~ r, ·,1.1ч r1 ·, 0 ~і.цуПl' 
ftЗJ-YPJМЬ" 
;,~ v_~:;,~~ ,;,_,.f1t..J.:.J~ н.~1=~~1:.:T 1 uora 
-:1Ю1~,. р-; !> .. . ~ fr .. ;_11 J i:;,,.'._ ~ !JUi ! !А ШJJJ►. J f.\. ЗA..<:JU!JJ . . 
_Ь(.І ,A]l)~'t1f-,fi"I B ltl~f•"'f H _rrp,~--=--ю~• ·r: 1 ;:-r ilR CtJ~:inп юrч :н-=тr :~ .. ,Г-:О І ї1!1 '•{ форм:,·m•FІН:t ')i$',.11lCTIII .1:1 11 f i: t;Г,.' [1..\. l (IOI ~~r,,p.1JL~-,r~. ... UH~\· r1p t):- 1І :\\JЄІ,. .. ~~ ГLШІ 
fip•~'fll•Шt JЯ•<ІtІЩІі <JJ'J)JI >І :і ІІ)ІІ J)t}_\", 1ЬТ~11Іt: 
~ь:, 'і>, п,,,, .,_ У•.:.ю1..в G"ш .1а,ш>. д.uJ nй.і"ГJІkІ!Іtя ро ,рйб1ш щ. ~-rр·.-.;,ш~н, :1аlі.: :,пе•111ш.11 t,:,.:s:, ~ ш"-'1-"'о.1.,t-~ лr; SQt. 110.1. 
~-З;ю!ЛІІНІt:;,, '18:t!-.'1-f!I; .1.'tU flOCiyД<!8tl 11.1.'!.<: НUІ ·•pj'lli(JІ IRl ;рфеІ1L'Н t> І Ч :ІС- ] юш. □purpa~/!1 0( '1 llfщ:J._l' hJ)'. 
( ЛputJ.~~ь.;щ1J ..:qJЬ.:JJiiY ч.~ ~ т1u1~, 
( ,r?..}f..:J;~ ., ,n,;не ї~р: r:р~;•,щ~ "J ri 6t 1nc· ~:~:.нн,- · 1 rі.:1,и ч~z,··\1je, J т-::рnt, , ;н .1~ї.'JJ 1-, J\)'. 11m 1 1:.1,1т-х у \-...-..1 j nJ 1nc~~•e.1 1rnн 
~t'fJ(.)-fl;mr, J:\i іГ.-.."Ь}..,. ~.,,,~ РЩ',' 
O ~йt н,U lilU • • ~ ., . , ,., .,. • 
L)~,~J :•• t (tJ І" .tb'Jl)"(i~fi .'.J ,;.,,~Iнfl.•L•J jf • • \ 11.) f• •1 1:,.~J.!1{Jf(lfJ1л µ:· ,:л,, : 11 с,у.10 р(1 <1р,1б)СJІ ( ,~:,,z-rp~ ', І {,,:- 1~. tl h. Іi:J! ~. lJ t.ІJJЬ.. 11 11•. t,· l l~·:B I . l.Ш 1.•1. 1p п.th."krJfift~ 
1':.,/u~ :J•:' ~Jf':.:. ·и:нн.)і В і,..• J)'. l!:.1 !tJІ ь н. .-.,.. JJ~!JUJ ] ,_, ~ : н йу. Іи J.l~i1 .L.11.::•ilil Ht 1 .1 tt'J· ..:•p~ i .:.ш il ,~:- -.:1н. • -:. ч_~· !'(• 1рt.• :\ 1~.:нн 1 .р: 1 l·'" 'L.~ 11 u1:~Jt L-4f11І.i.:1~'fu І1 r:1 ..., a1JJt~ 
~н:·;t ... urш ... . i, t•G:~p;,tlH !:1l r r j 11:.;.{,t,: (' ,.: '(~ •:1.•J()JJi1 Ь '-l ( t..-.1t. І (. ! .J jJI A«JC(J: .. .: : Ilil/Іt-1 :t . p..: . 1a t":, ІІ і ІІ ( І 1:1 fiil..J:\ 1. tJ І tІ •t•: J. -, lli..:1!1 1 1 ~.:а 'І,tІ. ЩJL)t!!i.. Jyli::lli!lf!I (}~~J•i .::t.!ttQ, 
. :r~C"'J«;"rt;Jt-~н~ pr,1pi·,t..н, .rrp.- ,p..,4'-Jljf,") ,!.. :"-!~rн-: • ,.:шfо (~<',"t, ;Ji-frf;•.' p1r•:11mr, A?J s,,>1 іІ ~ \ l1p ( 1F,·:.1~ннlr МІП rп iш r 1 1 ,-. 1 l]I ._L'I. : 1, ' ,·;t~'Іtл 11'1="-т~ч. P)""Of~t 
jJ.:ф'~! lfr, 'Jf!L,rJUШ J!j';.:; rт,.~•,:н~"'Л:, J:"J}:;·.1'1'J,;"f. ., ' f · ,1р,·,,: 1-,.7 ;,Є. J(.,'; ,;~j' ІJ1:pt1'r' І і І ІІ' Ііrf І1 СІ,Ь-;,• ' НІ ' 'і" НІn.' ( ; 111ч1~Н t1 U [..1. ,: Н І) Ііj", ' 11 \' НІ(\." 1,1фЦ{J~JC(tl-L~ ) ("t1JIO \{ti~\.~S 
, .Jl•.:t.::: i.;i •-~i..JL-::t: J.U:r<• :•..,__• ~ J.J ,.. t.~:-J1;1Jstl.i: 
Рисунок Г 4 - Слайд 4 
108 
482 .ЧДТУ . 24 2J02 90 OJ 
Псрнннні та ;нт·, 1н ,,,~ . 
· Btr . HJJ JJ 
Рисунок Г 5 - Слайд 5 
Первинні та дет а.1н],11і в1н·югн 
GІуr11:wональн1 вимоги: HedJ' Н,';'(і/О.ЧВ/)ЬНІ вимоги. 
с ,оорсння чвr. -1н,с f,1е ; р,Jс1л 1 .з-:1ц1~t 1,1 ~рф~ и~у д · :;; 
:,.:,ре:н- я -іОє; ~<}: ч€v.-,п ис тіе; , s,: пючJюц;I евеr,еннs; 
fЩ:ССЖІІХ м.ЗE! J H,,, :,1;t',>,HS1X 
Зpy<o-,·icm i, !;ІЩ(О{)ІJС~Іd .ЧН,? " r- ,.црс:6~.;; , ·H'j ї•ёі>fQ JР03 у\І,,-,;,ГІ'; 
" t, gra , _fІЯ !}ЗЗ,;11..одГ, З I I.0pL1-:: tyuaч.a Н1 . D~Л/СІчі!ЮЩ! 'J' <І 11er ►:oro )' !J НІ(О І.ЩСТаІ 1tІІ 1,1rcpc::e ІС ї ЩС! .!JС'JІ:ЮП Є 
оороб1!ї v',ІІН' ,: ,а !!,Щ/10!!. І,СіН] !ЮВІДС•J,11Н!Н І1~ . к op11c '1':,' t:!fl ' Іat,1 l! t:'1'1:0 u~а,•.101J • н в· з ;:;, 1· " 
26вріганн11 дан•І>tх : В прое;,д;.;.:~;,ня баз.и д,,н 11х f\ l'Hi Мо11І·1 о r,ю 11 · п1 лoryult1111я : C11pot!-з.:t ~L'"I'' 
, · _р• •~~~- і q;ц:-11"ці про '''-"r[JІ 1 Г.T :,'S iNІ B 1;; t.) ПQh lf r.t ), JQ rt1 Tr:p11 нry л:" f1 e i.JJC Te ~ К-f:M M Q ~ - ,зм :,· Ot1 - a -.-, ЛО~"Здt-.,:1 .:t -q. 
-::.,-n,tcTrt : '"" і;:-,(.ІSJТ.Іl•НІ ~Н-І f/e-fGДi3t/ ~_. ,'~ОСТУП '>• 7.З an,; .- i.;·y p:;f.- ~ т i1 т а ,1 1 _1r;-f1.·Jcт . н•i 1 - р1.16п~ ,.1 
~а, .. ,п,11:.: •.н  ДdJttf\1'- ' , Cyмici•ic rt.. : Заt'н.:'JJІ~ цон,,н с1,::,t1о тн t11.:на ~1 а ~L '"' xn.o.t1•1,1A 
І Jl c1 Hj.;;;p r,1 ,p, І r p Lt~T~-;,; ;.1:,, 0 ,~ • j.' 1ІІ!К;J. p r;iн 1 .x !!,tlpCІ\s І!JІеg ІdГП 
є, 
Рисунок Г 6 - Слайд 6 
t09 
482.ЧДТУ. 24 23 02 90 о І 5 
) ~іа 1· рам а II pc 1 н.\J te t1 тi н 
►·, \. ...,_ І .' . . ' І 
',,, :,' І ,І І 
~ 
І 
І 
І 
І 
І 
. - т -
І ...... , 11 • • • •v І 
\ ,... ~ : \~· ..1 ·· ., 
' 
І ·r.1,·:-· ·· .::. ,:·.;1,).  J~ •. : ")  
~ - _____ ... І 
1 
Рисунок Г 7 - Слайд 7 
[1роекrува1н1я ло1 ·ічної стру1пур1t 
- -,І __---
•. :,- І 
г ,.  
І ... 
І .. '. .• - Іі  ~~-~J~ І ІІ • ,С,.:~;ёС'"'~ 
-і 
- - ____ J .------ . \_ __ -- ---
s 
рисунок Г 8 - Слайд 8 
11 О 
482.ЧДТУ. 24 2302 90 О 1 
6 
. Архі_т ,е . , '. .. ту~·  рІІ. е_  t1poel\1-yвa111 1s1 
;-Jіагра :Ф) }, OMllOH('rt пn ). [1.  а• 1н1 "' а pn н ()ртюнrя 
~11~~ 11 ;;t •1 ~: ·•!f• ,. І 1 Н•'Ч ~., , J .f,, 
~ . t н, І t І \ '/ ~" і t;-· f 
._ _____ ----
----
·. :~~ f:!fWill~ 
: ,.,.--------- . ◄--' ~ ~. І К, "І ~ІlfІ.\.'f~• 
Рисунок Г 9 - Слайд 9 
і\1одед1ования 11оведіню1 систем~'t ·· -
Діа, J)ai'H! . lЇЯ .'Н,НОСТі • 
! •• ... --
~ 
;.... ..L'~.• а.а.~'-', .. ~". ... .,, 
~~\,1 \ ~ - ► - ........ ••w w•• • - - ~ •,., 
(.:.1~~"4,1,і , . -~.,µ.- ..,...,,.,._" 
'-,.,.. .. ev',r( ~ ~~ ...... :,. 
...... .:... ~;> . ._-._-.._-,,..~..~. -...-. . . -.,-.,....ь.. ) ~ ,("-# .. 
'"" ..  , ,..... .., / 
10 
Рисун:ок Г 1О  - Слайд 1О  
І І І 
482.ЧДТУ . 24 2302 90 О І 
7 
~1оде ...1  11о.в.. апнs1 новенінн:и сис· І .С. М Jf 
,11..; 1ГР ~•"'з 1,О\t~' 111ющ1 1 ,1 ,,  1,, ІІ р,•1 r- ,'1,,1  СІ, •ІІ РІ(.' fІІІ0 f"" ,; н н11, ar 
,,,,,,.-- ·-.. 
.. ..... ... , :·о( / 
І 
-:..~-":~-: •' 
,., ~,,. ,.; •.• : _•' .· ·• ...І i:-~•  -,• • i' 
І 
І 
• ... .. , І L. . . , ~. ,. .. 
J~~,.,..  . ...... І , , о , 
..,.  
. ., -
/ \ 
----/ ◄ --
11 
Рисунок Г 11 - Слайд 11 
Струк1Jрна схема 
•.• r•- • ' -- ,- • 
·- ' 
.. . ;.·, : . _..,. -
., 
1... 
Рисунок Г 12 - Слайд 12 
І І 2 
r 482 .ЧДТУ. 24 2302 90 01 
.І І о 1· і  ч п а с х ,.  1ё \ 
', І 
.. 
1І · ,. ..... 
у_ 
І І ,, 
І " 
ІJ 
Рисунок Г 13 - Слайд 13 
Структура бази даних 
·----- ·----- -
--• .-,-----•-••-~ t ,Л. 1 1 1 1::-• •ч ...,r-" 
••-•М-----••-- -- -•-- - 0 
1 .і..11: - ~ t.•. 
І_ : •Х • . ~ ["" <О-О ·,·;,,;,, ,;.;,,..,,~v•~•,•~•""" 
: _- - -_- _---_ -·- ------~- - - ------ - .J 
! '\."" .. , :.).!.!...-t. "1.."t'1".t ~:~·t1.v.•, 
, -----------
;i,, 
І 
! 
. .. . ., , 1 " "' 
~ ..~ 1 • ..: І :У'-'.д. 
і -
..... ,І ~ , .,~ .- ! ( А•.і І ' 
V 14 
Рисунок Г 14 - Слаид 
113 
l 
482.чдтv. 24 2зо2 90 о 1 
J1 1терфс1-іс І,01·)нс· 1 · ,.1 . . <) 
· . .J І\ач а 
15 
Рисунок Г 15 - Слайд 15 
т·есту ва1-1 ня 
Рс·1~л1.,татн нрох(щжснш1 тестів 
- ]З J Ц ; .1'.: І :Н.Я Li lf1•:0. Jt'•J~\ - , . • І І ІІІІ,•.' . 
Рисунок Г 16 - СлаиV д 16 
І 14