Спасибо Вам за работу!
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
СОДЕРЖАНИЕ
Введение 7
1 Анализ предметной области и постановка задачи 8
1.1 Анализ предметной области 8
1.2 Анализ средств разработки 15
1.3 Техническое предложение 16
2 Проектирование системы 17
2.1 Определение источников, способов доступа и форматов входных данных 17
2.2 Разработка структуры базы данных 19
2.3 Разработка алгоритма поиска и сравнение информации по комплектующим
с имеющимися в базе, актуализации данных в базе 25
3 Реализация системы 27
3.1 Разработка интерфейса пользователя системы 27
3.2 Кодирование программных компонентов 28
3.3 Наполнение базы данными 39
3.4 Защита информации в системе 51
3.5 Оформление пользовательской документации 52
4 Функциональное и нагрузочное тестирование, апробация решения 54
Заключение 57
Список использованных источников 58
Приложения 59
1.1 Анализ предметной области
Для сборки конфигурации ПК необходимо точно понимать, каковы характеристики у каждого компонента, но не все дистрибьютеры предоставляют достоверную информацию. В результате возникает необходимость сверять характеристики, указанные продавцом, с характеристиками компонента с сайта производителя. Также необходимо проверять совместимость устройств между собой для достижения сбалансированности системы.
Таким образом, в ходе выполнения ВКР необходимо разработать приложение для решения следующих задач:
1. Сравнение характеристик компонентов с данными сайта производителя.
2. Синхронизация комплектующих между собой.
В настоящий момент у многих интернет магазинов есть специальные средства подбора комплектующих - конфигураторы, но они решат только одну из поставленных задач.
Рассмотрим существующие решения.
1. Конфигуратор магазина Ситилинк - https://www.citilink.
...
1.2 Анализ средств разработки
В качестве языка программирования мною использован Java. Java - строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Разработка ведётся сообществом, организованным через Java Community Process, язык и основные реализующие его технологии распространяются по лицензии GPL.
Изначально язык назывался Oak, но из-за того, что язык с таким названием уже существовал, продукт вскоре был переименован в честь марки кофе Java.
Java с середины 90-х годов 20 века стал широко использоваться для написания клиент - серверных приложений. Основной особенностью языка является кроссплатформенность, программы транслируются в байт-код, который в свою очередь, выполняется виртуальной машиной Java (JVM) – которая обрабатывает байт код и передает инструкции оборудованию.
Приложение разрабатывалось в среде разработки IDEA.
...
2.1 Определение источников, способов доступа и форматов входных данных
Для определения характеристик комплектующих персонального компьютера воспользуемся сайтом E-Katalog [1]. Сайт предоставляет сервис для поиска товаров в различных интернет-магазинах. К системе E-Katalog подключено более 1000 магазинов, данные которых периодически обновляются, таким образом, облегчается задача по написанию парсеров для заполнения базы данных. Интерфейс сайта изображен на рисунке 7.
Рисунок 7 - Интерфейс сайта E-Kataog с характеристиками процессора
Способ доступа и взаимодействия с данным сервисом - возможно только взаимодействие посредством web-интерфейса, сайт не предоставляет готовых таблиц в формате (*.xml, *.xlsx) или API для работы с его ресурсами. Таким образом, информацию о компонентах возможно получить только при распарсивании страницы, в результате будет получено строковое представление о наименовании производителя, компонента и его характеристиках.
...
2.2 Разработка структуры базы данных
Для хранения типа, названия и характеристик комплектующих в проектируемом приложении будет использоваться СУБД MySQL компании ORACLE. Для управления БД используется Workbench.
При создании таблиц будет использоваться нормализация таблиц с использованием первых 3-х форм.
Что бы уменьшить нагрузку на сеть и минимизировать потери информации при парсинге, все таблицы компонентов создаются в двух экземплярах.
Для хранения проверенных характеристик комплектующих потребуются следующие таблицы:
- ЦП;
- материнская плата;
- оперативная память;
- видеокарта;
- блок питания;
- жесткий диск;
- твердотельный диск.
Также при нормализации образовались следующие таблицы:
- производители;
- чипсеты;
- тип памяти;
- сокеты ЦП;
- серия ЦП;
- графический процессор.
Теперь добавим в базу данных таблицы с полями, соответствующими характеристикам компонента.
...
2.3 Разработка алгоритма поиска и сравнения информации по комплектующим с имеющимися в базе, актуализации данных в базе
Алгоритм для поиска информации заключается в распарсивании html страницы и получении нужной информации из блоков и тегов. Что бы упросить задачу и не перебирать полученную html страницу построчно, для поиска нужных тегов используется библиотека Jsoup.
Jsoup представляет из себя библиотеку с открытым исходным кодом, она выполняет следующие функции: анализ, извлечение и обработка данных из html документа. Что бы при сравнении не зависеть от сайтов производителей компонентов и сайта E-Katalog, операции произведём в несколько этапов. Сначала соберем нужную информацию и запишем в базу данных, а потом ее сравним.
При сравнении компонентов основываемся на том, что сайт производителя предоставляет верную и актуальную информацию.
...
3.1 Разработка интерфейса пользователя системы
Интерфейс пользователя может быть выполнен в нескольких вариантах, т.к. Java широко используется в области web-приложений. Огромное количество RESTful сервисов было создано с использованием Spring MVC, Struts 2.0 и похожих фреймворков. Даже простейшие приложения, основанные на Servlet, JSP и Struts, достаточно популярны в различных государственных проектах. Поэтому реализация приложения будет выполнена с упором на клиент-серверное взаимодействие.
Из этого следует, что первым из вариантов взаимодействия с пользователем будет web-интерфейс, который отправляет запросы по протоколу HTTP. Вторым способом является работа с приложением через консоль.
На данном этапе разработки выполнена реализация через консоль. Приложение принимает строку с названием компонента, набором его характеристик и их значениями.
...
3.2 Кодирование программных компонентов
Написание программы производилась с использованием среды разработки IntelliJ IDEA. Первоначально был написан парсер строки, он разбивает строку на компонент и параметры. Для создания запроса необходимо, чтобы каждый параметр содержал корректные значения, а также необходима проверка на принадлежность параметра к заданному компоненту.
За основу для определения названий компонентов и их параметров созданы классы перечисления ComponentPC, Parameter.
Класс ComponentPC содержит константы, соответствующие названию компонента, которые должен вводить пользователь в консоли. Каждая константа содержит переменную с названием таблицы в базе данных.
Класс Parameter содержит константы, соответствующие названию параметров, которые должен указывать пользователь в запросе. Каждая константа содержит переменную с названием столбца таблицы.
Пример кода класса компонент указана на рисунке 18, а класса параметры на рисунке 19.
...
3.3 Наполнение базы данными
Наполнение базы данных возможно несколькими вариантами.
Рассмотрим способ добавления компонентов в базу данных на примере таблицы с центральными процессорами, с помощью формирования запроса в ручном режиме. Для формирования и отправки запроса можно использовать встроенную в IDE консоль для отправки SQL запросов или иcпользовать MySQL Workbench — инструмент для визуального проектирования баз данных. Структура запроса будет выглядеть одинаково, пример запроса приведён на рисунке 31.
Рисунок 31 - SQL запрос на добавление процессора Intel i5-9600
Хотя такое внесение данных возможно, оно актуально только при записи в базу небольшого количества данных.
Для заполнения таблицы написан парсер, представляющий собой набор классов для получения информации с web-страницы.
Чтобы осуществить сбор информации со страницы, необходимо получить ее адрес. Для осуществления этой функциональности создан класс СomponentURLParser.
...
3.4 Защита информации в системе
Создаваемая в рамках ВКР система предназначена для работы с общедоступной информацией, производная информация не представляет существенной дополнительной ценности для возможных конкурентов, следовательно, обеспечение её конфиденциальности не требуется. Защитные меры ограничиваются обеспечением целостности и доступности информации.
Для заполнения базы данных использовалась информация из открытых источников, поэтому необходимо следить за источниками для получения достоверной информации.
Целостность полученной информации обеспечивают штатные средства СУБД. В системе MySQL предусмотрен определенный механизм ограничений первичных и внешних ключей в целях поддержки целостности данных. Столбцы могут быть объявлены таким образом, чтобы сделать ввод значений NULL недопустимым.
...
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Сервис поиска товаров в интернет-магазинах [Электронный ресурс]: офиц. сайт. – Режим доступа: https://www.e-katalog.ru/
2. Все процессоры, содержащиеся на сайте e-katalog.ru[Электронный ресурс]: офиц. сайт. – Режим доступа: https://www.e-katalog.ru/list/186/
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
СОДЕРЖАНИЕ
Введение 7
1 Анализ предметной области и постановка задачи 8
1.1 Анализ предметной области 8
1.2 Анализ средств разработки 15
1.3 Техническое предложение 16
2 Проектирование системы 17
2.1 Определение источников, способов доступа и форматов входных данных 17
2.2 Разработка структуры базы данных 19
2.3 Разработка алгоритма поиска и сравнение информации по комплектующим
с имеющимися в базе, актуализации данных в базе 25
3 Реализация системы 27
3.1 Разработка интерфейса пользователя системы 27
3.2 Кодирование программных компонентов 28
3.3 Наполнение базы данными 39
3.4 Защита информации в системе 51
3.5 Оформление пользовательской документации 52
4 Функциональное и нагрузочное тестирование, апробация решения 54
Заключение 57
Список использованных источников 58
Приложения 59
1.1 Анализ предметной области
Для сборки конфигурации ПК необходимо точно понимать, каковы характеристики у каждого компонента, но не все дистрибьютеры предоставляют достоверную информацию. В результате возникает необходимость сверять характеристики, указанные продавцом, с характеристиками компонента с сайта производителя. Также необходимо проверять совместимость устройств между собой для достижения сбалансированности системы.
Таким образом, в ходе выполнения ВКР необходимо разработать приложение для решения следующих задач:
1. Сравнение характеристик компонентов с данными сайта производителя.
2. Синхронизация комплектующих между собой.
В настоящий момент у многих интернет магазинов есть специальные средства подбора комплектующих - конфигураторы, но они решат только одну из поставленных задач.
Рассмотрим существующие решения.
1. Конфигуратор магазина Ситилинк - https://www.citilink.
...
1.2 Анализ средств разработки
В качестве языка программирования мною использован Java. Java - строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Разработка ведётся сообществом, организованным через Java Community Process, язык и основные реализующие его технологии распространяются по лицензии GPL.
Изначально язык назывался Oak, но из-за того, что язык с таким названием уже существовал, продукт вскоре был переименован в честь марки кофе Java.
Java с середины 90-х годов 20 века стал широко использоваться для написания клиент - серверных приложений. Основной особенностью языка является кроссплатформенность, программы транслируются в байт-код, который в свою очередь, выполняется виртуальной машиной Java (JVM) – которая обрабатывает байт код и передает инструкции оборудованию.
Приложение разрабатывалось в среде разработки IDEA.
...
2.1 Определение источников, способов доступа и форматов входных данных
Для определения характеристик комплектующих персонального компьютера воспользуемся сайтом E-Katalog [1]. Сайт предоставляет сервис для поиска товаров в различных интернет-магазинах. К системе E-Katalog подключено более 1000 магазинов, данные которых периодически обновляются, таким образом, облегчается задача по написанию парсеров для заполнения базы данных. Интерфейс сайта изображен на рисунке 7.
Рисунок 7 - Интерфейс сайта E-Kataog с характеристиками процессора
Способ доступа и взаимодействия с данным сервисом - возможно только взаимодействие посредством web-интерфейса, сайт не предоставляет готовых таблиц в формате (*.xml, *.xlsx) или API для работы с его ресурсами. Таким образом, информацию о компонентах возможно получить только при распарсивании страницы, в результате будет получено строковое представление о наименовании производителя, компонента и его характеристиках.
...
2.2 Разработка структуры базы данных
Для хранения типа, названия и характеристик комплектующих в проектируемом приложении будет использоваться СУБД MySQL компании ORACLE. Для управления БД используется Workbench.
При создании таблиц будет использоваться нормализация таблиц с использованием первых 3-х форм.
Что бы уменьшить нагрузку на сеть и минимизировать потери информации при парсинге, все таблицы компонентов создаются в двух экземплярах.
Для хранения проверенных характеристик комплектующих потребуются следующие таблицы:
- ЦП;
- материнская плата;
- оперативная память;
- видеокарта;
- блок питания;
- жесткий диск;
- твердотельный диск.
Также при нормализации образовались следующие таблицы:
- производители;
- чипсеты;
- тип памяти;
- сокеты ЦП;
- серия ЦП;
- графический процессор.
Теперь добавим в базу данных таблицы с полями, соответствующими характеристикам компонента.
...
2.3 Разработка алгоритма поиска и сравнения информации по комплектующим с имеющимися в базе, актуализации данных в базе
Алгоритм для поиска информации заключается в распарсивании html страницы и получении нужной информации из блоков и тегов. Что бы упросить задачу и не перебирать полученную html страницу построчно, для поиска нужных тегов используется библиотека Jsoup.
Jsoup представляет из себя библиотеку с открытым исходным кодом, она выполняет следующие функции: анализ, извлечение и обработка данных из html документа. Что бы при сравнении не зависеть от сайтов производителей компонентов и сайта E-Katalog, операции произведём в несколько этапов. Сначала соберем нужную информацию и запишем в базу данных, а потом ее сравним.
При сравнении компонентов основываемся на том, что сайт производителя предоставляет верную и актуальную информацию.
...
3.1 Разработка интерфейса пользователя системы
Интерфейс пользователя может быть выполнен в нескольких вариантах, т.к. Java широко используется в области web-приложений. Огромное количество RESTful сервисов было создано с использованием Spring MVC, Struts 2.0 и похожих фреймворков. Даже простейшие приложения, основанные на Servlet, JSP и Struts, достаточно популярны в различных государственных проектах. Поэтому реализация приложения будет выполнена с упором на клиент-серверное взаимодействие.
Из этого следует, что первым из вариантов взаимодействия с пользователем будет web-интерфейс, который отправляет запросы по протоколу HTTP. Вторым способом является работа с приложением через консоль.
На данном этапе разработки выполнена реализация через консоль. Приложение принимает строку с названием компонента, набором его характеристик и их значениями.
...
3.2 Кодирование программных компонентов
Написание программы производилась с использованием среды разработки IntelliJ IDEA. Первоначально был написан парсер строки, он разбивает строку на компонент и параметры. Для создания запроса необходимо, чтобы каждый параметр содержал корректные значения, а также необходима проверка на принадлежность параметра к заданному компоненту.
За основу для определения названий компонентов и их параметров созданы классы перечисления ComponentPC, Parameter.
Класс ComponentPC содержит константы, соответствующие названию компонента, которые должен вводить пользователь в консоли. Каждая константа содержит переменную с названием таблицы в базе данных.
Класс Parameter содержит константы, соответствующие названию параметров, которые должен указывать пользователь в запросе. Каждая константа содержит переменную с названием столбца таблицы.
Пример кода класса компонент указана на рисунке 18, а класса параметры на рисунке 19.
...
3.3 Наполнение базы данными
Наполнение базы данных возможно несколькими вариантами.
Рассмотрим способ добавления компонентов в базу данных на примере таблицы с центральными процессорами, с помощью формирования запроса в ручном режиме. Для формирования и отправки запроса можно использовать встроенную в IDE консоль для отправки SQL запросов или иcпользовать MySQL Workbench — инструмент для визуального проектирования баз данных. Структура запроса будет выглядеть одинаково, пример запроса приведён на рисунке 31.
Рисунок 31 - SQL запрос на добавление процессора Intel i5-9600
Хотя такое внесение данных возможно, оно актуально только при записи в базу небольшого количества данных.
Для заполнения таблицы написан парсер, представляющий собой набор классов для получения информации с web-страницы.
Чтобы осуществить сбор информации со страницы, необходимо получить ее адрес. Для осуществления этой функциональности создан класс СomponentURLParser.
...
3.4 Защита информации в системе
Создаваемая в рамках ВКР система предназначена для работы с общедоступной информацией, производная информация не представляет существенной дополнительной ценности для возможных конкурентов, следовательно, обеспечение её конфиденциальности не требуется. Защитные меры ограничиваются обеспечением целостности и доступности информации.
Для заполнения базы данных использовалась информация из открытых источников, поэтому необходимо следить за источниками для получения достоверной информации.
Целостность полученной информации обеспечивают штатные средства СУБД. В системе MySQL предусмотрен определенный механизм ограничений первичных и внешних ключей в целях поддержки целостности данных. Столбцы могут быть объявлены таким образом, чтобы сделать ввод значений NULL недопустимым.
...
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Сервис поиска товаров в интернет-магазинах [Электронный ресурс]: офиц. сайт. – Режим доступа: https://www.e-katalog.ru/
2. Все процессоры, содержащиеся на сайте e-katalog.ru[Электронный ресурс]: офиц. сайт. – Режим доступа: https://www.e-katalog.ru/list/186/
Купить эту работу vs Заказать новую | ||
---|---|---|
1 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
850 ₽ | Цена | от 3000 ₽ |
Не подошла эта работа?
В нашей базе 55690 Дипломных работ — поможем найти подходящую