Разработка приложения для автоматизации процесс обучения персонала
Заказать уникальную дипломную работу- 52 52 страницы
- 25 + 25 источников
- Добавлена 15.07.2022
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Глава 1. Автоматизация процесса обучения торговых представителей 5
1.1. Деятельность торговых представителей 5
1.2. Средства автоматизированного обучения торговых представителей 9
1.3. Требования к мобильному приложению для обучения торговых представителей 12
Глава 2. Проектирование мобильного приложения для автоматизации процесса обучения торговых представителей 16
2.1. Архитектура мобильного приложения 16
2.2. Структурная схема мобильного приложения 20
2.3. Проектирование базы данных мобильного приложения 24
2.4. Проектирование экранных форм 26
2.5. Выбор и обоснование средств разработки 32
Глава 3. Реализация мобильного приложения для автоматизированного обучения торговых представителей 34
3.1. Разработка мобильного приложения 34
3.2. Реализация модуля Авторизация 35
3.3. Реализация модуля Список компетенций 38
3.4. Реализация модуля Теория 40
3.5. Реализация модуля Практика 45
3.6. Эффект от внедрения 50
Заключение 51
Список использованных ресурсов 52
SQLite – это библиотека на языке C, которая реализует небольшой, быстрый, автономный, высоконадежный, полнофункциональный механизм базы данных SQL. SQLite – самая используемая СУБД в мире. SQLite встроен во все мобильные телефоны и большинство компьютеров и входит в состав бесчисленного множества других приложений, которые люди используют каждый день. Именно поэтому, в рамках данной работы была выбрана связка Java + SQLite. Другие СУБД также не рассматривались, потому что не являются встроенными в мобильные устройства, а значит при их использовании возникнут дополнительные трудности с их установкой на устройства и дальнейшей корректной работой. Так как, сейчас реализован демонстрационный вариант мобильного приложения, используется именно локальная база данных. Полнофункциональное работоспособное приложение, предназначенное для внедрения на фирму, будет использовать удаленную базу данных, вопрос о которой, в настоящий момент времени, является еще открытым и утверждается на уровне руководства фирмы [3].Для работы с SQLite в среде Android Studio используется библиотека Room – удобная обертка для работы с базой данных.Чтобы перейти на Room, неоходимо увеличить версию базы данных, а для сохранения пользовательских данных требуется реализовать класс Migration. Room создаёт таблицу для каждого класса, помеченного @Entity. Поля в классе соответствуют столбцам в таблице. Следовательно, классы сущностей, как правило, представляют собой небольшие классы моделей, которые не содержат никакой логики. Класс User представляет модель для данных в базе данных. DAO отвечают за определение методов доступа к базе данных.Глава 3. Реализация мобильного приложения для автоматизированного обучения торговых представителей3.1. Разработка мобильного приложенияПервоначально, необходимо установить среду разработки Android Studio. Инструменты разработки Android SDK можно загрузить с веб-сайта разработчика. При разработке используется бесплатный объектно-ориентированный язык программирования Java.События, которые реагируют на инициируемые пользователем действия, управляют графическим интерфейсом. В среде разработки Android Studioготовые объекты: кнопки, текстовые поля и другие. Компоненты графического интерфейса в Android называются представлениями.XML–это естественный способ описания графических интерфейсов. Разметка XML может быть прочитана как людьми, так и компьютерами; в контексте Android она используется для описания расположения используемых компонентов и их атрибутов: размера, положения, цвета, размера текста, полей и отступов.Android Studio анализирует разметку XML для отображения макета в редакторе макетов и генерирует Java – код, который генерирует графический интерфейс во время выполнения. XML – файлы также используются для хранения ресурсов приложения: строк, чисел, цветов и так далее [4].Для разработки также требуется Java Runtime Environment (JRE), Java Development Kit (JDK), который можно загрузить с официального веб – сайта Oracle.Инструменты Android включают эмулятор «Виртуального устройства Android» (AVD). Он позволяет тестировать приложения на виртуальном мобильном устройстве, позволяет создавать несколько виртуальных устройств различной конфигурации.Проект – это группа связанных файлов (таких как файлы кода, ресурсы и графические файлы), которые составляют приложение.Дизайн приложения разрабатывался с опорой на принципы Material Design. Material Design представляет собой комплексную концепцию создания визуальных, движущихся и интерактивных элементов для различных платформ и устройств от компании Google [21]. Скриншоты пользовательского интерфейса представлены в приложении. Для навигации по основным экранам приложения используется паттерн Navigation Drawer – меню, выдвигающееся с левой стороны экрана и содержащее основные пункты навигации по приложению. Некоторые возможности Material Design, например, определенные виды анимации и ряд XML-атрибутов элементов доступны только в Android с уровнем API не меньше 21. Для обеспечения совместимости приложений с устройствами под управлением более ранних версий платформы Android создаются разные файлы ресурсов для версий платформыРазработка мобильного приложения начинается с создания проекта. Был выбран шаблон «со шторкой». Создается стандартный минимальный рабочий проект с боковым меню. Далее необходимо разработать файлы, не поддающиеся обходу.Первым делом был создан пакет для работы с базой данных проекта – room. В нем расположены файлы трех типов: Entity (описание структуры таблицы, конструктор создания записей в таблице), Dao (описание запросов таблиц) и Database (коллекция сущностей базы данных) [2].После запуска программы на мобильном устройстве на основе этих описаний создается физическая база данных.Пакет ui содержит фрагменты пользовательского интерфейса.Пакет about содержит диалоговое окно «о программе».Пакет mainActivity – главная форма приложения. Пакет myApplication – класс, стартующий при запуске приложения. В нем создается база данных. CategoryAdapter – адаптер для подготовки данных к отображению списка категорий или продуктов. 3.2. Реализация модуля АвторизацияФайлом проекта является AndroidManifest.xml. В нём указываются требуемые права при работе программы и свойства Activity. Также в нём указан файл LoginActivity как начальное окно при запуске программы.LoginActivity – Activity, реализуюшее авторизацию. Содержит поля «логин» и «пароль», и кнопку «войти».При нажатии на кнопку «войти» выполняется поиск пользователя по логину и паролю в базе данных, если такой пользователь найден – он передаётся в класс App. Класс App является singleton наследником класса Application. При успешной авторизации закрывается текущее Activity– LoginActivity – и вызывается Activity MainActivity.Программа работает с базой данных SQLite через прослойку Room.Разработанное окно авторизации приведено на рисунке 18. Тогда как на рисунке 8 был приведен лишь макет данного окна. При реализации добиться 100% сходства не удалось, так как часть задач оказалась с завышенной трудоемкостью, часть стала излишней и была перемещена в другое место, например, статистикапрохождения перенесена из окна темы в список компетенций. Также были добавлены дополнительные пункты, например, окно «о программе».После успешной авторизации, открывается основное окно программы (п. 3.2). Боковое меню представлено на рисунке 19. Оно содержит следующие пункты:Компетенции – осуществляет переход на главное окно с кругом развития;Список компетенций – перечень всех компетенций в виде списка;Профиль – рисунок 20;О программе – рисунок 21;Выход – закрывает приложение.Рисунок 18. Окно авторизацииРисунок 19. Боковое менюРисунок 20. Окно профиляРисунок 21. О программе3.3. Реализация модуля Список компетенцийВ пакете themeRound представлено описание колеса развития. Для этого был создан компонент наследник класса View. С помощью объекта path созданы сектора круга, затем раскрашены.Внешний круг отвечает за теорию, внутренний за практику.Отрисовка круга осуществляется в несколько этапов. Каждое кольцо вписывается в свой квадрат. Осуществляется отрисовка по дугам секторов. Сначала рисуется верхняя дуга верхнего кольца. Затем нижняя дуга верхнего кольца (для каждого сектора). Затем эти две дуги замыкаются и осуществляется переход к рисованию следующего сектора.После отрисовки верхнего кольца, происходит отрисовка внутреннего кольца (практики) по аналогичному алгоритму.Класс ThemeRound – это класс круга, ThemeItem – элемент кольца. Количество секторов равно количеству компетенций – 9 шт.Каждый элемент (часть сектора) имеет регион (Region). Функция booleanonTouchEvent(MotionEventevent) определяет куда именно было осуществлено нажатие на экран. Если было нажатие на какой – либо сектор, то на полсекунды он закрашивается красным цветом – рисунок 22.При работе над проектированием данного модуля трудностей не возникло. Использовались стандартные методы класса Canvas, рисующие различные элементы, используя в основе стандартные геометрические формулы. Например, метод drawArc() позволяет рисовать дуги и сектора. При создании фреймов используется прямое назначение полей из базы данных компонентам (типа TextView, EditView и прочим).Если было нажатие на фрагмент теоретической части – вызывается фрагмент прохождения теории с переданной темой TheoryFragment.Если было нажатие на фрагмент практической части – вызывается фрагмент прохождения практики с переданной темой QuizFragment.В центре круга размещен процент общего прогресса обучения. Компонент текста размещается в средней точке окружности.Рисунок 22. Нажатый сектор3.4. Реализация модуля ТеорияРесурсы теории располагаются в проекте Android в каталоге assets, который используется для хранения файлов. Теория оформляется в виде html файлов + изображения в формате png. В TheoryFragment создается WebView. WebView отображает web страницы html + png.Внутри каталога assets создаются каталоги в виде названия theme + порядковый номер темы. Затем внутри каталога темы создаются файлы Html и имеют название вида 1.html, порядковый номер html соответствует порядковому номеру страницы при навигации. Навигация реализована в нижней части окна в виде стрелок «вперед» и «назад». Структура представлена на рисунке 23.Рисунок 23. Структура теоретической частиПроцент выполнения теоретической части рассчитывается следующим образом: количество страниц одной компетенции – это 100%. В каждой компетенции свое количество страниц. При этом запоминается номер последней прочитанной страницы, во – первых, для возможности продолжить чтение с последнего места, во – вторых, для расчета процента выполнения. Так если всего страниц 4, а прочли две из них, значит теория пройдена на 50%. В базе данных есть таблица пройденной теории – рисунок 24.Рисунок 24. Таблица БДUser_id – пользователь, theme_id – тема, page – последняя прочитанная страница, percent – посчитанный процент прохождения этой компетенции данным пользователем.Процент выполнения можно увидеть на странице со списком компетенций – рисунок 25.Окна с теоретической частью первой компетенции представлены на рисунках 26 и 27.Рисунок 25. Список компетенцийРисунок 26. Теория первой компетенцииРисунок 27. Теория первой компетенцииТеория второй компетенции представлена на рисунках 28 – 32.Рисунок 28. Теория второй компетенцииРисунок 29. Теория второй компетенцииРисунок 30. Теория второй компетенцииРисунок 31. Теория второй компетенцииРисунок 32. Теория второй компетенции3.5. Реализация модуля ПрактикаРаздел практика реализован в QuizFragment, создан адаптер recyclerview. Элемент может быть вида Question или Answer (вопрос или ответ). У каждого элемента своё представление item_quiz_question.xml или item_quiz_answer.xml.При нажатии на неверный ответ вопроса – все варианты отображаются красным цветом с крестиком.При верном ответе – верный ответ выделяется зеленым цветом с галочкой. На каждый тест дается одна попытка выполнения. Тест может содержать любое количество вопросов и вариантов ответов к нему.Пример теста первой компетенции представлен на рисунке 33.Рисунок 33. Тест первой компетенцииВ базе данных реализация следующая – рисунки 34.Рисунок 34. Прогресс ответов на вопросыПример теста второй компетенции приведен на рисунках 35 – 39.Рисунок 35. Тест второй компетенцииРисунок 36. Тест второй компетенцииРисунок 37. Тест второй компетенцииРисунок 38. Тест второй компетенцииРисунок 39. Тест второй компетенцииОбщий результат прохождения всего обучения отображается в центре круга в виде процентов – рисунок 36.Выполнение теории и практики всех секторов – 100%. Значит прохождение полностью одного сектора – это 11% от общего прогресса. Ели же сектор выполнен не полностью, а на 25 процентов, к примеру, то рассчитывается 25% от 11%.Рисунок 36. Итоговый результат3.6. Эффект от внедренияИзначально необходимо проверить приложение на работоспособность. Для этого были проведены приведенные ниже тесты:1. Проверка каждой активность юнит-тестами. При сбое анализировалась ошибка и правился код. 2. Намеренное внесение некорректных данных в базу данных. Анализировалось и исправлялось, при необходимости, поведение программы.3. Запуск приложения на различных устройствах эмулятора.4. Запуск приложения на реальных устройствах с ОС Android.После подтверждения работоспособности приложения, можно рассматривать экономический эффект внедрения.Ввиду проектно–исследовательского характера работы и отсутствия конкретных объектов внедрения приведены общие данные экономического эффекта внедрения АИС из публичных источников.Ожидаемый экономический эффект внедрения мобильного приложения:Уменьшение длительности обучения персонала;Создание полной достоверной базы сотрудников и уровня их компетенции;Автоматизация формирования лекций и обучающих материалов;Автоматизация сквозного тестирования.Как итог, повышение общей прибыли компании, эффективности продаж, управления и эффективности бизнес-процессов.ЗаключениеВ рамках выполнения выпускной квалификационной работы было разработано мобильное приложение на языке программирования Java в среде AndroidStudio, работающее под управлением операционной системы Android версии 5.0 и выше.Приложение позволяет проводить обучение персонала в автоматизированном режиме, что способствует повышению качества кадров и снижению финансовых, временных затрат фирмы.Приложение имеет интуитивно понятный интерфейс и удобно в использовании.Цель работы достигнута, задачи выполнены. В качестве дальнейшего улучшении приложения рекомендуется реализовать клиент-серверную версию приложения для создания корпоративной базы данных обучения сотрудников компании в целях контроля данного процесса.Выполнение выпускной квалификационной работы позволилозакрепить и систематизировать полученные за время обучения в вузе теоретические знания; расширить практические навыки в области проектирования и разработки информационных систем и проектов; применить полученные компетенциидля решения конкретных профессиональных задач; совершенствовать навыки самостоятельной работы и самообразования, развить навыки самоорганизации собственной деятельности.Список использованных ресурсовAndroid [Электронный ресурс] // URL: https://ru.wikipedia.org/wiki/Android(дата обращения: 17.04.2022).Android SDK Emulator [Элекстронный ресурс] // URL: https://developer.android.com/studio/run/emulator.html(дата обращения: 10.05.2022).Android Studio [Элекстронный ресурс] // URL: https://developer.android.com/studio/intro/index.html(дата обращения: 20.04.2022).Branch.io [Электронный ресурс].// URL: https://branch.io/(дата обращения: 20.04.2022).DeepLinkDispath [Электронный ресурс]. // URL: https://github.com/airbnb/DeepLinkDispatch(дата обращения: 20.04.2022).EventBus [Электронный ресурс] // URL:https://github.com/greenrobot/EventBus,(дата обращения: 10.04.2022).Facebook developers [Электронный ресурс]. // URL:https://developers.facebook.com/(дата обращения: 10.04.2022).Firebase [Электронный ресурс]. // URL:https://firebase.google.com/(дата обращения: 10.04.2022).G. Adomavicius and A. Tuzhilin, “Towards the next generation of recommender systems: a survey of the state – of – the – art and possible extensions,” IEEE Trans. on Data and Knowledge Engineering, 2005 год.G. Linden, B. Smith, and J. York, “Amazon.com recommendations: itemto – item collaborative filtering,” Internet Computing 2003 год.GitHub [Электронный ресурс]. // URL:https://github.com/(дата обращения: 10.04.2022).Gradle [Электронный ресурс]. //URL:http://gradle.org/(дата обращения: 10.04.2022).Gson [Электронный ресурс]. //URL:https://github.com/google/gson, свободный.Herbert Schildt, Java: The Complete Reference, Ninth Edition 9th Edition, 2014 годOfficial Android developers web site [Электронныйресурс] // URL: https://developer.android.com/index.html? hl=ru (датаобращения: 10.04.2022).Official Google Maps API developers web site [Электронныйресурс] // URL:https://developers.google.com/ maps/?hl=ru (датаобращения: 10.04.2022).Official Kotlin developers web site [Электронныйресурс] // URL:https://kotlinlang.org/ (датаобращения: 10.04.2022).Official Material design web site [Электронныйресурс] // URL:https://material.google.com/(дата обращения: 10.04.2022).Paul Deitel, Harvey Deitel, Alexander Wald, Android 6 for Programmers: An App – Driven Approach (3rd Edition) (Deitel Developer Series) 3rd Edition, 2016 годPicasso [Электронный ресурс]. //URL:https://github.com/square/picasso(дата обращения: 10.04.2022).Retrofit [Электронный ресурс]. //URL:https://github.com/square/retrofit(дата обращения: 10.04.2022).TheAndroidSourceCode [Электронныйресурс]. //URL: http://source.android.com/source/index.html(дата обращения: 10.04.2022).Twitterfabric [Электронныйресурс]. // URL: https://docs.fabric.io/android/twitter/log – in – with – twitter.html(дата обращения: 10.04.2022).UnifileproductOverview [Электронныйресурс] // URL: https://www.unifyle.co/product – overview.html (датаобращения: 10.04.2022).ZeroPC [Электронный ресурс] // URL: https://www.zeropc.com (дата обращения: 10.04.2022).
2. Android SDK Emulator [Элекстронный ресурс] // URL: https://developer.android.com/studio/run/emulator.html(дата обращения: 10.05.2022).
3. Android Studio [Элекстронный ресурс] // URL: https://developer.android.com/studio/intro/index.html(дата обращения: 20.04.2022).
4. Branch.io [Электронный ресурс].// URL: https://branch.io/(дата обращения: 20.04.2022).
5. DeepLinkDispath [Электронный ресурс]. // URL: https://github.com/airbnb/DeepLinkDispatch(дата обращения: 20.04.2022).
6. EventBus [Электронный ресурс] // URL:https://github.com/greenrobot/EventBus,(дата обращения: 10.04.2022).
7. Facebook developers [Электронный ресурс]. // URL:https://developers.facebook.com/(дата обращения: 10.04.2022).
8. Firebase [Электронный ресурс]. // URL:https://firebase.google.com/(дата обраще-ния: 10.04.2022).
9. G. Adomavicius and A. Tuzhilin, “Towards the next generation of recommender sys-tems: a survey of the state – of – the – art and possible extensions,” IEEE Trans. on Data and Knowledge Engineering, 2005 год.
10. G. Linden, B. Smith, and J. York, “Amazon.com recommendations: itemto – item collaborative filtering,” Internet Computing 2003 год.
11. GitHub [Электронный ресурс]. // URL:https://github.com/(дата обращения: 10.04.2022).
12. Gradle [Электронный ресурс]. //URL:http://gradle.org/(дата обращения: 10.04.2022).
13. Gson [Электронный ресурс]. //URL:https://github.com/google/gson, свободный.
14. Herbert Schildt, Java: The Complete Reference, Ninth Edition 9th Edition, 2014 год
15. Official Android developers web site [Электронныйресурс] // URL: https://developer.android.com/index.html? hl=ru (датаобращения: 10.04.2022).
16. Official Google Maps API developers web site [Электронныйресурс] // URL:https://developers.google.com/ maps/?hl=ru (датаобращения: 10.04.2022).
17. Official Kotlin developers web site [Электронныйресурс] // URL:https://kotlinlang.org/ (датаобращения: 10.04.2022).
18. Official Material design web site [Электронныйресурс] // URL:https://material.google.com/(дата обращения: 10.04.2022).
19. Paul Deitel, Harvey Deitel, Alexander Wald, Android 6 for Programmers: An App – Driven Approach (3rd Edition) (Deitel Developer Series) 3rd Edition, 2016 год
20. Picasso [Электронный ресурс]. //URL:https://github.com/square/picasso(дата об-ращения: 10.04.2022).
21. Retrofit [Электронный ресурс]. //URL:https://github.com/square/retrofit(дата об-ращения: 10.04.2022).
22. TheAndroidSourceCode [Электронныйресурс]. //URL: http://source.android.com/source/index.html(дата обращения: 10.04.2022).
23. Twitterfabric [Электронныйресурс]. // URL: https://docs.fabric.io/android/twitter/log – in – with – twitter.html(дата обращения: 10.04.2022).
24. UnifileproductOverview [Электронныйресурс] // URL: https://www.unifyle.co/product – overview.html (датаобращения: 10.04.2022).
25. ZeroPC [Электронный ресурс] // URL: https://www.zeropc.com (дата обращения: 10.04.2022).
Вопрос-ответ:
Для чего нужно приложение для автоматизации процесса обучения персонала?
Приложение для автоматизации процесса обучения персонала помогает упростить и ускорить процесс обучения, позволяет обучающимся получать доступ к материалам в любое удобное время, а также отслеживать свой прогресс и результаты обучения.
Какие функции должно предоставлять приложение для обучения торговых представителей?
Приложение для обучения торговых представителей должно предоставлять функции доступа к обучающим материалам, тестирования знаний, отслеживания прогресса обучения, возможности задавать вопросы и получать ответы, а также коммуникации с другими обучающимися.
Какие требования должны быть у мобильного приложения для обучения торговых представителей?
Мобильное приложение для обучения торговых представителей должно быть удобным в использовании, иметь интуитивно понятный интерфейс, поддерживать различные форматы обучающего контента, иметь функцию отслеживания прогресса обучения, а также предоставлять возможность задавать вопросы и получать ответы от преподавателей.
Какова архитектура мобильного приложения для автоматизации процесса обучения торговых представителей?
Архитектура мобильного приложения для автоматизации процесса обучения торговых представителей может быть многоуровневой и включать клиентскую и серверную части. Клиентская часть может включать интерфейс пользователя, модуль обучения и тестирования, а также модуль связи с сервером. Серверная часть может включать базу данных с обучающим контентом, модуль управления пользователями и модуль коммуникации.
Какова структурная схема разрабатываемого мобильного приложения для автоматизации процесса обучения?
Структурная схема разрабатываемого мобильного приложения для автоматизации процесса обучения торговых представителей включает различные модули, такие как модуль обучения и тестирования, модуль отслеживания прогресса, модуль коммуникации, модуль управления пользователями и модуль доступа к обучающим материалам.
Какой функционал имеет приложение для автоматизации процесса обучения персонала?
Приложение позволяет автоматизировать процесс обучения торговых представителей, предоставляя им доступ к различным обучающим материалам, тестам и заданиям. Оно также позволяет отслеживать прогресс обучения, проводить онлайн-тренинги и коммуницировать с другими пользователями.
Какая деятельность выполняется торговыми представителями?
Торговые представители осуществляют продажи товаров или услуг, представляют компанию перед клиентами, заключают контракты, проводят презентации и консультируют клиентов по вопросам продукции.
Какие средства автоматизированного обучения доступны торговым представителям?
Для автоматизации обучения торговых представителей используются различные средства, такие как онлайн-курсы, интерактивные тренажеры, вебинары, электронные учебники, видеоматериалы и мобильные приложения.
Какие требования должно удовлетворять мобильное приложение для обучения торговых представителей?
Мобильное приложение для обучения торговых представителей должно быть удобным в использовании, иметь интуитивно понятный интерфейс, поддерживать различные типы обучающих материалов, быть совместимым с различными операционными системами и обеспечивать возможность отслеживания прогресса обучения.
Какая архитектура используется в мобильном приложении для автоматизации процесса обучения торговых представителей?
В мобильном приложении для автоматизации процесса обучения торговых представителей используется клиент-серверная архитектура. Приложение взаимодействует с сервером, на котором хранятся обучающие материалы, данные пользователей и сведения о прогрессе обучения.