Разработка интерактивного учебного комплекса по Java на основе web-технологий

Сущность интерактивных учебных комплексов, определение портрета пользователя. Программирование интерфейса, разработка структуры комплекса. Внедрение системы и разработка руководства пользователя. Вид комплекса для неавторизированного пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 04.07.2018
Размер файла 4,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. АНАЛИТИЧЕСКИЙ ОБЗОР

1.1 Обзор предметной области

1.1.1 Существующие средства обучения

1.1.2 Интерактивные учебные комплексы

1.1.3 Актуальность ИУК по Java на основе web-технологий

1.2 Обзор аналогов

1.3 Обзор средств разработки

1.4 Обзор CMS движков

1.5 Постановка задачи

1.6 Определение портрета пользователя

1.7 Краткое видение продукта

2. РАЗРАБОТКА УЧЕБНОГО КОМПЛЕКСА

2.1 Разработка структуры комплекса

2.2 Подбор материала

2.3 Программирование интерфейса

2.4 Разработка базы данных

3. НАСТРОЙКА, ОТЛАДКА, ТЕСТИРОВАНИЕ

3.1 Настройка комплекса

3.2 Тестирование и отладка

3.2.1 Методы тестирования

3.2.2 Результаты тестирования

4. ВНЕДРЕНИЕ СИСТЕМЫ И РАЗРАБОТКА РУКОВОДСТВА ПОЛЬЗОВАТЕЛЯ

4.1 Разработка руководства пользователя

4.2 Внедрение

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ 1

ПРИЛОЖЕНИЕ 2

ВВЕДЕНИЕ

В настоящее время web-технологии получили широкое распространение и применяются во всех сферах жизни общества. Образование, как один из важнейших процессов воспитания и обучения, не остался в стороне. Активное применение находят электронные учебники, информационные web-ресурсы, системы для прохождения тестирования и т.д. Даже учёт успеваемости обучающихся ведётся в электронных web-системах. пользователь интерактивный учебный

В области программирования влияние web-технологий становится ещё сильнее. Для практики в области разработки программ существует множество так называемых практикумов по программированию. Помимо прочего, есть ряд курсов, которые позволяют изучить различные языки и т.д. Интерактивные учебные комплексы так же не остались в стороне и уходят в сторону автоматизации и web-технологий.

Целью выпускной квалификационной работы является разработка интерактивного учебного комплекса по Java на основе web-технологий.

Для достижения поставленной цели необходимо решить следующие задачи:

1. Рассмотреть существующие решения в этой области.

2. Выбрать средства разработки ИУК.

3. Определить портрет пользователя.

4. Разработать структуру комплекса.

5. Подобрать материал.

6. Разработать комплекс.

7. Осуществить настройку, отладку, тестирование и внедрение комплекса.

1. АНАЛИТИЧЕСКИЙ ОБЗОР

1.1 Обзор предметной области

1.1.1 Существующие средства обучения

Получение качественного образования является одним из наиболее актуальных вопросов современности. Достижение положительного результата образовательного процесса во многом зависит от методов обучения.

Методы - это те способы совместной деятельности обучающихся и преподавателей, направленные на достижение образовательных целей. Методы применяются совместно со средствами обучения.

Средства обучения - это источники получения знаний, формирования умений. Данное понятие употребляется как в широком смысле, так и в узком. В узком смысле, под средствами изучения материала понимают учебные и наглядные пособия, демонстрационные устройства, технические средства и пр. В широком смысле, под средствами обучения подразумевается все то, что способствует достижению целей образования, т.е. вся совокупность методов, форм, содержания, а также специальных средств обучения.

В ходе выполнения работы были рассмотрены наиболее актуальные виды средств обучения:

1. Печатные. К данным средствам относятся учебники и учебные пособия, а так же книги для чтения. Они предоставляют строго структурированный материал с линейной структурой. Набор практических задач включается далеко не во все учебники и учебные пособия.

2. Электронные. К данному виду относятся электронные учебники, сетевые образовательные ресурсы, мультимедийные образовательные энциклопедии, интерактивные учебные комплексы. (ИУК) В большинстве случаев, электронные учебники и мультимедийные образовательные энциклопедии мало отличаются от печатных, за исключением того, что они реализованы на основе web - технологий. ИУК предоставляют больший набор возможностей: более гибкую структуру курса, практико - ориентированный подход и многое другое.

3. Аудиовизуальные. Слайды, слайды - фильмы, видеофильмы, учебные кинофильмы - это всё относится к данным средствам. Аудиовизуальные средства отличаются от всех предыдущих уникальной формой подачи материала, воздействующих на слуховое и визуальное восприятие человека.

Проанализировав вышесказанное, можно сделать вывод, что ИУК предоставляет наибольший набор различных преимуществ, таким образом, такие системы являются наиболее предпочтительным подвидом средств обучения.

1.1.2 Интерактивные учебные комплексы

ИУК представляет собой набор материалов, который обеспечивает наглядный и эффективный образовательный процесс. Интерактивный учебный комплекс позволяет по новому смотреть на возможность реализации образовательного процесса, состоящего из образовательной среды и технологии, практической подготовки, методического и информационного обеспечения.

ИУК позволяет организовать учебный процесс в форме интерактивного диалога, что способствует реализации более эффективных форм ведения учебного процесса, при котором есть возможность выбора вариантов содержания учебного материала и режима работы. Система включает в себя инструментальные средства и компоненты в различных, которые обеспечивают возможность организации полного учебного процесса, осуществление всех учебных целей, необходимых для достижения результата.

ИУК могут использоваться как в начальном, так и в среднем, и в высшем образовании. Предметные области, для которых применимы системы, так же различны - начиная со школьных предметов и заканчивая освоением сложных систем и программ.

1.1.3 Актуальность ИУК по Java на основе web-технологий

Для определения актуальности поставленной задачи, необходимо рассмотреть Java как предметную область для обучения.

Java - это сильно типизированный, кроссплатформенный язык объектно-ориентированного программирования. (ООП) Программы на Java выполняются виртуальной машиной (JVM) - т.е. программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.

Язык Java используется для серверных приложений в крупных корпорациях. Примером таких корпораций могут служить банки, страховые компании, розничные сети и так далее. Такие банки, как Barclays, Goldman Sachs, Citigroup применяют Java для написания бэк-энд и фронт-энд офисных электронных систем, бэк-энд Google+ так же реализован на Java.

Так же язык ООП широко применяется при создании вэб - приложений. Если говорить о рынке Европы, многие вэб-приложения госучреждений, страховых, образовательных, оборонительных учреждений написаны на Java. Не менее популярным является применение Java в Andriod приложениях. Все приложения на Andriod написаны с помощью Java с использованием Google и Android API.

Проанализировав вышесказанное, можно сделать вывод о том, что Java является актуальным языком программирования, и множество известных по всему миру компаний используют этот язык ООП для реализации своих программных продуктов.

Веб-разработка -- это процесс создания веб-приложения, включающий в себя веб-дизайн, вёрстку веб-страниц, веб-программирование, а также конфигурирование веб-сервера.

Наличие веб-приложения у современных компаний является одним из элементов престижа, ведь клиенты в Интернете в первую очередь ищут информацию о фирме. В настоящее время создание веб - приложений является одним из наилучших способов быстро донести информацию огромному числу пользователей. Так же веб - разработка применима в областях рекламы и маркетинга, для организации обратной связи с пользователями и многое другое. Каждый день фирмы стремятся к улучшению предоставляемых услуг, и веб - технологии позволяю реализовать эти потребности.

Процесс развития web-приложений и компьютерных технологий, привел к информатизации различных видов образовательной деятельности, в частности были созданы информационно-образовательного пространства. Web - технологии в сфере образования используются не только для поиска информации, а так же, для индивидуального обучения, ведения электронных журналов, прохождения различных курсов самостоятельно или в группах. Это помогает автоматизировать процесс оценивания обучающихся, сократить вероятность ошибок и снизить время обработки информации.

На основании информации, написанной ранее, можно сделать вывод о том, что веб - технологии являются не только популярным средством, но и предоставляют широкий спектр возможностей для реализации потребностей различных фирм.

Проанализировав предметную область, можно сделать вывод, что выбранная тема в рамках ВКР является актуальной.

1.2 Обзор аналогов

В ходе анализа были рассмотрены существующие решения, что позволяет выделить наиболее актуальные и популярные учебные интерактивные комплексы.

1. GeekBrains - крупный интерактивный учебный комплекс. Он предоставляет широкие возможности по изучению различных языков программирования: Pythoon, Android, iOS, веб-разработчик, веб-дизайнер и так далее [1]. В число них входит и Java. К достоинствам можно отнести то, что обучение ориентировано на трудоустройство, по окончанию обучения выдаётся сертификат о его прохождении, так же появляется опыт как разработки проектов самостоятельно, так и в команде. Наличие наставника, готового помочь, широких смежных технологии, которые осваиваются обучающимся, а так же проектно - ориентированное подход во время прохождения курса - является весомыми и неоспоримыми преимуществами.

К недостаткам можно отнести то, что обучение платное (12,5 тысяч в месяц), длительность обучения длиться год - что может быть не всем удобно. Наличие теста для успешного начала обучения - так же является минусом системы, она не рассчитана на новичков, которые только-только знакомятся с основами Java и ООП. Несмотря на то, что предоставляется возможность пройти дополнительное обучение для поступления, оно так же оплачивается - 8 тысяч рублей за 8 занятий по 2 часа.

2. JavaRush - онлайн - курс обучения, являющийся практико - ориентированным [2]. В отличии от GeekBrains, данный комплекс заточен под обучение программированию только на Java. 1200 практических небольших заданий, более 500 часов опыта программирования, в случае успешного и полного прохождения курса, что является хорошей заявкой для трудоустройства. Целью его, как и аналоги выше - так же является трудоустройство. Так же к достоинствам можно отнести частичную бесплатность, включительно до 10 уровня, подсказки по настройке среды для решения задач - IntelleJIdea.

К минусам, можно отнести то, что с 10 уровня комплекс становится платным, часть задач из бесплатного блока, не доступна без премиум подписки. Линейность курса, когда пользователь, знающий основы, не может перейти дальше без решения задач первых уровней, так же, как и периодически дезинформирующие подсказки к решению задач в случае, если решение отправлено неверное и форум, где могут подсказать правильно решение не только проблемы, но и самой задачи - являются так же недостатками.

Изучив информацию, приведённую выше, можно сделать вывод, что существующие системы дают широкий спектр возможностей, ориентируя пользователей на дальнейшее трудоустройство. Однако они являются платными, что не делает процесс обучения доступным для большинства пользователей. Из проведённого анализа следует, что обучение при помощи JavaRush частично бесплатное, но рассматриваемых в бесплатном блоке тематик недостаточно для полноценного обучения основам программирования на Java. Следует отметить, что учебные курсы, реализуемые в этих системах, являются линейными, т.е. не рассчитанными на различный уровень обучающихся. Таким образом, можно сделать вывод, что комплексы не могут быть доступны и/или удобными для большинства пользователей. Следовательно, есть необходимость в таком комплексе, который бы при абсолютно бесплатных возможностях обучения предоставлял нелинейный курс для людей с различным уровнем программирования на Java.

1.3 Обзор средств разработки

При проектировании учебного комплекса необходимо выбрать те средства, которые будут использоваться для его разработки. Варианты, подлежащие рассмотрению, приведены ниже:

1.Ручное написание web - приложений. Данный способ предполагает создание сайтов на одном или нескольких языках программирования. Наиболее популярными для этих целей являются языки Java, Pythoon, PHP, JavaScript. Активно используются так же HTML ,CSS, jQuery, ApacheMQ. Существующие варианты ручной разработки с использованием web - технологий:

· Текстовый редактор. Он даёт возможность создавать простые HTML, подлючая CSS, JS, jQuery. Данный способ является устаревшим и используется только в учебных целях для обучения основам.

· Интегрированные среды разработки (IDE). Обладает рядом преимуществ по сравнению с первым вариантом: обширный спектр настроек, удобная интеграция с системами контроля версий, автоматической сборки, а так же удобное взаимодействие со средствами, необходимыми для тестирования и статического анализа кода.

Следует отметить, что для серьёзных проектов необходимы знания языков как back-end разработки, так и front-end, это приводит к тому, что от разработчика требуются знания множества языков программирования, а так же множества смежных технологий, освоение (полное или частичное) на требуемом уровне занимает значительное количество времени.

2. Конструкторы web - приложений. Этот метод предполагает их создание на основе шаблона или в специальном конструкторе. Такой способ является достаточно распространённым, множество конструкторов легко доступны в глобальной сети Интернет. Данный способ подходит для создания простых электронных учебников (сайтов), не требующих сложной логики. Так же при помощи таких конструкторов, учебные пособия - сайты достаточно просто и быстро может создать обычный пользователь, не обладающий навыками программирования. Для реализации интерактивного учебного комплекса, с достаточно сложной логикой, данный способ не подходит.

3. Применение CMS движка в web - технологиях. CMS - программное обеспечение (ПО), позволяющее управлять содержимым. Это средство позволяет создать как простые, так и сложные ИУК на основе web - технологий. Так же ПО управления содержимым предоставляет возможность подключения к базе данных и взаимодействовать с ней. Помимо прочего, для CMS можно писать свои модули, которые будут реализовывать функции, которых ещё нет. Данное ПО быстрее изучать (по отношению ко времени изучения языков для написания web - приложений вручную), соответственно, оно проще. Использование CMS для создания интерактивного учебного комплекса является неплохим вариантов, однако нужно учитывать следующие риски:

· риск взлома web - приложения - код CMS является общедоступным. Любая уязвимость, которую обнаружил хакер в CMS, ставит под угрозу безопасность всех web - приложений, реализованных при помощи CMS

· риск медленного отклика web - системы. Одной из распространённых проблем CMS является нагрузка на сервер. Поскольку одновременно использовать учебный комплекс могут тысячи человек, это может стать серьёзной проблемой.

На основе вышесказанного, было принято решение использовать CMS движок, более быстрый в освоении, чем front-end языки. Поскольку интерактивный учебный комплекс не предполагает сохранение паспортных данных и множества персональных данных, за исключением ФИО и адреса почты, необходим для регистрации, то риск взлома не так существенен.

1.4 Обзор CMS движков

В ходе выполнения работы были рассмотрены существующие решения CMS движков, что позволяет выбрать наиболее удобный для реализации интерактивного учебного комплекса.

1. WordPress (WP) - наиболее популярная CMS, использующаяся в настоящее время. Это программное обеспечение с открытым исходным кодом [3]. Преимущества, которыми обладает данное ПО:

· Простота. Для создания web - приложения на WordPress не требуется практически никаких IT-навыков. Так же следует отметить, что большинство хостинг - провайдеров позволяют установить WP в один клик. По данной CMS написано множество статей на различных языках, сняты детальные видео, опубликованы тысячи книг, что позволяет найти ответ на любой интересующий вопрос в считанные минуты.

· Масса бесплатных возможностей. Большой набор плагинов для расширенного функционала, настраиваемые темы для создания уникального дизайна можно найти не выходя из административной панели. Так же, они являются бесплатными.

· Постоянное развитие. Профессиональные разработчики WordPress совместно с тысячами волонтёров - энтузиастов постоянно улучают «движок», делая его более удобным, быстрым, безопасным. Когда выбирается данная CMS в качестве платформы для web - продукта, то существует высокая доля вероятности того, что проект не свернется в ближайшие несколько лет, он может стать лишь лучше.

У каждого, даже самого хорошего ПО, есть и свои недостатки. Они представлены ниже:

· Сравнительно ограниченные возможности настроек. Это сделано с целью простоты использования и потного пользовательского интерфейса. Данную возможность ценят новички, но для продвинутых пользователей, желающих решить сложную задачу, реализовать её с помощью CMS может быть проблематично.

· Web - приложение на WP легко создать, но так же легко и испортить. Данная проблема является средством наличия большого объёма информации, который известен об WordPress. Значительная часть руководств, а так же видеоуроков записана людьми, которые далеки от web - разработки. Из-за того, что они не знают особенностей работы CMS, они могут советовать действия, которые со временем могут исчезнуть. Поэтому следует быть внимательнее и тщательнее выбирать информацию, с помощью которой будет создаваться интерактивный учебный комплекс.

· «Движок» постоянно пытаются взломать. Это является следствием того, что WordPress (WP) - это популярное и удобное в использовании ПО, соответственно, находятся желающие найти уязвимости и использовать их с целью получения выгоды. Однако web - приложение можно защитить путём своевременного обновления и установкой хорошего антивирусного программного обеспечения. Стоит дополнительно отметить, что наибольшую угрозу представляют тысячи плагинов «движка». Именно с их помощью, в большинстве случаев, злоумышленники и получают несанкционированный доступ к системам на основе web - технологий, созданных с помощью WP.

2.Joomla - вторая по популярности CMS в мире. Так же, как и WordPress она является open sourse решением, обладающая всеми ключевыми достоинствами WP: простотой, доступностью и надёжностью [4]. Основным отличием является то, что она создана на основе схемы разделения данных приложения view-model - controller, что позволяет создавать мощные онлайн приложения.

К достоинствам данной CMS относятся:

· Наличие многофункциональные приложения для создания интернет - магазинов различной сложности: VirtueMart, Joomshopping, Tienda и т.п. Для WP так же имеются специальные решения для электронной коммерции, но именно с использованием Joomla создание полнофункционального интернет - магазина становится бедстрее и проще, чем на WordPress.

· Web - приложение можно оптимизировать без дополнительных плагинов. Нет необходимости искать специальное решение для того, чтобы прописать мета - теги или настроить URL станиц, отображаемые в строке браузера.

· В движке сразу доступно кеширование. Это ускоряет загрузку страниц, повышает позиции web - приложений.

· ИУК на Joomla можно редактировать не заходя в административную панель. Доступно так называемое front-end редактирование контента.

Как и любая другая CMS, у Joomla есть свои недостатки. Их список приведён ниже:

· Объективные недостатки у Joomla такие же, как и у WP - переизбыток учебной информации, среди которой имеются не только полезные, но и бесполезные и даже вредные уроки и советы.

· Постоянные попытки взлома систем, реализованных на Joomla, вызванное так же широкой популярностью CMS.

· Существование гораздо меньшего числа плагинов и тем, по сравнению с WordPress.

3. Drupal - это CMS совершенно другого уровня. Если Joomla и WordPress - простые, но ограниченные решение, то данная система управления содержимым - платформа, позволяющая практически любой замысел, однако, требующая определённых навыков программирования. Крупные корпоративные сайты, соцсети и интернет - магазины - это и многое другое успешно создаётся на Drupal уже не первый год [5].

Плюсы использования данной CMS:

· Высокий уровень безопасности, который позволяет обеспечить её без каких-либо сложных настроек и установки дополнительных модулей. Многие считают это решение самым защищённым ПО на PHP.

· Удобные настройки SEO-оптимизации, т.е. настройки, по которым можно было бы найти максимально удобно. Для таких настроек нет необходимости скачивать дополнительные плагины или устанавливать дополнительно что-либо, данная возможность доступна в самой CMS.

· Гибкие настройки прав пользователей. Можно выбирать то, какими именно возможностями обладает каждый пользователь, в большинстве систем управления контента, данный набор возможностей не является гибким.

· Большое количество готовых мощных бесплатных решений. Для электронной коммерции, например, есть такие платформы, как Ubercart. Благодаря использованию такого решения, можно превратить Drupal в удобный многофункциональных интернет-магазин. При этом для настройки и адаптации такого решения «под себя» не требуются специальные навыки в программировании.

· Поддержка и адаптация web - приложений, написанных на данной CMS, под мобильные устройства. Такая возможность появилась с 8-й версии.

· Десятки и сотни видов контента. Не только посты и страницы, как в WP. Без дополнительных правок кода можно создать такой тип контента, как например, опросы, статистические данные, видео и т.д.

Недостатков у данной системы всего два - цена и уровень сложности. Неподготовленному пользователю будет непросто создать проект на Drupal. В случае, если он хочет нанять профессионального разработчика, придется заплатить ему больше, чем разработчику на WordPress или Joomla. Премиум-темы на Drupal стоят на порядок дороже, чем темы на WP.

В результате проведённого выше анализа, была выбрана Joomla как бесплатная CMS, предоставляющая широкий спектр возможностей для создания интерактивного учебного комплекса.

1.5 Постановка задачи

Определим требования пользователей, которые должен комплекс реализовывать для достижения конечного результата.

Исходя из вышесказанного, можно поставить конечную задачу ВКР - разработать интерактивный учебный комплекс по Java, который позволяет пользователю получить все необходимые знания, для написания ПО на данном языке программирования. Комплекс необходимо реализовать таким образом, чтобы он минимизировал минусы уже существующих аналогов ИУК.

Главные недостатки существующих интерактивных учебных комплексов и на основании их определим требования пользователей. Информацию представим в виде таблицы 1.

Таблица 1 - Требования пользователей по отношению к недостаткам существующих ИУК

Недостаток существующего ИУК

Требования пользователей

Плата за обучение (полная или частичная)

Полностью бесплатный функционал комплекса

Линейная структура курса, без возможности пропуска темы, перехода к другим

Незаблокированные возможности перехода к любой теме в ИУК, для новичков - система помощи, помогающая пройти курс (включаемая по их желанию)

Ориентированность на конкретный уровень пользователя

За счёт нелинейности и выбора изучаемых тем, ИУК может использоваться не только новичками, но и опытными обучающимися, в случае такой необходимости (пример - прохождение сертификации)

На основании требований пользователя, можно сформулировать и его портрет.

1.6 Определение портрета пользователя

Портрет пользователя представляет собой некий собирательный образ целевой аудитории продукта. Профиль описывает его характеристики: пол, возраст, местоположение, а так же его проблемы и желания. Портрет помогает лучшим образом понять, для кого предназначается ИУК, а так же донести информацию о комплексе напрямую, без информационного шума в каналах, в которых продукт не будет востребован. Проработка и понимание портрета пользователя помогают не только в поиске целевой аудитории, но и при реализации интерактивного учебного комплекса.

Портрет пользователя приведён ниже:

Возраст: от 12 лет, т.к. может использоваться для обучения школьников. Ограничение сверху отсутствует.

Пол: любой.

Языки, которые знает: русский, английский (на уровне чтения и перевода со словарём, для понимания кода примеров программ на Java).

Локация: любая точка мира.

Оборудование, имеющееся в наличии: стационарный компьютер, ноутбук или планшет с выходом интернет (выбранные средства разработки предоставляют возможности адаптации ИУК под мобильные платформы, однако их поддержка не предполагается) .

Наиболее посещаемые ресурсы: Социальные сети, хабрахабр, электронные учебники по Java, практикумы по программированию и иные информационные сайты в области компьютерных технологий (например, новости, или видеоуроки).

Денежные затраты: неготовность платить за обучение

Проблема: недоступность в едином месте информации, покрывающей все аспекты обучения на Java в общем доступе (бесплатно)

Желания: в соответствии с проблемой, иметь такое место сбора информации (ИУК), которое абсолютно бесплатно позволить получить необходимые навыки для обучения Java .

Решения, используемые ранее: частично платные ИУК, электронные учебники, отдельные практикумы по программированию.

1.7 Краткое видение продукта

В качестве итога данной главы, приведём краткое видение продукта. Vision - концепция продукта, определяющая целевую аудиторию и назначение продукта. Представляет собой суть будущего продукта.

