Автоматизована система генерування UML діаграм

dc.contributor.advisorМалежик, Петро Михайлович
dc.contributor.authorЦесля, Антон Дмитрович
dc.date.accessioned2024-12-26T08:47:54Z
dc.date.available2024-12-26T08:47:54Z
dc.date.issued2024
dc.description.abstractАктуальність теми. Документування програмного коду є критично важливою частиною процесу розробки та підтримки програмного продукту. В зв’язку зі стрімким збільшенням ролі інформаційних технологій в сучасному світі - складність та об’єми програмного коду в нових та існуючих проєктах постійно зростають. Людський ресурс та продуктивність праці є ключовим фактором розвитку продукту, це зумовлює те, що кожен учасник повинен мати можливість швидко дізнатись як працює той чи інший модуль проєкту для впровадження нового функціоналу чи відладки існуючого. Зважаючи на об’єми сучасних продуктів більшість розробників не знають досконально як працює вся інформаційна система, якою вони займаються. Для вирішення цього питання приходить різноманітна документація коду, яку, зазвичай, розробляють інженери, які займались ним. Зазвичай мова йде про різноманітні діаграми, які мовами розмітки на кшталт UML інженери створюють самі. Впровадження автоматичної системи генерації діаграм допоможе істотно прискорити процес розробки та підтримки продуктів та позитивно вплине на кінцевий результат. Об’єктом дослідження є алгоритми обходу абстрактного синтаксичного дерева(AST) згенерованого з вихідного коду C++ для автоматизованої генерації різноманітних діаграм мовою UML. Предметом дослідження є методи та технології обходу абстрактного синтаксичного дерева для автоматизованої генерації UML діаграм з вихідного коду C++. Метою роботи є детальний аналіз та розробка методу обходу AST для генерації різноманітних UML діаграм Наукова новизна полягає в автоматизованій генерації UML діаграм методом обходу абстрактного синтаксичного дерева з вихідного коду С++. Практична цінність отриманих робіт полягає в тому, що при розробці нового продукту, чи підтримці існуючого команда розробки буде мати можливість швидко автоматизувати дороговартісний по ресурсам процес документації проєкту, а саме її частину з діаграмами класів по поведінки, що дозволить зосередити більше ресурсів на розробку та пришвидшить ознайомлення нових людей з кодовою базою. Апробація роботи. Основні положення і результати роботи були представлені та обговорювались на XVІІ науковій конференції магістрантів та аспірантів «Прикладна математика та комп’ютинг» ПМК-2024 (Київ, 20-22 листопада 2024 р.), тези включені до дотатку А. Також вони були представлені на Х Міжнародній молодіжній науково-практичной інтернет-конференції «Наука і молодь в XXI сторіччі»(Полтава,28 листопада 2024р.), тези включені до додатку Б. Структура та обсяг роботи. Магістерська дисертація складається з вступу, 4 розділів та висновків. В додатку В предсталено презентацію, а в додатку Г – лістинг розробленого програмного забезпечення. У вступі подано обґрунтування актуальності теми, визначено об'єкт та предмет дослідження, сформульовано мету та завдання роботи, описано наукову новизну та практичну цінність отриманих результатів. У першому розділі зроблено оцінку важливості документування програмного коду, та проаналізовані існуючі способи для цього. У другому розділі проведено дослідження загальних молживостей UML діаграм та оглянуто інструменти для створення системи автоматичної генерації діаграм. У третьому розділі оглянуто структуру програмної системи, її модулі та алгоритми. У четвертому розділі розглянутий приклад генерації діаграм класів та поведінки У висновках представлені результати проведеної роботи. Работа представлена на 81 аркуші, містить 4 додатки та посилання на список використаних літературних джерел з 16 найменувань. У роботі наверено 8 рисунків та 6 таблиць Ключові слова: UML, абстрактне синтаксичне дерево, AST, C++, автоматична генерація діаграм, обход AST, документація програмного коду.
dc.description.abstractotherTopic relevance. Documenting software code is a critically important part of the process of developing and supporting a software product. Due to the rapid increase in the role of information technology in the modern world, the complexity and volume of software code in new and existing projects are constantly growing. Human resources and labor productivity are key factors in product development, which means that each participant must be able to quickly learn how a particular project module works to implement new functionality or debug an existing one. Given the volume of modern products, most developers do not know in detail how the entire information system they are working on works. To solve this issue, various code documentation comes into play, which is usually developed by engineers who worked on it. Usually, we are talking about various diagrams that engineers create themselves in markup languages such as UML. This takes up quite a lot of time for highly paid specialists, which they could spend on more priority tasks. The implementation of an automatic diagram generation system will help to significantly accelerate the process of product development and support and will positively affect the final result. The object of research is the algorithms for traversing the abstract syntax tree (AST) generated from the C++ source code for the automated generation of various diagrams in the UML language. The subject of the research is the methods and technologies for traversing the abstract syntax tree for the automated generation of UML diagrams from the C++ source code. The purpose of the work is a detailed analysis and development of the AST traversal method for the generation of various UML diagrams. The scientific novelty lies in the automated generation of UML diagrams by the method of traversing the abstract syntax tree from the C++ source code. The practical value of the work obtained is that when developing a new product or supporting an existing one, the development team will be able to quickly automate the resource-intensive process of project documentation, namely it's part with behavior class diagrams, which will allow more resources to be focused on the development and will speed up the familiarization of new people with the code base. Approbation of the work. The main provisions and results of the work were presented and discussed at the XVII Scientific Conference of Master's and PhD Students "Applied Mathematics and Computing" PMK-2024 (Kyiv, November 20-22, 2024), thesis was added to addition A. Also they were presented at the 10th International Youth Scientific and Practical Internet Conference "Science and Youth in the 21st Century" (Poltava, November 28, 2024), thesis was added to addition B. Structure and scope of the work. The master's thesis consists of an introduction, 4 sections, and conclusions. Addition C contains presentation and addition D contains source code. The introduction provides a justification for the relevance of the topic, defines the object and subject of the study, formulates the goal and objectives of the work, and describes the scientific novelty and practical value of the results obtained. The first section assesses the importance of documenting program code and analyzes existing methods for this. The second section studies the general capabilities of UML diagrams and reviews tools for creating a system for automatic diagram generation. The third section reviews the structure of the software system, its modules, and algorithms. The fourth section examines an example of generating class and behavior diagrams. The results of the work are analyzed in the conclusions The work is completed on 81 sheets, contains 4 appendices and links to the list of used literary sources from 16 titles. The work contains 8 figures and 6 tables. Keywords: UML, abstract syntax tree, AST, C++, automatic diagram generation, AST traversal, program code documentation.
dc.format.extent81 с.
dc.identifier.citationЦесля, А. Д. Автоматизована система генерування UML діаграм : магістерська дис. : 123 Комп'ютерна інженерія / Цесля Антон Дмитрович. – Київ, 2024. – 81 с.
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/71359
dc.language.isouk
dc.publisherКПІ ім. Ігоря Сікорського
dc.publisher.placeКиїв
dc.subjectUML
dc.subjectабстрактне синтаксичне дерево
dc.subjectAST
dc.subjectC++
dc.subjectавтоматична генерація діаграм
dc.subjectобход AST
dc.subjectдокументація програмного коду
dc.subjectabstract syntax tree
dc.subjectautomatic diagram generation
dc.subjectAST traversal
dc.subjectprogram code documentation.
dc.subject.udc004.415
dc.titleАвтоматизована система генерування UML діаграм
dc.typeMaster Thesis

Файли

Контейнер файлів
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
Tseslia_AD_KV32mp_magistr_2024.docx
Розмір:
652.95 KB
Формат:
Microsoft Word XML
Ліцензійна угода
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
license.txt
Розмір:
8.98 KB
Формат:
Item-specific license agreed upon to submission
Опис: