Тема: ИССЛЕДОВАНИЕ И ПРОГРАММНАЯ РЕАЛИЗАЦИЯ МЕТОДА ОПРЕДЕЛЕНИЯ ПАТТЕРНОВ ПРОЕКТИРОВАНИЯ ДЛЯ ИСХОДНОГО КОДА НА ЯЗЫКЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ГЛАВА 1. ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ 5
1.1 ОПРЕДЕЛЕНИЕ ПАТТЕРНА ПРОЕКТИРОВАНИЯ 5
1.2. МЕТОДЫ ПОИСКА ПАТТЕРНОВ ПРОЕКТИРОВАНИЯ 9
ГЛАВА 2. ЗАДАЧА ПОИСКА ПАТТЕРНОВ ПРОЕКТИРОВАНИЯ... 18
2.1. ФОРМАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ 18
2.2. МЕТОДЫ И АЛГОРИТМЫ РЕШЕНИЯ 19
ГЛАВА 3. ПРОЕКТИРОВАНИЕ И ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
ПРИЛОЖЕНИЯ 28
3.1. АРХИТЕКТУРА ПРИЛОЖЕНИЯ 28
3.2. ФОРМИРОВАНИЕ НАБОРА ПРОЕКТОВ 30
3.3. ПРОЕКТИРОВАНИЕ ПАРСЕРА 32
3.4. МОДЕЛЬ ДАННЫХ 36
3.5 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 37
ЗАКЛЮЧЕНИЕ 39
СПИСОК ЛИТЕРАТУРЫ 40
ПРИЛОЖЕНИЕ. КОНСТРУИРОВАНИЕ ДЕРЕВА ВО ВНЕШНЕМ
ПАРСЕРЕ 42
📖 Введение
Однако, несмотря на все разнообразие программ, сложились часто используемые конструкции кода, шаблоны, идиомы и принципы разработки. Они помогают ускорить командную разработку программного обеспечения (ПО), быстро решать часто возникающие задачи проектирования ПО, возникающие в процессе разработки, а также делать код более читаемым и расширяемым. Кроме «полезных» конструкций также существуют и другие шаблоны, отрицательно влияющие на разработку.
Все подобные конструкции называют паттернами проектирования [1]. Зачастую знание определенных паттернов проектирования считается обязательным для квалифицированного разработчика, ведь их знание и правильное использование позволяет достичь более качественного кода .
Среди паттернов есть те, которые хорошо описаны, как, например, паттерны проектирования по GoF'у [1], а есть те, которые наоборот не имеют конкретного описания, однако используются тоже часто.
Идея данной работы состоит в том, чтобы на основе анализа исходных кодов набора проектов находить часто используемые конструкции кода, которые являются известными или, наоборот, неизвестными паттернами.
Цель работы - разработать программный продукт для выявления паттернов проектирования на основе исходного кода одного или нескольких проектов, написанных на объектно-ориентированных языках
программирования.
Для достижения данной цели были поставлены следующие задачи:
• Изучить существующие методы и подходы для анализа кода на наличие паттернов проектирования.
• Реализовать парсер для извлечения признаков, описывающих паттерны, и для создания структуры данных для их хранения.
• Разработать и реализовать алгоритмы для анализа паттернов.
• Разработать и протестировать программный продукт для анализа кода на паттерны проектирования.
✅ Заключение
В ходе работы был реализован метод поиска паттернов на основе анализа синтаксических деревьев на наличие повторяющихся конструкций, которые могут являться не именованными паттернами. Результат достигнут трансформацией синтаксического дерева в дерево описания паттернов, содержащее необходимую информацию для описания структуры проектов. Данный метод работает вне зависимости от языка программирования и позволяет применять его к любому языку, если для него реализован соответствующий парсер.
В дальнейшем этот метод можно расширить, добавив новые алгоритмы для работы с деревьями паттернов, а также увеличив информативность этих деревьев.