Краткий вариант видения продукта должен занимать не более 1 страницы и предполагает ответ на пять вопросов, подробные ответы на которые давались в течении всей главы.

Вопрос 1: Кто будет использовать продукт? (Кто его покупает? Кто использует? Кто целевая аудитория?)

Ответ: Целевая аудитория: школьники, студенты, junior, middle, senior разработчики объектно-ориентированного языка программирования Java, а так же те, кто хочет научиться программировать на этом языке.

Вопрос 2: Какие нужды пользователей продукт удовлетворяет? (Какую пользу приносит продукт? Как он облегчает жизнь пользователям?)

Ответ: С помощью продукта можно освоить объектно-ориентированный язык Java, узнать как об основах программирования на нём, так и иметь представление о подводных камнях Java.

Вопрос 3: Каковы критические атрибуты, чтобы удовлетворить эти нужды и сделать продукт успешным? В каких областях продукт должен быть выдающимся?

Ответ: Критические атрибуты: бесплатность и свободный доступ к любой теме курса, тем самым предполагается адаптивность под различный уровень пользователей.

Вопрос 4: Чем продукт похож на существующие аналоги и чем он от них отличается? (Есть ли аналоги в организации? Есть ли аналоги на рынке?)

Ответ: Присутствует много аналогов на рынке, отличается тем, что собирает всю информацию в едином месте (комплексе). Так же продукт объединяет основные преимущества аналогов.

Вопрос 5: Какой есть срок и бюджет, чтобы запустить продукт?

Ответ: Срок запуска программного продукта - 7-8 месяцев, т.е. всё время, с момента выбора темы ВКР. Бюджет - 600 рублей, для покупки домена 2 уровня, на котором развёрнут комплекс.

2. РАЗРАБОТКА УЧЕБНОГО КОМПЛЕКСА

2.1 Разработка структуры комплекса

Исходя из цели выпускной квалификационной работы и требований пользователя к интерактивному учебному комплексу, необходимо разработать его структуру. Проработка структуры предполагает определение всех элементов, которые ИУК должен предоставлять в обязательном порядке, для удовлетворения потребностей пользователей.

На основании аналитического обзора, структура комплекса должна иметь следующие элементы:

1. Набор учебного материала, необходимый для усвоения теоретической части. Лекции должны быть максимально полными, в них должны входить как простые темы, так и сложные.

2. Средства для проверки уровня понимания (усвоения) материала пользователем. С этой целью, в набор учебных материалов должны быть так же включено несколько несложных вопросов, а так же набор тестов, который будет проверять усвоение материала на более серьёзном уровне.

3. Получение практических навыков. В большинстве тем с этой целью должны быть приведены ссылки на задачи из проверяющих систем, находящихся в открытом доступе, по освоенному материалу. Реализация собственной системы для проверки практической части в ИУК не предполагается.

4. Статистика, позволяющая получить пользователю информацию о ходе его обучения. Отслеживание пройденного материала на основе тестов, которые прошёл пользователь.

Схемы структуры комплекса представлены в приложении 1.

Рассмотрим подробнее структурные элементы главного меню:

· Главная. Это та страница, которую видит пользователь первой при входе в ИУК. На ней кратко описывается, что представляет собой комплекс и его основные преимущества. Данные раздел доступен всем пользователям.

· Лекции. Этот раздел интерактивного учебного комплекса содержит в себе программу курса. В соответствии с конкретизацией структуры опишем каждую рассматриваемую тему чуть подробнее.

1. Основы ООП. Раздел курса, который даёт общее представление о том, что такое объектно-ориентированное программирование, и какие приёмы в нём используются. Лекция является вводной, проверка в виде теста не предполагается.

2. Введение в объекты. Объекты - одна их главных составляющих ООП. Что это такое, что такое классы и что они (объекты и классы соответственно) представляют из себя в Java и раскрывает эта лекция.

3. Переменные и их типы. Глава повествует о типах переменных, о способах их создания и особенностях каждого типа.

4. Операторы. Для всех, кто знаком с языками ООП данная тема не станет сюрпризом. В ней представлены те действия, которые мы можем совершать с объектами разных типов. Похожи во многих языках ООП, но полезно для новичков.

5. Ветвления и циклы. Есть несколько способов управления последовательностью действий, выполняемой в программе. В данной главе рассказывается о том, что из себя представляют такие варианты, как ветвления и циклы, приводятся примеры их реализации на Java.

6. Инициализация и завершение. Большинство проблем с безопасностью как раз относятся к процессам инициализации и завершения. В главе подробно рассматриваются эти процессы.

7. Система ввода/вывода. Данная лекция повествует о системе, позволяющей программе взаимодействовать с пользователем - системе ввода и вывода. Какие есть на Java, примеры реализации, когда и какую предпочтительнее использовать.

8. Инкапсуляция.

9. Композиция и наследование

10. Полиморфизм

Вышеприведённые трёх лекций можно объединить. Рассматривается реализация принципов ООП (в каждой отдельной главе - конкретного) и то, как они реализуются на объектно - ориентированном языке программирования Java, приводятся примеры.

11. Интерфейсы. Немного познакомившись с ними в лекции про композицию, рассматриваются более подробно в данной главе. Предназначение, возможности, преимущества использования, примеры.

12. Внутренние классы. Рассматривается всё, начиная от их понятия, видов и цели использования, заканчивая различными образцами, наглядно показывающие, как реализовать их в Java.

13. Контейнеры. Во всех главах до этого, речь шла о простых объектах. Но иногда необходимо работать с объектами единообразно, для чего и используются контейнеры. Виды контейнеров, особенности работы с каждым, много примеров и заданий, которые помогут освоить и понять принцип их работы.

14. Обработка ошибок и исключений. Программа не всегда завершается успехом. Иногда это происходит по причине того, что разработчик допустил ошибку и работоспособность кода может быть полностью или частично утеряна. В иных случаях, обстоятельства, ставшие причиной возникновения исключения не так тривиальны. Лекция охватывает всё это, показывая, что делать, если такая ситуация возникает или может возникнуть.

