Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/9222
Title: Удосконалення програмного забезпечення інформаційної системи контекстного пошуку
Authors: Півень, Олександр Борисович
Колісник, Іван Валерійович
Keywords: Розробка програмного забезпечення;пошук наукової літератури;контекстний пошук;автоматизація пошуку;зручність користування;оптимізація пошуку інформації;візуалізація результатів пошуку;інтерфейс користувача;Software development;search for scientific literature, contextual search;search automation;ease of use, optimization of information search;visualization ol search results;user interface
Issue Date: 20-Dec-2023
Abstract: АНОТАЦІЯ Колісник Іван Валсрійовнч Удосконалення програмного забезпечення інформаційної системи конгекстнот пошуку 121 «Інженерія програмного забезпечення» Черкаський державний технологічний університет Черкаси 2023 Предметом розробки кваліфікаційної роботи магістра є програмне забезпечення для інформаційної системи контекстного пошуку. В даному контексті дослідження буде зосереджено на вдосконаленні процесу пошуку та аналізу інформації з використанням відповідних методів та підходів, спрямованих на оптимізацію виведення результатів у контексті конкретного користувацького запиту. Головною метою магістерської роботи є створення та вдосконалення програмного забезпечення для ефективного пошуку наукової літератури в Google Scholar. Розроблений продукт призначений для забезпечення зручного та ефективного інструменту, який дозволить користувачам швидко та точно знаходити необхідні публікації. Актуальність теми обумовлена зростанням обсягів інформації в сучасному цифровому світі та потребою ефективного її фільтрування та отримання. Завдяки розвитку технологій та розповсюдженню Інтернету, користувачі стикаються з величезним потоком даних, в тому числі різноманітною інформацією з різних джерел. При аналізі вимог описувався перелік функції програмної системи, алгоритмічні особливості її роботи. Для вирішення цього завдання було прийнято рішення виконати програмне забезпечення мовою програмування Python, а на допомогу в реалізації пошукових запитів програмно в Google Scholar допоможе бібліотека Beautiful Soup, яка надає простий спосіб навігації, пошуку та модифікації структур документів, що дозволяє зручно витягувати інформацію з веб-сторінок. Інтерфейсі^ іастину реалізовано за допомогою платформи Fiet, яка зво.іж створювати інтерактивні багатокористувацькі веб-додатки, програми я настільних коми ютерів і мобільних пристроїв на вашій улюбленій мові без Переднього досвіду розробки інтерфейсу. Таким чином у роботі описані особливості реалізації до програмного Зезпечення для контекстного пошуку.
ANNOTATION Kolisnyk Ivan Valeriyovych Improving the software of the contextual search information system 121 "Software engineering" Cherkasy State lechnological University Cherkasy 2023 The subject of the master’s thesis is the software for the contextual search information system. In this context, the research will focus on improving the process lot searching and analyzing information using appropriate methods and approaches laimed at optimizing the output of results in the context of a specific user query. The main goal of the master's thesis is to create and improve software for efficient search of scientific literature in Google Scholar. The developed product is I intended to provide a convenient and effective tool that will allow users to quickly and accurately find the necessary publications. The relevance of the topic is due to the growing amount of information in the modem digital world and the need to effectively filter and retrieve it. Thanks to the development of technology and the spread of the Internet, users are faced with a huge flow of data, including a variety of information from different sources. The requirements analysis described the list of functions of the software system and the algorithmic features of its operation. To solve this problem, it was decided to develop the software in the Python programming language, and to help implement search queries in Google Scholar, the BeautifulSoup library will help, providing an easy way to navigate, search, and modify document structures, which allows you to conveniently extract information from web pages. The interface part is implemented using the Fiet platform, which allows you to create interactive multi-user web applications, programs for desktop and mobile devices in your favorite language without any prior experience in interface development.
URI: https://er.chdtu.edu.ua/handle/ChSTU/9222
Appears in Collections:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)

Files in This Item:
File Description SizeFormat 
Кваліфікаційна робота магістра Колісник Іван Валерійович.pdf
  Restricted Access
