Вход

Разработка интерактивной платформы сбора и анализа данных об использовании фреймворков и библиотек

Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код 458018
Дата создания 2020
Страниц 44
Покупка готовых работ временно недоступна.
1 910руб.

Содержание

Введение 3
Глава 1. Обоснование необходимости разработки платформы 6
1.1 Основные сложности при изучении библиотек и фреймворков 6
1.2 Обзор аналогов 7
1.2.1 stackshare.io 7
1.2.2 mvnrepository.com 7
1.2.3 packagist.org 8
1.2.4 rubygems.org 9
1.2.5 android-arsenal.com 10
1.2.6 Итоги обзора 10
Глава 2. Проектирование платформы 11
2.1 Функциональность платформы 11
2.2 Проектирование интерфейса платформы 11
2.3 Архитектура платформы 14
2.4 Проектирование индекса Elasticsearch 16
2.5 Реляционная база данных 18
Глава 3. Разработка интерактивной платформы 20
3.1 Реализация пользовательского интерфейса 20
3.2 Модуль поиска проектов с открытым исходным кодом 23
3.3 Модуль поиска примеров использования библиотек и фреймворков 24
3.4 Модуль поиска метаданных библиотек и фреймворков 25
3.5 Модуль анализа документации библиотек и фреймворков 26
3.6 Модуль поиска обучающих статей 27
Глава 4. Особенности реализации модулей 28
4.1 Github API 28
4.2 Поиск репозиториев с проектами 29
4.3 API поиска примеров использования библиотек и фреймворков 33
4.4 Модуль анализа используемых технологий 34
4.5 Реализация модуля взаимодействия с API сервисов хранения проектов с открытым исходным кодом 36
4.6 Модуль анализа проектов, использующих пакетный менеджер Maven 38
Заключение 41
Список литературы 42
Приложение 44

Введение

На сегодняшний день сообщество разработчиков создало огромное количество программных продуктов, библиотек и фреймворков. Только в репозиториях maven насчитывается более 9-ти миллионов артефактов [1], которые упрощают разработку современному программисту. В начале разработки программного обеспечения или реализации дополнительного функционала к уже готовой системе, разработчик проводит обзор существующих технологий для конкретной предметной области. Эти технологии помогут ему реализовать программу быстрее, а также избежать часто допускаемые ошибки реализации, которые предусмотрены в них. Одновременно с этим, разработчик получит набор навыков, которые сможет использовать в дальнейшей работе. Когда опытный разработчик находит подходящую ему библиотеку, он начинает изучать документацию к ней. Если же документация оказывается недостаточно полной, а документации сгенерированной на основе стандарта документирования классов недостаточно, так как она не отражает взаимодействие между компонентами библиотеки, то разработчик начинает обращаться за помощью к сервисам, которые созданы сообществом. Программисты обращаются на следующие ресурсы:
1. reddit.com;
2. stackoverflow.com;
3. dzone.com;
4. github.com;
5. youtube.com;
Также русскоязычное сообщество используют следующие ресурсы:
1. habrahabr.ru;
2. tproger.ru;
3. proglib.io;
4. toster.ru;
Для более успешного применения библиотеки разработчик может провести обзор проектов с открытым исходным кодом, которые успешно используют эту библиотеку, и посмотреть примеры использования. Так, например, Github.com [2] предоставляет сервис поиска проектов по названию или по коду проекта.
Начинающий разработчик, из-за отсутствия знаний и опыта, проходит вышеописанные этапы медленнее, чем опытный. Это связано с тем, что большинство студентов, при решении каких-то задач, ищут обучающие материалы в популярных поисковых системах. На фильтрацию нерелевантных результатов поиска, составление правильного поискового запроса студенты тратят очень много времени, что сильно замедляет процесс обучения. Также студенты могут выбрать неподходящую для решения задачи технологию, что заставит произвести поиск еще раз. Еще одной проблемой является то, что студенты не умеют искать примеры использования технологии в реальных проектах. Это связано с тем, что ресурсы, такие как Github предоставляют интерфейс поиска, который слишком сложен, для них.
Интерактивная платформа, которая предоставляет поиск, подробную информацию о различных технологиях, совокупность различных статей, обучающих материалов с популярных блогов по разработке, а также показывает аналоги искомых технологий, уменьшит время, которое затрачивает студент на поиск обучающих материалов о библиотеках и фреймворках. Поиск, осуществляющийся по индексу, содержащему только информацию о библиотеках и фреймворках, поможет сократить количество нерелевантных результатов поиска. Примеры использования искомой технологии на реальных проектах с открытым исходным кодом помогут студентам найти лучшие практики использования этой технологии. Одновременно с этим платформа поможет студентам не ограничиваться одной технологией, а узнать аналогичные и изучить их. Создание такой платформы, которая не будет зависеть от конкретных технологий, и поможет студентам сократить время на изучение библиотек и фреймворков, благодаря автоматизированному
агрегированию учебных материалов к библиотекам и фреймворкам, а также представляет примеры использования из реальных проектов и будет главной целью данной работы.