15. Многопоточность. Что такое многопоточность? Где и зачем применяется? Именно на эти вопросы даёт ответ глава,так же приводится множество примеров применения.

16. Java + Spring.

17. Java + Maven/Gradle

18. Java и интеграция с базами данных

Последние три главы можно объединить, т.к. они затрагивают вопрос интеграции с той или иной технологией, как они используются совместно, где применяются, как подключить и написать код с их включением, какие преимущества и недостатки имеют.

· Тесты. Этот пункт включает в себя тесты по лекциям, а так же общие тесты для разного уровня сложности(новичка, среднего и профессионала в соответствии со структурой).. Количество вопросов в тестах различное, но не менее 10 и не более 30. Временные ограничения по прохождению тестов - 2 минуты на вопрос, т.е. для 30 вопросов ограничение по прохождению теста - час. Переход к конкретному тесту реализован по аналогии с тем, что приведён на рисунке 4. Вопросы для теста выбираются случайным образом из всех вопросов по конкретной теме соответственно. Порядок ответов каждый раз так же произволен. Раздел доступен только для зарегистрированных пользователей.

· Для собеседования. Данный раздел включает в себя вопросы, которые задают на собеседовании по различным темам. Структура тем так же приведена в приложении 1. Тебе Basic соответствует материал из лекций с 0 по 6, для ООП - 0,1 и 7-10, Строки - 2, Коллекции - 12, Исключения - 13, Многопоточность - 14, Spring - 15.

· Новости. Раздел содержит информацию об обновлениях ИУК, о технических окнах, достижениях и т.д. Доступен всем пользователям.

· Контакты. Представляет собой страничку, на которой содержится данные об авторе, администраторе ИУК, а так же социальных сетях, в которых есть сообщества ИУК. Необходима для обратной связи. Раздел доступен всем пользователям

Подробное описание разделов пользовательского меню приведено ниже. Только пункт помощь доступен для незарегистрированных пользователей, все остальные - недоступны.

· Профиль. В данном разделе содержится информация о пользователе, его имя, логин и пароль, адрес электронной почты, так же есть возможность смены всего, за исключением логина. По желанию, пользователь может заполнить так же дополнительную информацию

· Статистика. Здесь содержится информация о прохождении курса. Пройденный материал (на основании пройденных тематических тестов), процент усвоения отдельных тем.

· Помощь. В данном разделе содержится руководство пользователя, которое поможет в освоении ИУК, позволит найти ответ на такие вопросы, как где и что искать, как работать с тем или иным разделом.

2.2 Подбор материала

На основании структуры, приведённой выше, необходимо произвести сбор информации из различных источников.

В качестве источников могут выступать материалы различного вида, рассмотрим их:

1. Учебная литература. (Бумажная) Представляет собой бумажные книги, основной целью которых является обучение программированию на Java [6]. Некоторые включают практические задания с ответами в конце [7]. Помимо основной цели, может быть направлена на улучшение качества кода [8].

2. Электронные учебники. Аналогично приведённому выше, только в электронном виде. [9] Не всегда имеют удобную систему навигации и практические задания. [10]

3. Интернет ресурсы. Представляют собой сайты, на которых есть информация по Java. Зачастую, помимо необходимой информации есть так же и лишняя, никак не относящаяся данному языку ООП, а иногда и к программированию как к таковому. Помимо прочего, не всегда данные, представленные на них, являются достоверными. Отдельного внимания заслуживают коллективные блоги и новостные сайты. Примером последних могут служить: Tproger, Habrahabr. Заточенные под программирование, они имеют структурированную информацию о различных языках, а так же вопросы для собеседования и т.д. Такие источники являются более достоверными, в сравнении с остальными сайтами, что так же является их преимуществом.

4. Различные комплексы. Включает в себя существующие интерактивные учебные комплексы как на основе интернет технологий, так и другие.

5. Мобильные приложения. Представляют собой специальные программы, созданные для изучения Java под платформы IOS, Android,Windows Phone.

Отдельно следует отменить различные подборки материалов, доступные на просторах интернета. Такие подборки могу быть составлены как на основе мнения разработчиков различных крупных компаний, например Google, Microsoft, Amazon, Mail.ru и др.

Несмотря на такое многообразие источников, они обладают различными критериями, признаками, на основании которых пользователь и выбирает конкретный источник информации:

1. Ориентированность на различный уровень обучающегося. Некоторые предназначены для новичков, другие же для профессионалов. От уровня зависит спектр тем, рассматриваемых в книге и то, насколько глубоко они рассматриваются.

2. Возраст. От возраста обучающегося зависит стиль изложения материала, иногда и те темы, которые рассматриваются в источниках.

3. Специализация. Все учебные материалы имеют свою специализацию, некоторые предназначены для изучения строго набора тем.

4. Версия языка программирования. С появлением каждой версии Java, в него добавляются новые функции, классы, работа с некоторыми существующими методами становится проще и некоторые программные структуры могут быть оформлена более компактно.

5. Возможность получения практических навыков. Часть источников даёт лишь возможности изучить теоретический материал, без возможности проверить свои знание на практике.

Это основные критерии, на их основании каждый человек может выбрать наиболее подходящий для себя источник или источники обучения.

Из всего вышесказанного можно сделать вывод о том, что ни один источник из вышеперечисленных не является оптимальным. Вне зависимости от вида, каждый имеет свои преимущества и недостатки, поэтому для подбора материала для ИУК необходимо использовать различные источники информации. Взяв лучшее из каждого, материал интерактивного учебного комплекса будет удовлетворять потребности пользователей. Дополнительно следует отметить, что для разработки материала используются не только источники связанные с изучением Java, как языка программирования.

2.3 Программирование интерфейса

В соответствии с разработанной структурной схемой ИУК создается дизайн-макет. Дизайн - макет это графический файл, который описывает то,Как будет оформлено визуальное дизайн пространство. В макете продумывается, как будет осуществляться навигация по комплексу, где будут располагаться его графические элементы и многое другое. Использование веб-технологии позволяет сделать дизайн интерактивного учебного комплекса максимально удобным для пользователей.

