Por favor, use este identificador para citar o enlazar este ítem: http://elartu.tntu.edu.ua/handle/lib/45472
Título : Розробка програмного засобу для ефективного рефакторингу та контрою якості архітектури проєкту
Otros títulos : Development of a software tool for effective refactoring and quality control of project architecture
Autor : Ганчук, Назарій Андрійович
Hanchuk, Nazarii
Affiliation: Тернопільський національний технічний університет імені Івана Пулюя
Bibliographic description (Ukraine): Ганчук Н. А. Розробка програмного засобу для ефективного рефакторингу та контрою якості архітектури проєкту : робота на здобуття кваліфікаційного ступеня бакалавра : спец. 121 - інженерія програмного забезпечення / наук. кер. Н. Б. Гащин. Тернопіль : Тернопільський національний технічний університет імені Івана Пулюя, 2024. 52 с.
Fecha de publicación : jun-2024
Date of entry: 26-jun-2024
Editorial : Тернопільський національний технічний університет імені Івана Пулюя
Country (code): UA
Place of the edition/event: Тернопіль
Supervisor: Гащин, Надія Богданівна
Committee members: Луцик, Надія Степанівна
UDC: 004.9
Palabras clave : Архітектурна метрика
Машинне навчання
Парсинг
Рефакторинг
Якість архітектури
Number of pages: 52
Resumen : У кваліфікаційної роботі бакалавра було розроблено допоміжний інструмент для проведення аналізу компонентної архітектури на основі механізмів машинного навчання. Вивчено архітектурні проблеми у розробці, досліджено існуючі аналоги. Описана концепція програмного інструменту, продумано алгоритми виявлення архітектурних проблем і труднощі у реалізації, вивчено підходи машинного навчання та вибрано оптимальний. При проведенні дослідження підтвердилася гіпотеза про роль зворотніх зв'язків користувачів для модулів для покращення архітектури. Розроблений програмний інструмент дає змогу виявляти розбіжності у структурі схожих за абстрактністю та стійкістю модулів. Це дозволить ефективніше рефакторити та контролювати якість архітектури проєкту.
In 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.
Content: Вступ 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 Додатки
URI : http://elartu.tntu.edu.ua/handle/lib/45472
Copyright owner: © Ганчук Назарій Андрійович, 2024
References (Ukraine): 1. 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).
2. Еволюція Enterprise-архітектур. Від MVC до Clean Architecture. URL: https://speakerdeck.com/dotnetru/fiedor-shchudlo-evoliutsiia-enterprise-arkh itiektur-ot-mvc-do-clean-architecture (дата звертання: 03.04.2024).
3. Книга про принципи SOLID та об’єктно-орієнтованому дизайні програм. URL: https://ota-solid.vercel.app/ (дата звертання: 12.04.2024).
4. Clean Architecture on Frontend. URL: https://dev.to/bespoyasov/ clean-architecture-on-frontend-4311 (дата звертання: 13.04.2024).
5. Just In Time And Software Development. URL: https://agiledesign.org/2015/ 01/18/jit-just-in-time-and-software-development/ (дата звертання: 14.04.2024).
6. Роберт Мартін. Чиста архітектура. Мистецтво розробки програмного забезпечення. Харків: Фабула, 2019. 368 с.
7. Atomic Design Methodology book by Brad Frost. URL: https://atomicdesign.bradfrost.com/chapter-2/ (дата звертання: 23.04.2024).
8. About architecture | Feature-Sliced Design. URL: https://feature-sliced.design/ docs/concepts/architecture (дата звертання: 23.03.2024).
9. Лайвкодінг: Рефакторимо складний. URL: https://youtu.be/Y1y4eVjj6R0 (дата звертання: 24.04.2024).
10. Історія розвитку реального проєкту з рефакторінгом в GitHub. URL: https://github.com/ani-team/github-client/commits/workshop/feature-slicednext (дата звертання: 04.05.2024).
11. Madge – Create graphs from your CommonJS, AMD or ES6 module dependencies. URL: https://github.com/pahen/madge (дата звертання: 14.05.2024).
Content type: Bachelor Thesis
Aparece en las colecciones: 121 — Інженерія програмного забезпечення (бакалаври)

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
dyplom_Hanchuk_2024.pdf911,51 kBAdobe PDFVisualizar/Abrir


Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.

Herramientas de Administrador