Тип работы:
Предмет:
Язык работы:


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

Работа №47785

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы55
Год сдачи2018
Стоимость4210 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
158
Не подходит работа?

Узнай цену на написание


Введение 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
Приложение


На сегодняшний день сообщество разработчиков создало огромное количество программных продуктов, библиотек и фреймворков. Только в репозиториях 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 предоставляют интерфейс поиска, который слишком сложен, для них.
Интерактивная платформа, которая предоставляет поиск, подробную информацию о различных технологиях, совокупность различных статей, обучающих материалов с популярных блогов по разработке, а также показывает аналоги искомых технологий, уменьшит время, которое затрачивает студент на поиск обучающих материалов о библиотеках и фреймворках. Поиск, осуществляющийся по индексу, содержащему только информацию о библиотеках и фреймворках, поможет сократить количество нерелевантных результатов поиска. Примеры использования искомой технологии на реальных проектах с открытым исходным кодом помогут студентам найти лучшие практики использования этой технологии. Одновременно с этим платформа поможет студентам не ограничиваться одной технологией, а узнать аналогичные и изучить их. Создание такой платформы, которая не будет зависеть от конкретных технологий, и поможет студентам сократить время на изучение библиотек и фреймворков, благодаря автоматизированному
агрегированию учебных материалов к библиотекам и фреймворкам, а также представляет примеры использования из реальных проектов и будет главной целью данной работы.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате выполнения дипломной работы были разработаны и спроектированы архитектура и абстракции для интерактивной платформы сбора и анализа данных об использовании фреймворков и библиотек, позволяющая сократить время на поиск учебных материалов по технологиям, путем агрегации учебных статей с популярных источников, упрощающая поиск технологий для решения различных задач, мотивирует студента изучать технологии, смежные с искомой.
В процессе выполнения дипломной работы были решены следующие задачи:
1. Собрана и проанализирована информации об основных трудностях, которые возникают у студентов при поиске различных технологий и обучающих материалов к ним;
2. Спроектирована архитектура платформы;
3. Спроектированы следующие модули платформы:
a. поиска технологий;
b. сбора метаданных о технологии;
c. агрегации обучающих материалов;
d. поиска проектов, использующих технологию;
e. поиска примеров использования технологии в проектах с открытым исходным кодом;
f. анализа документации библиотек и фреймворков:
g. поиска технологий;



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).


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