В дизайн - макетах для персональных компьютеров с широким разрешением экрана основной контент центрируется в контейнер, ширина которого составляет 1200 пикселей. При разработке типовых веб-ресурсов максимальная ширина дизайн - макетов 1920 пикселей для мониторов соответствующего размера. В дальнейшем, разработчики, по согласованию с дизайнером или самостоятельно, разрабатывают макеты адаптивных версий, т.е. для экранов с маленьким или средним разрешением.

Для интерактивного учебного комплекса был разработан следующий макет. Основная информация центрируется в контейнере, размером 1000 пикселей, что для ИУК является оптимальным. В таком случае, для обучения в интерактивном учебном комплексе с планшета, стандартная ширина экрана которого 1024 пикселя, нет необходимости в создании адаптивного дизайна. Для устройств, с шириной экрана менее 980 пикселей, разработана адаптивная версия дизайна, в которой, для раскрытия пунктов меню появляется специальная кнопка, позволяющая раскрыть пункты меню. Минимальный размер, поддерживаемый дизайн - макетом 800 пикселей, т.к. поддержка работы с мобильных устройств не предполагается. Дизайн-макет разработан по частям. Основной и адаптивный дизайн шапки представлены на рисунках 1 и 2.

Рисунок 1 - Шапка для разрешения экрана свыше 980 пикселей в ширину

Рисунок 2 - Шапка для разрешения экрана меньше 980 пикселей в ширину

В шапке видны разделы основного меню комплекса. Ниже шапки, в соответствии с макетом, находится изображение, которое представляет собой название языка, которому обучаются в ИУК, справа от него располагается пользовательское меню и окно авторизации. Вид, который принимает главная страница ИУК при разрешении, свыше 980 пикселей, представлено на рисунке 3.

Рисунок 3 - Главная страница ИУК

На примере главной страницы можно рассмотреть структуру станиц в соответствии с макетом. Сначала идёт наименование раздела, в котором находится обучающийся, ниже - само содержание раздела, в данном случае, это материал. Создание материала будет более подробно рассмотрено на примере создания лекции далее. В подвале страницы располагается навигация, позволяющая возвращаться к главной странице.

Помимо подвала страницы, есть так же подвал дизайн - макета, который изображён на рисунке 4.

Рисунок 4 - Подвал дизайн-макета

В подвале содержится наименование ИУК, текущий год и кнопка наверх, для перехода к самому верху страницы. В случае, если разрешение экрана менее 980 пикселей - информация, расположенная слева и справа приближается друг к другу, вид подвала не изменяется.

Содержимое шапки и отображаемые меню различны для зарегистрированных и незарегистрированных пользователей. Выше приводились макеты для авторизированных обучающихся. В случае, если пользователь - не зарегистрирован, внешний вид ИУК принимает следующий вид:

Рисунок 5 - Вид комплекса для неавторизированного пользователя

За основу, для дизайн-макета, был взят стандартный шаблон Joomla, который автоматически устанавливается на сайт во время инсталяции CMS. Следовательно, первым этапом разработки интерактивного учебного комплекса является адаптация стандартного шаблона под дизайн-макеты.

1. Верстка элементов ИУК в соответствии с макетом.

Данное действие осуществляется через административную панель ИУК. Для этого необходимо ввести URL-адрес комплекса и фразу для входа в панель для администрирования, которая отделяется от URL символом «слэш». Для CMS Joomla, фраза, размещаемая после "слэша" - administrator. Введя логин и пароль, которые задавлись при установке Joomla (см. подробнее в главе 3.), осуществляется переход на административную панель, изображённую на рисунке 6.

Рисунок 6 - Административная панель

Вёрстку элементов будет рассмотрена на примере Лекции 2 для комплекса. Предварительно, для корректной работы пункта меню Лекции следует создать категорию для материала. Категория представляет собой материалы одного вида. Создадим категорию "Лекции". Для этого необходимо в административной панели необходимо перейти в Материалы - Менеджер категорий - Создать категорию. После перехода появляется окно для создания категории, показанной на рисунке 7.

Рисунок 7 - Создание категории

Необходимо заполнить заголовок категории, в данном случае - для лекций это "Лекции". Описание заполнять не обязательно. Краткое пояснение к другим настройкам:

· Родитель - является ли категория подкатегорией какой-либо другой. В данном случае, оставить как есть.

· Состояние - опубликована - видна для пользователей ИУК, Не опубликовано - не видна. В данном случае необходимо оставить как есть.

· Доступ - какие группы пользователей видят данный пункт меню. В данном случае в соответствии с дизайн - макетом лекции должны быть недоступны для незарегистрированных пользователей, следовательно, нужно сменить настройку на Registered.

После заполнения заголовка и корректировки настроек, необходимо нажать на кнопку сохранить и затем закрыть(кнопка закрыть появится после сохранения) или нажать кнопку сохранить и закрыть, после чего категория для лекций будет создана.

Аналогично с вышеописанным, создаются категории для разделов "Для собеседования" и "Новости"

Для создания лекции 2 следует перейти в административную панель и выбрать пункт меню Материалы - Менеджер материалов - Создать материал. Внешний вид незначительно отличается от создания категории, за исключением вкладок, что представлено на рисунке 8.

Рисунок 8 - Создание материала

Для лекции 2 требуется заполнить так же само значение поля материал, это и будет размещаемая на сайте лекция. Содержание заполняется на языке разметки страниц - HTML, полный текст верстаемой лекции представлен в приложении 2. HTML используется для преобразования кода, который сможет прочесть веб0обозреватель, в текст, понятный для пользователя.

2. Добавление соответствующих пунктов меню в шапку по дизайн - макету.

Для добавления, изменения или удаление пункта меню необходимо перейти в соответствующее меню, нажав на пункт "Меню" и выбрать Main Menu - для перехода в меню шапки или User Menu - для перехода в меню пользователя.

