Details

Title Разработка компаратора для анализа архитектурной документации программных систем: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Development of a comparator for the analysis of software systems architecture documentation
Creators Смирникова Лилиана Егоровна
Scientific adviser Юсупова Ольга Андреевна
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects архитектурная документация ; промежуточное представление ; компаратор ; сравнение архитектурных представлений ; программные системы ; architectural documentation ; intermediate representation ; comparator ; architectural representation comparison ; software systems
Document type Bachelor graduation qualification work
Language Russian
Level of education Bachelor
Speciality code (FGOS) 09.03.04
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2026/vr/vr26-2735
Rights Доступ по паролю из сети Интернет (чтение, печать)
Additionally New arrival
Record key ru\spstu\vkr\42621
Record create date 8/21/2026

Allowed Actions

Action 'Read' will be available if administrator prepare required files

Group Anonymous
Network Internet

Данная работа посвящена разработке программного средства – компаратора, предназначенного для сравнения разнородных архитектурных представлений, предварительно приведенных к единому промежуточному представлению. Задачи, которые решались в ходе исследования: 1. Провести анализ предметной области и существующих решений. 2. Сформулировать требования к компаратору и входным данным. 3. Разработать метод сравнения архитектурных моделей на основе промежуточного представления. 4. Реализовать компаратор, обеспечивающий сопоставление архитектурных сущностей, сравнение их характеристик и отношений, нечёткое сопоставление, а также учёт косвенных связей. 5. Провести валидацию компаратора на тестовых сценариях. Работа выполнена на базе проекта «Анализ архитектурной документации (NMS)» в лаборатории «Технологии программирования Yadro-Политех», где был накоплен и предоставлен фактический материал: модели промежуточного представления, реализации парсеров архитектурных представлений и наработки по попарному сравнению архитектурных представлений. Разработанный компаратор интегрирован в проект NMS как модуль, выполняющий сопоставление архитектурных представлений. В результате разработан компаратор, формирующий результаты сравнения в виде машиночитаемого JSON-отчёта и человекочитаемого HTML-отчёта. Валидация выполнена на трёх тестовых сценариях: сравнение C4- и PlantUML-диаграмм, C4-диаграммы со структурой проекта, а также PlantUML-диаграмм с исходным кодом Go. Полученные результаты показали, что компаратор позволяет выявлять совпадения и расхождения между архитектурными представлениями и может использоваться как вспомогательное средство архитектурного контроля. Для достижения данных результатов в работе были использованы следующие технологии: язык программирования Python 3, библиотеки Pydantic, python-Levenshtein, PyYAML; система контроля версий GitLab; инструменты тестирования pytest.

The given work is devoted to the development of a software tool – a comparator designed for comparison of heterogeneous architectural views previously converted to a unified intermediate representation. The research set the following goals: 1. To analyze the problem domain and existing solutions. 2. To formulate requirements for the comparator and input data. 3. To develop a method for comparing architectural models based on the intermediate representation. 4. To implement a comparator capable of matching architectural entities, comparing their characteristics and relationships, performing fuzzy matching, and accounting for indirect relationships. 5. To validate the comparator using test scenarios. The work was carried out based on the project «Architecture documentation analysis (NMS)» at the laboratory «Yadro-Polytech programming technologies», where the factual material was accumulated and provided: intermediate representation models, implementations of parsers for architectural views, and prior work on pairwise comparison of architectural views. The developed comparator was integrated into the NMS project as a module performing comparison of architectural views. The study resulted in a comparator that produces comparison results in the form of a machine-readable JSON report and a human-readable HTML report. Validation was performed on three test scenarios: comparison of C4 and PlantUML diagrams, comparison of a C4 diagram with the project structure, and comparison of PlantUML diagrams with Go source code. The obtained results demonstrated that the comparator is capable of detecting matches and discrepancies between architectural views and can be used as an auxiliary tool for architecture control. The following technologies were used to achieve these results: Python 3 programming language, Pydantic, python-Levenshtein, and PyYAML libraries; GitLab version control system; pytest testing framework.

Network User group Action
ILC SPbPU Local Network All
Internet Authorized users SPbPU
Internet Anonymous
...