Автор молодец, просто работа не нужна больше
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
ВВЕДЕНИЕ 3
1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ 5
1.1. Выбор языка программирования и среды разработки 5
1.2. Особенности операционной системы Android 8
1.3. Общая схема работы Android приложения 9
1.4. Хранение данных 10
1.5. Применение QR кода 11
1.6. Электронная цифровая подпись. Схема ЭЦП на основе алгоритма RSA и функции хеширования SHA256 12
1.7. Постановка задачи 16
2. РЕАЛИЗАЦИЯ ПРИЛОЖЕНИЯ 18
2.1. Серверная часть приложения 18
2.2. Клиентская часть приложения 24
2.3. Клиент – серверное взаимодействие приложения 28
ЗАКЛЮЧЕНИЕ 31
СПИСОК ЛИТЕРАТУРЫ 32
ПРИЛОЖЕНИЕ 34
1.1. Выбор языка программирования и среды разработки
Java – широко используемый язык программирования, разработанный специально для использования в сети Интернет. Язык Java активно используется для создания мобильных приложений под операционную систему Android, также он является самым популярным для устройств и интернет-технологий.
Программы, созданные на Java, предполагают переносимость в сети. Исходный код скомпилирован в то, что Java программисты называют - байт- код, который можно запускать в любом месте сети на сервере или клиенте с виртуальной машиной Java (JVM). JVM интерпретирует байт-код в код, который будет работать на компьютерном оборудовании. JVM включает в себя необязательный компилятор Just-in-time (JIT), который динамически компилирует байткод в исполняемый код в качестве альтернативы интерпретации одной инструкции байт-кода за раз. Во многих случаях динамическая компиляция JIT быстрее, чем интерпретация виртуальной машины.
...
1.2. Особенности операционной системы Android
Операционная система Android, по сравнению с iOS или OS Windows, является достаточно своеобразной. Поэтому для получения поставленного результата разработчик непременно должен иметь представление об основных особенностях и своеобразных функциях, присущих данной операционной системе. Нетрудно догадаться, что в процессе разработки возникают сложности и препятствия, которые необходимо учитывать для получения поставленных целей.
...
1.3. Общая схема работы Android приложения
В своей работе приложение Android аналогично Windows использует окна, которые называются в Android разработке как Activity. Каждая Activity как компонент визуального интерфейса пользователя в свою очередь имеет свои особенности и жизненный цикл.
Основные методы класса Activity, характеризующие его жизненный
цикл:
▪ onCreate(), вызывающийся при создании нового окна (Activity) и в котором происходит инициализация компонентов приложения,
▪ onStart(), вызывающийся перед отображением окна в момент его создания,
▪ onResume(), вызывающийся при восстановлении данного Activity, то есть в момент открытия свернутого приложения,
▪ onPause() и onStop(), вызывающиеся при сворачивании активного окна,
▪ При закрытии приложения и очистке его из кеша мобильного устройства вызывается метод onDestroy().
1.4.
...
1.4. Хранение данных
Для управления базой данных была выбрана свободная объектно- реляционная СУБД (система управления базами данных) PostgreSQL.
Одной из сильных сторон PostgreSQL является ее архитектура. Как и многие СУБД, которые позиционируются как коммерческие, PostgreSQL может применяться в реализации архитектуры клиент-сервер, что дает массу преимуществ как программистам, так и конечным пользователям
Основа PostgreSQL составляет серверный процесс базы данных. Он выполняется на одном сервере.
Доступ из приложений к данным базы осуществляется посредством процесса базы данных. Клиентские программы могут получить доступ к данным только через сервер и не могут получить его напрямую, не отправив запрос на сервер.
Рис. 1.4. Работа стандартного приложения PostgreSQL
Такое разделение клиентов и сервера позволяет построить распределенную систему. Можно отделить клиентов от сервера посредством
сети и разрабатывать клиентские приложения в среде, удобной для пользователя.
...
1.5. Применение QR кода
QR-код (англ. Quick Response Code — код быстрого реагирования; сокр. QR code) — товарный знак для типа матричных штрихкодов (или двумерных штрихкодов), изначально разработанных для автомобильной промышленности Японии. Штрихкод — считываемая машиной оптическая метка, содержащая информацию об объекте, к которому она привязана. QR-код использует четыре стандартизированных режима кодирования (числовой, буквенно-цифровой, двоичный и кандзи) для эффективного хранения данных.
Рис. 1.5. Пример QR кода сайта Wikipedia.org
В отличие от старого штрихкода, который сканируют тонким лучом, QR-код определяется сенсором или камерой смартфона как двумерное изображение. Основное достоинство QR-кода — это лёгкое распознавание сканирующим оборудованием, что дает возможность использования в торговле, производстве, логистике.
1.6. Электронная цифровая подпись.
...
1.7. Постановка задачи
Целью данной работы является разработка клиент-серверного приложения для создания и распознавания QR кода с электронной цифровой подписью при использовании современных популярных фреймворков (Maven, Spring) для отображения информации о сотрудниках компании, которая подгружается посредством подключения к базе данных PostgreSQL.
Клиент реализуется как мобильное приложение на платформе Android OS, а сервер в свою очередь организован на локальном персональном компьютере. Сервер отвечает за прием запросов от клиента, в которых клиент спрашивает, достоверна ли подпись, распознанная им через QR код, а также за отправку запросов-ответов клиенту с информацией о сотруднике в случае подлинности цифровой подписи.
Для достижения этих целей предполагается целесообразным решить следующие задачи:
1. Рассмотреть и изучить синтаксис языка программирования Java SE, их технические возможности
2.
...
2.1. Серверная часть приложения
Как уже говорилось ранее, серверная часть данного приложения рассчитана на добавление информации о сотруднике в базу данных, а также на создание QR кода с уникальным идентификатором сотрудника и электронной цифровой подписью этого идентификатора. Рассмотрим непосредственно работу сервера.
Для удобства работы разработчика на сервере инструментами из стандартной библиотеки Java Swing был создан примитивный графический интерфейс, с помощью которого будем добавлять сотрудников в базу данных:
Рис. 2.1.1. Вид формы добавления сотрудника в базу данных
Выберем фотографию сотрудника, которую будем загружать в базу данных:
Рис. 2.1.2. Выбор фотографии сотрудника
Введем имя, фамилию и должность сотрудника, которого мы ходим добавить в нашу базу данных:
Рис. 2.1.3. Заполнение полей с информацией о сотруднике
Готово, наш новый сотрудник добавлен в базу:
Рис. 2.1.4.
...
2.2. Клиентская часть приложения
Рассмотрим реализацию клиентской части данного приложения, которая была реализована, как уже упоминалась выше, в среде Android Studio и которая была протестирована на мобильном устройстве Xiaomi Redmi Note 5 на базе Android 8.1 (API level 27).
При открытии приложения открывается приветственное окно с кнопкой, запускающей непосредственно процесс сканирования QR кода с электронной цифровой подписью:
Рис. 2.2.1. Вид стартового окна мобильного приложения
Когда камера мобильного устройства фиксирует QR код, непосредственно на QR коде отображаются рамки:
Рис. 2.2.2. Отображение рамок найденного в превью камеры QR кода
При нажатии на QR код при условии, что QR был найден камерой, клиент – мобильное устройство отправляет запрос на сервер, в котором спрашивает, верна ли подпись у сканированного QR кода. Если проверка на сервере проходит успешно, сервер отправляет информацию о пользователе, чей QR код и считал клиент.
...
2.3. Клиент – серверное взаимодействие приложения
Реализация клиент – серверной архитектуры приложения производится следующим образом:
▪ Клиент создает URL для подключения к серверу
▪ Клиент считывает QR код, с котором хранится уникальный идентификатор сотрудника и электронная цифровая подпись к этому идентификатору;
▪ Клиент отправляет POST запрос (request) серверу на проверку считанных с QR кода данных
▪ Сервер проводит проверку того, есть ли в базе данных сотрудник с таким уникальным идентификатором, и, если таковой найдется, проводится проверка подлинности электронной цифровой подписи. Затем сервер отправляет запрос – ответ (response) клиенту.
...
ЗАКЛЮЧЕНИЕ
В процессе проектирования выпускной квалификационной работы было создано приложение для создания и распознавания QR кода с электронной цифровой подписью. Проект был реализован на языке программирования Java и использованием популярных фреймворков Maven, Spring, а также базы данных PostgreSQL
Результатом выполнения работы является разработанное клиент- серверное приложение для распознавания QR кодов с ЭЦП, хранящих информацию о сотрудниках компании.
Цели, поставленные на дипломную работу и определенные при постановке задачи, выполнены в полном объеме, а именно:
1. Рассмотрены и изучены синтаксис языка программирования Java SE, его технические возможности
2. Изучены технические и функциональные возможности фреймворков Maven, Spring
3. Изучены возможности свободной объектно-реляционной системы управления базами данных PostgreSQL
4.
...
Печатные издания:
1. Лясин, Д.Н. Методы и средства защиты компьютерной информации [Текст]: учебное пособие/ Д. Н. Лясин, С. Г. Саньков. - Волгоград: ВолгГТУ, 2005. – 127 с.
2. Ишмухаметов Ш. Т. Математические основы защиты информации [Текст]: учебное пособие/ Ш. Т. Ишмухатеров, Р. Х. Латыпов, Р. Г. Рубцова. – Казань: Казан. ун. 2014. – 95 с.
3. Mathew N. «Beginning Databases with PostgreSQL: From Novice to Professional. 2nd edition» [Текст]/ N. Mathew, R. Stones. – New York: Springer-Verlag, 2005. – 664 с.
4. Шилдт Г. Java 8. Полное руководство. [Текст]/ Г. Шилдт; Пер. с англ. и ред. И. В. Берштейна. – 9е изд. – М. : ООО "И.Д. Вильямс", 2015. - 1376 с.
5. Хорстманн К. С. Java. Библиотека профессионала, том 1. Основы. [Текст]/ Кей С. Хорстманн, Гари Корнелл; Пер. с англ. и ред. И. В. Берштейна. – 9е изд.–– М. : ООО «И. Д. Вильямс», 2014. – 864 с.
Интернет – ресурсы:
1. Как начать разрабатывать под Android [Электронный ресурс]. – Режим доступа: https://tproger.ru/translations/how-to-start-android. – Как начать разрабатывать под Android. – (Дата обращения: 22.05.2019)
2. Using Spring ResponseEntity to Manipulate the HTTP Response [Электронный ресурс]. – Режим доступа:
https://www.baeldung.com/spring-response-entity. – Using Spring ResponseEntity to Manipulate the HTTP Response | Baeldung. – (Дата обращения 17.05.2019).
3. Android – разработка для начинающих: план изучения | AppTractor [Электронный ресурс]. – Режим доступа: https://apptractor.ru/learn/plan- izucheniya-android-razrabotki-dlya-nachinayushhih.html. – Android – разработка для начинающих: план изучения. – (Дата обращения 21.05.2019).
4. Общие сведения о платформе Android | Android Developers [Электронный ресурс]. – Режим доступа: https://developer.android.com/guide/index.html. – Общие сведения о платформе Android – (Дата обращения 21.05.2019).
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
ВВЕДЕНИЕ 3
1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ 5
1.1. Выбор языка программирования и среды разработки 5
1.2. Особенности операционной системы Android 8
1.3. Общая схема работы Android приложения 9
1.4. Хранение данных 10
1.5. Применение QR кода 11
1.6. Электронная цифровая подпись. Схема ЭЦП на основе алгоритма RSA и функции хеширования SHA256 12
1.7. Постановка задачи 16
2. РЕАЛИЗАЦИЯ ПРИЛОЖЕНИЯ 18
2.1. Серверная часть приложения 18
2.2. Клиентская часть приложения 24
2.3. Клиент – серверное взаимодействие приложения 28
ЗАКЛЮЧЕНИЕ 31
СПИСОК ЛИТЕРАТУРЫ 32
ПРИЛОЖЕНИЕ 34
1.1. Выбор языка программирования и среды разработки
Java – широко используемый язык программирования, разработанный специально для использования в сети Интернет. Язык Java активно используется для создания мобильных приложений под операционную систему Android, также он является самым популярным для устройств и интернет-технологий.
Программы, созданные на Java, предполагают переносимость в сети. Исходный код скомпилирован в то, что Java программисты называют - байт- код, который можно запускать в любом месте сети на сервере или клиенте с виртуальной машиной Java (JVM). JVM интерпретирует байт-код в код, который будет работать на компьютерном оборудовании. JVM включает в себя необязательный компилятор Just-in-time (JIT), который динамически компилирует байткод в исполняемый код в качестве альтернативы интерпретации одной инструкции байт-кода за раз. Во многих случаях динамическая компиляция JIT быстрее, чем интерпретация виртуальной машины.
...
1.2. Особенности операционной системы Android
Операционная система Android, по сравнению с iOS или OS Windows, является достаточно своеобразной. Поэтому для получения поставленного результата разработчик непременно должен иметь представление об основных особенностях и своеобразных функциях, присущих данной операционной системе. Нетрудно догадаться, что в процессе разработки возникают сложности и препятствия, которые необходимо учитывать для получения поставленных целей.
...
1.3. Общая схема работы Android приложения
В своей работе приложение Android аналогично Windows использует окна, которые называются в Android разработке как Activity. Каждая Activity как компонент визуального интерфейса пользователя в свою очередь имеет свои особенности и жизненный цикл.
Основные методы класса Activity, характеризующие его жизненный
цикл:
▪ onCreate(), вызывающийся при создании нового окна (Activity) и в котором происходит инициализация компонентов приложения,
▪ onStart(), вызывающийся перед отображением окна в момент его создания,
▪ onResume(), вызывающийся при восстановлении данного Activity, то есть в момент открытия свернутого приложения,
▪ onPause() и onStop(), вызывающиеся при сворачивании активного окна,
▪ При закрытии приложения и очистке его из кеша мобильного устройства вызывается метод onDestroy().
1.4.
...
1.4. Хранение данных
Для управления базой данных была выбрана свободная объектно- реляционная СУБД (система управления базами данных) PostgreSQL.
Одной из сильных сторон PostgreSQL является ее архитектура. Как и многие СУБД, которые позиционируются как коммерческие, PostgreSQL может применяться в реализации архитектуры клиент-сервер, что дает массу преимуществ как программистам, так и конечным пользователям
Основа PostgreSQL составляет серверный процесс базы данных. Он выполняется на одном сервере.
Доступ из приложений к данным базы осуществляется посредством процесса базы данных. Клиентские программы могут получить доступ к данным только через сервер и не могут получить его напрямую, не отправив запрос на сервер.
Рис. 1.4. Работа стандартного приложения PostgreSQL
Такое разделение клиентов и сервера позволяет построить распределенную систему. Можно отделить клиентов от сервера посредством
сети и разрабатывать клиентские приложения в среде, удобной для пользователя.
...
1.5. Применение QR кода
QR-код (англ. Quick Response Code — код быстрого реагирования; сокр. QR code) — товарный знак для типа матричных штрихкодов (или двумерных штрихкодов), изначально разработанных для автомобильной промышленности Японии. Штрихкод — считываемая машиной оптическая метка, содержащая информацию об объекте, к которому она привязана. QR-код использует четыре стандартизированных режима кодирования (числовой, буквенно-цифровой, двоичный и кандзи) для эффективного хранения данных.
Рис. 1.5. Пример QR кода сайта Wikipedia.org
В отличие от старого штрихкода, который сканируют тонким лучом, QR-код определяется сенсором или камерой смартфона как двумерное изображение. Основное достоинство QR-кода — это лёгкое распознавание сканирующим оборудованием, что дает возможность использования в торговле, производстве, логистике.
1.6. Электронная цифровая подпись.
...
1.7. Постановка задачи
Целью данной работы является разработка клиент-серверного приложения для создания и распознавания QR кода с электронной цифровой подписью при использовании современных популярных фреймворков (Maven, Spring) для отображения информации о сотрудниках компании, которая подгружается посредством подключения к базе данных PostgreSQL.
Клиент реализуется как мобильное приложение на платформе Android OS, а сервер в свою очередь организован на локальном персональном компьютере. Сервер отвечает за прием запросов от клиента, в которых клиент спрашивает, достоверна ли подпись, распознанная им через QR код, а также за отправку запросов-ответов клиенту с информацией о сотруднике в случае подлинности цифровой подписи.
Для достижения этих целей предполагается целесообразным решить следующие задачи:
1. Рассмотреть и изучить синтаксис языка программирования Java SE, их технические возможности
2.
...
2.1. Серверная часть приложения
Как уже говорилось ранее, серверная часть данного приложения рассчитана на добавление информации о сотруднике в базу данных, а также на создание QR кода с уникальным идентификатором сотрудника и электронной цифровой подписью этого идентификатора. Рассмотрим непосредственно работу сервера.
Для удобства работы разработчика на сервере инструментами из стандартной библиотеки Java Swing был создан примитивный графический интерфейс, с помощью которого будем добавлять сотрудников в базу данных:
Рис. 2.1.1. Вид формы добавления сотрудника в базу данных
Выберем фотографию сотрудника, которую будем загружать в базу данных:
Рис. 2.1.2. Выбор фотографии сотрудника
Введем имя, фамилию и должность сотрудника, которого мы ходим добавить в нашу базу данных:
Рис. 2.1.3. Заполнение полей с информацией о сотруднике
Готово, наш новый сотрудник добавлен в базу:
Рис. 2.1.4.
...
2.2. Клиентская часть приложения
Рассмотрим реализацию клиентской части данного приложения, которая была реализована, как уже упоминалась выше, в среде Android Studio и которая была протестирована на мобильном устройстве Xiaomi Redmi Note 5 на базе Android 8.1 (API level 27).
При открытии приложения открывается приветственное окно с кнопкой, запускающей непосредственно процесс сканирования QR кода с электронной цифровой подписью:
Рис. 2.2.1. Вид стартового окна мобильного приложения
Когда камера мобильного устройства фиксирует QR код, непосредственно на QR коде отображаются рамки:
Рис. 2.2.2. Отображение рамок найденного в превью камеры QR кода
При нажатии на QR код при условии, что QR был найден камерой, клиент – мобильное устройство отправляет запрос на сервер, в котором спрашивает, верна ли подпись у сканированного QR кода. Если проверка на сервере проходит успешно, сервер отправляет информацию о пользователе, чей QR код и считал клиент.
...
2.3. Клиент – серверное взаимодействие приложения
Реализация клиент – серверной архитектуры приложения производится следующим образом:
▪ Клиент создает URL для подключения к серверу
▪ Клиент считывает QR код, с котором хранится уникальный идентификатор сотрудника и электронная цифровая подпись к этому идентификатору;
▪ Клиент отправляет POST запрос (request) серверу на проверку считанных с QR кода данных
▪ Сервер проводит проверку того, есть ли в базе данных сотрудник с таким уникальным идентификатором, и, если таковой найдется, проводится проверка подлинности электронной цифровой подписи. Затем сервер отправляет запрос – ответ (response) клиенту.
...
ЗАКЛЮЧЕНИЕ
В процессе проектирования выпускной квалификационной работы было создано приложение для создания и распознавания QR кода с электронной цифровой подписью. Проект был реализован на языке программирования Java и использованием популярных фреймворков Maven, Spring, а также базы данных PostgreSQL
Результатом выполнения работы является разработанное клиент- серверное приложение для распознавания QR кодов с ЭЦП, хранящих информацию о сотрудниках компании.
Цели, поставленные на дипломную работу и определенные при постановке задачи, выполнены в полном объеме, а именно:
1. Рассмотрены и изучены синтаксис языка программирования Java SE, его технические возможности
2. Изучены технические и функциональные возможности фреймворков Maven, Spring
3. Изучены возможности свободной объектно-реляционной системы управления базами данных PostgreSQL
4.
...
Печатные издания:
1. Лясин, Д.Н. Методы и средства защиты компьютерной информации [Текст]: учебное пособие/ Д. Н. Лясин, С. Г. Саньков. - Волгоград: ВолгГТУ, 2005. – 127 с.
2. Ишмухаметов Ш. Т. Математические основы защиты информации [Текст]: учебное пособие/ Ш. Т. Ишмухатеров, Р. Х. Латыпов, Р. Г. Рубцова. – Казань: Казан. ун. 2014. – 95 с.
3. Mathew N. «Beginning Databases with PostgreSQL: From Novice to Professional. 2nd edition» [Текст]/ N. Mathew, R. Stones. – New York: Springer-Verlag, 2005. – 664 с.
4. Шилдт Г. Java 8. Полное руководство. [Текст]/ Г. Шилдт; Пер. с англ. и ред. И. В. Берштейна. – 9е изд. – М. : ООО "И.Д. Вильямс", 2015. - 1376 с.
5. Хорстманн К. С. Java. Библиотека профессионала, том 1. Основы. [Текст]/ Кей С. Хорстманн, Гари Корнелл; Пер. с англ. и ред. И. В. Берштейна. – 9е изд.–– М. : ООО «И. Д. Вильямс», 2014. – 864 с.
Интернет – ресурсы:
1. Как начать разрабатывать под Android [Электронный ресурс]. – Режим доступа: https://tproger.ru/translations/how-to-start-android. – Как начать разрабатывать под Android. – (Дата обращения: 22.05.2019)
2. Using Spring ResponseEntity to Manipulate the HTTP Response [Электронный ресурс]. – Режим доступа:
https://www.baeldung.com/spring-response-entity. – Using Spring ResponseEntity to Manipulate the HTTP Response | Baeldung. – (Дата обращения 17.05.2019).
3. Android – разработка для начинающих: план изучения | AppTractor [Электронный ресурс]. – Режим доступа: https://apptractor.ru/learn/plan- izucheniya-android-razrabotki-dlya-nachinayushhih.html. – Android – разработка для начинающих: план изучения. – (Дата обращения 21.05.2019).
4. Общие сведения о платформе Android | Android Developers [Электронный ресурс]. – Режим доступа: https://developer.android.com/guide/index.html. – Общие сведения о платформе Android – (Дата обращения 21.05.2019).
Купить эту работу vs Заказать новую | ||
---|---|---|
2 раза | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
900 ₽ | Цена | от 3000 ₽ |
Не подошла эта работа?
В нашей базе 55693 Дипломной работы — поможем найти подходящую