После осуществления перехода в основное меню (Main Menu) на административной панели отобразиться следующее:

Рисунок 9 - Пункты Main menu

Сверху отображаются кнопки для управления пунктами меню, ниже - таблица из строк, где каждая отдельная строка представляет собой конкретный пункт меню.

Ниже рассмотрены слева направо наиболее важные части строки таблицы с заголовком "Главная".

· Три точки позволяют установить порядок пункта в основном меню. Для изменения порядка нужно нажать на них левой кнопкой мыши, и, не отпуская её, переместить по таблице в нужное место.

· В заголовке написано наименование отображаемого пункта меню, в скобочках - алиас, добавляется к адресу в url-е при переходе, если страница не является главной. Ниже названия - содержимое той страницы, которая откроется при нажатии на пункт меню, в данном случае - материал.

· Меню - то меню, к которому относится пункт меню, главная - является ли страницей главной в ИУК, если да, то у неё звёздочка окрашена, как в данном случае.

Для добавления нового пункта меню нужно нажать на кнопку создать. После этого административная панель примет вид, представленный на рисунке 10.

Рисунок 10 - Создание пункта Меню.

Следует заполнить заголовок меню, в данном случае - ввести "Лекции". В "Типе пункта" меню необходимо выбрать Материалы - Блок категорий, т.к. раздел содержит в себе список лекций, после чего необходимо выбрать категорию, это материалы того раздела, которые будут отображаться. Для этого в поле Выбор категории необходимо нажать изменить и выбрать нужную категорию, в данном случае - ранее созданная категория лекций. После чего, необходимо выбрать меню, пунктом которого будет являться данный, установить правильное значение в поле "Доступ" и нажать кнопку "Сохранить", после этого кнопку "Закрыть" или, альтернативный вариант, нажать на "Сохранить и Закрыть". Аналогично с этим создаётся пункт "Для собеседования".

Остальные пункты создаются следующим образом: Каждая лекция - от вышеописанного необходимо выбрать в Типе пункта меню - Материалы - Материал, появится подпункт "Выбрать материал ", вместо пункта "Выбрать категорию",описанного ранее, и, нажав на кнопку "Изменить" необходимо указать нужный материал. Помимо прочего, следует дополнительно изменить родительский элемент, чтобы каждая лекция стала подпунктом меню "Лекции", выбрать которую можно нажать на соответствующий треугольник в выпадающем списке под надписью. Аналогично создаются подпункты раздела "Для Собеседования". В результате, пользователь увидит выпадающее меню, представленное на рисунке 11.

Рисунок 11 - Меню лекций

При нажатии на любую лекцию, происходит переход на новую страницу, где обучающийся может изучить представленный в ней материал.

Для материалов, использующихся в разделах "Главная", "Контакты", "Помощь" действия аналогичны вышеописанным, за исключением выбора родительского элемента. Для подпункта меню "Профиль" изменения не требуются.

Для меню "Тесты" следует выбрать "Вид материала": Тестирование - Список тестов, по аналогии выбирается категория тестов. Для отдельных подпунктов меню тестов "Вид материала": Тестирование - Страница тестов. Остальные действия аналогичны описанным для меню "Лекции".

3. Создание тестов для комплекса. Для этого используется расширение Test form Builder 3.

Для создания теста необходимо перейти в Компоненты - Test form Builder 3. После перехода необходимо для отображение в меню создать категорию теста, создание аналогично созданию категории материала. После создания категории можно создать теста. Для этого необходимо перейти в "Тесты" и нажать на кнопку "Создать". После чего административная панель примет вид, представленный ниже:

Рисунок 12 - Создание теста

Поля, обязательные для заполнения, выделены звёздочкой. Для корректной работы ИУК нужно выбрать правильную категорию теста, а так же установить полное сохранение в базе данных, это необходимо для раздела Статистики. Далее необходимо перейти в раздел Доступ и уведомления. Вид раздела представлен на рисунке ниже:

Рисунок 13 - Раздел доступ и уведомления теста.

В этой части административной панели можно настроить сообщения, которые появляются в случае успешного и неуспешного прохождения теста обучающимся. Важно установить ограничение положительных заполнений, ограничение отрицательных заполнений, паузу перед следующим тестированием равным нулю, т.е. позволяющие пользователю проходить тест повторно множество раз и не ждать истечения лимита времени после попытки прохождения теста. Вид сообщения в случае неуспеха показан на рисунке 14.

Рисунок 14 - Сообщение о неуспешности прохождения теста.

В разделе условий теста необходимо установить значения всех обязательных полей следующим образом: ограничение положительных заполнений - 0, счётчик вопросов - прогресс - бар, возврат к предыдущему вопросу - Да, проходной балл теста в соответствии с количеством вопросом и предполагаемыми оценками. В разделе ограничения времени нужно задать ограничение времени с расчётом 2 минуты на вопрос, задаётся в минутах.

Далее нужно перейти в раздел "Группы" вопросов и создать группу, нажав на создать группу, установить проходной балл и количество вопросов в группе, задать её название, выбор вопросов установить случайным образом. После создания группы можно создать сам вопрос. Для этого нужно нажать на кнопку "Изменить" у созданной группы, после чего нажать на кнопку "Создать вопрос", окно, которое увидит пользователь, представленную на рисунке 15.

Рисунок 15 - Создание вопроса теста

Рекомендации по заполнению. В виде ответа лучше выбирать чек-бокс, когда правильных ответов несколько, или радиокнопки, когда правильный ответ лишь 1. Обязательность ответа всегда устанавливать да. Сортировка - случайным образом, правильный - выбор всех правильных, за исключением неправильных. После создания вопроса появится возможность добавления ответа. Для этого необходимо нажать на кнопку Добавить ответ. После чего отобразиться окно, где надо будет заполнить текст ответа, указать, правильных ответ или нет и количество баллов, которое даётся за выбор ответа. Для добавления ответа на вопрос следует нажать на кнопку "Добавить". Пример одного из созданных вопросов в виде отображения для обучающегося представлен на рисунке 16.

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.