Bu öğeden alıntı yapmak, öğeye bağlanmak için bu tanımlayıcıyı kullanınız: http://elartu.tntu.edu.ua/handle/lib/45472
Tüm üstveri kaydı
Dublin Core AlanıDeğerDil
dc.contributor.advisorГащин, Надія Богданівна-
dc.contributor.authorГанчук, Назарій Андрійович-
dc.contributor.authorHanchuk, Nazarii-
dc.date.accessioned2024-06-26T12:40:54Z-
dc.date.available2024-06-26T12:40:54Z-
dc.date.issued2024-06-
dc.identifier.citationГанчук Н. А. Розробка програмного засобу для ефективного рефакторингу та контрою якості архітектури проєкту : робота на здобуття кваліфікаційного ступеня бакалавра : спец. 121 - інженерія програмного забезпечення / наук. кер. Н. Б. Гащин. Тернопіль : Тернопільський національний технічний університет імені Івана Пулюя, 2024. 52 с.uk_UA
dc.identifier.urihttp://elartu.tntu.edu.ua/handle/lib/45472-
dc.description.abstractУ кваліфікаційної роботі бакалавра було розроблено допоміжний інструмент для проведення аналізу компонентної архітектури на основі механізмів машинного навчання. Вивчено архітектурні проблеми у розробці, досліджено існуючі аналоги. Описана концепція програмного інструменту, продумано алгоритми виявлення архітектурних проблем і труднощі у реалізації, вивчено підходи машинного навчання та вибрано оптимальний. При проведенні дослідження підтвердилася гіпотеза про роль зворотніх зв'язків користувачів для модулів для покращення архітектури. Розроблений програмний інструмент дає змогу виявляти розбіжності у структурі схожих за абстрактністю та стійкістю модулів. Це дозволить ефективніше рефакторити та контролювати якість архітектури проєкту.uk_UA
dc.description.abstractIn the bachelor's thesis, an auxiliary tool was developed for the analysis of component architecture based on machine learning mechanisms. Architectural problems in development were studied, existing analogues were studied. The concept of the software tool is described, algorithms for identifying architectural problems and difficulties in implementation are thought out, machine learning approaches are studied and the optimal one is selected. The research confirmed the hypothesis about the role of user feedback for modules to improve the architecture. The developed software tool makes it possible to detect differences in the structure of modules that are similar in terms of abstractness and stability. This will allow more effective refactoring and quality control of the project architecture.uk_UA
dc.description.tableofcontentsВступ 8 1 Аналіз предметної області 10 1.1 Вивчення архітектурних проблем у розробці 10 1.2 Огляд існуючих аналогів 12 1.2.1 Інструменти рефакторингу IDE від JetBrains 12 1.2.2 SonarQube 12 1.2.3 TechDebt Rate / Step 13 1.2.4 Метрики архітектури кодової бази 13 1.2.5 Dependency Cruiser / ESLint 13 1.2.6 Github Copilot (OpenAI) 14 1.2.7 Результати порівняння аналогів 14 2 Постановка завдань і концепція інструменту 16 2.1 Концепція програмного інструменту 16 2.1.1 Аспекти використання 16 2.1.2 Вимоги до рішення 17 2.2 Архітектура рішення 17 2.2.1 Схема використання 17 2.2.2 Архітектурні компоненти 18 2.2.3 Технологічний стек 18 2.3 План робіт 19 2.3.1 Список завдань 19 2.3.2 Ризики та аспекти 20 3 Реалізація та впровадження рішення 21 3.1 Парсинг кодової бази 21 3.2 Реалізація модуля Analyzer 22 3.2.1 Теоретична база для розрахунків 22 3.2.2 Допоміжний модуль fs та клас Project 25 3.2.3 Підрахунок метрики Instability 26 3.2.4 Підрахунок метрики Abstractness 27 3.3 Реалізація модуля Clusterizer 32 3.3.1 Вибір механізмів машинного навчання 32 3.3.2 Реалізація кластеризації модулів 34 3.4 Реалізація модуля зворотного зв'язку для користувача 35 3.5 Реалізація налаштувань користувача 36 3.6 Тестування 38 3.6.1 Підготовка тестових даних 38 3.6.2 Тестування рішення та пошук помилок 39 3.7 Використання 41 4 Безпека життєдіяльності, основи хорони праці 43 4.1 Долікарська допомога при ураженні електричним струмом 43 4.2 Вимоги ергономіки до організації робочого місця оператора ПК 45 Висновки 49 Перелік джерел посилання 51 Додаткиuk_UA
dc.language.isoukuk_UA
dc.publisherТернопільський національний технічний університет імені Івана Пулюяuk_UA
dc.subjectАрхітектурна метрикаuk_UA
dc.subjectМашинне навчанняuk_UA
dc.subjectПарсингuk_UA
dc.subjectРефакторингuk_UA
dc.subjectЯкість архітектуриuk_UA
dc.titleРозробка програмного засобу для ефективного рефакторингу та контрою якості архітектури проєктуuk_UA
dc.title.alternativeDevelopment of a software tool for effective refactoring and quality control of project architectureuk_UA
dc.typeBachelor Thesisuk_UA
dc.rights.holder© Ганчук Назарій Андрійович, 2024uk_UA
dc.contributor.committeeMemberЛуцик, Надія Степанівна-
dc.coverage.placenameТернопільuk_UA
dc.format.pages52-
dc.subject.udc004.9uk_UA
dc.relation.references1. Last words on UI architecture before an AI takes overe. URL: https://oleg008.medium.com/last-words-on-ui-architecture-before-an-ai-take s-over-468c78f18f0d (дата звертання: 03.04.2024).uk_UA
dc.relation.references2. Еволюція Enterprise-архітектур. Від MVC до Clean Architecture. URL: https://speakerdeck.com/dotnetru/fiedor-shchudlo-evoliutsiia-enterprise-arkh itiektur-ot-mvc-do-clean-architecture (дата звертання: 03.04.2024).uk_UA
dc.relation.references3. Книга про принципи SOLID та об’єктно-орієнтованому дизайні програм. URL: https://ota-solid.vercel.app/ (дата звертання: 12.04.2024).uk_UA
dc.relation.references4. Clean Architecture on Frontend. URL: https://dev.to/bespoyasov/ clean-architecture-on-frontend-4311 (дата звертання: 13.04.2024).uk_UA
dc.relation.references5. Just In Time And Software Development. URL: https://agiledesign.org/2015/ 01/18/jit-just-in-time-and-software-development/ (дата звертання: 14.04.2024).uk_UA
dc.relation.references6. Роберт Мартін. Чиста архітектура. Мистецтво розробки програмного забезпечення. Харків: Фабула, 2019. 368 с.uk_UA
dc.relation.references7. Atomic Design Methodology book by Brad Frost. URL: https://atomicdesign.bradfrost.com/chapter-2/ (дата звертання: 23.04.2024).uk_UA
dc.relation.references8. About architecture | Feature-Sliced Design. URL: https://feature-sliced.design/ docs/concepts/architecture (дата звертання: 23.03.2024).uk_UA
dc.relation.references9. Лайвкодінг: Рефакторимо складний. URL: https://youtu.be/Y1y4eVjj6R0 (дата звертання: 24.04.2024).uk_UA
dc.relation.references10. Історія розвитку реального проєкту з рефакторінгом в GitHub. URL: https://github.com/ani-team/github-client/commits/workshop/feature-slicednext (дата звертання: 04.05.2024).uk_UA
dc.relation.references11. Madge – Create graphs from your CommonJS, AMD or ES6 module dependencies. URL: https://github.com/pahen/madge (дата звертання: 14.05.2024).uk_UA
dc.contributor.affiliationТернопільський національний технічний університет імені Івана Пулюяuk_UA
dc.coverage.countryUAuk_UA
Koleksiyonlarda Görünür:121 — Інженерія програмного забезпечення (бакалаври)

Bu öğenin dosyaları:
Dosya Açıklama BoyutBiçim 
dyplom_Hanchuk_2024.pdf911,51 kBAdobe PDFGöster/Aç


DSpace'deki bütün öğeler, aksi belirtilmedikçe, tüm hakları saklı tutulmak şartıyla telif hakkı ile korunmaktadır.

Yönetim Araçları