Фрагмент работы для ознакомления

Дипломная работа выполнена по всем требованиям и защищена на "отлично".

Список литературы

1. Агрегатор артефактов с репозиториев Maven [Электронный ресурс]. Режим доступа: http://www.mvnrepository.com, свободный. – (Дата обращения: 18.05.2018).
2. Веб-сервис для хостинга IT-проектов и их совместной разработки. [Электронный ресурс]. – Режим доступа: http://www.github.com, свободный. – (Дата обращения: 21.05.2018).
3. Веб-сервис, ранжирующий инструменты для разработки по количеству использований. [Электронный ресурс]. – Режим доступа: http://www.stackshare.io, свободный. – (Дата обращения: 24.05.2018).
4. Веб-сервис для поиска инструментов разработки на языке Php. [Электронный ресурс]. – Режим доступа: http://www.packagist.com, свободный. – (Дата обращения: 24.05.2018).
5. Веб-сервис для поиска инструментов разработки на языке Ruby. [Электронный ресурс]. – Режим доступа: https://www.rubygems.org, свободный. – (Дата обращения: 24.05.2018).
6. Веб-сервис для поиска готовых решений для разработки под Android. [Электронный ресурс]. – Режим доступа: https://www.android-arsenal.com , свободный. – (Дата обращения: 24.05.2018).
7. Инструмент проектирования пользовательского интерфейса. [Электронный ресурс]. – Режим доступа: https://www.balsamiq.com, свободный. – (Дата обращения: 29.05.2018).
8. Java библиотека для генерации текстового вывода данных. [Электронный ресурс]. – Режим доступа: https://www.freemarker.apache.org, свободный. – (Дата обращения: 29.05.2018).
9. Библиотека компонентов для упрощенного дизайна. [Электронный ресурс]. – Режим доступа: https://www.materializecss.com, свободный. – (Дата обращения: 29.05.2018).
10. Рекомендации и принципы хорошего дизайна. [Электронный ресурс]. – Режим доступа: https://www.material.io/design/introduction/#principles, свободный. – (Дата обращения: 29.05.2018).
11. Рекомендации по использованию компонента chips. [Электронный ресурс]. – Режим доступа: https://www.material.io/design/components/chips.html#usage, свободный. – (Дата обращения: 29.05.2018).
12. Маннинг, К.Д. Введение в информационный поиск/К.Д.Маннинг.- М.: Вильямс, 2011.- 42 с.
13. Квота аутентификации клиентов Github API. [Электронный ресурс]. – Режим доступа: https://www.developer.github.com/v3/, свободный. – (Дата обращения: 29.05.2018).
14. Инструкция по API поиска репозиториев. [Электронный ресурс]. – Режим доступа: https://www.developer.github.com/v3/search/, свободный. – (Дата обращения: 29.05.2018).
15. Спецификация REST. [Электронный ресурс]. – Режим доступа: https://www.restapitutorial.com, свободный. – (Дата обращения: 29.05.2018).
16. Elasticsearch. [Электронный ресурс]. – Режим доступа: https://elastic.co/products/elasticsearch, свободный. – (Дата обращения: 29.05.2018).
17. The Porter stemming algorithm. [Электронный ресурс]. – Режим доступа: https://eprints.whiterose.ac.uk/1434/, свободный. – (Дата обращения: 29.05.2018).
Очень похожие работы
Найти ещё больше
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00477
© Рефератбанк, 2002 - 2024