59.15 MBAdobe PDFView/Open Request a copy


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

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет інформаційних технологій і систем
Кафедра програмного забезпечення автоматизованих систем
ПОЯСНЮВАЛЬНА ЗАПИСКА
до кваліфікаційної роботи
«магістр»
на тему: «Удосконалення програмного забезпечення
інформаційної системи контекстного пошуку»
Виконав: студент 2 курсу, групи МПЗ-2204
Напряму підготовки:
121 «Інженерія програмного забезпечення»
• (шифр і назва напряму підготовки)
Студент: Колісник І.В.
(прізвище та ініціали)
Керівник: Півень О.Б.
(прізвище та ініціали)
Рецензент: Захарова М.В.
(прізвище та ініціали)
Черкаси 2023
Гй
“»«п«!»ймам™” ” ' ' И И  l e x " 0 J ,<>123  УІІІверсигег
факультет ■ В Ф ® « 'и й н н х  г е х „ „ я о „ ; ~ ... ...............
{афеДРа ,айсЛ1.с„СІ.„ „
^світній рівень я а ТОМІ„ 1в„юііих ж іс м ___
Спеціальність 121 «Інженерія програмного зябезпечешія»
-К-М ГНЯ програма Інженерія програмного забезпечення
ЗАТВЕРДЖУЮ )
Іав. кафеш^ШАСдтрофесор
(. С^' \ ьлуъ С В
«<%» Л О  2023 року
З А В Д А Н Н Я
НА КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ
-------------------------------------Колісник Іван Валерійович___________________________
(прізвище, ім’я, по батькові)
1 1 ем\ проект}' (роботи) Удосконалення програмного забезпечення інформаційної системи
контекстного пошуку — _
Керівник проекту (роботи) доцент кафедри ПЗАС Півень Олександр Борисович
(прізвище, ім’я , по батькові, науковий ступінь, вчене звання)
Затверджені наказом Черкаського державного технологічного університету від «06» жовтня
2023 року № 267/04
2. Строк подання студентом проекту (роботи) 15 грудня 2023 року
3. Вхідні дані до проекту (роботи) стандарти програмного забезпечення; процеси управління.
вимоги до проекту; календарне планування проекту;_ управління_ ризиками—проекту,
ущэавлшня^есурсами_________ ___ _______ ___________________________ _______________
4 Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно розробити)
[Вступ; Існуючі методи та засоби розв’язання поставлених, завдань^.Т еоретичні... та
експериментальні дослідження; Впровадження результатів..досліджен ь ..„ п р а к т и к у
проектування програмного забезпечення _інформаційних,системх_£озробка да  ̂ тестування
■ програмного забезпечення; Висновки; Список в и кор и сі ан и\  джерел^ Дода і. к и.----
15. Перелік графічного матеріалу (з точним зазначенням обов язкових робі і проекту,
ІГ 1 Слайд 1, Г.2. Слайд 2, Г. З-Слайд 3J2 A  Слайд 4. Г.5. Слайд 5, Г.6. Слайд 6, ГЛ Слайд 7, Е&
■Слайд 8, Г.9. Слайд 9,1 10. Слайд J0.Т И .  Слайд 1L Г 12. Слайд .12 J ' 1 Т Слщід 13 J  'Л Слайд
114. Г15. Слайд 15. Г.16. Слайд 16, Г. IZ Слайд П Х  HLС л а й д і  1' І о. С.аіці X  Г 20. Слайд 20,
■Г21 Слайд 21, Г.22. Слайд 22, Г 23„СлайдZLi:.^24.Слайд24Х25,Слайд21_
Підпис, дата |
Ирізт (це. ініціали та посада Завдання прийняв
Розділ Завдання видав
консультанта
1 -—--------
-— ■—
1______ — --------__-_-__-____________ — ----------------------------------------------- - — ■
л
L  __________— — '
Дата видачі завдання 4 всрссня2023.року
КАЛЕНДАРНИЙ ПЛАН
I V /'V v  1 Ж "У А* ж
Строк
виконання
№ Назва етапів випускної роботи етапів випускної Примітки
пп
роботи
1 Постановка задачі 06.09.2023 1 Виконано
9 Підготовка завдання 13.09.2023 Виконано
Э Погодження завдання 20.09.2023 1 Виконано
4 Затвердження завдання 27.09.2023 Виконано
Основна стадія
1 Підбір матеріалів 04.10.2023 Виконано
2 Аналіз шляхів вирішення поставленої задачі 11.10.2023 Виконано
3 Розрахунок основних параметрів роботи 18.10.2023 Виконано
4 Вибір кінцевого варіанту проектного рішення 25.10.2023 Виконано
5 Оформлення первісної редакції роботи 01.11.2023 1 Виконано
Заключна стадія
1 Узгодження прийнятих проектних рішень 3 08.11.2023
керівником Виконано
і 2 Оформлення пояснювальної записки роботи в 15.11.2023
кінцевій редакції Виконано
1------- ------------------------------------------ —----- -—____ __  __
3 Попередній захист роботи
г"' 22.11.2023 Виконано
4 Затвердження роботи 29.11.2023 Виконано
5 Рецензування роботи 06.12.2023 Виконано
6 Захист роботи
15.12.2023 Виконано
Студент
Колісник І.В,
(підпис) (прізвище та ініціали)
Керівник проекту (роботи)
Півень О.Б
(підпис)
(прізвище та ініціали)
АНОТАЦІЯ
Колісник Іван Валсрійовнч
Удосконалення програмного забезпечення інформаційної системи
конгекстнот пошуку
121 «Інженерія програмного забезпечення»
Черкаський державний технологічний університет
Черкаси 2023
Предметом розробки кваліфікаційної роботи магістра є програмне
забезпечення для інформаційної системи контекстного пошуку. В даному
контексті дослідження буде зосереджено на вдосконаленні процесу пошуку та
аналізу інформації з використанням відповідних методів та підходів,
спрямованих на оптимізацію виведення результатів у контексті конкретного
користувацького запиту.
Головною метою магістерської роботи є створення та вдосконалення
програмного забезпечення для ефективного пошуку наукової літератури в Google
Scholar. Розроблений продукт призначений для забезпечення зручного та
ефективного інструменту, який дозволить користувачам швидко та точно
знаходити необхідні публікації.
Актуальність теми обумовлена зростанням обсягів інформації в сучасному
цифровому світі та потребою ефективного її фільтрування та отримання. Завдяки
розвитку технологій та розповсюдженню Інтернету, користувачі стикаються з
величезним потоком даних, в тому числі різноманітною інформацією з різних
джерел.
При аналізі вимог описувався перелік функції програмної системи,
алгоритмічні особливості її роботи.
Для вирішення цього завдання було прийнято рішення виконати програмне
забезпечення мовою програмування Python, а на допомогу в реалізації
пошукових запитів програмно в Google Scholar допоможе бібліотека
Beautiful Soup, яка надає простий спосіб навігації, пошуку та модифікації
структур документів, що дозволяє зручно витягувати інформацію з веб-сторінок.
Інтерфейсі^ іастину реалізовано за допомогою платформи Fiet, яка
зво.іж створювати інтерактивні багатокористувацькі веб-додатки, програми
я настільних коми ютерів і мобільних пристроїв на вашій улюбленій мові без
Переднього досвіду розробки інтерфейсу.
Таким чином у роботі описані особливості реалізації до програмного
Зезпечення для контекстного пошуку.
Ключові слова: Розробка програмного забезпечення, пошук наукової
гератури, контекстний пошук, автоматизація пошуку, зручність користування,
[тимізація пошуку інформації, візуалізація результатів пошуку, інтерфейс
ристувача.
ANNOTATION
Kolisnyk Ivan Valeriyovych
Improving the software of the contextual search information system
121 "Software engineering"
Cherkasy State lechnological University
Cherkasy 2023
The subject of the master’s thesis is the software for the contextual search
information system. In this context, the research will focus on improving the process
lot searching and analyzing information using appropriate methods and approaches
laimed at optimizing the output of results in the context of a specific user query.
The main goal of the master's thesis is to create and improve software for
I
J efficient search of scientific literature in Google Scholar. The developed product is
I intended to provide a convenient and effective tool that will allow users to quickly and
■accurately find the necessary publications.
The relevance of the topic is due to the growing amount of information in the
■modem digital world and the need to effectively filter and retrieve it. Thanks to the
I  development of technology and the spread of the Internet, users are faced with a huge
I  flow of data, including a variety of information from different sources.
The requirements analysis described the list of functions of the software system
I and the algorithmic features of its operation.
To solve this problem, it was decided to develop the software in the Python
programming language, and to help implement search queries in Google Scholar, the
I  BeautifulSoup library will help, providing an easy way to navigate, search, and modify
document structures, which allows you to conveniently extract information from web
pages.
The interface part is implemented using the Fiet platform, which allows you to
create interactive multi-user web applications, programs for desktop and mobile
devices in your favorite language without any prior experience in interface
development.
I apci dcsciibcs the implementation features of the contextual search
softw are.
K i) ( (L. SoltWcUe development, search for scientific literature, contextual
scaich, seat ch automation, case ol use, optimization of information search,
visualization ol search results, user interface
зміст
III PI Л ік  УМОВНИХ ПОЗНАЧЕНЬ........................................................................ З
ВСТУП.......................................................................................................................... 6
РОЗДІЛ І ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ’ЯЗАННЯ ПОСТАВЛЕНИХ
ЗАВДАНЬ..................................................................................................................... 9
І І Задача дослідження....................................................................................... 14
1.2 11 остановка задачі.......................................................................................... 14
Висновок до першого розділу................................................................................... 15
РОЗДІЛ 2. ТЕОРЕТИЧНІ ТА ЕКСПЕРИМЕНТАЛЬНІ ДОСЛІДЖЕННЯ......... 17
2.1 Теоретичні дослідження................................................................................ 17
2.2 Експериментальні дослідження................................................................... 21
Висновок до другого розділу....................................................................................25
РОЗДІЛ 3. ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У ПРАКТИКУ
ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ІНФОРМАЦІЙНИХ
СИСТЕМ..................................................................................................................... 26
3.1 Моделювання предметної області............................................................... 26
3.1.1 1 Іредмет на область моделювання. Модель предметної області.
Словник предметної області...............................................................................26
3.1.2 Елемент и моделювання предметної області.........................................27
3.1.3 Робоча область моделювання................................................................ 29
3.2 Формування та аналіз вимог.........................................................................31
3.2.1 Формування вТімог до програмного забезпечення. Первинні і
детальні вимоги. Вимоги замовника і розробника. Функціональні і
нефункціональні вимоги.....................................................................................32
3.2.2 Формування вимог за допомогою діаграми прецедентів...................34
3.2.3 Проектування логічної структури програмного комплексу................ 36
3.2.3.1 Діаграма класів.....................................................................................36
3.2.3.2 Діаграма пакетів................................................................................... 38
3.2.4 Архітектурне проектування................................................................... 40
ЧДТУ 232209.011 113
Лисі №  д о к у м ен т
Х>< >і пін К о л е  і пік I B Ліг Лисг Лис гін
---------
ріпник Пінені. < > Б Удосконалення програмного т г 3
забезпечення інформаційної системи
г-------
ton і її контекстного пошуку ФІТІС
І-----
till в Кафедра ПЗАС, МПЗ-2204
■-----
•'•2 4 1 Діаграма компонспіів 42
?.2.4 2 І огіоріаіпія програмної системи на апаратних засобах. Діаграма
розтртанпя.......
? 2.5 Моделювання поведінки системи..........................................................45
3.2.5 І Діаграма діяльності.............................................................................45
.'.2.5.2 Діаграма послідовності....................................................................... 48
.'.2.5.3 Діаграма комунікації............................................................................49
.'.2.5.4 Діаграма скінченного автомату (Діаграма станів)............................. 50
Висновок до третього розділу................................................................................ 52
РОЗДІЛ 4. РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
...................................................................................................................................... 53
4.1 Розробка програмного комплексу................................................................53
4.1.1 Обгрунтування вибору засобів реалізації.............................................53
4.1.2 Опис структурної (функціональної) схеми..........................................55
4.1.3 Опис логічної схеми системи.................................................................56
4.1.4 Розробка бази даних................................................................................ 57
4.1.5 Розробка інтерфейсу користувача...........................................................58
4 .1.6 Опис розробки програмних компонентів............................................... 59
4.2 Тестування системи....................................................................................... 60
4.2.1 Модульне тестування.............................................................................. 60
4.2.2 Інтеграційне тестування......................................................................... 65
4.2.3 Системне тестування............................................................................... 66
4.2.4 Приймальне тестування.......................................................................... 71
4.3 1 Іриклади впровадженого програмного комплексу....................................72
Висновок до четвертого розділу............................................................................ 74
ВИСНОВКИ..................................................................................................................75
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ................................................................... 77
ДОДАТОК А .................................................................................................................81
ДОДАТОК Б ..................................................................................................................83
ДОДАТОК В..................................................................................................................89
ДОДАТОК Г ..................................................................................................................93
Лис г
ЧДТУ 232209.011 113
Зм Лисі № документа 1 Іідинс Дані
ЧДТУ 2322О9.ОП ПЗ
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ
1В -  Програмне забезпечення
О< -  Операційна система
ПК -  Персональний комп'ютер
1З -  Технічне завдання
ІС -  Інформаційна система
КРМ -  Кваліфікаційна робота магістра
5
ЧДТУ 232209.011 ПЗ
ВСТУП
Актуальність теми: Дана тема кваліфікаційної роботи є актуальною, тому
що у сучасному інформаційному суспільстві, де кількість наукових публікацій
стрімко зростає, а обсяг наукової інформації стає величезним, виникає гостра
необхідність вдосконалення засобів для точного пошуку та відбору наукової
літератури. Google Scholar, як один із найпоширеніших інструментів для пошуку
академічних ресурсів, стає важливим засобом доступу до світового наукового
знання. Проте, з урахуванням масштабів цієї бази даних, виникає актуальна
проблема неефективності та непереглядності пошуку, що вимагає розробки та
вдосконалення програмного забезпечення для автоматизації цього процесу.
Однією з ключових проблем є велика кількість наукових робіт, що
приховані серед великого потоку інформації. Науковці та дослідники, які
прагнуть знайти конкретні публікації для своїх досліджень, стикаються з
труднощами відбору та оцінки релевантности Така ситуація визначає важливість
розробки програмного забезпечення, яке допоможе оптимізувати цей процес,
забезпечуючи швидкий та точний пошук необхідної наукової інформації.
Крім того, в умовах росту конкуренції та активного розвитку наукових
галузей, ефективний доступ до інформації стає ключовим фактором для
досягнення наукового просування. Програмне забезпечення, яке дозволяє
швидко та зручно знаходити актуальну літературу в Google Scholar, має великий
потенціал покращити продуктивність та конкурентоспроможність науковців та
дослідників у сучасному науковому середовищі.
Отже, розробка програмного засобу для контекстного пошуку наукової
літератури в Google Scholar є актуальною та стає необхідною для вдосконалення
робочих процесів у сфері наукових досліджень та забезпечення доступу до
релевантно! та актуальної інформації для наукової спільноти.
Зв’язок з науковими програмами, планами, темами: Обрана тема
дослідження пов'язана із науковою програмою напряму підготовки “Інженерія
програмного забезпечення”, оскільки проводиться дослідження, проектування та
6
МД ГУ 232209.011 ПЗ
створення прої рамного комплексу для виконання поставлених задач
Ісма маї ісіерсько'і роботи вписується в ширший контекст сучасних
іос.н їжснь * облає і і інформаційних технологій та наукової діяльності. Ця робота
не лише відповідає актуальним науковим програмам, але й є частиною
етратеї ічноїх'» напрямку впровадження технологічних інновацій у наукове
середовище. Важливою є її відмінність та спроможність розв'язувати конкретні
завдання. повязані з пошуком, що підкреслює вагу обраної теми в контексті
н ау ко во го розв и тку.
Мега та завдання дослідження: Основною метою магістерської роботи є
розробка та вдосконалення програмного забезпечення для знаходження наукової
літератури в Google Scholar. Розроблений продукт повинен надавати зручний
інструмент для користувачів, що дозволить їм швидко та точно знаходити
необхідні публікації.
Завданням дослідження даної магістерської роботи є:
1 Аналіз потреб користувачів: Провести докладний аналіз потреб та
вимог користувачів при пошуку наукової літератури для визначення
ключових функціональних вимог до розроблюваного програмного
продукту.
2 Огляд існуючих рішень: Вивчити існуючі програмні засоби для пошуку
літератури, визначити їхні переваги та недоліки з метою підбору
оптимальних рішень для вдосконалення.
3 Розробка нових алгоритмів: Розробити та впровадити нові алгоритми
для оптимізації процесу пошуку та підвищення точності виділення
релевантно! інформації.
4 Створення інтуїтивного інтерфейсу: Розробити зручний та легкий у
використанні інтерфейс користувача, що спростить процес пошуку та
взаємодії з програмним забезпеченням.
5 Тестування та рлтимізація: Провести етап тестування розробленого
програмного продукту з метою виявлення та усунення помилок, а також
оігіимізації продуктивності.
7
ЧДТУ 232209.011 ИЗ
(> Порівняння га апробація: Порівняти результати роботи розробленого
ирої рамною продукту з існуючими рішеннями та здійснити апробацію
серед спеціаліст*ів для отримання об'єктивних оцінок.
Ці завдання ставлять своєрідний фундамент для вирішення основної мети
розробки прої рамного інструменту для пошуку наукової літератури в Google
Scholar.
Он єктом досліджень є розробка програмного забезпечення контекстного
пошуку та практичне застосування удосконаленого методу пошуку наукової
літератури.
Предметом дослідження є процес створення програмного забезпечення
для знаходження наукової літератури за певними властивостями.
Методи досліджень: Для досягнення поставленої мети було застосовано
такі методи: метод спостереження -  досліджувалась поведінка користувачів, їх
взаємодія з інтерфейсом програмного забезпечення, метод вимірювання -
досліджувалась швидкість та точність роботи програмного забезпечення, метод
формалізації -  досліджувалась формалізація процесу пошуку та метод
планування експерименту і синтез -  при проведенні практичних тестів для
перевірки виконання пошуку та створенні програмного засобу.
Наукова новизна отриманих результатів: Розроблено програмне
забезпечення та удосконалено процес пошуку наукової інформації за певними
властивостями.
Практичне значення отриманих результатів: Результати цього
дослідження мають велике практичне значення для науковців, студентів та
дослідників, які регулярно використовують Google Scholar для пошуку
літератури. Розроблене програмне забезпечення дозволяє зекономити час на
пошук і забезпечити доступ до релевантно!’ інформації. Практичне значення
також полягає у підвищенні продуктивності наукових досліджень та полегшенні
доступу до актуальної інформації, що сприяє загальному розвитку наукової
спільноти.
Особистий внесок автора: Всі відображені в роботі результати
представлені автором особисто.
8
ЧДТУ 232209.011 ИЗ
1’0  tu .  l 1. ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ’ЯЗАННЯ
ПОСТАВЛЕ НИХ ЗЛВДА11Б
1 Ісрел іим як розпочати будь-яку роботу чи приймати стратегічні рішення,
важливо детально ознайомитися з наявними аналогами. Цей етап є ключовим у
процесі прийняття обгрунтованих та інформованих рішень. Він дозволить
здійснити повний аналіз ринку, визначити конкурентні переваги та виявити
оптимальні шляхи досягнення поставлених цілей.
У процесі пошуку аналогів для даного програмного забезпечення вдалося
виявити кілька подібних альтернатив:
1 Android додаток «Scholar Articles» [2]. (Рисунок 1.1)
SCHOLA11R
RESEARCH
A R T IC L E S
Рисунок 1.1- Android додаток «Scholar Articles»
9
ЧДТУ 232209.011 п з
S  In lai Ai tides це пошукова система, яка дозволяє користувачам шукати
яка їсмічиї рсс\р<н іа наукову літературу, наприклад реферати, повні тексти
стак'ік шссріацп, кнні и тощо з багатьох дисциплін. (Рисунок 1.2)
Рисунок 1.2 -  Інтерфейс додатку «Scholar Articles»
Можливості додатку «Scholar Articles»:
-  пошук наукової літератури за відповідним запитом;
-  перегляд результатів;
-  завантаження у pdf форматі;
-  друк безпосередньо в додатку.
Переваги додатку «Scholar Articles»:
швидкий і ючний пошук: Програма використовує передові алгоритми
пошуку, що дозволяє знаходити необхідні матеріали.
10
‘1ДГУ 2.x>2о<) 011 IB
широкий иіскгр охоплення: Додаток мас доступ до широкого спектру
рк <і <л. включаючи академічні бази даних, електронні бібліотеки та
на\ нові журнали
інрсоналі ювані рекомендації: На основі історії пошуку та вибору
користувача програма надає персоналізовані рекомендації для
подальшого вдосконалення пошукового процесу.
грхчнии інтерфейс: Інтуїтивний та легкий у використанні інтерфейс
робить взаємодію з програмою максимально комфортною для
користувачів будь-якого рівня.
-  можливість збереження та організації: Користувач може зберігати
знайдені матеріали, створювати власні колекції та легко організовувати
свою робочу інформацію
Недоліки додатку «Scholar Articles»:
-  залежність від інтернету: Для повноцінного функціонування програма
потребує постійного підключення до Інтернету;
-  обмежена охопленість деяких тем: Деякі специфічні теми можуть бути
менше представленими через обмежену кількість джерел;
-  вартість: Деякі функції можуть бути доступні тільки за плату, що може
обмежити досіуп до розширених можливостей для деяких
користувачів;
відсутність деяких форматів: Додаток може не підтримувати деякі
специфічні формати літератури або матеріалів;
-  відсу інісі ь перекладу на інші мови: Додаток працює лише на іноземній
мові, а саме на англійській.
2 Android додаток «R Discovery: Academic Research» [3|. (Рисунок 1.3)
ЧД'ГУ 232209.011 ПЗ
Рисунок 1.3 - Android додаток «R Discovery: Academic Research»
R Discovery -  це безкоштовна програма для студентів і дослідників, яка
дозволяє знаходити та читати наукові статті. Ця програма для пошуку та читання
літератури для дослідників курує академічну бібліотеку для читання на основі
ваших інтересів, щоб ви залишалися в курсі останніх академічних досліджень із
доступом до наукових статей, наукових журналів, статей у відкритому доступі та
рецензованих статей. За допомогою R Discovery ви можете здійснювати пошук
літератури, наприклад у Google Scholar, refseek, Research Gate або Academia.edu,
або дозволити нашому штучному інтелекту створювати для вас окремі канали
відповідних наукових статей. (Рисунок 1.4)
Рисунок 1.4 -  Інтерфейс Інтерфейс додатку «R Discovery: Academic Research»
о
ЧДТУ 232209 011 ПЗ
Можливості додатку «Scholar Articles»:
ах по юкументи буї и в курсі останніх досліджень не означає, т о  ви
повинні б\ ги прикупі до свого екрана. Додаток дозволяє користувачам
слухати паперові реферати, подібно до налаштування подкасту Ця
функція полегшує навчання в дорозі, незалежно від того, коли ви ідете
на роботу, тренуєтеся чи просто робите перерву;
переклад статей: глобальний характер досліджень означає, що не всі
новаторські статті будуть вашою рідною мовою. Завдяки функції
перекладу «R Discovery» мовні бар’єри залишилися в минулому.
Просто виберіть потрібну мову, і програма надасть вам переклад;
-  спільне читання: дослідження часто є спільними зусиллями. За
допомогою R Discovery ви можете створювати списки для читання та
співпрацювати з колегами, колегами по лабораторії чи будь-якими
іншими дослідниками. Спільні списки для читання можна
оприлюднити, сприяючи почуттю спільності та збільшенню
колективних знань;
-  автоматична синхронізація та керування довідковими матеріалами:
інтегрована функція автоматичної синхронізації гарантує безперебійне
оновлення ваших списків читання в таких менеджерах довідкових
матеріалів, як Zotero та Mendeley;
-  відкритий доступ та інститутський доступ: R Discovery визнає
важливість відкритого доступу в дослідженнях. Користувачі можуть
отримати доступ до понад 40 мільйонів документів у відкритому
доступі. Крім того, приєднання до інституту надає доступ до ширшого
спекгру платних документів, наданих цією установою.
Переваги додатку «R Discovery: Academic Research»:
персоналізовані канали: додаток дозволяє користувачам класифікуват и
статті не лише за списками, а й за багаторівневою ієрархією. Це дає
змогу от римувати доступ до документ ів відповідно до ваших інтересів,
ІЗ
ЧДГУ 232209 011 ПЗ
наприкла д якщо ви хочете переглядати лише документи відкритого
іосп п\ або доповіді конференцій, у вас є окремі канали для тих самих;
\ лч коналені алгоритми пошуку. Використовуючи розширені
a.nvpHiMH штучноїт» інтелекту, функція пошуку в додатку виходить за
рамки простото зіставлення ключових слів. Він розуміє контекст,
гарантуючи, що результати тісно відповідають меті дослідження,
заощаджуючи безцінний час;
контекстні рекомендації: у міру того, як ви читаєте, програма вивчає
ваші вподобання та взаємодію, пропонуючи пропозиції щодо
документів, які відповідають вашому напрямку дослідження. Такий
проактивний підхід часто може призвести до виявлення документів і
ідей, які можна було б пропустити.
Недоліки додатку «R Discovery: Academic Research»:
-  залежність від інтернету: Для повноцінного функціонування програма
потребує постійного підключення до Інтернету.
1.1 Задача дослідження
Задачею дослідження є : Удосконалення методу пошуку наукової
літератури за допомогою програмного забезпечення мовою Python шляхом
оптимізації заголовків, опису та навігації.
1.2 Постановка задачі
Удосконалити програмне забезпечення для контекстного пошуку, яке
маїиме на меті пошук наукової літератури. Тобто система має виконувати
пошуковий запит після чого вона повинна надавати можливість завантаження
результатів даного пошукового запиту.
Можливості системи можна описати наступним чином:
І Пошуковий запит: Ця програма надає можливість введення фрази чи
автора для виконання пошуку, з використанням фільтрів. За допомогою
кнопок користувач може виконати обрані фрази.
14
ЧДТУ 232209.011 ГІЗ
Виконання запиту: Коли запит введено, програма виконує пошук і
показує результати у вікні програми.
Збереження та перегляд результатів: Після виконання пошукового
запиіу користувачу надаються результати, які він може зберегти, або
'І перейти за посиланням та переглянути.
Візуальний інтерфейс: Програма має графічний інтерфейс користувача,
що спрощує взаємодію з нею.
Отже, основне завдання цієї програми полягає в створенні системи
інтекстного пошуку, а та*кож в реалізації графічного інтерфейсу користувача для
Цручного використання цих можливостей.
Висновок до першого розділу
Розділ 1 магістерської роботи висвітлив важливий етап дослідження, а саме
наліз аналогів і визначення функціональних вимог для створення ефективного
?а конкурентоспроможного програмного забезпечення. Здійснений огляд
снуючих продуктів дозволив зрозуміти та визначити ті аспекти, які є ключовими
ія задоволення потреб користувача в даній області.
Отримані результати вказують на необхідність включення конкретних
іункцій у розроблюване’П3 для забезпечення його конкурентоспроможності та
исокої користувацької цінності. Серед ключових вимог можна виділити:
-  швидкий та точний пошук: Враховуючи великий обсяг інформації, ПЗ
повинне забезпечувати ефективний точний пошук та наукових
матеріалів;
-  наявність фільтру пошуку за датою: ПЗ повинне бути забезпечене
фільтром пошуку з датою, а саме з якого по який рік виводити наукову
літературу.
-  локалізація сторінки: Програмне забезпечення повинне мати
можливість введення мови локалізації сторінки;
-  вивід результатів пошуку: ПЗ виводить на екран результати запиту;
-  введення кількості сторінок: Потрібно вводити кількість сторінок для
15
W Y  232209.011 І із
■  > Виконання запитуу.  Кіхооїлши  иіа.п,и..і. ...в..в.едено, програма виконує пошук і
показує результати у вікні програми
Збереження іа перегляд результатів: Після виконання пошукового
ьшніу корнсіувачу надаються результати, які він може зберегти, або
перепій ы посиланням та переглянути
4 Ві іуальнпн ііпсрфейс. І Ірограма має графічний інтерфейс користувача,
що спрощує взаємодію з нею.
О і же. основне завдання цієї програми полягає в створенні системи
■нтекс і ноі о пошуку, а також в реалізації графічного інтерфейсу користувача для
(ручного використання цих можливостей.
Висновок до першого розділу
Розділ І магістерської роботи висвітлив важливий етап дослідження, а саме
«аналіз аналогів і визначення функціональних вимог для створення ефективного
■та конкурентоспроможного програмного забезпечення. Здійснений огляд
Іїснуючих продуктів дозволив зрозуміти та визначити ті аспекти, які є ключовими
идя задоволення потреб користувача в даній області.
Отримані результати вказують на необхідність включення конкретних
Ьункцій у розроблюване’ПЗ для забезпечення його конкурентоспроможності та
високої користувацької цінності. Серед ключових вимог можна виділити:
-  швидкий та точний пошук: Враховуючи великий обсяг інформації, ПЗ
повинне забезпечувати ефективний точний пошук та наукових
матеріалів;
-  наявність фільтру пошуку за датою: ПЗ повинне бути забезпечене
фільтром пошуку з датою, а саме з якого по який рік виводити наукову
літературу.
-  локалізація сторінки. Програмне забезпечення повинне маги
можливість введення мови локалізації сторінки;
-  вивід результатів пошуку: ПЗ виводить на екран результат запиту;
-  введення кількості сторінок: Потрібно вводити кількість сторінок для
15
ЧДТУ 232209.011 ПЗ
виведення на екран, І сторінка містить 10 запитів;
-  можливість завантаження вибраного результату, якщо це можливо: ПЗ
повинно надавати можливість завантаження обраного результату за
запитом у відповідному форматі;
перехід за посиланням, якщо завантаження не можливе: Якщо
завантаження не можливе, ПЗ повинне надати можливість переходу за
посиланням, для відкриття цього файлу;
інтерфейс користувача: Програмне забезпечення повинно мати зручний
інтерфейс користувача, для представлення всіх елементів вікна.
Програмне забезпечення «Удосконалення програмного забезпечення
інформаційної системи контекстного пошуку» повинне допомогти виконувати
швидкий та точний пошук наукової літератури, забезпечуючи користувачам
передові технології для вдосконалення їхнього наукового досвіду. Розширений
функціонал та інтелектуальні алгоритми повинні сприяти швидкому доступу до
актуальної та релевантно! інформації, щоб допомагати дослідникам, студентам
та науковцям ефективно просуватися у своїх наукових напрямках та
реалізовувати їхні проекти з найвищим рівнем ефективності та задоволення від
використання інформаційних ресурсів.
16
ЧДТУ 232209.011 ИЗ
ГОНІ 1 2 .ТЕОРЕТИЧНІ ТА ЕКСПЕРИМЕНТАЛЬНІ ДОСЛІДЖЕННЯ
2.1 Іеорстнчні дослідження
Перш за все. сформульовую основні етапи теоретичного дослідження з
даної теми 11е може включати такі етапи:
1 Аналіз проблеми:
аналіз проблем та труднощів, пов'язаних із пошуком літератури;
-  визначення потреб користувачів.
2 Вивчення існуючих рішень:
-  розгляд існуючих програмних засобів для знаходження літератури;
-  визначення їхніх переваг і недоліків.
3 Визначення функціональних вимог:
-  визначення необхідного функціоналу для програмного
забезпечення;
-  формулювання критеріїв успішності.
4 Вибір технологій:
-  визначення технологічного стеку для реалізації програмного
засобу.
5 Розробка прототипу:
-  створення прототипу програмного засобу;
-  здійснення тестування.
6 Оцінка результатів:
аналіз ефективності та зручності використання програмного
засобу;
-  визначення можливих поліпшень.
Тепер перетворюю це на логічну формулу, представляючи кожен еіап як
логічну операцію. Для створення використаємо логічний операюр «1» (AND).
1 Аналіз проблеми:
_ д  = «Аналіз проблем та труднощів»;
-  В = «Визначення потреб користувачів».
17
ЧДТУ 232209.011 ПЗ
Логічна формула: А л  В.
2 Вивчення існуючих рішень:
С «Розгляд існуючих програмних засобів»;
-  D — «Визначення переваг і недоліків».
Логічна формула: С л  D.
3 Визначення функціональних вимог:
-  Е = «Визначення необхідного функціоналу»;
-  F = «Формулювання критеріїв успішності».
Логічна формула: Е л  F.
4 Вибір технологій:
-  G = «Визначення технологічного стеку».
Логічна формула: G.
5 Розробка прототипу:
-  Н = «Створення прототипу»;
-  І = «Тестування».
Логічна формула: Н л  І.
6 Оцінка результатів:
-  J = «Аналіз ефективності та зручності використання»;
-  К. = «Визначення можливих поліпшень».
Логічна формула: J л  К.
Таким чином, повна логічна формула виглядає наступним чином:
(А Л В) Л (С л  D) л  (Е л  F) л  G л  (Н л  1) л  (J л  К), (2.1)
18
ЧДТУ 2.32209.011 ПЗ
де, А. В, С, D, 1., І , G, Ц, I, J, К - це булеві змінні, що представляють відповідні
етапи теоретичного дослідження.
Гака формула описує послідовність логічних операцій, які потрібно
виконати на кожному етапі дослідження [21].
В розрахунках точності важливою є кількість правильно визначених
(релевангних) елементів серед усіх визначених елементів. Формула для точності
пошуку виглядає так [22]:
Precision = ■ ГР * 100%, (2.2)
TP+FP
де,
ТР -  кількість правильно знайденої наукової літератури (true positives),
FP -  кількість наукової літератури, які система помилково визначила як
реле ванти і.
Далі було визначено повноту.
Повнота (Recall) є метрикою в оцінці результатів класифікації або пошуку
і визначає, яку частку всіх релевантних елементів вдалося виявити. У контексті
пошуку наукової літератури в Google Scholar, це визначає, яку частку загальної
кількості наукових статей, що існують в системі, програма знайшла [23].
Recall = ТР - * 100%, (2.3)
TP+FN
ДЄ,
ТР -  кількість правильно знайденої наукової літератури (true positives),
FN - кількість пропущеної наукової літератури (false negative).
Повнота вимірює, яку частку релевантно! літератури вдалося знайти.
Далі було визначено F-measure.
F-мера (F-measure) - це гармонічний середній між точністю (Precision) і
повнотою (Recall). Вона використовується як метрика для балансу між цими
19
ЧДТУ 232209.011 ПЗ
| двома аспскіами в оцінці результатів класифікації чи пошуку [24].
Формула для І'-мери виглядає наступним чином :
гг — m easure  =  '2і -P--re--c-i-s-i-o-n-*-R--e--c-a-l-l , (2.4)
Precision+Recall
де,
Piccision - точність (кількість правильно визначених релевантних
елементів серед усіх визначених),
Recall - повнота (кількість правильно визначених релевантних елементів
серед усіх релевантних). ,
І-мера приймає значення між 0 і 1, і чим вище вона, тим краще. Вона є
спробою зібрати в одне число якісь важливі характеристики обох метрик.
Якщо точність або повнота має дуже низьке значення, F-мера буде низькою.
Це враховує обидві сторони монети, стимулюючи баланс між точністю і
повнотою для досягнення кращого результату [25].
Для визначення відсотку помилок при обробці наукової літератури була
застосована наступна формула:
PP+PN
P ercentage E rorrs — ------------ * 100% (2.5)
TP+FP+FN
Дана формула вказує на відсоток наукової літератури, яка була помилково
оброблена системою (наприклад, помилково визначені як релевантні аоо
нерелевантні).
За наступною формулою визначалось, яку частку від усієї наукової
літератури вдалось вибрати за допомогою фільтрації за датою [26] :
Date F ilteri•ng = -^-W--i-t-h i-n- d--a-t-e- r-a--ng—e  *,  d100, (2.6)
. " T o ta l
ДЄ,
20
ЧДТУ 232209.011 ПЗ
N wnhin Date Range Кількість наукової літератури в межах обраного діапазону,
N total заі альна кількість наукової літератури в системі.
За наступною формулою визначався середній час виконання
запиту (Average Query Execution Time) [27]:
AQET = Executing Time (2.7)
N
де,
N — загальна кількість пошукових запитів,
Execution Time/— Час виконання і-го  запиту.
Отже отримана інформація дозволяє сформулювати наступну гіпотезу:
Гіпотеза: Якщо припустити, що оптимізація алгоритмів пошуку та
впровадження інноваційних підходів до аналізу користувацьких запитів
дозволить покращити точність та швидкість пошуку наукової літератури в Google
Scholar, гіпотеза передбачає, що такі покращення сприятимуть збільшенню
задоволеності користувачів та підвищать загальну якість інформаційного пошуку
в науковому середовищі.
2.2 Експериментальні дослідження
Експериментальні дослідження - це метод наукового дослідження, який
використовується для вивчення причинно-наслідкових зв'язків між різними
явищами Цей метод включає систематичне створення умов, в яких можна
КОПІ ролювати певні фактори, що дозволяє досліджувати вплив змінних на
резуіі ьтати досліджен ня.
У процесі таких досліджень зазвичай встановлюється контроль над
умовами проведення експерименту з метою забезпечення об єктивності та
надій пос т отриманих результатів. Це може включати порівняння різних умов
екснери менту, введення випадкових елементів або використання подвійного
елі ного контролю для зменшення впливу спостерігача на результат.
ЧДТУ 232209.011 ПЗ
1 езульїаїн експериментальних досліджень є важливими для наукового та
T£XH1’IHOIO прогресу, оскільки вони дозволяють перевіряти теоретичні
припущення І а підтверджувати їх, або навпаки, відхиляти і коригувати. Ці
дослідження іакож мають велике значення для розробки нових технологій і
методів, урбанізації та вдосконалення вже існуючих систем.
1 Іісля розробки загального алгоритму системи було виконано ряд
експериментальних досліджень. Основна мета цих досліджень полягала у
проведенні повної о циклу функціонування системи, оцінці результатів числових
даних, виявленні недоліків і виявленні можливостей для подальших покращень.
Дослідження роботи програми було проведено в декілька етапів для
перевірки роботи системи з різними даними та з вказуванням фільтрів і без них:
І І Іерсвірка пошукового запиту без використання фільтрів.
51 ввів пошуковий запит без використання фільтрів, після чого
переконавшись, що програма видає коректно результат ввів інший запит уже з
більшим обсягом, що переконатись у ефективності роботи програми.
1 запит
Українська мова
2 запит
Вища математика для студентів
2 1 Іерсвірка пошукового запиту з використанням фільтрів дати.
Я ввів пошуковий запит з використанням фільтрів дати, після чого
переконавшись, що програма видає коректно результат ввів інший запит уже з
більшим обсягом, що переконатись у ефективності роботи програми.
1 запит
Лінійна алгебра
2 запит
Лінійна алгебра для чайників
22
ЧДТУ 232209.011 ИЗ
.' І Ісревірка ііопіукоіюго запиту з використанням фільтрів для локалізації
МОВИ.
Я ввів пошуковий запит з використанням фільтрів для локалізації мови,
після чого переконавшись, що програма видає коректно результат ввів інший
запит уже з більшим обсягом, що переконатись у ефективності роботи програми.
1 запит
Mathematics
2 запит
Mathematics for students
4 Перевірка пошукового запиту з використанням індексів Google для
видавання конкретного формату у результатах.
Я ввів пошуковий запит з використанням фільтрів, після чого
переконавшись, що програма видає коректно результат ввів інший запит уже з
більшим обсягом, що переконатись у ефективності роботи програми.
1 запит
Українська мова filetype: pdf
2 запит
Українська мова для початківців filetype: doc
5 Перевірка пошукового запиту з використанням індексів Google для
видавання конкретного домену у результатах.
Я ввів пошуковий запит з використанням фільтрів, після чого
переконавшись, ідо програма видає коректно результат ввів інший запит уже з
більшим обсягом, що переконатись у ефективності роботи програми.
1 запит
Матемаїика site: на
2 запил
Матемаїика для початківців site: на
23
ЧДТУ 232209.011 ИЗ
Таблиця 2.1
Результати процесу експериментального дослідження
1 Іазва процесу Кіль Серед Точ Пов Відсоток Частка від усієї
кість тій час ність нота помилок наукової
сим во викона поїду при літератури, яку
лів ння ку обробці вдалось
1 та 2 ношу наукової вибрати за
запиту ку, с. літератури допомогою
фільтрації за
• датою
Перевірка
14 0.5
пошукового запиту
та та 100% 100% 0% 100%
без використання
26 0.6
фільтрів
Перевірка
14 0.5
пошукового запиту з
та та 100% 100% 0% 100%
використанням
25 0.6
фільтрів дати
Перевірка
’ 11 0.5
пошукового запиту з
та та 100% 100% 0% 100%
використанням
22 0.6
фільтрів локалізації
І Іеревірка
пошукової о запиту з 26 0.5
використанням та та 100% 100% 0% 100%
індексів Google для 40 0.6
показу форма ту
24
ЧДТУ 232209.011 ПЗ
Продовження таблиці 2.1
Перевірка запиту з
використанням 17 0.5
індексів Google для та та 100% 100% 0% 100%
показу домену в ЗІ 0.6
результатах
Після цього було проведено наступне дослідження для визначення
зручності використання програмного забезпечення та Google Scholar.
Таблиця 2.2
Порівняння зручності використання
Зручність використання програмного Зручність використання Google
забезпечення Scholar
Висока Звичайна
Висновок до другого розділу
У цьому розділі магістерської роботи були проведені теоретичні та
експериментальні дослідження, що сприяли глибшому розумінню предметної
області та вирішенню конкретних завдань дослідження.
Теоретичний аспект дослідження дозволив систематизувати та узагальнити
наявні знання, визначивши ключові поняття та теоретичні підходи до вирішення
проблеми Важливою частиною теоретичного аналізу було визначення тих
аспектів, які погребують експериментальної перевірки для підтвердження чи
спростування теоретичних припущень.
Експериментальні дослідження в цьому розділі слугували не лише засобом
перевірки теоретичних гіпотез, але й дозволили отримати конкретні дані, що
стали основою для подальших висновків та рекомендацій.
25
I ЧДТУ 232209.011 ПЗ
РОЗДІЛ з. ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У
І ПРАКТИКУ ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
| ІНФОРМАЦІЙНИХ СИСТЕМ
3.1 Моделювання предметної області
Розділ «Моделювання предметної області» відкриває перед нами широкий
горизонт можливостей для аналізу та розкриття інтеракцій у реальному світі.
Застосування спеціальних методів та інструментів надає можливість створювати
абстрактні відображення ключових аспектів об'єктів, які формують дану
[предметну область. Цей етап дослідження спрямований на те, щоб не лише
розуміти, але і ефективно аналізувати та вдосконалювати функціонування
обраної сфери.
Створення системних моделей є творчим процесом, який об'єднує в собі
візуалізацію об'єктів та концепцій, що існують у предметній області. Це включає
у себе створення об'єктних моделей для детального аналізу та концептуальних
моделей для узагальнення і визначення ключових аспектів. Іакий підхід дозволяє
не лише визначити залежності між елементами, але і відобразити їхню взаємодію
і та вплив на функціонування системи[5].
Зазначений розділ має стратегічне значення, оскільки визначає основу для
[ подальшого аналізу та розробки. Використання різноманітних підходів до
моделювання відкриває шлях до більш глибокого розуміння предметної області
та сприяє розкриттю її потенціалу через призму створених моделей.
3.1.1 Предметна область моделювання. Модель предметної області.
: Словник предметної області
Модель — це спрощений спосіб представлення реальності тобто
представлення сукупності об’єктів, навколо чи за допомогою яких ми будемо
■ будувати нашу майбутню систему.
Коли ми створюємо концептуальну модель, ми аналізуємо домен в цілому,
26
ЧДТУ 232209.011 ПЗ
ому нс так важливо розділяти поточний і майбутній стани системи.
Сама модель предметної області може бути зображена візуальною схемою,
прикладами коду або в деяких випадках письмовим описом проблеми. Важливо,
щоб модель предметної області була доступною та зрозумілою кожному, хто бере
участь у проекті.
У більшості випадків модель предметної області ілюструється набором
діаграм класів, що можуть відображати: об'єкти предметної області або
концептуальні класи, асоціації між концептуальними класами, атрибути
концептуальних класів.
Таблиця 3.1
Терміни словника предметної області
Термін Поняття
Система програмного забезпечення, яка аналізує та індексує
Пошуковий
величезні обсяги інформації в Інтернеті з метою забезпечення
двигун
користувачам точного пошуку.
Google Безкоштовна пошукова система наукових публікацій,
Scholar рефератів і т.п.
і Іосилання на конкретну наукову роботу в інших наукових
Цитування
публікаціях, що вказує на її вплив та значущість.
Можливість здійснення пошуку наукової літератури за
1 Іошук по
конкретним автором для отримання повного списку його
автору
публікацій.
L
•
3.1.2 Елементи моделювання предметної області
Модель — це спрощений спосіб представлення реальності тобто
представлення сукупності об’єктів, навколо чи за допомогою яких ми будемо
оудувати нашу майбутню систему.
Коли ми створюємо концептуальну модель, ми аналізуємо домен в цілому,
27
ЧДТУ 232209.011 ПЗ
ому | і е  , а к  важливо розділяти поточний і майбутній стани системи [1].
Сама модель предметної області може бути зображена візуальною схемою,
іри клада ми коду або в деяких випадках письмовим описом проблеми. Важливо,
доб модель продме і ноі області була доступною та зрозумілою кожному, хто бере
часть у проекті.
У оільпюсті випадків модель предметної області ілюструється набором
ііаграм класів, що можуть відображати: об'єкти предметної області або
юнцептуальні класи, асоціації між концептуальними класами, атрибути
юішсптуальних класів. .
Для моделювання предметної області було вирішено використати мову
UML, як широко поширену та, в результаті, зрозумілою широкому колу
користувачів.
В мові UML для використання в діаграмах існують 3 види умовних,
візуальних позначень різноманітні графічні символи, зв'язки (стрілки та лінії),
тексі.
Найчастіше вживані елементи діаграм виглядають наступним чином:
Рисунок 3.1 -  Елементи мови UML
28
ЧДТУ 232209.011 ПЗ
Пай іасіипс вживані типи зв язків, що використовуються у діаграмах
виглядають наступним чином:
Символ Значення
child Асоціація
Use- залежність
Реалізаці:
Агрегація
Композиція
dispatch Повідомлення
return Повернення
Extends- Узагальнення
Рисунок 3.2 -  Зв'язки мови UML
Варго зауважити, що деякі діаграми мають свій перелік унікальних
елементів, що вживаються в тому чи іншому типі діаграм.
3.1.3 Робоча область моделювання
1 Іочатковий етап проектування та аналізу включає у себе створення моделі
предметної облас ті, де всі елементи відображаються у вигляді блок-схем и
■Програмного алгоритму. (Рисунок 3.3)
29
ЧДТУ 232209.011 ПЗ
8е«г*иия X
( -.окіг. sau'i J
croc ■<>.,■ J
Рисунок 3.3 -  Блок-схема програмного алгоритму
Робота програмного забезпечення може бути розкрита за допомогою
текстового опису його алгоритму функціонування:
1 Користувач відкриває дане програмне забезпечення.
2 Користувач потрапляє на головне вікно програми.
3 Користувач вводить пошуковий запит.
4 Користувач вводи ть рік з якого починати пошук(можна
залишити пустим, тоді ПЗ буде виконувати пошук без обмеження з
якого року починати пошук).
5 Користувач вводить рік по який буде йти пошук(можна залишити
пустим, годі результат буде до поточного року).
6 Користувач вводить мову локалізації(за замовчування йде на, тобто
українська).
7 Користувач обирає кількість сторінок для відображ ення^
замовчування І сторінка, яка виведе на екран 10 результатів).
ЗО
ЧДТУ 232209.011 ПЗ
8 Корисіувач може в пошуковому запиті обрати, які формати вивести на
екран, за допомогою Google індексу filetype.
9 Користувач може в пошуковому запиті обрати, які посилання виводити
на екран за допомогою Google індексу site.
10 Користувач проводить пошук.
11 Користувач отримує результат з врахуванням фільтрів, які він визначив
для себе.
12 Користувач може завантажити обраний результат, якщо є така
можливість, якщо немає то він може перейти за посиланням обраного
результату.
13 Користувач закриває програму.
Нижче будую модель предметної області за допомогою UML діаграми:
уиок 3.4)
Рисунок 3.4 -  Модель предметної області
Модель предметної області для розроблюваного додатку (Рисунок 3.4)
відображує загальну структуру системи та класи, що будуть зустрічатися іа
взаємодіяти один з одним.
3.2 Формування та аналіз внмої
ЗІ
ЧДТУ 232209.011 ПЗ
2.1 Формування вимог до програмного забезпечення. Первинні і
і вимоги. Вимоги замовника і розробника, функціональні і
іефункшональні вимоги
Пронос формування та аналізу вимог є ключовим етапом у розробці
іро! рамного забезпечення. Цей процес охоплює збір, аналіз і документування
німої, які визначають функціональні та нефункціональні характеристики
системи.
Цей процес дозволяє створити чітке розуміння того, що має бути
(розроблено, і виступає в якості фундаменту для подальших етапів життєвого
циклу програмного забезпечення [6].
Вимоги замовника (первинні)
ПЗ повинно забезпечити чіткий пошук інформації за допомогою сервісу
Google Scholar та надати можливість завантажувати результати пошуку.
Вимоги розробника (вторинні)
Вимоги розробника до програмного забезпечення інформаційної системи
контекстного пошуку -  таблиця 3.2
Таблиця 3.2
Вимоги розробника до програмного забезпечення інформаційної
системи контекстного пошуку
№ Вимоги
Вимога на створення зручного інтерфейсу користувача з полем для
введення пошукового запиту, полем для введення з якого і по який рік
і ] проводити пошук, полем для введення локалізації сторінки, кнопкою
для відправлення запиту на пошук та ст річкою, яка показує готовність
до завантаження результатів.
2 Вимога на показ результатів у вікні програми.
3 Вимога на введення текстового запиту в полі пошуку.
32
ЧДТУ 232209.011 ИЗ
Продовження таблиці 3.2
4 Вимог а на введення у спеціальному полі з якого року починати пошук.
Вимої а на введення у спеціальному полі по який рік проводити пошук.
6 Вимої а на введення у спеціальному полі мови локалізації.
Вимога на введення у спеціальному полі кількісті сторінок для
ви веден н я резул ьтаті в.
Вимога на можливість вибору формату, який буде відображатись в
о
результатах.
Вимога на можливість вказати сайт чи домен сайгу, які будуть
9
відображатись у результатах.
і 10 - -І-В--и-м-о-г-а- н-а- -з-а-в-а-н-т-а-ж-е-н-н-я- -о-б-р-а-н-и-х- -р-ез-у-л-ь-т-а-т-ів-.--------------- -—----
Вимога на перехід за посиланнями на ті результати на яких
І 11
завантаження не можливе.
Функціональні вимоги
Функціональні вимоги представлено нижче:
-  можливість введення ключових слів, фраз чи тем для пошуку;
-  автоматичний пошук релеваитних наукових робіт за введеними
параметрами;
-  відображення метаданих статей, таких як автор, назва, абстракт;
-  можливість зберігання результатів у форматі якому він є;
-  можливість переходу за посиланням за конкретним результатом.
Нефункціональні вимоги
Вимоги до продукту
Кінцевий продукт повинен маги вигляд .bat файлу та маги можливість
працювати на ОС Windows без встановлення додаткових модулів чи бібліотек.
Організаційні вимоги
Розробка 113 проводиться на мові програмування Python з використанням
бібліотек.
Зовнішні вимоги
33
ЧДТУ 232209.011 ПЗ
Система не повинна розкривати будь-якої конфіденційної інформації
|і£0рнсТУв а ч а  ч и  в и к о Ри с і аних файлів, та не порушувати будь-яких законів
снуючого законодавства.
?.2.2 Формування вимог за допомогою діаграми прецедентів
Для виявлення вимої замовника будую діаграму прецедентів.
Дана діаі рама показує, які вимоги потрібно реалізувати стосовно
замовника.
В даному випадку це: вимога на введення текстового запиту в полі пошуку,
вимога на введення у спеціальному полі з якого року починати пошук, вимога на
введення у спеціальному полі по який рік проводити пошук, вимога на введення
у спеціальному полі мови локалізації, вимога на введення у спеціальному полі
кількісті сторінок для виведення результатів, вимога на завантаження обраних
результатів, вимога на можливість вибору формату, який буде відображатись в
результатах, вимога на можливість вказати сайт чи домен сайту, які будуть
відображатись у результатах, вимога на перехід за посиланнями на ті результати
на яких завантаження не можливе.
Діаграма варіантів прецедентів -  це тип поведінкової діаграми UML, часто
використовується для аналізу різних систем. Вони дозволяють візуалізувати різні
типи ролей у системі і те, як ці ролі взаємодіють із системою. Цей посібник із
діаграми варіантів використання охоплює наступні теми і допоможе вам краще
створювати сценарії використання.
Як згадувалося раніше, діаграми прецедентів використовуються збору
вимог до використання системи. Залежно від ваших вимог, ви можете
використовувати ці дані різними способами. Нижче наведено кілька спосооів
їхнього використання.
Ідентифікація функцій та як з ними взаємодіють ролі — основне
призначення діаграм сценаріїв використання.
Для представлення системи на високому рівні - Особливо корисно при
поданні її керівникам або зацікавленим сторонам. Ви можеіс виділиш ролі, які
34
ЧДТУ 232209.011 ПЗ
'•вМОДНОЗ І’ ' '  СИСГСМОЮ, ТИ (І)УНКЦІОНЯПІ ’и4 і можливості, що надаються системою,
1Сзаглиблюючись у внутрішню роботу системи.
Ідснтис] ашя внутрішніх та зовнішніх факторів -  Це може здатися
1 [Ю С Т Н М. але у великих складних проектах система може бути ідентифікована як
5ОВНІШНЯ роль в іншому випадку використання [71
Діаграма складається з чотирьох об'єктів:
-  актор:
-  випадок використання-
-  система;
-  пакет.
Існує п'ять типів відносин на діаграмі прецедентів. Вони:
асоціація між актором та випадком використання;
-  узагальнення актора;
розшири і и відносини між двома випадками використання;
Bix.no зити взаємозвязок між двома випадками використання;
узагальнення випадку використання.
Зали: ведомо
Пале для іесдрмня дамгу
додамо
Рік з жаго по якім преведши
приїде сведено
Псле для сведения мъкоси
а 0 0 иск додане
Госапиацю оседвмо
ПОЛО ДЛЯ иДОНЯ Р«Х/ 3 Яа ОГО
осюр. додамо
П рЛ ЇЗМ іГ
КсрмсГ)Є^ч КіЛоКІСТ» сторінок для
П ес* для седоммй лз ядей рік
ПРССОДИТИ ЛСЗД/К ДОДІмО
n e j j x  Х Л ,Щ « Н О
Cfccp.-ио сиор оіипе аоо
ДСМЄніі яги
виграно рв ндн.і
гсіріСнО І.'й3ни:» иг,і
Рисунок 3.5 - Діаграма прецедентів(Use Case Diagram)
35
ЧДТУ 232209.011 ПЗ
На даній діаграмі подані ключові сценарії взаємодії та учасники, що
приймають у часи» у функціонуванні програмного забезпечення інформаційної
системи контекстної о пошуку. Ця діаграма дозволяє краще розуміти операції, які
киконус ПЗ, га інтерфейс взаємодії з ним, враховуючи різних користувачів.
Користувач. Цей актор представляє звичайного користувача, який
взаємодіє з ПЗ.
Введення пошукового запиту: Користувач спочатку потрапляє на головне
вікно програми, де йому потрібно ввести пошуковий запит, після чого обрати рік
з якого і по який проводити пошук, але можливо і залишити поле пустим, в
такому випадку пошук буде проводити по всьому періоді по поточний рік. Далі
користувач повинен ввести локалізацію, за замовчуванням йде UA, тобто
українська, цс потрібно тому що від локалізації залежить поточний результат,
який ПЗ покаже користувачеві. Наступним кроком буде введення кількості
сторінок для виведення, за замовчуванням це 1, тобто 10 результатів буде
і показано. Також є можливість у пошуковому запиті ввести, які формати можливо
вивести на екран за допомогою індексів Google, також які домени чи сайти
виводити на екран.
Відправлення пошукового запиту: Останнім етапом буде проведення
пошуку, для цього погрібно натиснути кнопку «Пошук», після чого користувач
отримає результат в залежності від фільтрів, які він обрав. На екрані з
результатами є можливість завантажити вибраний результат, або перейти за
посиланням.
3.2.3 Проектування логічної структури програмного комплексу.
3.2.3.1 Діаграма класів
Діаграма класів є графічним інструментом, який використовується для
моделювання структури класів та їхніх взаємозв'язків у системі програмного
забезпечення. Вона надає уявлення про основні класи, їх атрибути та методи, а
гакож показує способи взаємодії між цими класами.
Основні компоненти діаграми класів включають:
36
ЧДТУ 232209.011 и з
Класи. Представлені у noІ flMOKкVутTнuиuкvoахv з розділеними відомостями про
ас. такими як ім'я класу, його атрибути та методи.
Атрибути. Поля класу, які визначають його характеристики чи стан. Вони
ЇАУГЬ бути вказані під іменами класу та приєднані до ліній, що з’єднують
рибути з класом.
Методи: Операції або фі?у нкцтіії,  яяккіі  Mмmожn/уTтLь бути викликані обєктами класу.
они також приєднуються до класу лініями.
Відношення між класами•- Лліінііїї,  яЯкк-іі  показують _вз_а ємоді• ю між класами. ТЦГел
юже бути асоціація, композиція, агрегація, наслідування та інші відносини.
Діаграма класів допомагає програмістам, архітекторам та іншим
часникам розробки програмного забезпечення зрозуміти структуру системи,
югіку взаємодії між класами, а також допомагає визначити, як кожен клас сприяє
виконанню конкретних завдань у системі. Це важливий інструмент для
покращення розуміння коду та його подальшого розвитку. Розроблена діаграма
містить 4 класи, що необхідні для коректної роботи застосунку, та показує
відношення у цих класах [8]. (Рисунок 3.6)
Рисунок 3.6 -  Діаграма класів(С1аз5 Diagram)
37
ЧДТУ 232209.011 ГІЗ
На поданій діаірамі класів відображено ключові класи та їх взаємодії, які
с1осовуіоться у роботі прої рамної о забезпечення. Ця діаграма сприяє нашому
узумінню того, які класи із якими атрибутами наявні, а також як вони
-асмодіють між собою.
Класи:
Клас «АррІ ather». Батьківський клас для ініціалізації вікон та створення
спільних меюдів. Цей метод слугує для налаштування основних
араметрів, які відносяться до вікон, такі як: логотип програми, додавання label,
вдавання button на вікна та для налаштування геометрії вікна.
Цей клас має такі методи: __init__(Конструктор класу),
>et \vindow_positi on (Метод, що вираховую позицію вікна по центру),
send \'а1пе(Метод який передає дані за пошуковим запитом).
Клас «AskSearch»: Клас для введення пошукового запиту із вибором
фільтрів. Наслідується від AppFather. Цей клас має такі методи:
mH (Конструктор класу), write value(Метод, що зчитує дані з label).
Клас «Result»: Клас із вікном для відображення результатів. Наслідується
від AppFather. Цей клас має такі методи: __init__ (Конструктор класу),
set save !ink( Метод який відповідає за перехід за посиланнями).
Клас «Арр»: Клас головного вікна. Наслідується від AppFather. Цей клас
мас такі методи. init (Конструктор класу), set_ui(MeTOA що налаштовує
елементи вікна), get ьеагс1і(Метод, що отримує пошуковий запит),
check баІа(Метод, що перевіряє коректність даних), process(Метод, що обробляє
лані, які обрав користувач), show result(Mero/i, який показує резульїаі у вікні),
save result(Метод, який викликає вікно збереження файлу), exit арр(Метод, що
вкриває вікно програми та припиняє процес).
3.2.3.2 Діаграма пакетів
Для відображення її логічної структури у вигляді пакеїів будую діаіраму
ІІаке'іів. (Рисунок 3.7) •
38
ЧД1У 232209.011 ПЗ
... . — Я j- Я--'.-с-го І
- В еедякн? п а я н ій  р к
, ч . почато гаву*: Введення мовх,
ПРОВОДИШ ПОшук
ЛОЮЛІЗЗЦІІ сгорної Введення КІЛЬКОСТІ сторно*
для виведення реЗуГЬГЗТЕ
1с _  Л-ОЗТО Користувач
ЗЯЇІП
додатку
Рисунок 3.7 — Діаграма naKeTiB(Package Diagram)
Діаграма містить 6. пакетів, які описують поетапне виконання програми,
очатку користувач додатку відкриває ПЗ інформаційної системи контекстного
шуку, після чого користувач спочатку вводить з якого року він хоче, що
^починався пошук літератури, якщо хоче, тому що є можливість залишити поле
сіим, потім потрібно ввести по який рік користувач хоче, щоб він отримав
зультати, знову ж таки можливо залишити поле пустим, тоді результат буде
іаховуватись до поточного року. Потім потрібно обрати локалізацію сторінки,
:а за замовчуванням UA, тобто українська. Наступний етап це введення
лькості сторінок, за замовчування 1, тобто користувач отримає 10 результатів,
юля цього проводиться пошук і користувач може образи перейти за посиланням
и відразу завантажити файл, якщо є така можливість. Також додатково є функції
ля вибору які файли можливо отримали в результаті, за допомогою індексу
joogle filetype, також можливо вибраги конкретний домен для відображення за
ДОПОМОГОЮ індексу Google site.
Для відображення її логічної структури у вигляді пакетів будую діаграму
чакепв. (Рисунок 3.7)
39
ЧДТУ 232209.011 113
Рисунок 3.7 -  Діаграма пакетів(Package Diagram)
діаграма містить 6 пакетів, які описують поетапне виконання програми,
'початку користувач додатку відкриває ПЗ інформаційної системи контекстного
юшуку. після чого користувач спочатку вводить з якого року він хоче, що
розпочинався пошук літератури, якщо хоче, тому що є можливість залишити поле
пустим, потім потрібно ввести по який рік користувач хоче, щоб він отримав
результати, знову ж таки можливо залишити поле пустим, тоді результат буде
враховувались до поточного року. Потім потрібно обрати локалізацію сторінки,
яка за замовчуванням UA, тобто українська. Наступний етап це введення
кількості сторінок, за замовчування 1, тобто користувач отримає 10 результатів,
після цього проводиться пошук і користувач може обрати перейти за посиланням
чи відразу завантажити файл, якщо є така можливіст ь. Також додатково є функції
дія вибору які файли можливо отримати в результаті, за допомогою індексу
Google filetype, також можливо вибрати конкретний домен для відображення за
допомогою індексу Google site.
3.2.4 Архітектурне проектування
Архітектурне проектування є важливим етаном у процесі розробки
програмного забезпечення, де визначається загальна структура системи та
приймаються ключові рішення для вирішення вимог до системи. Його мстою Є
створення орі анізованої системної структури, визначення архітектурних
40
ЧДТУ 232209.011 ПЗ
.кернів- ключових властивостей та інтерфейсів системи[9].
;іі1 сіапі архітектурного проектування проводяться різні дії, такі як аналіз
:і!мог для розуміння функціональних і нсфункціональних вимог, створення
<гнііепиіі Д'1Я В И л Н а , е н н я  ключових ідей, вибір технологій для реалізації,
мОделювання системи за допомогою різних діаграм, та валідація архітектури для
-’ревірки відповідності вимогам та ефективності.
Архітектурне проектування встановлює основи для подальшого розвитку
. реалізації програмного продукту, забезпечуючи його якість, надійність та
легкість супроводу.
Структур140 логічна схема має такий вигляд:
] Створення вікна програми.
2 Додавання компонентів на вікно програма(поля вводу, кнопку, рядок
стану).
3 Реалізація відправлення запиту із поля вводу пошукового запиту і
отримання результатів.
4 Реалізація відправлення запиту із поля вводу з якого року шукати і
отрима ння результатів.
5 Реалізація відправлення запиту із поля вводу по який рік буде
проводитись пошук і отримання результатів.
6 Реалізація відправлення запиту із поля вводу локалізації сторінки і
отримання результатів.
7 Реалізація відправлення залиту із поля вводу кількості сторінок для
виведення результатів на екран.
8 Реалізація відображення результатів пошуковою запиіу із показом
посилань для переходу.
9 Реалізація відображення результатів пошуковою запиіу із покаюм
кнопок для завантаження результатів.
Ю Реалізації кнопки, яка відправляє запит на пошук із врахуванням всіх
41
ЧДТУ 232209 011 ИЗ
фільтрів.
1 . Реалізація назви файлу і шляху для збереження.
В кінцевому вигляді маємо додаток, який спочатку обробляє всі дані із
хуванням фільтрів і відправляє запит на пошук, після чого програма надає
іультати у вікні програми і користувач може вибрати і завантажити результати,
з перейти за посиланням.
3.2.4.1 Діаграма компонентів
Діаграма компонентів — це тип діаграми в мові UML, яка
ікористовується для графічного представлення структури системи та взаємодій
іж її компонентами. Головна мета полягає в уявленні фізичної чи логічної
рганізації системи, де компоненти представляють модулі, бібліотеки, сервіси та
нші логічні частини.
На діаірамі компонентів компоненти зображуються як прямокутники або
круги, що визначають окремі частини системи. Вони взаємодіють через
інтерфейси, що можуть містити методи та способи взаємодії. Звязки показують
напрямок взаємодії між компонентами.
Ця діаграма спрощує розуміння структури системи, допомагає виокремити
логічні модулі, визначити взаємодії та розглядати систему як комплексний
оріанізм. Вона також може вказувати на розподіл компонентів у випадку
розподіленої системи. Діаграма компонентів є корисним інструментом для
архітектурного проектування та сприяє розумінню взаємодій між різними
частинами програмного забезпечення [10].
Для відображення’ логічної структури у вигляді компонентів будую
діаграму компонентів. (Рисунок 3.8)
42
ЧДТУ 232209 011 ИЗ
фільтрів
І Реалізація назви файлу і шляху для збереження
Ь кініквомх вигляді маємо додаток, який спочатку обробляє всі дані із
урахуванням фільтрів і відправляє запит на пошук, після чого програма налає
амид.) вікні прої рами і користувач може вибрати і завантажити результати,
;,.v перейти за посиланням.
ч і Діаграма компонентів
Діаграма компонентів — це тип діаграми в мові UML, яка
використовується для графічного представлення структури системи та взаємодій
між її компонентами, і оловна мета полягає в уявленні фізичної чи логічної
організації системи, де компоненти представляють модулі, бібліотеки, сервіси та
інші логічні частини.
На діаграмі компонентів компоненти зображуються як прямокутники або
круги, що визначають окремі частини системи. Вони взаємодіють через
інтерфейси, шо можуть містити методи та способи взаємодії. Зв'язки показують
напрямок взаємодії між компонентами.
Ця діаграма спрощує розуміння структури системи, допомагає виокремити
логічні модулі, визначити взаємодії та розглядати систему як комплексний
організм Вона також може вказувати на розподіл компонентів у випадку
розподіленої системи Діаграма компонентів є корисним інструментом для
архітектурного проектування та сприяє розумінню взаємодій між різними
частинами прої рамного забезпечення |10]
Дія відображення' логічної структури у вигляді компонентів будую
діаграму компонентів. (Рисунок 3.8)
42
ЧДТУ 232209.011 ПЗ
Рисунок 3.8 -  Діаграма компоненті B(Component Diagram)
Діаграма містить 4 компоненти:
-  програмне забезпечення інформаційної системи контекстного
пошуку(тобто спочатку користувач відкриває ПЗ);
-  користувач(вводить фільтри якщо потрібно);
-  запит на пошук(після введення фільтрів користувач виконує запит на
пошук);
-  програмне забезпечення виконує пошук та видає результати (після
виконання всіх вимог програма реалізовує пошук).
3.2.4.2 Розгортання програмної системи на апаратних засобах.
Діаграма розгортання
Для успішною розгортання «Програмного забезпечення інформаційної
системи контекстного пошуку» на апаратних засобах потрібно виконати наступні
кроки:
-  інтерпретатор Python (Погрібно встановити відповідну версію
інтерпретатора Python на апаратних засобах);
-  бібліотеки (Потрібно встановити необхідні бібліотеки та залежності,
перераховані у файлі «requireinents.txt»);
43
ЧЛТУ 232200 о н  ПЗ
конфігурація параметрів серстовніпа (Потрібно налаштувати
» » ксоеловшиа. такі як змінні середовища та конфігураційні
файли);
пі тключення то мережі «Ethernet*' (Перевірте підключення до мереже
інтернет)
.Its  гч.іоопаження розгортання програмної системи на апаратних засобах
ематично. будую діаграму розгортання (Рисунок 3.9)
_ гама розгортання — це візуальне представлення архітектурної
туктури системи, П компонентів та їх розташування на апаратних або
рамних платформах. На цьому графічному зображенні показано, як
рамні та апарат ні компоненти взаємодіють у середовищі розгортання.
На діаграмі розгортання зображено різні вузли (наприклад, сервери,
чт. ютери. пристрої) та їх взаємозв'язки Кожен вузол представляє апаратний чи
рамний компонент, а стрілки показують напрямок взаємодії між ними,
.^приклад, можливі взаємодії між клієнтським додатком та сервером бази даних
комунікація між різними серверами.
Важливим елементом є також вказівка протоколів чи інших технічних
.еталей. які використовуються для взаємодії між компонентами. Ця діаграма
помагає зрозуміти, як розподілені компоненти системи фізично взаємодіють і а
взаємодіють з апаратурою чи іншими програмами [ 11].
Рисунок 3.9 -  Діаграма розі орт ання( Deployment Diagram)
44
ЧДТУ 232209.011 113
, s МоДе л Ю в а н н я  ,1 О В Є Д П ІК И  системи
Діаграма діяльності
мас такий порядок виконання:
очікування корист\'вача(тобто очікування поки користувач запустить
додаток);
потім користувач вводить пош уковий за п и т у  спец іальне поле;
якшо користувач зали ш и ть поле пустим , то він отрим ає про це
повідомлення і повернеться до  його вводу;
після того як користувач ввів пош уковий запит, він переходить до
наступного поля, а сам е введення з якого року почати пош ук, але
користувач може залиш ити  це поле пустим , тоді буде враховуватись
пошук без обм еж ень;
-  далі користувач мож е ввести до якого року буде проводитись пош ук, але
він мас модели вість також  це поле залиш ити пустим , тоді пош ук буде
без обмежень в даті;
-  наступним кроком є введення л о кал ізац ії сторінки.
Це погрібно, лому щ о при введенні р ізної л окал ізац ії будуть різні і
результати;
-  після цього користувач має зм огу ввести к ількість стор ін ок  для
виведення, 1 стор ін ка  =  10 результатам ;
після чого користувач натискає кнопку «П ош ук» і в ідп равляє зап и т  на
отримання результатів з урахуванням  ф ільтрів;
~ після отримання результатів є м ож ливість, або перейти за п оси лан н ям
обраного результагу, або  заван таж ити  відразу;
далі користувач м ож е або заверш ити  роботу, або продовж ити робочу.
Діаграма діяльності -  щ е одна важ лива д іаграм а  U M L, щ о оп и сує
ІНам’Ч ні аспекти систем и.
Д'аграма дій -  це, власне, блок-схем а, щ о становить ночі к в ід  од н іє ї д ії в
45
ЧДТУ 232209.011 ИЗ
ІНІиий. Діяльність може бути описана як робота системи.
Потік керування передається від однієї операції до іншої. Цей потік може
бути послідовним, розгалуженим або паралельним. Діаграми дій стосуються всіх
типів управління потоком з допомогою різних елементів, як fork, join тощо.
Основні цілі діаграм діяльності аналогічні чотирьом іншим діаграмам. Він
фіксує динамічну поведінку системи. Інші чотири діаграми використовуються
• для відображення потоку повідомлень від одного об'єкта до іншого, але діаграма
дій використовується для відображення потоку повідомлень від однієї дії до
і іншого.
Діяльність -  це спеціальна операція системи. Діаграми дій
використовуються не тільки для візуалізації динамічної природи системи, але
вони також використовуються для побудови системи, що виконується з
використанням методів прямого і зворотного проектування. Єдина річ, що
бракує, на діаграмі активності -  це частина повідомлення.
Він не показує потік повідомлень від однієї дії до іншої. Діаграма
діяльності іноді сприймається як блок-схема. Хоча діаграми виглядають як блок-
схема, це негаразд. Він показує різні потоки, такі як паралельний, розгалужений,
паралельний та одиночний.
Ціль діаграми діяльності може бути описана як:
-  намалюйте потік активності системи;
-  опишіть послідовність від одного заняття до іншого;
-  опишіть паралельний, розгалужений та паралельний перебіг системи;
-  намалюйте потік активності системи;
-  опишіть послідовність від одного заняття до іншого;
-  опишіть паралельний, розгалужений та паралельний перебіг системи.
Діаграми дій переважно використовуються як блок-схеми, що складається
46
І ЧДТУ 232209.011 ПЗ
s дій. п іе  виконхюіься системою. Діаграми дій це не просто бпок-схеми,
■Оскільки бо ни  мають додаткові можливості. Ці додаткові повноваження
* ркік?чзюіь рол ал\ жсння, паралельний потік, доріжку тощо.
Перш ніж малювати діаграму активності, ми повинні маги чітке уявлення
Іроелементи, що використовуються у діаграмі активності. Основним елементом
д-..; рами діяльноси є діяльність. Діяльність — це функція, яку виконує система.
Після визначення видів діяльності нам потрібно зрозуміти, як вони пов'язані з
Обмеженнями та умовами [12].
Після побудови порядку виконання програмного забезпеченням будую
(діаграму діяльності (Рисунок 3.10).
Рисунок 3.10 Діаграма діяльності (Activity Diagram)
47
ЧДТУ 232209.011 113
?.2.?.2 Діаграма послідовності
Для визначення поведінки 113 інформаційної системи контекстного пошуку
будую діаграму послідовності. (Рисунок 3.11)
Прої рамне забезпечення має такий зв’язок : Користувач відкриває
програмне забезпечення, після чого повідомляє його, що програма запущена,
після чого користувач у даному ПЗ вводить пошуковий запит, потім вводить
фільтри пошук, а саму з якого року починати пошук, потім до якого, якщо це
потрібно, тому що ці поля можливо залишити пустими, тоді ці фільтри не будуть
враховуватись. Наступним кроком користувач має ввести локалізацію сторінки,
оскільки при різній локалізації буде різний і вихідний результат, за замовчування
локалізація буде UA, тобто українська, користувач має змогу вводити за 2 кодом
країни, якої він хочу бачити дану локалізацію, наприклад, якщо користувач хоче
бачити німецьку, то погрібно ввести DE, тому що це 2 код даної країни і т.д.
Наступним кроком є введення кількості сторінок для показу в результаті, за
замовчування 1 сторінка, це 10 результатів, якщо поставити 2, то буде 20 запитів
в результаті і т.д., після чого користувач може розпочати пошук і побачити
результати, які він може або зберегти, або перейти по їхній посиланням.
Діаграма послідовності підкреслює тимчасову послідовність повідомлень,
а діаграма співробітництва підкреслює структурну організацію об'єктів, які
надсилають та отримують повідомлення [ІЗ].
Метою діаграм взаємодії є візуалізація інтерактивної поведінки системи.
Візуалізація взаємодії — складне завдання. Отже, рішення полягає в тому, щоб
використовували різні типи моделей, щоб охопити різні аспекти взаємодії.
Діаграми послідовності та співпраці використовуються для відображення
динамічної природи, але під іншим кутом.
Метою діаграми взаємодії є:
-  щоб зафіксувати динамічну поведінку системи;
48
ЧДТУ 232209.011 ПЗ
-  для опису потоку повідомлень у системі ;
-  для опису структурної організації об'єктів;
-  для опису взаємодії між об'єктами;
-  щоо зафіксувати динамічну поведінку системи;
-  для опису потоку повідомлень у системі;
-  для опису структурної організації об'єктів;
-  для опису взаємодії між об'єктами.
f a t y . - c  глц йо го по Рогл ОС брання
Г»ГХ*М1іЛИГ.Ои.>Х f  і» - і  Г р т т
Заозп»
Виьоц.иь редпьі зі
ЗОсргзс результат
І’ЕООПЬ
Псказ*
Вво/уть
Показ*
по каз*
іо8ЄК**ла'
Пишим: як
Рисунок 3.11 -  Діаграма послідовності - Interaction Diagiam
3.2.5.3 Діаграма комунікації
Діаграма комунікації - не графічне візуальне представлення взаємодії між
об'єктами або класами в системі відносно їх взаємодії в часі. Ця діаграма
с„ прощує візуалізацп;.zо> оr,бfiмMіiнnуv  пп оо ввііддооммиллено нями та викликів методів між об'єктами
49
ЧДТУ 232209.011 П’З
,к3\  конкретної ф \нкціовальності чи сценарію. Основні елементи діаграми
н1Каиії включають об’єкти, лінії життя, повідомлення та часові події.
Об’єкти аоо класи, що беруть участь у взаємодії, представлені на діаграмі,
■аіені на відповідних лініях життя. Лінії житія вказують на життєвий цикл
-з від створення до знищення або завершення взаємодії. Повідомлення
вражаються горизонтальними стрілками, які вказують на взаємодію між
ч-амн. будь то передача повідомлень чи виклики методів. Часові події
<ться для вказівки конкретних моментів в часі, таких як виклик методу чи
стане об єкта.
діаграма комунікації використовується для візуалізації та аналізу взаємодії
об'єктами в системі, надаючи зрозуміле представлення їхніх взаємовідносин
нкретний момент часу. (Рисунок 3.12)
Кермету а
Рисунок 3.12 -  Діаграма комунікації (Collaboration Diagram)
3.2.5.4 Діаграма скінченного автомату (Діаграма станів)
Діаграма кінцевого автомата (ДКА) є графічним інструментом для
юделювання поведінки системи або об'єкта, який може перебувати у різних
ланах та змінювати свій стан відповідно до подій, що відбуваються. Ця модель
дозволяє візуалізуваги різні стани та переходи між ними, які відбуваються при
виникненні певних подій.
Діаграма станів являє собою графічне зображення моделі сі анів для оо єкта
50
ЧДТУ 232209.011 113
, .̂цчєтпсм мн.д  Взаозннаа чеілнюихс тпроудєі,й  ятка  уомбо’євк т1 1„п, ереходить між р в н и м и  счтааннаамии  вв
'пеходн та дії пік' ■ ‘ ' а , ’̂а м а  Д°зволяє візуалізувати різні
^ х  переходи та дп, повязан, з кожним станом
Об’єкт або сви стмт'ео м•а  розглядається як систеЄмМаа’ 1110 м о ж с  перебувати в
..-у-тних станах в різні моменти час\■ д "••• с п Ри ч инюють переходи між цими
1 кожен Сіан може бути пов'язями™ 3 в л а с ним набором дій або умов.
-аомя Сіанів може включати в себе тякЧ менти, як стани, події, переходи,
.. УМОВИ.
в . »  е » Р « = »  же w e n r o M  „ „ „ „ „  т а  і ш і і у  с и с „ „ в  ,  т а ,і к н
„  ,  р,! т „  С™ „  та переход» м і ж  „ „ „  Ц е  с п р и е
тБЄДІНКИ системи В різних сценарРі ях ТА млохжь-ае слугувати основою для реалізації
огіки системи в програмному коді [14]. (Рисунок 3.13)
Рисунок 3 .1 3 - Діаграма скінченного автомату (State Diagram)
і ЧДТУ 232209.011 ИЗ
Висновок до третього розділу
I
Впровадження результатів досліджень у практику проектування
програмною -«аос-течения та інформаційних систем є ключовим кроком для
досягнення успішних та ефективних рішень. Цей процес вимагає виваженої
страгегіі і а використання передових технологій з метою оптимізаціі
Функціональності та відповідності вимогам користувачів. Використання
високоякісних результатів досліджень дозволяє створити надійне програмне
забезпечення, що відповідає потребам сучасного інформаційного середовища та
сприяє успіху проектів у сфері розробки програмних продуктів.
52
ЧД1У 232200 011 и з
rO H l.l 4. РО»РОБКА ТА ТЕСТУВАННЯ 111’01 РАМНОГО
за бе зп е ч е н н я
4.1 Розробка програмного комплексу
4 1.1 Обгрунтування вибору засобів реалізації
.кальаціі даною програмного забезпечення я обрав мову
гамування Python. Гому що у даній мові існує бібліотека Beautiful Soup, яка
;;.-з простий спосіб витягувати інформацію з веб сторінок та інших джерел, що
. стр\ ктурований код HTML або XML. Beautiful Soup дозволяє зручно
;р ту вати та взасмодіяти з елементами HTML-дерева, шукати певні теги,
римувати дані та виконували інші операції парсингу [16].
Ця бібліотека робить процес парсингу HTML-коду більш легким та
-.-ним для розрооників, дозволяючи їм швидко здійснювати витягування
'\:дних даних зі сторінок в Інтернеті або з інших джерел, які використовують
HTML або XML формат.
Python — це високорівнева мова програмування загального призначення,
яка використовується навіть для розробки веб-додатків. Мова орієнтована
.завищення продукти в н ості розробника і читаності коду.
Python підтримує кілька парадигм програмування: структурне, об'єктно-
ори.нтоване, функціональне, імперативне та аспекгно-орієнтоване. У мові
присутня динамічна типізація, автоматичне керування пам'ятно, повна
інтроспекція, механізм обробки винятків, підтримка баїатопоточних обчислень
та зручні високорівневі структури даних. Програмний код на Python
організовується у функції та класи, які можуть об'єднуватись у модулі, а вони у
свою чергу можуть бути об'єднані у пакети. Python зазвичай використовується як
інтерпретований, але може бути скомпільований в байт-код Java та в MSIL (в
рамках платфори .NET).
Розробники мови Python дотримуються певної філософії програмування,
званої The Zen of Python (Дзен Пітона або Дзен Пайт она):
~ гарне краще, ніж потворне;
S3
Ч д т у  2S2209.0H ПЗ
,  -тБне краше, ніж неявне;
-  просте краще, ніж складне;
- складне краще, ніж заплутане;
_ плоске краще, ніж вкладене;
-  розріджене краше ніж щільне;
- читання має значення;
_ ...LB. ВкПаДКЬ Не 4<1К1 особливі, шоб порушувати пряшпя~
ііри цьомх практичність важливіша за бездоганність;
-  помилки школи не повинні замовчуватись;
-  якшо не замовчуються явно;
-  3} сі рівши двозначність, відкинь с п о ку с у  вгадати;
-  маг бути один — і. бажано, лише один — очевидний спосіб зробити це.
-  хоча він спочатку може бути не очевидний, якщо ви не голландець.
-  зараз краше ніж ніколи;
-  хоча ніколи часто краше, ніж зараз;
-  якшо реалізацію складно пояснити, ідея погана;
-  якшо реалізацію легко пояснити, то ідея, можливо, хороша;
-  простір імен - відмінна штука’. Робитимемо їх більше;
-  по продуктивності інтерпретований Python схожий на всі інші подібні
мови, але можливість компіляції в байт-код дозволяє досягти більшої
продуктивності.
У порівнянні з Ruby та деякими іншими мовами, у Python відсутня
можливість модифікувати вбудовані класи, такі як int, str, float, list та інші.
У Python є глобальне блокування інтерпретатора (G1L) - при своїй роботі
основний інтерпретатор. постійно використовує велику кількість потоково-
небезпечних даних. В основному це словники, в яких зберігаю і ься атрибути
об’їктів, 1 звернення до зовнішнього коду, тому, щоб уникнути руйнування цих
даних при спільній модифікації з різних потоків, перед початком виконання
кількох інструкцій (зазвичай сто) потік інтерпретатора захоплює G1L, а після
54
L K,вч ен н я  ЗВІЛЬНЯЄ.
jCHyc кілька реалізацій мови - CPython (основна), .lython, PyS60, Iron Python,
Sinless- Python for .NET. PyPy, python-safethiead. Unladen Swallow, tinypy 115|.
4 ] 2 Опис структурної (функціональної) схеми
Структурна схема, яка також відома як функціональна схема, є графічним
^с.тстав.тенням СТР̂  Рп  а ^° Функцій системи, процесу або програми. Ця схема
^помагає відобразити в^асмозвязки та взаємодію між різними елементами
системи чи процесу. Основні елементи структурної схеми включають блоки,
стрілки та анотації.
Структурна схема використовується для візуального представлення
архітектури та організації системи, а також для виявлення важливих
функціональних взаємозв'язків. Це може бути корисним при проектуванні
програмного забезпечення, інженерії систем, аналізі бізнес-процесів тощо,
функціональна схема допомагає команді або розробникам краще зрозуміти
структуру системи та взаємодію між її компонентами [17]. (Рисунок 4.1)
БД Виведення
резульгцпи
Рисунок 4.1 -  Структурна (функціональна) схема
55
ЧД1 У 232209.011 113
■ 4.1-’’ Опис ЛОІІЧНОІ схеми системи
схем. о ,,™ ™  „ о б р , „  c i p y n j B  т а  т л т  и .ж  п
Ц , „ м а  д р і в р і | т с  H 1 W T O  [ і р г а и т [ і  ІО 1. 1 В
! ,..«мвацію системи без деталей і п л п л
' < нкретних елементів чи їхньої фізичної
ї д а н і ї .  Вона часто використовується на ранніх етапах проектування для
І аЧення загальної концепції системи та взаємодій між її складовими
Истинами [18]. (Рисунок 4.2)
Рисунок 4.2 Логіуна схема інформаційної системи контексіного пошуку
56
232209 011 п з
Користувач спочатку потрапляє на
і'оловне вікно програми, де йому
потрібно ввести п о ш у к о в и й  ЗЗПт п, _
' після чопі обрати рік з якого і по який
проводити пошук, але можливо і залишити поле пустим. в такому випадку пошук
W  проводити по всьому періоді по поточний рік. Далі користувач повинен
. Ц 3 3  З а м о в ч '  нанням йде UA, тобто українська, це потрібно
Ш 1  окалкаїп залежить поточний результат, який Г13 покаже
шоріктува Наступним кроком буде введення кількості сторінок для
виведення. >а замовчуванням цс 1, тобто 10 результатів буде показано. Також є
Ьоаклиькть у пошуковому ^апиті ввести, які формати можливо вивести на екран
д о п о м о їою індексів Google, також які домени чи сайти виводити на екран.
■Останнім еіапом буде проведення пошуку, для цього потрібно натиснути кнопку
«Пошук», після чоіо користу вач отримає результат в залежності від фільтрів, які
він оправ На екрані з результатами є можливість завантажити вибраний
результат, або перейти за посиланням.
4.1.4 Розробка бази даних
Для забезпечення ефективного збору та організації наукової інформації в
рамках даного дослідження була використана база даних Google Scholar. Google
Scholar с широко визнаним інструментом для пошуку наукових публікацій,
статей та книг. Завдяки своїй обширній базі даних, вона надає можливість
доступу до актуальних даних у різних галузях знань.
Google Scholar була обрана через своє широке географічне покриття,
високу актуальність і надійність інформації. Ця база даних дозволяє отримувати
доступ до робіт від провідних науковців та визначених джерел, т о  роби і ь п
ідеальним інструментом для забезпечення обгрунтованості та авторитетності
дослідження.
Для здійснення пошуку і отримання даних з Scholar
використовувалися ключові слова та фрази, иовязані з обраною іемаїикою.
Отримані результати були оброблені та сисіемаїизоваш з меюю відбору
найбільш актуальної та значущої інформації для включення у дослідження.
Ч.11У 232209 011 113
4 15 Розробка інтерфейсу користувача
для реалізації в.конного інтерфейсу було прийнято рішення використати
^ м у  Het. яка дозволяє створювати інтерактивні багагокористувацьк. веб-
■tU“ пре ,. д- я настільних комп ютерів і мобільних пристроїв на вашій
^бленіи мові оез попереднього досвіду розробки інтерфейсу.
v-Вчрк інтерфейс користувача для своєї програми за допомогою
керування Fiet , які базуються на Flutter від Google. Fiet не просто
sa^Piac>s
h  віджети Flutter, але додає власну «думку», поєднуючи менші віджети,
приховуючи складності, реалізуючи найкращі методи інтерфейсу користувача,
засосовуючи розумні параметри за замовчуванням — усе для того, щоб ваші
програми виглядали класно та професійно без додаткових зусиль.
Flet вимагає Python 3.8 або вище. Щоб почати роботу з Fiet, вам спочатку
потрібно встановити flet модуль за допомогою команди: pip install flet.
Типова програма Flet завершується викликом програми, АеТаррОде
програма починає очікувати нових сеансів користувача. Функція шаіп() — це
точка входу в програму Flet. Його викликають у новому потоці для кожного
сеанс} користувача, Page до якого передано екземпляр. Під час запуску програми
Неї у браузері новий сеанс користувача запускається для кожної відкритої
вкладки чи сторінки. Під час роботи як настільної програми створюється лише
один сеанс.
Page це як "полотно", специфічне для користувача, візуальний стан сеансу
користувача. 111 об побудуваги інтерфейс програми, ви додаєте та видаляєте
елементи керування на сторінці, оновлюєте їхні властивості. Зразок коду,
наведений вище, відображатиме лише порожню сторінку для кожного
користувача.
Інтерфейс користувача складається з елеменіів керування ( іакож віджсіів).
Щоб зробити елементи керування видимими для корисіувача, їх ноіріоно додаїи
До Page або всередині інших елементів керування. С іорінка ( верхнім елемснюм
керування. Вкладені елем*енти керування один в одною можна иредсіавиїи у
Ви,-іяді дерева зі сторінкою як коренем 11(>]
58
ЧДТУ 232209 О] 1 и з
д ; о Опис розробки програмних компонентів
Основні компоненти та їхнє призначення:
Компонент «Комунікація користувача із системою»:
: на тення. Забезпечення зручного та ефективного інтерфейсу
ж ке ристу вачем та системою контекстного пошуку'. Цей
компонент відповідає за збір та обробку введеної користувачем
інформації, взаємодію з іншими компонентами системи та
представлення результатів пошуку у зрозумілій та зручній формі.
Зін включає в себе функції введення запитів, фільтрації
результатів. Компонент «Взаємодія з користувачем» спрямований
на покращення користувацького досвіду та забезпечення
ефективного використання функціональності системи
контекстного пошуку.
Зв язки: Взаємодіє з іншими компонентами для забезпечення
повного та ефективного циклу пошуку.
2 Компонент «Взаємодія із системою управління даними»:
Призначення: Забезпечення ефективної і надійної взаємодії між
інформаційною системою контекстного пошуку' та базою даних.
-  Зв’язки: Взаємодіє з іншими компонентами для отримання та
передачі даних, використовуючи ефективні запити та
забезпечуючи високу швидкодіючість доступу до інформації.
3 Компонен т «Обробка запитів»:
Призначення: Забезпечення ефективного, швидкою та точного
аналізу та виконання запитів, що надходять від користувачів.
-  Зв язки: Взаємодіє із іншими частинами системи для визначення
оптимального способу обробки запитів та подальшої о виконання
необхідних дій.
4 Компонент «J рафічне представлення інформації»:
54
ЧДТУ 232209.011 ПЗ
-  призначення; Створення зручного та інформативного візуального
інтерфейсу, для користувачів ‘ «формаційної системи контекстного
пошуку.
— Зв язки. Взаємодіє з іншими со.кладовими системи для отримання
га відображення актуал7ь них илха ндмауних, а також може підтримувати
функції взаємодії кори стувача  Оз  впі’зуальнимп редставленням
інформації, такими як Ф(Ьііллььттрпаяцпііяя  ттоа деталізація.
4.2 Тестування системи
4.2.1 Модульне тестування
Для тестування -функції «get_proxy», я використовую фреймворк
«unittest»[20]
Код тестування:
from app import gel j> roxy
import umttcst
from unittcsi mock import m ockopcn, patch
class TcstGctProxy(uniuesi.TesiCase):
“  paich( bmltins open*. ncw_callablc=mock_opcn, rcad_data='proxy 123\nproxy456\nproxy789’)
r/paich('random.clK)icc'. mUini_valuc= ,proxy456')
del test get j)ro.xy_valid_fjlc(sclf. mock choice, mock opcn):
proxies = get д л oxy ()
mock open assert callcd once with('proxy.t.xt‘. Y )
sclf.asscrtEquaKpro.xics, { ’http1: ■http://pro.xy456‘, ■https1: ,htlp://proxy456'})
<'/p.itcii( builtins.open'. ncw callablc-niock open. read da ta -')
( l  paichfrandom.choice'. return_value=None)
d il test get_pro.xy_cmpiy_file(sclf. mock choice, mock opcn):
proxies = g c tjjro xyO
mock .opcn.asscrt_callcd_oncc_vvithCproxy.txt', T )
self assert IsNonc(pnoxws)
name_ == •__ main •-
l l l 'ittest niain()
60
ЧДТУ 232209.011 и з
В5»' ' "‘
* » ^.» \П тлО М л\0 о ^ '-« ’  cHrASchotm 4 n M \v r< » v .. . , ,
Г м л */гч см л е  Csv * l t /  fd fttd H  20?1.? V il
. . . .  ereveeM-M rvthon » . r l t t , o  . . . .  " . . .
*Ф -ч « * \гг6 б ,П  С’ И 'Д о о Н *  Й М І
аУЖ-Е
Рисунок. 4.3 «-Виконання тесcт-n»,  д„ ля фі ункції «get proxy»
'Ц.1Я тестування функції «Obuct _sSceaaircclhi data on page», я використовую
реіімворк «unittest».
Код тестування:
unport unittcsl
from app import gct_scarch_data_on_pagC
class TcstGctScarchDataOnPagc(unittcst.TcstCasc)-
def tcst_gct_scarch_data on_pagc(scif):
pagc_url = "https.//scholar google com/scholaHas_vis=l"
search data = gct_scarch_data_on_pagc(pagc_uri)
sclf.asscrtlsNoiNonc(scarchdata)
self.asscrtlslnstancc(scarch_data. diet)
sclfasscrtlnCresulls'. scarch data)
scIf.assertlnCinctadata’. search data)
def test_gct_scarch_da(a_crror Jtandling(sclf):
pagc url = " htips://schoiar.google.cotn/sclK)lar?as_vis=r
search data = gct_search_data_on_pagc(pagc_uri)
sclf.assertlsNonctscarch data)
if  —jiam c_ = - '__ main__
uiuitcst iiiaint)
Zy . і. . -.
s t r u t  a t 11;S1 . .
e ltn  or 9ur»ntc pvtnor C . n lttco t fiOctaOrtPijc 1 А-\йі«0гхч'?\Ро.-очгй стіл\$сЬ-зІзе Final
f t /
ж ил . r i i  о ш й  «
__________________________________________________________________I
Рисунок 4.4 - Виконання тесту для функції «get search data on page»
61
Ч Д ІУ  232209.011 ПЗ
Д л я тестування функції «switchjfeabledjdements», я використовую
рорк «unittest».
Код тестування:
inport unittest
ІОІ11 unittcst mock import patch
iroinapp import sw itchd isab lcdclcm cnts
l;!Ss TcslSwitchDisabicdElemcnts(unittcst. TcstCasc):
a patch(app.gcl_clcmcnt_status'. rctum_value=False)
a patchtapp. switch_clcincnt_status'. return value-True)
def tcst_switch_cnablcd(sclf. mock switch, m ockgct):
result = switch disabledjdcmcnls("clcmcnt id")
mock_get.asscrt_callcd^oncc_with("clcmcnt id")
mock_switch.asscrt_callcd_oncc_with("clcmcnt id". True)
self assertTmct result)
a patch(app.gct_clcmcnt_status', rctum_value=Truc)
a patch(app.sv itchc lcm cn ts ta tus ’. rctum_value=Tnic)
def test_alrcady_enablcd(sclf. mock sw itck mock get):
result = switch disabled_clcmcnts("clcmcnt_id")
mock get.assert callcd_oncc_with("elcmcnt_id")
mock s\\ itch asscrt_not_called()
sell assertTruc( result)
name ' main unittest.main()
Рисунок 4.5 - Виконання тесту для функції «switch_disabled_eleinents»
Для тестування функції «save_file_result», я використовую фреймворк
"Sliest».
1 програми:
" ’Фол imittest
1 1111 muttcsl mock import patch
10111 app import save filc_result
62
ЧДТУ 232209 011 и з
class 1cstSavcl'ilcRcsuh(unitlesi TcstCasc):
a patcht'bmltms open'. create True)
deftest savefile  result(sclf. mock open):
m ockfile  = m ockopen, return value
result data = fkey': 'value'}
file path = 'output txt' .
savc_filc_rcsult(filc_path. result data)
mock_opcn.asscrt_callcd_oncc_with(filc_path. W )
niock_filc write.asscrt_callcd_oncc_with('{"kcy": "value"}')
i f _ name__== '__ m ain_ ':
unittest. main()
Рисунок 4.6 - Виконання тесту для функції «save file result»
Для тестування функції «button download click», я використовую
фреймворк «unittest».
Код тестування:
import unittest
from unittest.mock import patch
from app import buttondow nloadclick
class TcsiButtonDow nloadClick(unittest.TeslCasc):
(a pateh('app.save file_result')
def lest button download_click(sclf, mock_save_filc_rcsuli).
result data = {'key': 'value'}
button download_click(result data)
mock save file result.assert called once wiihfdownloaded dala.txt', result data)
63
ЧДТУ 232209.011 ПЗ
if natnc_ == ’ main
unittest mamO
Рис. 4. - Виконання тесту для функції «button download click»
Для іестування функції «button search click», я використовую фреймворк
«unittest».
import unitlesi
from umttest.mock import patch
from app import buttonscarchclick
class TestButtonSearchClick(unittest.TcstCasc):
a  pateh('app get_search_data_on_page'. retum_valuc={'results': I'itcml'. 'item2']. 'metadata': {}})
def test button scarch_chck(self. mock_get_search_data_on_page):
search results = button_search_click(https://scholar.google.com/scholar?as_vis=l)
mock_gel_search_data_on_page.assert called oncc_with(https://scholar.google.com/scholar?as_vis=l)
sclf.assertEqual(search_rcsulls. I'iteml'. 'item2'])
i f __name__== ‘__main__
unittest. main()
Рисунок 4.8 - Виконання тесту для функції «button search click»
64
ЧДТУ 232209.011 ИЗ
Таблиця 4.1
Результати модульного гсс гування
Назва функції тестування Очікуваний результат Рсзулы аі
Успішне читання
get ргох\ 1 Іройдспо усні ПІНО
проксі із txt файл
Отримання даних із
get search data on page Пройдено успішно
Google Scholar
Перевірка роботи
switch disabled elements Пройдено успішно
фільтрів
Зберігання файлу із
savefileresult Успішно пройдено
результатів
Перевірка кнопки для
button download click Успішно пройдено
завантаження
Перевірка кнопки для
butt on search click Успішно пройдено
виконання пошуку
4.2.2 Інтеграційне тестування
Інтеграційне тестування програмного додатку проводив незалежний
тестувальник. У ході інтеграційного тестування було перевірено зв'язки між
модулями, їх сумісність і функціональність.
Таблиця 4.2
Результати інтеграційного тестування
Модуль Результати тестування Виявлені проблеми
Пошуковий модуль Працює коректно ВідсуІПІ
Модуль індексації Взаємодіє з пошуком Відсутні
Модуль інтерфейсу Інтуїтивний та зручний Відсу1 ні
1 - ■- -------- -----------------------
(>5
ЧДТУ 232209.011 ПЗ
Продовження таблиці 4.2
Модуль виведення Виводить результати
Відсутні
результатів коректно
Модуль фільтрації Ефективно фільтрує Відсутні
Працює коректно,
Модуль завантаження та
завантаження та перехід
переходу за Відсутні
за посиланнями
посиланнями
виконується
Модуль фільтрації Ефективно фільтрує Відсутні
4.2.3 Системне тестування
Системне тестування програмного додатку в цілому було проведено
незалежним тесту вальни ком. Це тестування потрібне для перевірки програмної
системи в цілому.
1 етап тестуванням «було тестування на різні запити. (Рисунок 4.11, Рисунок
4.12)
г Н с м ----------
Пошук 
Угр і.мГі.сг. и . с.\ f'»K. 3 Ріп, по иа
і гп ----------------------------- -
Українська миеа Link Й
Української UQC4
b in  pdf
‘ ГАГЭ. - ИХ J  п р?4І|Н- Ки г .. 2 W I ГГсї/Л 70.* -Нй
Флковв умрвінськл мовл
In u  V i
|< .,'іу і , . . і ,  П М Км ое іі- Hoik.wu.:
Укрмнсыи к о с а ,-ь
І ни и  pdf
М и д  'А  і .л у л с -. >: ■ 1;г>‘. і с . г с . nuj
ктлричиг. фонологія української мови 9
. I.u ,.- y - jy'. ■
УгрыИСЬКа UOOiS ы  професійним спрямуевнпям «
Unk V i ppi
. , Л Л ‘ co, op. сз.і.’.г
УкрАНСЬКА МОВА Г \
link v i  pdf
. И,- і , і. . • І ..:>у.іо- і' • У 'Л  j L / i -o m ’у >■:
Граматика української мови. Морфологія
link
/ І  . , z „  „  І MU д.. ■ w e ll г и / . . їм
Рисунок 4 .1 1 -  Тестування за пошуковим запитом «Українська мова»
бб
ЧДТУ 232209.011 ПЗ
й  p -f
К а - о и - и р с . ^ ы п  Падтад к  П редсш лгхи^С одерж .ння и Т .« іо .о 1 о  О п и «и ... Мулмикмдиа
Р1ЧОІЮ1К.- .M .p y v tM ia  дня энапим wnpoeo» пол.м>0 л ,о«Д  О п р х ,„ з д и ь . „  <И С П М 4 ,  („., ,,p«u ,p f  Rrdminr)
Колбин м реал имь:й метод индексации и классификации мультимедиа
Дискриминация. нетерпимость и противоправное насилие по отношению к противникам клерикальной идеологизации гос
МИГРАЦИЯ О'ЩЕСГОУЮЩЕЙ ВАЗЫ ДАННЫХ RtOMlNC С MYSQL НА POSTCRCSQL
Рисунок 4.12 - Тестування за пошуковим запитом «Ночевнов Дмитро»
2 етапом перевірки було перевірка на виведення лише результатів з
форматом pdf через індекс Google filetype. (Рисунок 4.13)
С t  x .-p -'.- 'f  . л '» о v
г  ......... Пошук
• н. 6» .• • • .  с<‘- ’ і *-і у і ' -  ; 4 Ріг.. 5 Рік. по Т ~  . п
Уг.рЛіМСЬКЛ МОВА Lmk Й  P<ll
X  w U T , ?  :от-
Украінськг мова Link Й  p<Jt
.■ < 1 .1 . -г». • ч Я  Г  '  . пГКН М  М/Х Ки<» ?С01 гІЧГ/Л Z i iy m ik l
УкрЫМСЬКА K’.Vtlcl bnk Й  pdt
.•1 . \ >; • •• к і ■ л *''>•./ ■ іп і ін  *' л іл ій
Українська м о в а bnk й  ixil
і • з. « и  . к , z>- . :.Qi / -  м г  длг / Л  • /  г а ч  ctQ t  J
Ук р а їн с ь к а  глоса о перш ій полонин і двадцятого с го л іп я
Link t i  ixif
г. о ' . ’ о і > • h u e  Й’ .; г б v ic u io  'a c rq  j c .
Українська глеев проф есійного спілкування
Link k i  їх»
.< Г 1. і ім ґ — .•». Г > Д  /> qKb.vd.MlG
Сливник СИНОНІМіи ynpUilKUKOI мови Link Й  pdl
; fzip К ;.ПІ Ср И |.л У<< ( >\.с .1 ' іГ'лГи... 1 ІНОІИЛ і|
Украінс.!»/^ мови фидовоги спрямування link Й  Pdt
■ и г , . '  І. Г г и . П ґ  П '.іиЛ.! Тґ- >1111 1.ГПІІІИ1ІІ ІЛ
. . .— . . . . .  ..... ...................— . ............... .
Рисунок 4 .1 3 -  Тестування через індекс Google filetype
З станом було перевірки було перевірка на виведення лише результатів
доменом на через індекс Google site. (Рисунок 4.13)
67
ЧДТУ 232209.011 ПЗ
Пашу*
УжрЗ'яСЬ**' МОВА
’ ' —  І.  І - \ ’ ч -p vb ttt. к»»*(. ... ZOCl П i-2/Л  ?<У#Иі «М Imk В pdf
У»фВЛ«Л» МОВ*
- в.» -жл 0 7  Сг*-.^*мк ; к  Гл.'П-»-.ч\’ 1>‘Л  f t lr . rk a 'iM link В pdf
Q.4OW українська мова
%.—••- f-f . .• -WHM.M »Л* К; A * r t^  ; y c  t i.po tte ry»p l> K j’ I ink В pdf
r C V u 4
У кр і.н ^кг м о в і sa професійним спрямуванням
І І . -уі. І » '. ’ми п- .-<-• ’. • г і ; при . ;  , link  В pdf
Ч Е м
Упроїікькл МОВІ
. . v : : y  Ь4 г .7нсцсс-Г доуч..,х^4 2іл'У - аігго.зог$дп link  В pdf
Українська мова в першій ПОЛОВИНІ двадцятого століття
link 0  pdf
Граматика українсько', мови. Морфологія
link
; ч І -  w.-tKU М ЬМ Г/ j  - І Ьп.;сК іг»w iu iia
Українська мова професійного спілкування
link В pdf
Рисунок 4.14 -  Тестування через індекс Google site
4 етапом було перевірки було перевірка на коректність роботи фільтру з
датою. Тобто з якого по який рік починати пошук (Рисунок 4.15). Тут
результати
будуть з 2020 по 2023 рік.
X
Пошук
Україні ыи мов* г -
link И  pdf
n- c l H. . У hr * •.» ? . /.fu-.-л» f:*- zT : • ,f (■ p еле Ui
Іньовгціякі мсіоди та сучасні інформаційні технології у кавчанні української мови іноземних студентів
2 link В  Pdl
L-Є І '■ Ч CU '. t  tdv.Cc
Українська мова ,-
u n i а v  ї ж
■ S , * ; . c  I I л Г ’ 2)23 с и А -д е с с и з
Медіа ге кет як ресурс осучаснення й абагачения змісту підручника української мови
f . link  В  Pdl
I ' <kz) ' 1 : . •/«♦.Vi -)' г гу.уночл / "P l ■ p v . iv ?9 и
Меіодочні рекомендації іц о до  вивчення української мови у закладах загальної середньої осени у 2022/2023 навчал
link
»<• іл,г *7 при . пн ї'<рл . г^ и с г . '.  t нс^рл’ .рл я і:.гся /<М2 lh  itta<;ov^a
Словник української мови VI с т о літ ія
ІІПІ
- .u / r  Д ї і  l / j h y . K -  осі
Українська мова підручник для 7 класу закладів загальної середньої освіти
t л. • и г  з і/ " v lc '- y ;  .з
< Українська мова link гВь  pdf
ч. І . / /  7 ! . . .  O..ZZ .’ І . к / .  <М . . « V ’ l lU lO -^ .k ilb v iM
Рисунок 4.15 — Тестування на коректність роботи фільтру з датою
68
ЧДТУ 232209.011 113
? станом тх?ст\ванни була перевірка на коректність роботи фільтру з
віівотом кількості сторінок (Рисунок 4.16). Тут ми бачимо 2 сторінки, отже
результат буде 20 пошукових результат ів.
in k  8
link В  pd<
ж о м м ча  проблеми
link 8  Р>-''
> *₽ *» < ***  мова фахового e n p a w rанмв
link В  pd<
link 8  ₽<Н
link 8
По? «Ьезпемехмм функціонування української мови ак державної
i  nk 8  p*Jf
Грамгтика українське «сен Морфеміка Словотвір. Морфологія
link 8
Рисунок 4.16 -  Тестування фільтру з виведення кількості сторінок
6 етапом була перевірка фільтра з локалізацією мови (Рисунок 4.17). Я
обрав англійську локалізацію, тобто ми вводимо UK.
Ілль". I'tfiurrtcintj rn.dOir к ію с  fnethcfp.abo teachers beliefs «bout t i n  in (п л п я н и п  <1 дія oom
Lux r l  Pdf
• . • ’ -,i '/.•
briery ated Syaten.» w.th A p p U abur» to tlw M u lt И і л х і  of the Cpiwmendaa Н.умі» and М е ІІм т а їю  of the Up l n« H  pJI
• »»• ,  .'. ' /  >t- I G /lu p r  I >11/ «
І.лі-еоил of H.t dukhan » m cthcmaliu abiliUo horn <m*l elementary c>de» uf риЫк and private achoob
link ici pdt
.. '4j «>. ; г ни« • 1- . - m  > .ir l'. t iu
Vi VU hADiK^ METHtMAHCS IN THE DOMAIN#OF SCIENCE (VI Vcrnaddiy Matcmatika v р»ой»анМ*« nauki) b.A
'  і - .  . Я. n il. ..................     , - . r  . . - k . O .  .-0W
b vn .tiiu iy  «.<4x.ni.uci Gum .1. .Igm illun.c cUndpuinl. by Л l« e « l.< Ir.,.iU u il U/ Ш  W .u c '.l Pf ІЬ« I  4- І П»
■ ‘ . l / . r l  r  '(I
Icmalc kiUic^t in idcr.cc and Malhamalice !>.>«
< '■ . ■ <t  і • • -.j- t . ; ..к. і.» , і » і .ui-tb .ai.-.iid ■ 1
A fklXAbUlt zniyUc. U > U . ItK . ly n 'y n  ( «  • p<>(/ <!•> • «I d x  “ ₽ ■ -  11 A»» 0  • -  0
u.. r i pdl
. t* 1 •••- M'/? О.'Ллі : V  ■ «■ (-•’
|.»п>1 o.ccfy t v  пй/ttr.tj dependent /andwn variable} L h X
Рисунок 4 .17 - Тестування фільтру локалізації мови
69
ЧДТУ 232209.011 ПЗ
Передостаннім кроком було тестування переходу вибраного результату за
посиланням і перегляд його. (Рисунок 4.18)
pYfwU-» ( . /  ігжЛе, U vum  v-iVs3 ртйп 1 c»rf»Jres* в  Л'< >Ks
f a w r t e j  м £ С к . с П і  Аъсеом«4Ij | u j d JOu U «
і ЗДЗД tV. i . k  « •  *л! V  И w & f  '(« r -J  . t s  Рї  ■<&*• ч и  <S» « *-J
frX k o v s  n  Ca U v«A /s'rvr^ r» Л м  ї»д»сх- «Ш.и>*
Рисунок 4.18 -  Тестування переходу за посиланням
Останнім етапом є тестування на збереження вибраного результату
(Рисунок 4.19).
l?nk Й Г ‘̂
Link Й pdt
Ііг.1 Й pdl
UrJ
UfA
1,4 Л
Urk Й
bnk
Рисунок 4.19 -  Тестування на завантаження вибраного результату
70
ЧДТУ 232209.011 ИЗ
Оі же всі етапи тестування були успішно пройдено. 1 додаток готовий до
повсякденного використання.
Таблиця 4.3
Результати системного тестування
Етапи
Назва етапу тестування Результат
тестування
1 Іесгування на виконання різних пошукових запитів Успішно
1 Тестува•ння використання індексів Google для
2 Успішно
пошукового запиту на виведення лише pdf форматів
Тестування використання індексів Google для
3 Успішно
пошукового запиту на виведення заданого домену
4 Тестування коректності фільтру по даті Успішно
5 Тестування на перевірку фільтру кількості сторінок Успішно
і 6 Тестування на перевірку фільтру локалізації мови
Тестування переходу за посиланням вибраного
1 7 Успішно
результату
•
Тестування завантаження результатів пошукового
і 8 Успішно
запигу
4.2.4 Приймальне тестування
Приймальне тестування проводиться з метою: визначення чи задовольняє
система приймальні критерії там винесення рішення замовником або іншою
уповноваженою особою приймається програма чи ні.
Приймальне тестування виконується відповідно до Плану приймальних
Робіт.
Рішення про проведення приймального тестування приймається, коли.
71
ЧДТУ 232209.011 Ц'З
проі)к'1 ДОСЯ1 н с °^ х ілноіт> рівня якості та замовник ознайомлений з Планом
приймальних Роби (Product Acceptance Plan) або іншим документом, де
описаний набір лій, пов.язаних з проведенням приймального тестування, дата
проведення, відповідальні і т.д.
Оскільки програма розроблювалась в рамках магістерської роботи,
виконання приймального тестування проводилось мною. В результаті тестування
бело виконано кроки зазначені в попередньому розділі. Результати приймального
■тестування співпадають із результатами, отриманими в попередньому етапі та
задовольняють встановлені до системи вимоги.
4.3 Приклади впровадженого програмного комплексу
Програмне забезпечення буде слугувати для пошуку наукових публікацій,
рефератів і т.п. Програма буде виконувати пошук у Google Scholar.
Для початку користувач має ввести пошуковий запит, якщо він має бажання
виводити результат лише у конкретному форматі, то він може у пошуковому
залиті за допомогою індексу Google filetype вказати це. Також є можливість
виводити конкретні сайти чи домени сайтів, за допомогою індексу Google site.
Після чого користувач може вводити дату пошуку, тобто з якого по який рік
проводили пошук, але є можливість залишити ці поля пустими, тоді фільтр не
буде враховуватись і в результаті будуть усі наукові публікації.
Наступним кроком є введення локалізації сторінки, яка за замовчування є
UA, тобто українська, це погрібно для того щоб побачити результати в
залежності від локалізації.
Далі користувач має можливість ввести кількість сторінок для виведення,
за замовчуванням це 1, тобто 10 результатів, якщо наприклад поставити 2, то буде
20 і і.д.
Після цих кроків, користувач може почати пошук з врахуванням всих
фільтрів, які він вказав, для цього погрібно натиснути кнопку «Пошук» і
користувачеві покажуться всі результати за йото запитом.
72
ЧДТУ 232209.011 ИЗ
В результаті користувач може або завантажити файл, якщо є гака
можливість. При зберіганні відкриється провідник, де користувач може вибрати
довільний шлях збереження і надати назву файлу, яку захоче, за замовчуванням
назва файл) буде під назвою результату. Також с змога переходити за
посиланнями даних результатів.
Нижче ми можемо спостерігати інтерфейс головного вікна. (Рисунок 4.20)
Рисунок 4.20 -  Головне вікно програми
Нижче ми можемо спостерігати, як виглядає вікно із введеним пошуковим
запитом. (Рисунок 4.21)
Рисунок 4.21 Вікно із введеним пошуковим запитом та фільтрами
7 і
ЧДТУ 232209.011 ИЗ
Ннж іс ми можемо бачній результат виконання запиту. (Рисунок 4.22)
< Х О 5 " .(Х П  А нап і. руху ,  Ж и г л і й < м 6 й  М О і і
, . і * чаї м л і  , л link й
(•*” (>••<>*• > а м ц и п о ін н -  А ж л і і . » . . UOIU ( „ р „ , „ м к „ д  М ( К ) .  Г р 1 и 4 1 м к , -
О П І»’ УГ“ в  “ “ Ь ® ™ ”  п и р . . . . . .  ПОА.КИ .  <ум «и іа  „ о ,;
. .  . / М  •>! Itak Й
; г к ^ о . о п  -о ... .............  ,  . к . л і ; ( м < > , < П | М ^ . . И Н ,  д ,
ІігЛ Н  »ь<
Чч' . jzw •’ Є-Г,<. ZVc? C-d.xpCJ
4tC 'C '«V H  •<  ,.д о ь р *ж еян , р о іви їку  суспільства
j . .>• •* ,\V 5  . а їр » .,, Іілі Й
So o miu m ю С*АЛД> вніліміьмим ідіом. переклдддцью еквіадАеиен
link й  d o f
X «’ •, V.I
. г .сах* виписка про Ужгород- Алена Пайова слонука< до піжамна історії рідного міста
link H I
Рисунок 4.22 -  Виконання пошукового запиіу
Висновок до четвертою розділу
В розділі «Розробка та тестування програмного забезпечення» проведено
комплексний аналіз інженерних процесів, пов'язаних з створенням та перевіркою
програмного забезпечення. Процес розробки включає етапи від моделювання
предметної області до впровадження результатів досліджень у практику
проектування інформаційних систем.
Загалом, розділ вказує на важливість систематичного та завданого підходу
до розробки програмного забезпечення, висвітлює ключові етапи цього процесу
та підкреслює значення тестування для забезпечення якості та стабільності
розробленою продукту.
74
ЧД І У ?.V20<) 011 IB
BIU НОНКИ
>' ре л .ім л и  кваліфікаційної роботи було розглянуто та виконано завдання
за напрямом інженери програмного забезпечення, а саме завдання створення
програмного знос течения інформаційної системи контекстного пошуку Для
мене постало завдання не тільки виконання пошукових запитів, але й розробки
програмного забезпечення для їх виконання Під час реалізації цього проекту
були проведені та проаналізовані існуючі аналоги для визначення основних
напрямків удосконалення та виокремлення особливостей розробленої системи.
іеорегичні та експериментальні дослідження стали основою для розробки
системи контекстного пошуку, а моделювання предметної області дозволило
створити абстрактну репрезентацію реального світу з усіма його об'єктами та
взаємозв'язками. І Іроцес розробки включав в себе етапи проектування, реалізації
та тестування, на кожному з яких були визначені та виконані специфічні
процедури.
У процесі реалізації було застосовано процес об'єктно-орієнтованого
проектування для реалізації програмної інформаційної системи контекстного
пошуку. Реалізовано на кожному із етапів проектування процедури, що
передбачені для даного етапу, описав їх та подав результати виконання цих
процедур у формі UML-діаграм.
У завершальному етапі розробки програмного забезпечення було
проведено тестування на різних рівнях. Модульне тестування визначило
коректність роботи окремих модулів, інтеграційне тестування перевірило
взаємодію компонентів, системне тестування забезпечило перевірку всієї
системи в цілому, а приймальне тестування було проведено для підтвердження
відповідності продукту вимогам та очікуванням замовника.
І Іри розробці прої рамною забезпечення для КРМ були освоєні нові знання,
а саме робота з плаї формою Неї, а також покращено навички у програмуванні та
отриманий великий нракіичний досвід роботи з.
-  python;
75
ЧДТУ 232209.011 113
-  бібліотекою BeautifulSoup.
.
Можна зробити висновок, що в процесі розробки було дотримано всіх ...
.
функціональних вимог, які були озвучені.
Результатом виконання даного дослідження є створення програмного
продукту, який не л и те  вирішує актуальні завдання в галузі контсксіпою
пошуку, але й вносить важливий внесок у розвиток сучасних інформаційних
систем. Розгортаючи аналітичний та практичний підхід на кожному еіапі
розробки, ця робота надає чіткі та змістовні результати.
76
СПИСОК ВПКОГІК ТЛППХ ДЖЕРЕЛ
МЕТОДИКА ТА ОРГАНІЗАЦІЯ НАУКОВИХ ДОСЛІДЖЕНЬ І С. Е.
ВажннськиіЕ Т 1 Щербак Суми. 2016. 153 с
apkcombo coni |Електронним ресурс] [Інтернет портал] Елекгронні дані
Режим доступу до ресурсу: https://apkcombo.com/scholar-
articles com.gaigobar scholar (Дата звернення 29.11.2023). -  Scholar Artcclcs
discovery.researcher.lite [Електронний ресурс] [Інтернст портал].
Електронні дані - Режим доступу до ресурсу:
https discoveiy researcher.life/ (Дата звернення 29.11.2023). -  R Discovery
elib tsatu.edu.ua [Електронний ресурс] : [Інтернст портал]. -  Електронні
дані - Режим доступу до ресурсу: -  Режим доступу до ресурсу:
hups elib.tsatu.edu.ua/dep/mtf/ophv_12/page8.html (Дата звернення
2е’ ; і 2023). Методологія експериментальних досліджень
studwood.net [Електронний ресурс] : [Інтернет портал]. -  Електронні дані.
- Режим доступу до ресурсу: -  Режим доступу до ресурсу:
https: suidwood.net/1640930/infoniiatika/niodclyuvannya_prcdnietnoyi_oblas
іі (Дата звернення 29.11.2023). -  Моделювання предметної області
wikipedia.org [Електронний ресурс] : [Інтернет портал]. -  Електронні дані.
- Режим доступу до ресурсу: -  Режим доступу до ресурсу:
https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B0%D0%BB%D1 %9
6%D0%B7_%D0%B2%D0%B8%D0%BC%D0%BE%D0%B3 (Дата
звернення 29.11.2023). -  Аналіз вимог
flexbeny.github.io [Електронний ресурс] : [Інтернет портал]. -  Елекгронні
дані. - Режим доступу до ресурсу: -  Режим доступу до ресурсу:
https://flexberry.gilhub.io/ru/fd use-case-diagram.html (Дата звернення
29.11.2023). - Діаграма варіантів використання
flexberry.github.io [Електронний ресурс] : [Інтернет портал]. -  Елекгронні
дані. - Режим доступу до ресурсу: -  Режим доступу до ресурсу:
https://flexberry.github.io/ru/gpg class-diagram html (Дата звернення
ЗО. 11.2023). Діаі рама класів
« ЧДТУ 232209.011 ПЗ
q osvita.ua {Електронний ресурс] : [Інтернет портал]. -  Електронні дані. -
Режим доступу до ресурсу: -  Режим доступу до ресурсу:
https://osvita.ua/vnz/reports/arhitektura/22538/ (Дата звернення ЗО. 11.2023). -
Архітектурне проектування
]0 znannya.org [Електронний ресурс] : [Інтернет портал]. -  Електронні дані. -
Режим доступу до ресурсу: -  Режим доступу до ресурсу:
http://www.znannya.org/?view=summary:uml_coinponent diagram 10 (Дата
звернення 31.11.2023). -  Діаграма компонентів
]] lucidchart.com [Електронний ресурс] : [Інтернет портал]. -  Електронні
дані. - Режим доступу до ресурсу: -  Режим доступу до ресурсу:
https://www.lucidchart.com/pages/ru/uml-deployment-diagram (Дата
звернення 01.12.2023). -  Діаграма розгортання
12 flexberry.github.io [Електронний ресурс] : [Інтернет портал]. -  Електронні
дані. - Режим доступу до ресурсу: -  Режим доступу до ресурсу:
https://flexberry.github.io/ru/fd activity-diagram.html (Дата звернення
01.12.2023). Діаграма діяльності
13 ilexberry.github.io [Електронний ресурс] : [Інтернет портал]. -  Електронні
дані. - Режим доступу до ресурсу: -  Режим доступу до ресурсу:
https://flexberry.github.io/ru/fd sequence-diagram.Iitml (Дата звернення
01.12.2023). -  Діаграма послідовності
14 flexberry.github.io [Електронний ресурс] : [інтернет портал]. Електронні
дані. - Режим доступу до ресурсу: -  Режим доступу до ресурсу:
https://flexberry.github.io/ru/fd stalechart-diagram.html (Дата звернення
01.12.2023). -  Діаграма станів
15 web-creator.com [Електронний ресурс] : [інтернет-портал]. -  Електронні
дані. Режим доступу: https://web-creator.com/articles/pylhon (Дата
звернення 01.12.2023). - Python
16 crummy.com [Електронний ресурс]: | інтернет-портал]. Електронні дані.
Режим доступу: https://www.crummy.com/soitware/EcaiitifulSoup/bs4/doc/
(Дата звернення 01.12.2023). -  Beautiful Soup
78
____ ______________ -
ЧДТУ 232209.011 ПЗ
17 wikiwand.com [Електронний ресурс] : [Інтернет-портал]. -  Електронні
дані.- Режим доступу: https://www.wikiwand.com/uk/%D0%A1%D1
%82%D 1 %80%D 1 %83%D0%BA%D 1 %82%D 1 %83%D 1 %80%D0%BD%D0
%B0_%D 1 % 81 %D 1 %85%D0%B5%D0%BC%D0%B0 (Дата звернем ня
02.12.2023).- Beautiful Soup
18 studfile.net [Електронний ресурс] : [Інтернет-портал]. -  Електронні д а н і-
Режим доступу: https://studfile.net/preview/6379179/page:8/ (Дата звернення
02.12.2023).- Логічні схеми
]9 flet.dev [Електронний ресурс] : [Інтернет-портал]. -  Електронні дані.-
Режим доступу: https://flet.dev/ (Дата звернення 02.12.2023). -  Fiet
20 docs.python.org [Електронний ресурс] : [Інтернет-портал]. -  Електронні
дані. Режим доступу: https://docs.python.Org/3/library/unittest.html (Дата
звернення 02.12.2023). -  Unittest
21 wikipedia.org [Електронний ресурс]: [Інтернет портал]. -  Електронні дані.
Режим доступу: https://uk.wikipedia.org/wiki/Логіка предикатів (Дата
звернення 02.12.2023) -  Логіка предикатів
22 wikipedia.org [Електронний ресурс]: [Інтернет портал]. -  Електронні дані.
Режим доступу: https://uk.wikipedia.org/ wiki/%D0%A2%D0%BE%Dl%
87%D0%BD%D 1 %96%D 1 % 81 %D 1 %82%D 1 %8C
23 wikipedia.org [Електронний ресурс]: [Інтернет портал]. -  Електронні дані.
Режим досгуну: https://uk.wikipedia.org/wiki/%D0%9f %D0%BE%D0%
B2%D0%BD%D0%BE%Dl%82%D0%B0 (%D0%BB%D0%BE%D0%B3%
D I %96%D0%BA%D0%B0)
24 expert.ai [Електронний ресурс]: [Інтернет портал]. -  Електронні дані.
Режим: доступу https://www.expert.ai/glossary-of-ai-terms/f-score-f-measure-
11-measure
25 leanimachinelearning.fandom.com/ [Електронний ресурс]: [Інтернетпортал].
Електронні дані. -  Режим доступу:
https://learnmachinelearning.fandom.com/ru/wiki/%D0%9E%Dl%86%D0%B
5%D0%BD%D0%BA%D0%B8 %D0%BA%D0%BB%D0%B0%Dl%81%D
79
ЧДТУ 232209.011 Г13
1 %81 %D0%B8%D I %84%D0%B8%D0%BA%D0%B0%D і %82%D0%BE%
р  I %80%D0%BE%D0%B2
reseaichgate.net [Електронний ресурс]: [Інтернет портал]. — Електронні
дані. Режим досгуну: https://www.researchgate.net/publication/333476061 _
27 Association_of RAGE_genc_multiple variants with the risk for COPD an
d asthma in northern Han Chinese
27 playerzero.ai [Електронний ресурс]: [Інтернет портал]. -  Електронні дані. -
Режим доступу: https://www.playerzero.ai/advanced/sql-facts/how-to-
calculate-average-turnaround-time-in-sql-server
80
ДОДАТОК Л
ЗАТВЕРДЖЕНО:
Зав. кафедрою Г0АС, професор
_____ Голуб с .в .
„ 2 0 2 4  р.
Удосконалення програмного забезпечення інформаційної системи
контекстного пошуку
Специфікація
482.ЧДТУ. 221539.01
Листів 2
Розробник Колісник І.В
2023
482.ЧДТУ. 221539.01
Позначення Найменування Примітка
182.ЧДТУ 221539.01 12 01 Текст програми
182.ЧДТУ 221539.01 34 01 Інструкція користувача
182.ЧДТУ. 221539.01 90 01 Графічний матеріал
•
•
— -------------- -------------------------------
•
82
ДОДАТОК Б
Удосконалення програмного забезпечення інформаційної системи
контекстного пошуку
Текст програми
482.ЧДТУ 221539.01 12 01
Листів 7
Розробник Колісник І.В
2023
482.ЧДТУ. 221539.01 12 01 2
Файл арр.ру
from time import sleep
from random import choice, uniform
impon flct as ft
import requests
from bs4 import BcautifulSoup
from fake uscragent import UscrAgcnt
def get_proxy():
with opcnCproxy.txt'. T ) as file.
proxiestext = file rcadO.stripO
if  not proxiestext
return None
proxies list = proxies text spht()
proxy = choicc(proxics_list).stnp()
proxies = {
'http' f  http.//{proxy}',
'Imps': riittp  //{proxy}'.
/>
return proxies
def get search data on pagc(url):
page data = 11
headers- {'User-Agent' UserAgenK) random}
proxies = gel jjroxyO
response requests gct( url. headers headers, proxies-proxics. timeout-15)
i f  response status code 200:
soup BeautifulSouptresponse text. 'Ixnil')
books soup find allt'div'. class -'gs_r gs_or gs_scl')
i f  books:
for book in books:
title book.find('h3'. class 'gs rt').find('a') text
book info (book lindCdiv'. class ='gs a') text
replaceCW. ").rcplacc(7'( ") replaced',")
.replace/'*', ").replace!'?', ").rcplace(“" , ")
replace('<'.") replaced’, ") replaced'.")
)
div detail book.find('div', class_~'gs ggs gs IT)
i f  div detail:
book url div detail lind('a') gel('hrel’ )
book type div detail.text.split(T)|<)| replaced', ").lower()
else:
book url = book.lind('h.3', class ='gs rt').find('a').gel('href)
84
482.ЧДТУ. 221539.01 12 01
bookjypc -  'link'
i f  not book jypc in I’link’. ’html']:
filename = book info + '.' + book type
else:
filename = "
pagc_data appcnd(|title. bookjnfo . bookjypc. bookurl, filename))
ргіпЦГОпрацьовапо посилань: {lenfpage data)}')
return pagedata
else:
pnnt( I Іомнлка підключення. Код стану:'. response.s(atus_codc)
return page data
def niaiii(pagc).
field name = ft Rcf|ft.TcxtFicld|()
field from ft. Ref] ft TcxlFicld |()
field to fl Ref]ft TcxlFicld|O
field lang= fl Ref|ft TcxtFicldlO
field last page = ft.Rcf|ft.TcxtFicld|()
buitonscarch ft Ref|ft ElcvatcdBii(ton|()
listview result ft.Rcf] ft.List Vicw|()
progrcssbar ft Rcf|fi.ProgrcssBar|()
def switch disabled jlc m c n ls f flag):
field namc.current disabled = flag
field from.currcnt.disabled = flag
field to.current disabled ~ flag
field lang current disabled = flag
button scare!) current.disabled = flag
listvicw result.current.disabled ~ flag
field last page.current.d*isabled = flag
page updatcO
nonlocal file name = None
nonlocal url = None
nonlocal destination path = None
def save file rcsult(c):
nonlocal nonlocal destination jx ith . nonlocal file name, nonlocal url
nonlocal destination path -  c path i f  c path else 'Cancelled!'
url -  nonlocal url
destination path -  nonlocal destination_palh
if  nonlocal destination path != 'Cancelled!':
response = rcqucsts.gctfurl)
if  response.status code == 200:
with o|>cn(deslination path, 'wb') as file:
rilc.wriic(respoiisc.conlent)
482.ЧДТУ 221539.01 12 01
рппкГФаісл успішно хлвантажено як {destination path}*)
else
pnnti Неможливо алвантажнтн файл Код стан\ response.status code)
save, file dialog -  fl FilcPiekcrton rcsu ll^sa vc filc rcsu ll)
page overtax extend! |savc_filc dialog))
def button download chck(c):
nonlocal nonlocal file name. nonlocal uri
nonlocal file  name = c control data
nonlocal uri -  c control url tatgct
save filc_dialog savc_filc(filc_namc=nonlocal file name)
def button sea rch click(c)
search, name field name current value
search from field from current value
search to -  f ic ld lo  current value
search lang = field king current value
last page r  inu fic id  last page current value) - 1
switch disabled clcmcnls(Tnic)
global datas
datas 7 П
for start position in range!!). Iast_pagc * 10 + 1. 10):
slccp(uiufonn(2. 3))
global url
uri tr iittp s  //scholar google com/scliolar',as_vis= Г
f& s la n  {startjx>sitio iiJ&q-{scarcli_nam c{& lil~{scarcli_ lang}'
r& as sdt=0.5&as_ylo={search from}&as_ylu={scarch_to}')
data - get search data on page(uri)
i f  not data
рп ііК 'К інсць пош уку')
break
dalas.exlcnd(dala)
i f  last_page = = !)
progressbar.current. value = I
progrcssbar.currcnl update!)
continue
progrcssbar.currenl.value -  start position/lasl page’ O 1
piogrcssbar.curreni iijMlatet)
sw itch disabled elciuciiis(l alsc)
lis lv icu  result.current.clean!)
fo r i row н іenunicrale(daias)
i f  row |4j:
button download -  f l lexlButloiK
row |2 j.
80
482.ЧДТу 221539.01 12 01
url targct=row|3|.
data row|4|.
icon ft icons SAVE.
on click button download click
)
else:
button download = Гі.ТсхЦ")
hstvicw result.current con(rols.appcnd(
ft Row(|
ft.Coin inn(|
ft Row (
I
ft.Tcxt(i+ l)
I.
widlh=30.
)
I).
ft Column(|
fl.Row-(
I
fl.Tcxl(rdwjO||.l |O|. wcight=ft.FontWcighl.BOLD. fonl_fainily="RoboloSlabM.).
I.
widlh=IO3O.
).
fl. Row (
I
ft.TexRrow 111. color=ft.colors.GREY SOO. font familv="RoboloSlab".).
I-
widlh=IO3O.
).
I).
It Cohiinn(|
ft Row (|
ft TcxtBiiUoiiCLink’. url=row|3|).
button download.
I)
I).
I)
)
hstvrew result current.updalcO
page theme inode = ft fhcineMode UGHT
page title = 'Google Scholar Parser'
87
4 8 2  Ч ДТУ. 221539.01 12 01
page window width 12X0
page window Jicight = goo
page window resizable = False
page window maximi/ablc = False
page window contort)
page add(
fl Row (
I
ft TcxlFicidf ref- field name h• hосriі= ’nП~о.шуконіш іапіп'. « id lli-600. milolocus-Tnic)
ft ТехИ 'кІЛюГ-ГюШ .Ггот. labcl-'Р ік . w id l h =  , „ 0 )
ft TcxiF ic ld lref-ncldJo. label- т ік .  no'. xx.dlb-100)
O.TcxlFicld(rer=ricld_lang. label-'Moaa'. « і№ 1 0 0 . valuc-'na')
ft TcxiFicld(rcr=ricld_lasl_pagc. іаМ -С тор інок '. « №  100. value- ■).
fl Column!
I
fi.ElcvaiedBuiton(
rcf=buiion_scarch.
Ісхі=‘Пошук'.
widlh=2()0.
hcight=40.
sly lc-ft.ButtonStylc(sliapc=ft.RoundcdRcctanglcBordcr(radius=10)),
on_click=buuon_scarch click
).
fl ProgrcssBar(rcf=progrcssbar. widlh=2(X). valuc=0)
I
).
).
fl.Divider! hcighl=O).
fl Lisi View (rcf^listx icw result. c.xpand=Truc. spacing=l(), dividcr_thickncss= 1).
)
fl.app(targcl=inain)
88
додаток в
удосконалення прої раміїоі о зябе значення інформаційної системи контекстною
пошуку
І не і рукціи корнспНЗЧЗ
•ІК2 ЧД ГУ 221539 01 34 01
Л исин З
Колісник 1 В
Розробник
2023
482.ЧДТУ. 221539.01 34 01 2
ЗАГАЛЬНІ ПОЛОЖЕННЯ
Програмне забезпечення буде слугувати для пошуку наукових публікацій,
р с ф с р е т ів і т.н І Іротрама буде виконувати пошук у Google Scholar.
Для початку користувач має ввести пошуковий запит, якщо він мас бажання
виводити результат лише у конкретному форматі, то він може у пошуковому
запиті за допомогою індексуу  G owodyec  fiiiilpettyvpnoc вказати це. Іакож є можливість
виводити конкретні сайти чи домени сайтів, за допомогою індексу Google site.
І Ііс.ія юіо користувач може вводити дату пошуку, тобто з якого по який рік
проводиш пошук, але с можливість залишити ці поля пустими, тоді фільтр не
буде враховуватись і в результаті будуть усі наукові публікації.
Настінним кроком с введення локалізації сторінки, яка за замовчування є
UA. тобто українська, цс потрібно для того щоб побачити результати в
залежності від локалізації.
Далі користувач мас можливість ввести кількість сторінок для виведення,
за замовчуванням це 1, тобто 10 результатів, якщо наприклад поставити 2, то буде
20 і т.д.
Після цих кроків, користувач може почати пошук з врахуванням всих
фільтрів, які він вказав, для цього потрібно натиснути кнопку «Пошук» і
користувачеві покажуться всі результати за його запитом.
В результаті користувач може або завантажити файл, якщо є така
можливість. При зберіганні відкриється провідник, де користувач може вибрати
довільний шлях збереження і надати назву файлу, яку захоче, за замовчуванням
назва файлу буде під назвою результату. Також є змога переходити за
посиланнями даних результатів.
90
482.ЧДТУ. 221539.01 34 01 4
Нижче ми можемо спостерігати інтерфейс головного вікна. (Рисунок В.1)
Pa. no из Пі
Рисунок В.1 -  Головне вікно програми
Нижче ми можемо спостерігати, як виглядає вікно із введеним пошуковим
запитом. (Рисунок В.2)
Рисунок В.2 -  Вікно із введеним пошуковим запитом та фільтрами
91
4X2 ЧДТУ.221539 01 34 01
Нижче ми МОЖеМО бзЧИТИ D('iv n t.T r>
> > ат виконання запиту. (Рисунок В.3)
Псмігут
dec
Ьлк Й  doc
< W « W '»  «ЛЬлигм т. «► р »» ,„„ .п о  ,  _ halt Й  d'x
" <У “»п..» . . . , т Л л . ,1й и о в 1
'HfodurUon Io |ио<екмо«*1 romiHumc^tion. link Й  d «
Кеслс-Ніии ■ ■ 0-АОЬр»»ЄИНП Р0#СіЧму суспільно* ІиЛ Й  <kx
I . , u l.M 1 . *Л. J .,  /  v . f
ЛООМіММ А ГК Л 4Д І 4l>HA*l•H■ Ur«MN І• Д •Ю Ц  ( я  П Є р с *Л 4 Д 4 ц ь « І CMOtOJA ІІ-ТІ 4ІЛЇ
iv /0  •’ I.:|.» U V<J j  ij.i
....................... » " И о У н ,о р (.д .А Л . ( ). П д и о . .  { п о н > м <  .......................  •■ *  В - ,
"■’ Op” P'A”O<0 Mier*
ы *  d  O .
уіюк B.3 Виконання пошукового запиту
92
ДОДАТОК г
Удосконалення програмного забезпечення інформаційної системи контекстного
пошуку
Графічний матеріал
482.ЧДТУ. 221539.01 90 01
Листів 9
Розробник Колісник І.В
2023
482.ЧДТУ. 221539.01 90 01
S
забезпечення інф орм аційної
систем и контекстного  пош уку
Стул гр. МП З -7204 Кол сник І.Н.
Асцомі Пвемь О.Г>.
‘Ч
_
Рисунок Г.1 -  Слайд 1
_  . ................ АКТу.іЛЬИІСТЬ ТЄМ»1
.Я і.гч .'ш ш м  тому uto у ИЧМШМ) дг i a i x u  я лл .л .и  'ф к дз О с т ы л о  т е х t«c .s сб и т
І л и  к  и . > ^ ч д а и п с и я м .  п м г » М ^сн.гдчдьм осм м ак-ло д и  <x»n.MM jv a w y iv  *.д . .  -fcr* н * т  .. кД
Мета дсслід'меннг. '■'
к к*. •!’... ;-<» “, , И  • Р*’Ч‘е 6 м  1» и г .к .ю ж и а  оритрзмдого Ы «>эгслви диеф онэш илл i w . u j i a i i  <д к*г»  -Зі<рлр,м » »лх-?1г
к.Ь Ut i V i ^ w N b  фХ )у*т а  и п ,а  іи - іо/тп «рмикл ;« е^гтісиигй и ю р р ів л  л и  и>роо)влиі. е о  j j i w i u i v  їм ь*.им » і\тигь> >t< м»Т-гп u w k v »
сг)Ах л л?д. \
Об’єкт ДОСЛІДТЧС‘НН’1
\І1
(»Л «ьлом »<  ЦД4<«Ь « p cip e f-u  ерлрм им то ък’чихмскхв u x in c r v x u  ОООІ)*У І» r p u ir t w  Q C tO M U U  р х и » а * к т и  і v n > u »o  Ы3)»7 л л и л с і
зіггрдеут*
Предмет д з с г . і д у с м »»* ’. .  : *•"?
ІІГї д <*<і > и >>< и и с л іи  « iT t ^ r a u  ср л р дм ол с taUtVNaih* д и  ш і р а а п с о  іиум*«л ^ :r p in rti и  оллжм-и •  Лдол* ct« . »CJ
Методи ДОСДІД>Л*МНД ’ і
. і  -• ., ..lu tr tK l (ЬК 1*ЛТГ.к»і н е ’ . П О »  мсгоиш ш » 1MI M<KOQ M4IOJ UXXTCpfACIUM - Л«Х4ІА>В11ХЬ ООМЦШІД •>?ХГГГЛГЇі». Л •  » V u<UU '  4J,"!e(W>U.VW
17«>Глыи010 w t*bjrcnuu  метод »;то ;»м>ии'і дссти д>«кіли  м а д д к :ъ  : •  і о ч а к т ь робото гфотршимо и б еи сг с х ы . исгсд i o j  ім с-
.. . P t * j  и * и а  lys-w cy ію с п у  >а ы лит п ш п м ж і  Алигрцклпу icr x rr i п;-*і ерои дл и а  0 7 а  п о с а д  m t u  ил u r p c tljw  а ж л и з« в
pesryx) іа а а с р о г и  трссрамвдіо м»ой*
На.чоьл ноїчідиа отриманих р^д/льтапв V-л
tpv!p»wtc іУхмкпсіа.» го іроисс и м в р ) гу>м-м» ифс*?н«ам м  їхаїетом в к х і .і ж і і ч с
І рзктич.че Значення огримоннх реі'/яитапь , J
І <н мг.'Л  .jo e іи х л л а  іи ю а  аггеле і.тміечме и и іп и и  ; а  <лм?ах*. е п д л п л  w  д : і  u.izxii*. плрсгудлріго axM>pcvi >. а у ж ч и SOObf д а
ooffiyty д к ф л у р и
Особистим Brtecor' aercpa /  j ?.
/ '
Мл». .v<u . •/ :и»м.ч.' . joc u .ccrx»»>  .« i f  \  iu » u r n  cyswKut і с о л г м і  » o j i k u а /ііугу  м м м а ^ м і а д »  , v p u p » 3 .x u  и<<<£гчамак
•»c »kiu>>AUX ред’ддлм •хчрсбгм k x . u .-u u  I л э и и м ш .
Рисунок Г.2 -  Слайд 2
: Ж ; .
Постановка задачі W
■'■■ ■ ■. ’' У Ї
Mom програм»* матиме на месі няорешиї иритрамното дохику ді> шитексткого ношу а т е ї ш  мас
l h u h c y iu h н іюш''к»»а>їй іапнс їмс ш чоіо вона сіоімшна надавати можливість га вллс зжс нлл  )ктупьтя пошуи>аоп>
Мод, IIIAUCT; акчеыи модно опнелш нлегушшм чином Й ї ®
ь  ’ ■
Ношуи’ВИІі иг.іп Ця иротрама нхіл< модиинсть введеним фраіи чл автора дія вішліанив пошуку. \) впкорнуьмвели
фхтыриь Ja ^ й о д н о ю  кнопок иорис туи.\ч моде виконати обрати ^рати
Вимлыння к л и п  Кош ииш  введено, протрамв внкокус пошук і іюкатут регупьтопі у тмкнт просрамп \  \-.tj
• Збереження ти перегляд результатів Піс ля  виконання пошукового моїигу юрмстуючу надаються |*етупьЙЦ. «М вш
може іберепн. uvo ітсрейііі м  иосилаяммм та иерег.іямути
< В.АЛ.ЬННП інтерфейс програма кий трафічнпП інтерфейс корнсгуъача. що спрощує в т м о м о  з м
Рисунок Г.З -  Слайд З
94
ЧДІУ. 221539.01 90 01 З
Існуючі методи та засоби розв’̂ лайч'я
поставлених завдань
•г I  V і т і » й р о ф > м и т  і з Г к м и *«11 | Ш  M f U ( ч ,  m ,  '.J
Х.іілсрнаї ttft:
М огалпиоч-,. ІЛ Ц ІК ) .Scholar XrticlCT»:
ооіпчк ііалкпяої літсрагхрп із  oUnonbtiuM и ііп гом :
ік р с і. ія і pc iV IM a ijh ;
W
• иьапіаж-синя у pslf ф орчаїі;
лр>к  Gcinoccpc іньо п ліпаз ку.
Рисунок Г.4 -  Слайд 4
ни юдаток «R Discovery: Academic
ХШкллвості додатку .< Scholar Anicks»:
гчдіо документа Додаток дозволяє користувачам
спухати паперові реферати. подібно до
налаштування подкасту.
• переклад статен Завдяки функції перекладу «<R
Discovery я мовш бар'єри залишилися в минулому.
• спільне читання: За допомогою R Discovery ви
макете стиорюзапі списки для читання та
співпрацювати з колегами. колегами по лабораторії
чи будь-якими іншими дослідниками
Рисунок Г.5 -  Слайд 5
Теоретичні та експеримент^Ж т
доел •і джен НЯ Vy.’.U . ’V iu'/Y -д' :
Осі:<о.иі с і  шиї ісорссич ікм  о .ю с.іі.іж спии
Виьчеипн ии>к>чиі рішень:
воья;>ии% із иошукоч і ю і і .ш л  u h j M/ч м і  нро ірам и їіі i]y<ZY5U
иміи.іжсмми .іІіСр»І>|ЖІ Л?
Вин вибір ичінкссиШ:
иіиии О l.ifi Н|ИЛ р^МІЮІ и (.извинения іп н а їо ііч и о ю
ирмі рлмиоі <» засобу 1
сіпиіиосі і.
Ppij/'Zjt.z Іір ь п м н і'} : Jiia.ll> с ф с к іа н ік к іі и  > p /i< vv ii >W<
-  VI І-и р іИ ІіС  ІІр и (Н ІМ И >  нр«Н |ММНІ»»О Засобу, up oi рач низи ин об);
* > ' :іИ ІІҐ І І І ІИ  I V* '• И .ІП ІЯ И . ь »ь і м *і и ш и  иижлнамз ии ііиЦЗ<л*. %
Рисунок 1.6 Слайд 6
95
■вввИЯЩ Л^ЯИІ
482.ЧДТУ. 221539.01 90 01
LK< іЄрг (Ментальні ДОСЛІД}
Е е е п е р т т м ^ к н , ж ч , и » и «  і ^ Ч п  п з  ^ м . ж т п «  а .с г е м |1  д а и т е к т о о і о
мето» сппгм.ип» та м о сто н м о т»  продукту
А’.^І'ЛГЧ.. к " іТЄКк ПІч'.’С Ич>:̂ ХХ ІЧСПЄПІІГМЄИПі•  CсOпJп ЯтЧ^О.Я-вЛІ.СІ 1U tVTOCGPHainni' JVB орнім і в not
ефект.іяк^с І точнц&е в :вягл 'Ч нч и ж г л с п  гліштмл и>рпстмичш
* ЛСІІНК Ьк.ТК'̂ ОКМЬ aencvrn. ПОВЯІЛНі З Uir<|x|<rtcOM M»pilC1VB.rn ЇДКІ ЯК ОПІИСІ \(УІМ0СП
« и ^  Л л  „  „ р ^ , ,  ; и ,  n 0 K ( t tB K M l ,  ї
CtVTWJ3K>
О -Г .Л .Л ^  шышитли- Д .к -.иаени , спріиоаа», на покращ™., шандиий о.стемн. оптчмпашю міипань тл Ц п оаккЛ
Е.-ч. т-^-лгпгтт. маті-ішаина офлтнпнк-п. робот иіформаиіПно. системи
' . тч м. OCKS..M.. .cunts Оекітмпі система м м п є к с т н о іо  поил-ку ВШМООІС і ветіїиио ІІиак'ІКІ .ІЛППХ.
ск  лсрпм тп, вк т^ аю тк  а себе « п екп : оипвщ ииі potem  т B M I t u w t t  о ^ , ^ ,  в1ф і,рм]Ш І>
Рисунок Г.7 -  Слайд 7
Рисунок Г.8 - Слайд 8
Модель предметної-  обz-ласті
Чц&’п
Рисунок 1.9 - Слайд 9
482.4ДТУ. 221539.01 90 01
Формулювання та аналіз в/
'  ' г  ■ ■ > '  '  '  •
' r r / S / * .  J f S W f t V I f i
■ - /  > ' ' • *  П  • ’ г ^ А  n ' t "  s t , ,
И г * л  ■ ^/<5лУ>»г >  л
Рисунок І 10 Слайд 10
Функціональні вимоги
• Мім» п ін і* і ь  і і і к  . і < инм  і іь / ю ш п  :іи  фри * и <-* •;•■* i.u m
• А іііимл І іі 'іп ііі і іиіінуш ікмгйамімкк. догшяькь ;» ♦'»n *4> »»*f »
імримпр імн,
• ІІІ.ІНбріІДСНІІИ М«-Іилани\ сМІсН 1МШК »:b сп.чы. и'»- J *n
• Мім. пінії и t(kpiKiniiN |4*tvtbiauto \ qnipMn:. ih.w» і»л« <
• M iM x  l l l l l k  l l  l i q H ’ V U N  4il I IO U I  ih lt t tU M  A* h К ІЦ Н  . - і ш а ї р г .ч х » . ; *  ; - ъ .
Рнечнок! 11 Слайд II
Формулювання вимог Зс.
допомогою діаграми прецед в
Рисунок Г. 12 -С лайд 12
97
. 4 8 2  Ч ДТУ. 221539.01 90 01
Рисунок Г.13 -Слайд 13
Дл  і•аграма пакетів \
_  с - ,   ТЙЙйі'Я
Рисунок Г. 14 -  Слайд 14
Рисунок Г. 15 -  Слайд 15
98
4 8 2  Ч ЛТУ. 221539.01 90 01
Д^грама розгортання
J I Ж/
' .
Рисунок Г. 16-С лайд 16
♦ діяльності
Рисунок Г.17 -  Слайд 17
Діаграма послідовності;
uJSI.Tbxi : ■ luZ■ Ti икі ■ 
~ .... — ta' -с  ■?:!
Ж ;? • ■ і
Рисунок Г. 18 -  Слайд 18
99
■, S - 4 . )r iy . 221539 01 00 01
Діаграма комунікації
І исунок Г.19 -  Слайд 19
Діаг рама скінченного автомату
(діаграма станів)
Рисунок Г20 -  Слайд 20
Розробка програманого комплексу
1
Д  ія реаліднів даної о програмного забезпечення я обрав мову ярої рахування python. Тому
шо у даній мові існує бібліотека Beautiful Soup, яка надає простий спосіб вихитувати
інформанті з веб сторінок іа інших джерел, шо місія і ь сірукгурованми код HTML або
XML Beautiful Soup дозваин зручно навиувалі іа взаємидіяш з едемешамя ІГГЛІ1. -
дерева, шткаїи певні іє н і , оірнмувалідані їй виконувати інші vuepami ііарсииуу
Рисунок Г21 - Слайд 21
100
9
Логічна схема
Рисунок Г.23 -  Слайд 23
і оловне вікно програми
- ■-........ -
•*■•••■•   ——' raw
-J
Рисунок Г.24 -  Слайд 24
101
4 8 2  ЧДТУ 22,539.01 9001
10
їй
■я
Дякую за увагу! 1
л
V
102