Details

Title: Автоматический анализ использования паттернов проектирования в программном коде: выпускная квалификационная работа бакалавра: направление 09.03.03 «Прикладная информатика» ; образовательная программа 09.03.03_03 «Прикладная информатика в области информационных ресурсов»
Creators: Зейтунян Георгий Иванович
Scientific adviser: Туральчук Константин Анатольевич
Other creators: Пархоменко Владимир Андреевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2020
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: паттерны проектирования; статический анализ; c#; roslyn; design patterns; static analysis
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.03
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-3101
Rights: Доступ по паролю из сети Интернет (чтение)
Record key: ru\spstu\vkr\8555

Allowed Actions:

Action 'Read' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Тема выпускной квалификационной работы: «Автоматический анализ использования паттернов проектирования в программном коде». В данной работе изложена сущность подхода к созданию программной системы для автоматического анализа использования паттернов проектирования в исходном программном коде. Рассмотрены методы решения указанной задачи. Проанализированы структуры идентифицируемых паттернов. Для обнаружения паттернов в коде применён статический анализ с использованием синтаксического дерева. В качестве технологий для создания решения были использованы язык программирования C# и пакет SDK для .NET Compiler Platform, более известный как Roslyn. Спроектирована и описана архитектура создаваемого проекта, позволяющая производить масштабирование и добавление новых алгоритмов для обнаружения паттернов проектирования. Реализована программная система, позволяющая автоматически анализировать использование паттернов проектирования Composite, Iterator, Observer, Prototype, Singleton и Template Method в объектно-ориентированном программном коде на языке C#. Созданное решение протестировано на тестовых данных, представленных исходным кодом активно применяемого на практике программного продукта.

The subject of the graduate qualification work is «Automatic analysis of the use of design patterns in program code». In the given work the essence of the approach to creation a software system for the automatic analysis of the use of design patterns in the source code is stated. The methods for solving the specified problem are reviewed. The structures of identifiable patterns are investigated. To detect patterns in the code, static analysis using a syntax tree is applied. C# programming language and the .NET Compiler Platform SDK, better known as Roslyn, were used as technologies for creating the solution. The architecture of the created project, which allows scaling and adding new algorithms to detect design patterns, is designed and described. A software system for automatically analysis of Composite, Iterator, Observer, Prototype, Singleton, and Template Method design patterns in the object - oriented program code in C# language is developed. The created solution was tested on test data provided by the source code of a software product actively used in practice.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read
Internet Authorized users SPbPU Read
-> Internet Anonymous

Table of Contents

  • ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
  • РАБОТА БАКАЛАВРА
  • САНКТ-ПЕТЕРБУРГСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ПЕТРА ВЕЛИКОГО
  • ЗАДАНИЕ
  • РЕФЕРАТ
  • ABSTRACT
  • СОДЕРЖАНИЕ
  • ВВЕДЕНИЕ
  • ГЛАВА 1. МЕТОДЫ ОБНАРУЖЕНИЯ ПАТТЕРНОВ ПРОЕКТИРОВАНИЯ
  • 1.1. Обзор работ, посвященных теме обнаружения паттернов проектирования в программном коде.
  • 1.2. Выводы
  • ГЛАВА 2. ПРИМЕНЕНИЕ СТАТИЧЕСКОГО АНАЛИЗА ДЛЯ АВТОМАТИЧЕСКОГО ВЫЯВЛЕНИЯ ИСПОЛЬЗОВАНИЯ ПАТТЕРНОВ ПРОЕКТИРОВАНИЯ В ИСХОДНОМ КОДЕ
  • 2.1. Выбор метода решения поставленной задачи
  • 2.2. Описание применения статического анализа для выявления паттернов проектирования в программном коде
  • 2.3. Описание признаков применения паттерна Composite в программном коде
  • 2.4. Описание признаков применения паттерна Iterator в программном коде
  • 2.5. Описание признаков применения паттерна Observer в программном коде
  • 2.6. Описание признаков применения паттерна Prototype в программном коде
  • 2.7. Описание признаков применения паттерна Singleton в программном коде
  • 2.8. Описание признаков применения паттерна Template Method в программном коде
  • 2.9. Выводы
  • ГЛАВА 3. РАЗРАБОТКА ПРОГРАММНОЙ СИСТЕМЫ ДЛЯ АВТОМАТИЧЕСКОГО АНАЛИЗА ИСПОЛЬЗОВАНИЯ ПАТТЕРНОВ ПРОЕКТИРОВАНИЯ В ПРОГРАММНОМ КОДЕ НА ЯЗЫКЕ С#
  • 3.1. Выбор инструментальных средств
  • 3.2. Особенности реализации паттернов проектирования на языке C#
  • 3.3. Архитектура программной системы для автоматического анализа использования паттернов проектирования в программном коде
  • 3.4. Выводы
  • ГЛАВА 4. ТЕСТИРОВАНИЕ РАЗРАБОТАННОГО ПРИЛОЖЕНИЯ
  • 4.1. Подготовка к тестированию
  • 4.2. Тестирование
  • 4.3. Выводы
  • ЗАКЛЮЧЕНИЕ
  • СЛОВАРЬ ТЕРМИНОВ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Usage statistics

stat Access count: 9
Last 30 days: 0
Detailed usage statistics