Разработка системы управления курсами для электронного обучения
Классификации обучающих программ для электронного обучения. Понятие педагогического сценария. Создание интерфейсов отображения теоретического материала, тестирования, выведения результатов, базы данных. Поддержание удобного администрирования сайта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 16.06.2018 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Разработка системы управления курсами для электронного обучения
Введение
На сегодняшний день интернет достиг невероятного развития, почти любой человек имеет доступ в интернет. Компьютеры, планшеты, телефоны и прочие гаджеты давно вытеснили телевизоры и радио на второй план по получению массовой информации в доме. Этот факт не остался незамеченным и для других сфер: коммерческих, образовательных. Пользуясь интернетом можно донести любую информацию до каждого человека в мире. Каждую секунду в интернете находятся миллионы людей и используют его для различных целей. Благодаря вышеперечисленным тезисам востребована веб-разработка.
В наши дни значительное место в обучении занимают компьютерные информационно-коммуникационные технологии. Они предоставляют возможность продемонстрировать содержание учебного материала, выступают в роли новых интерактивных средств обучения, которые имеют множество дидактических достоинств и позволяют на должном уровне изменить методы, формы и содержание обучения.
При использовании электронных учебно-методических материалов, таких как конспект лекции, обучающие программы, модули поддержки изучения отдельных тем, вместе с традиционными методами преподавания значительно улучшается эффективность учебного процесса и повышается его продуктивность. Но подготовка электронных учебно-методических материалов является трудоёмким процессом, требующим совместного участие преподавателей-методистов и программистов, разрабатывающих программные продукты. Так же является довольно трудоемкой задачей автоматизация решения учебных задач, так как на данный момент существует не очень большое количество разработок в сфере электронного обучения.
Исходя из этого, задача реализации системы управления курсами и соответствующих курсов является актуальной и для меня, и для кафедры ПМиК, так как для её решения требуется обширное использование знаний, которые были получены при изучении ряда дисциплин курса, а её реализация поспособствует дальнейшему развития и обучению студентов.
В пояснительной записке будут затронуты основные средства разработки, используемые при написании проекта, описаны основные преимущества, способствующие выборы именно их, разобраны основные компоненты системы управления курсами. Для большего понимания того, как реализация отображается на сайте, описание будет сопровождаться скриншотами с сайта и основными фрагментами кода. В заключении будет подведение итогов выпускной квалификационной работы, поставлены цели для дальнейших версий программы и описаны основные наработки, которые планируются к внедрению в ближайшее время.
Постановка задачи
Целью данной выпускной квалификационной работы является создание системы управления курсами для электронного обучения и реализация на её основе обучающего модуля по программированию.
Обучающий модуль состоит из двух частей: теоретической и практической.
Теоретическая часть содержит готовый электронный конспект лекций по теме обучающего модуля и интерактивные примеры решения различных задач курса.
Практическая часть - это решение задач, которое выполняется в формате тестирования.
Обзор предметной области
В начале обзора всякой предметной области необходимо уделить внимание терминам. Разработка программ, которые позволяют осуществлять разного рода поддержку процесса обучения, - это такая же область знаний, как любая техническая или гуманитарная дисциплина, а, значит, имеет свою основу в виде понятий, классификаций и определений. В этом проекте главными понятиям предметной области будут как моменты, которые связаны с педагогикой, так и определения, связанные с разработкой программ.
Сначала нужно определить область постановки определений и понятий. В данной работе основа - это информационные технологии. Информационные технологии -это совокупность методов, производственных и программно-технологических средств, объединенных в технологическую цепочку, обеспечивающую сбор, хранение, обработку, вывод и распространение информации [3].
На данный момент определение обучающей программы не выработано и законодательно никак не закреплено. Большая часть источников сходятся в том, что это некоторое программное средство, которое направлено на решение педагогических задач, связанных с какой-то определенной областью знаний. Авторами Рижского технического университета приводится наиболее общее определение обучающей программы, где под обучающей программой понимается комплекс информационных, методических и программных средств, предназначенных для изучения отдельного предмета, и обычно включающие вопросы и задачи для самоконтроля и проверки знаний, а также обеспечивающих обратную связь [1]. Но это определение мало затрагивает определение понятия обучения как процесса получения знаний в определённой сфере, где знания - это результат процесса познания действительности, адекватный ее отображению в сознании человека в виде представлений, суждений, умозаключений, теорий [2].
Для того, чтобы реализовать любой программный комплекс, направленный на поддержку хода обучения, необходимо использовать в программе возможность ознакомления с теорией изучаемой тематики с помощью различных визуальных элементов, задачи для самоконтроля и проверки и систему обратной связи с обучаемым. Все эти компоненты являются отдельными учебными объектами, методами, которые были отобраны в соответствии с программой учебной дисциплины [4].
Электронное обучение - это такая разновидность обучения, где материалы изучаются и обрабатываются на компьютере, и чаще всего при этом используется Интернет. Это обучение еще носит название e-learning. Все материалы отображаются на компьютере в одном из указанных форматов, удобных для восприятия:
· в текстовом формате с добавлением картинок (это самый простой вариант: тут либо используется непосредственно сам документ, либо скопированный из него текст);
· в видео-формате, к примеру, в виде обучающего ролика (для создания нужна специальная программа).[7]
Итак, определения, рассмотренные выше, позволяют определить базу для классификации обучающих программ. В рамках современных информационных технологий можно выделить несколько классификаций обучающих программ, которые были описаны различными авторами.
Учитывая некоторые особенности учебной деятельности, принято выделять четыре типа обучающих программ [5]:
· контролирующие и тренировочные, которые призваны решать прикладные задачи;
· наставнические, которые помогают с освоением материала, представляя его в более удобном виде;
· моделирующие и имитационные, которые демонстрируют процессы, происходящие в некоторых системах:
· развивающие игры, которые требуют непосредственного участия обучаемого в игре.
Ещё принято выделять комплексы, которые ориентированы на работу в локальных системах и предназначены для индивидуального обучения;
ориентированы на сеть, требуют подключения к серверу и предназначены для большого количества людей.
Для того, чтобы разработать эффективную обучающую программу, необходимо учитывать специфические требования к профессионалам различных сфер деятельности и соответственно организовывать структуру комплекса.
Сначала необходимо разбить теоретический материал, который планируется использовать в программе, на отдельные элементы, систематизировать его для того, чтобы он легче усваивался обучающимся. Обращение к материалу должно быть легким и понятным.
Рассмотрим такое понятие, как педагогический сценарий. Педагогический сценарий - это целенаправленная, личностно-ориентированная, методически выстроенная последовательность педагогических методов и технологий для достижения педагогических целей и приемов [6]. Применительно к обучающей программе, - это определённая последовательность действий, с которой обучающийся проходит по определённой теме. Для эффективного процесса обучения с помощью этой программы необходима разработка такого сценария. В его состав могут входить методы и алгоритмы решения определённых задач, примеры решения, упражнения, тесты.
Описание требований к приложению
Для реализации данного функционала поставлены следующие задачи:
· создание интерфейса отображения теоретического материала;
· создание интерфейса тестирования;
· создание интерфейса отображения результатов
· создание базы данных, включающей всю информацию о курсах, пользователях и прочем контенте сайта;
· поддержание удобного администрирования сайта, с возможностью изменения информации в базе данных.
1. Средства разработки
программа электронный обучение
Framework
В наше время все больше становятся популярными программные платформы с названием Framework, которые облегчают разработку и объединяют различных компоненты.
Фреймворк (или «каркас») -- это программная платформа / обеспечение, набор библиотек и инструментов, позволяющих упростить и ускорить решение типовых задач конкретного языка программирования, определяющих основную структуру программы.
Фреймворки делятся на два типа:
- Frontend-фреймворк, отвечающий за внешний пользовательский интерфейс, так же можно назвать client-side.
- Backend-фреймворк, отвечающий за основную программно-аппаратную часть, так же можно назвать server-side.
Фреймворки помогают ускорить разработку сайтов, давая разработчику набор готовых функций, процедур, шаблонов и т.д., тем самым избавляя его от повторного написания базовых элементов.
Frontend
Frontend-фреймворк объединяет в себе все возможности языков HTML, CSS, JS.
НTML
HTML (HyperTextMarkupLanguage) -- стандартный язык, который используется для написания гипертекстовых документов в среде WEB. HTML позволяет преобразовать любой текст в гипертекст, который можно будет опубликовать в интернете. Любой интернет-сайт использует его для отображения информации.
HTML составляет структуру страниц, видимую нам в браузере с помощью специальных HTML-тэгов. Браузер считывает и обрабатывает их, после чего выводит на экран в виде HTML-элементов, с которыми так же можно взаимодействовать с помощью клавиатуры и мыши.
В HTML составляется разметка сайта, он помогает форматировать текст в нужный нам вид.
HTML не является языком программирования, он состоит из тэгов, которые имеют вид: <Название тэга>. Чаще всего, конец тэга обозначается тем же тэгом, только перед его названием стоит слэш:</Название тэга>, но он может и отсутствовать. У каждого тэга есть определенная команда, которую считывает браузер, после чего обрабатывает ее и выводит результат на экран.
Основные детали каждого документа:
· <html>...</html> - обозначает начало и конец HTML-документа.
· <head>...</head> - заголовочная часть документа.
· <body>...</body> - тело документа, в котором содержится основная информация. HTML -- это самый распространенный инструмент для создания сайтов. Он прост в освоении и продолжает развиваться, расширяя свой функционал и усовершенствуя уже существующий.
Последняя версия на данный момент -- HTML5.
CSS
CSS (CascadeStyleSheets) -- язык отображения внешнего вида документа, содержащий параметры форматирования, которые применяются к определенным частям документа и изменяют их внешний вид.
В основном CSS взаимодействует с HTML и XHTML как оформление или отображение их внешнего вида. Так же CSS может применяться в XML -- документах.
CSS используется для изменения стиля отображения html-документов, то есть изменения параметров текста (шрифта, размера, цвета и т.п.), параметров общего визуального отображения (заднего фона, отступов и т.д.).
Стили могут находиться, или в самом html-файле внутри тэгов <style>...</style>, или могут быть прописаны в отдельном файле с расширением .css .
Преимущества CSS:
· Компактность кода, то есть появляется возможность однажды написав некоторый «шаблон» использовать его в дальнейшем повторно.
· Экономия времени - стили можно использовать сразу для групп элементов.
· Расширения функционала, предоставляемого HTML.
JavaScript
JavaScript -- мультипарадигменный язык программирования. Используется в страницах HTML для создания скриптов, то есть набора действий, не требующих предварительной обработки. Чаще всего cкрипт срабатывает при взаимодействии пользователя с интерфейсом.
Для выполнения скриптов необходима поддержка браузером интерпретатора JavaScript, на данный момент все современные браузеры имеют эту функцию.
Существует 3 способа добавления JavaScript в HTML - страницы:
1. Добавление кода в теги <script>...</script>. В одном документе таких включений может быть сколько угодно, желательно ставить их в конце тега<body> (это значительно ускоряет обработку скрипта).
2. Расположение внутри тега. Используется для описания различных обработчиков событий (Например: onclick).
3. Использование в отдельном файле. Подключение происходит так же в тегах<script>.
JavaScriptделает HTML страницу уникальной, добавляя в неё множество уникальных программ и всевозможных реализаций.
TwitterBootstrap
TwitterBootstrap-это свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML- и CSS-шаблоны оформления для типографики, веб-форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейса, включая JavaScript-расширения.
Bootstrap использует современные наработки в области CSS и HTML, поэтому необходимо быть внимательным при поддержке старых браузеров.
Основные инструменты Bootstrap:
- Сетки --заранее заданные размеры колонок,которые можно сразу жеиспользовать, например ширина колонки 140 px относится к классу .span2 (.col-md-2 в третьей версии фреймворка), который можно использовать в CSS-описании документа.
- Шаблоны --фиксированный или резиновый шаблон документа.
- Типографика--описания шрифтов,определение некоторых классов дляшрифтов, таких как код, цитаты и т. п.
- Медиа --представляет некоторое управление изображениями и видео.
- Таблицы --средства оформления таблиц,вплоть до добавленияфункциональности сортировки.
- Формы --классы для оформления форм и некоторых событий,происходящихс ними.
- Навигация --классы оформления для табов,вкладок,страничности,меню ипанели инструментов.
- Алерты--оформление диалоговых окон,подсказок и всплывающих окон.
Из основных плюсов можно выделить:
- простота, соответственно и высокая скорость разработки;
- огромное количество реализованных UI-компонентов;
- понятный, читабельный код.
Backend
Backend-фреймворки объединяют в себе большой набор технологий и инструментов для разработки веб-приложений на сервере. Backend-фреймворки основаны на различных языках программирования, поэтому для работы с ними необходимо знать соответствующий язык.
Для работы над веб-сайтомбыл выбран язык Python. Из явных преимуществ можно выделить: многоплатформенность и масштабность, простой и удобный синтаксис, встроенные структуры данных, кортежи, словари и большое количество библиотек. Так же у него есть огромное количество пакетов, которые значительно ускоряют разработку проектов, исключая «изобретение велосипедов».
Django (Python)
Django -- фреймворк для веб-приложений на языке Python. Один из основных принципов фреймворка -- DRY (don'trepeatyourself) - каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках системы. Веб-системы на Django строятся из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Также, в отличие от многих других фреймворков, обработчики URL в Django конфигурируются явно (при помощи регулярных выражений), а не автоматически задаются из структуры контроллеров.
Веб-фреймворкDjango используется в таких крупных и известных сайтах, как Instagram, Disqus, Mozilla, TheWashingtonTimes, Pinterest, YouTube, Google и др. Вся веб-система Django строится на основе приложений, их может быть как одно, так и несколько. Для работы с БД в Django используется собственный ORM. Его суть заключается в том, что модели данных описываются Python-классами, и уже на их основе создается схема БД.
АрхитектураDjangoпохожана MVC(Model-View-Controller). Контроллер классической модели MVC, примерно похож по уровню на аналог от DjangoView, а логика представления View реализуется в Django как Templates (шаблоны). Из-за этого архитектуру Django называют MVT(Model-Template-View).
Рис. 1 - Архитектура MVT
На рисунке 1.1 отражена бизнес-логика паттерна MVT в приложениях Django.
Model
Модель выступает в качестве определения некоторых хранимых нами данных. В веб-приложениях они обычно хранятся в реляционных базах данных (в нашем случае Sqlite), но так же могут содержаться в XML -- файлах, схемах LDAP и т. д. В Django модель представляет собой Python класс, который описывает переменные и методы для определения данных. Каждая модель в Django является представлением одной из таблиц БД.
Основные особенности:
- Каждая модель - это класс, наследуемый от django.db.models.Model.
- Всякий атрибут модели, характеризует отдельное поле БД.
- Модели Django представляют собой автоматически-генерируемый API для доступа к БД.
Template
В стандартном веб-приложении, Template представляет собой HTML -страницу с некоторыми дополнительными возможностями. Язык шаблонов Django может фактически создавать любой текстовый файл (XML, CSS, JavaScript и т. д.). Шаблон получает контекст от View. Задача Template заключается в том, чтобы преобразовать эти переменные в HTML - страницу, которая будет отображаться браузером.
Язык шаблонов Django предлагает несколько основных тегов, а также большой список встроенных фильтров для изменения вывода переменных и методов. Он содержит базовые конструкторы программирования, такие как операторы IF и FOR, которые часто необходимы для логики представления. Но в отличии от некоторых языков шаблонов, разработчик не может произвольно помещать код Python в шаблон. Язык намеренно ограничен, чтобы побудить разработчика правильно отделить логику презентации от своей бизнес -- логики.
Вся поддержка и встроенная система шаблонов находится в django.template.
View
Обычно, цель представления в Django -- определить, какие данные должны отображаться, извлекать их из БД и передавать в шаблон. Представление - это функции Python. Как правило, для каждого вида страницы создается свое представление.
В большинстве представлений Django, программист использует встроенный API объектно -- реляционого отображения(ORM) Django для извлечения нужного набора информации из БД. ORM позволяет писать Python код вместо SQL для этих функций. Представления также могут выполнять другие задачи, помимо взаимодействия с БД, такие как отправка сообщений электронной почты, проверка подлинности на какой-либо внешней службе и проверка ввода формы.
Наиболее распространенной конечной точкой для функции представления является передача контексту шаблона для рендеринга. Контекст -- это обычные переменные доступные шаблону. Важно понимать, что представление не имеет никакого отношения к тому, как представлены данные -- только какие данные представлены.
Представления могут быть написаны в виде:
Class-based-view(CBV) -- отображения выступают в роле классов, наследуемых от View, то есть в работе используется ООП.
Fuction-based-view(FBV) -- отображения выступает в роли функций.
Плюсы Django:
+ Поддержка MTV (Model-Template-View). Данный паттерн проектирования очень близок к классическому MVC, и самое главное, что он позволяет -- это хорошо отделять бизнес-логику от дизайна.
+ Автоматически генерируемая панель администратора.
+ Очень большая и качественная документация.
Я выбрал именно Django, так как он имеет качественную документацию, которая так необходима при изучении фреймворка. Так же на сайте постоянно будет производиться добавление, редактирование и удаление данных из БД, поэтому нужна удобная панель администратора, которая сразу есть в комплекте с Django. Поддержка MTV (Model-Template-View) также сыгралабольшую роль, она очень близка к классическому MVC, благодаря этому можно хорошо отделять бизнес-логику от дизайна сайта.
Sqlite
Sqlite компактная встраиваемая реляционная база данных. Встраиваемая потому, что она не использует парадигму клиент-сервер, в связи с этим программа не взаимодействует с движком как отдельно работающим процессом. Таким образом движок является частью программы, в связи с тем, что Sqlite предоставляет библиотеку, которая компонуется с программой.
Протоколом в таком случае выступает API библиотеки Sqlite, то есть вызовы функции. Это решение значительно уменьшает используемые ресурсы, программа становится намного проще и время отклика становится значительно меньше. Вся БД Sqlite находится в одном файле на компьютере, на котором запускается программа.
Чтение из базы данных может происходить параллельно несколькими программами или процессами, но запись может происходить только когда программа не обрабатывает никаких запросов.
Python
Python - высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. В то же время стандартная библиотека включает большой объем полезных функций.
Питон поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное , императивное и аспектно-ориентированное. Основные архитектурные черты - динамическая типизация, автоматическое управление памятью, механизм обработки исключений и т.д..
Python был выбран в качестве основного языка разработки, так как он прост в использовании и имеет большой применение при разработке сайта. С помощью него можно использовать стандартные пакеты и реализовывать сложные задачи с помощью применения компактных модулей.[8]
Графический редактор
В данной работе для разработке модели сайта и получения визуального представления поставленной задачи я выбрал инструмент BalsamiqMockups. С его помощью можно создавать макеты, относящиеся к «макетам с низкой степенью детализации». Используя BalsamiqMuckups можно быстро создавать различные макеты сайта, что позволяет подобрать наиболее подходящий вариант, не зацикливаясь на этапе проектирования макета.
PyCharm
PyCharm - интегрированная среда разработки для языка программирования Python. Предоставляет средства для анализа кода, графический отладчик, инструмент для запуска юнит-тестов и поддерживает веб-разработку на Django. Описанные выше факты описывают, почему именно PyCharm был выбран в качестве среды.
Возможности:
· Статический анализ кода, подсветка синтаксиса и ошибок.
· Навигация по проекту и исходному коду: отображение файловой структуры проекта, быстрый переход между файлами, классами, методами и использованием методов;
· Рефакторинг: переименование, излечение метода, введение переменной, введение константы, подъем и спуск метода и т.д.;
· Инструменты для веб-разработки с использованием фреймворкаDjango;
· Встроенный отладчик для Python;
· Встроенные инструменты для юнит-тестрирования;
· Разработка с использованием GoogleAppEngine.[9]
2. Разработка веб-сайта
2.1 Разработка базы данных сайта
На сайте будет использоваться реляционная база данных, то есть вся информация хранится в таблицах, которые связаны между собой.
Можно выделить основные свойства БД такого типа:
· нет одинаковых строк
· у каждого столбца должно быть уникальное имя
· каждый элемент таблицы равен элементу данных
· у всех элементов столбца должен быть уникальный тип
· столбцы распределяются по определенному порядку, который задается при создании таблицы.
Основные таблицы, которые необходимо реализовать это «Информация» и «Пользователь».
Для хранении информации будет создано 4 таблицы: курс, к которому относится информация, тема этого курса, подтема или несколько подтем, сама информация.
Таблица «Cource» будем описывать все имеющиеся курсы.
Таблица «Cource»
Название |
Описание |
|
title |
Название курса |
|
Is_used |
Используется ли курс текущим пользователем |
Далее создадим таблицу «Topic», в которой будут хранится все доступные темы.
Таблица «Topic»
Название |
Описание |
|
title |
Название темы |
|
cource(FK) |
Связь по внешнему ключу с таблицей Cource |
Теперь добавим таблицу «Subtopic», содержащую фрагменты определенной темы.
Таблица «Subtopic»
Название |
Описание |
|
title |
Название подтемы |
|
topic(FK) |
Связь по внешнему ключу с таблицей Topic |
Создадим таблицу «Data», в которой будет храниться вся текстовая информация.
Таблица «Data»
Название |
Описание |
|
title |
Заголовок информации |
|
text |
Содержание |
|
image |
Картинка |
|
is_active |
Является ли информация активной |
Для создания возможности тестирования реализованы таблицы «Test», содержащая общие положения тестов, Usertest, относящую прохождение теста к конкретному пользователю, Question, содержащую вопросы,Answer, содержащие ответы.
Таблица «Test»
Название |
Описание |
|
title |
Название теста |
|
created |
Дата создания |
|
updated |
Дата обновления |
|
desc |
Описание теста |
Таблица «Usertest»
Название |
Описание |
|
title |
Название теста |
|
test(FK) |
Связь по внешнему ключу с таблицей Test |
|
is_active |
Является ли тест активным |
|
score |
Количество баллов за тест |
|
data_start |
Время начала теста |
|
comment |
Комментарий к тесту |
Таблица «Question»
Название |
Описание |
|
test(FK) |
Связь по внешнему ключу с таблицей Test |
|
question |
Текст вопроса |
Таблица «Answer»
Название |
Описание |
|
answer |
Текст ответа |
|
question(FK) |
Связь по внешнему ключу с таблицей Question |
|
correct_answer |
Правильный ответ |
Также создана таблица «User» на основе уже имеющиеся таблицы с добавлением следующих полей:
Название |
Описание |
|
sudy_group |
Группа обучения |
2.2 Создание дизайна
При разработке сайта важной составляющей является разработка его дизайна. Он должен быть удобным, функциональным, современным.
Во время разработки дизайна была использована программа BalsamiqMockups.
Рис.2-Главнаястраницасайта
По макету главной страницы (рис. 2) видно, что на хедере сайта будет располагаться основное меню.
Далее идёт основной блок сайта, на котором будет располагаться любая информация, размещенная на сайте: курсы, их содержание, профили пользователей и т.п.
Слева добавлены ссылки на курсы и тесты, не относящиеся к какому-то конкретному курсу.
Рис.3- Макет профиля
В профиле пользователь сайта сможет получить информацию, ранее заполненную им, добавить данные о себе или изменить уже имеющиеся.
Дизайн профиля, вероятно, может быть изменен в более поздних версиях проекта при дальнейшем развитии и изменении потребностей.
Разработка функционала сайта
После того как нами был создан предварительный дизайн в Photoshop, можно переходить непосредственно к созданию всего необходимого нам функционала. Далее будут рассмотрены блоки, составляющие основу сайта.
3.3 Основа проекта
При написании сайта будет использоваться шаблон, названный main.html. В нем будут храниться ключевые элементы сайта: хедер с полями профиля, помощи в взаимодействии с сайтом и прочими вариантами обращения с интерфейсом сайта, меню, располагающиеся слева, позволяющееуправлять курсами. От него будут наследоваться все остальные шаблоны, и изменять содержание основного контейнера.
Данная реализация очень удобна, так как она значительно улучшает читабельность кода сайта, улучшает его производительность.
В Django есть свой язык шаблонов, в котором есть набор команд, позволяющих проводить манипуляции с шаблонами, используя язык Python.
Наша главная страница будет наследовать базовый шаблон с помощью функции {% extends «main.html» %} и заменять основной контейнер методом {% blockcontent %}. При каждом переходе по сайту будет меняться контент изменяемого блока с использованием дополнительных шаблоном, но не делая никаких дополнительных вызовов.
Рис. 4 - базис сайта
3.4 Блок с курсами
Начнем с блока, являющегося основным, отвечающего за отображение курсов. Для начала необходимо создать модель, которая будет храниться в model.py, назовем её Course. Они будет содержать следующие поля:
Рис. 5 -- модель «Course»
Теперь реализуем представление нашей модели в views.py.Данное представление получает всю информацию из базы данных об имеющихся курсах и отправляет объект классав шаблон course.html.
Рис. 6 представление курсов.
Так же определим шаблон, который будет использовать это представление, то есть course.html.
Далее нужно добавить url нашей страницы, который будет использовать написанное ранее представление. В нашем случае будет использовать 2 перехода
Рис. 7 -- urlстраницы курсов
После этого нужно добавить этот элемент на наш шаблон, чтобы он отображался на сайте.
У нас будет один базовый шаблон main.html, который описан выше. В нем и будет находиться информация об имеющихся курсах.
Мы будем проходить по всем элементам объекта класса в цикле FOR, проверяя, является ли курс начатым для пользователя. В зависимости от этого будет вызываться одна из функций get_absolute_url, если используется, и make_usedв обратном случае.
Рис. 8 - Отображение курсов, на которые не записан пользователь
Рис. 9 - После записи на курс программирования
Для перехода по курсам будут использоваться следующие URL:
Рис. 10 -- urlстраницы записи на курс
Рис. 11 - url страницы перехода на курс
Представления startcourseи topicview вызываются в методах get_absolute_urlи make_used соответственно. Оба случая приведут к переходу на страницу курса с отображением тем, подтем курса и соответствующими тестами, если они имеются в данном курсе.
3.5 Блок тестов
Довольно важный блок, который стоит затронуть прежде, чем перейти дальнейшему рассмотрению проекта.
Начнем с того, что в данной части сайта имеется 2 основных объекта - таблицы Test и Usertest. Первая описывает сам тест, вторая отношение пользователя к тесту.
Рис. 12 - модели теста
Так же присутствует 2 модели, описывающие тест - вопросы и ответы на него - Questionи Answer.
Рис. 13 - модели вопросов и ответов
Реализация тестов похожа на то, как описаны курсы. Есть основной класс - тест, в котором не хранится напрямую никакая информация. является основой для дальнейшего обращения с тестами, то есть присвоение прохождения теста конкретному пользователю и само заполнение теста.
По аналогии с тем, какие мы получаем представления курсов, здесь мы так же имеет 2 варианта вызовов:
· Вызов всех доступных курсов;
· Вызов вопросов текущего курса с вариантами ответов.
3.6 Блок информации
Далее нужно отобразить сам курс, который выбирает пользователь. Для этого используется похожий набор инструментов, который использовался в прошлой теме.Для реализации удобного отображения, добавления и редактирования курсов были проработаны следующие классы:Topic (тема), Subtopic (подтема), Data (непосредственно информация). Они будут описывать все поля, относящиеся к информации, отображаемой в курсах. Эти классы будут описаны вместе, так как они напрямую взаимодействуют друг с другом и являются неразрывно связанными.
Рис. 14 - модели Topic, Subtopic, Data
Важно заметить, что модели темы и подтемы не несут конкретной информации курса, лишь название и ключ, по которому связываются с другими таблицами. Подобная структура отлично скажется как при дальнейшей разработке следующих версий проекта, так и при непосредственном использовании.
Далее перейдем к элементу файла views.py, связанного с этими классами. Здесь нас ждет довольно большое представление, описание которого может помочь для более детального рассмотрения проекта и понимания его структуры.
Рис. 15 - функция topicview
В этом представлении будет создаваться несколько объектов различных классов. Для начала создается объект course, получающий информацию о текущем курсе. Среди этой информации можно выделить поле таблицы Course - is_used. Как видно на рис. 15, с помощью этого поля можно установить, проходит ли текущий пользователь этот курс. В случае, если он не записан на курс, происходит запись, сохраняемая в объект course, которой при сохранении обновит данные в таблице. С помощью этого инструмента можно взаимодействовать с базой данных, добавляя, удаляя или изменяя информацию в различных полях и таблицах.
Следующий объект, topic, относящийся к классу Topic, получает все темы, относящиеся к этому курсу. Его мы будем рассматривать вместе с объектом subtopic, модели Subtopic, так как эти классы неразрывно связаны. С помощью этих объектов мы сможем отобразить все основные моменты курса, чтобы в дальнейшем можно было перейти к более детальному рассмотрению какой-либо подтемы.
Объекты testи usertest являются реализацией функционала, описанными выше. С помощью них можно определить, какой тест уже был начат, насколько прохождение было успешным и т.п.
3.7Регистрация на сайте
При описании это раздела нужно остановиться на том, кто же является пользователем на нашем сайте. Здесь прописан вариант, при котором пользователь получает дополнительное описание. Например, информацию о том, в какой группе обучается.
Рис. 16 - таблица пользователей
В данном случае были добавлены поля:
· группы, в которой учится пользователь;
· местоположения (город);
· даты рождения;
· аватара (фотографии).
На данный момент при регистрации на сайте используется минимальное количество полей для простоты эксплуатации сайта, то есть человек может проходить курс, не указывая группу, имя и другие данные. Это делает процесс освоения на сайте более удобным.
Рис. 17 - поле регистрации на сайте
При регистрации пользователь проходит ряд проверок на корректность входных данных. К ним относятся: количество символов в логине и пароле, их допустимость, сложность пароля и т.д.
3.8Профиль пользователя
В профиле идет обращение к некоторым полям таблицы User, которые изначально имеют текущее значение и могут изменяться в дальнейшем.
Рис. 18 - класс профиля
Данный класс создается не в model.py , а в form.py, так как обращение с ним подразумевает работу с формами. Профиль пользователя будет состоять из его аватара, логина, почты, имени, фамилии и группы обучения (рис.17).
Рис. 19 - пример профиля
При нажатии на кнопку «Отправить» пользователь получает возможность изменить свои данные. Аватар, помимо изменения, так же может быть просто убран.
Заключение
программа электронный обучение
При выполнении выпускной квалификационной работы были изучены фреймворки Bootstrap и Django.
Было разработано веб-приложение, проработан и нарисован дизайн сайта, произведена его адаптивная верста и на сайт был добавлен функционал в виде удобной навигационной модели, базы данных курсов с возможностью изменения и прочее.
Было разработано веб-приложение, проработан и нарисован дизайн сайта, произведена его адаптивная верстка и на сайт был добавлен функционал, в виде удобной навигационной панели, новостного блока, базы данных товара, с фильтрацией и информацией об остатках в физических магазинах, удобная панель администратора и контактная информация, объединяющая в себе карту с местоположением магазина и отзывов о нем.
Данное приложение является простым, удобным, современным и безопасным в использовании.
Таким образом, все поставленные задачи были выполнены, цель была достигнута.
Для дальнейшего развития проекта планируется внедрение некоторого дополнительного функционала. Для начала будет добавлена возможность обратной связи, то есть получение информации о сайте от пользователей: об ошибках, о пожеланиях и предложениях.
Далее планируется реализация оптимального поиска по всей информации, находящейся на сайте. С помощью этого поиска можно будет быстро найти необходимый курс, тему или даже конкретный параграф.
Последующие наработки будут добавлены в раздел информации на главной странице сайта.
Список использованной литературы
1. Зайцева Л.В, Попко В.Н. «Разработка и использование электронных учебников» - EducationalTechnology&Society 9(1), 2006, стр. 411-421.
2. Данилова О.В. Особенности проектирования системы поддержки самостоятельного обучения - EducationalTechnology&Society 8(3), 2005, стр. 361-366.
3. Приказ Минобразования РФ от 22 сентября 1998 г. N 2409 "О сертификации информационно-программных средств учебного назначения «Приложение 1. “Проект «Создание отраслевой системы сертификации средств информационных технологий в сфере образования”».
4. Ижуткин В.С., Токтарова В.И. «Принципы построения и реализации обучающих систем по численным методам» - EducationalTechnology&Society 9(1), 2006, стр. 397-410.
5. Сулейманов Д.Ш., Гильмуллин Р.А., Сафина Л.Р. - Использование компьютерных технологий в обучении: на примере обучающе-тестирующей программы «Морфологический анализатор» EducationalTechnology&Society 9(4), 2006 - стр. 293-305.
6. Можаева Г.В., Тубалова И.В. Как подготовить мультимедиа курс? Методическое пособие для преподавателей [Электронный ресурс] // Информационно-коммуникационные технологии в образовании: образовательный портал. 2002. URL: http://www.ict.edu.ru/ft/003620/1.html (дата обращения: 04.03.2018)
7. Электронное обучение. Плюсы и минусы [Электронный ресурс]: URL: https://www.gd.ru/articles/9328-elektronnoe-obuchenie (дата обращения: 13.05.2018)
8. PyCharm [Электронный ресурс] URL: https://jetbrains.ru/products/pycharm/ (дата обращения: 13.05.2018)
Размещено на Allbest.ru
...Подобные документы
Особенности электронных учебных пособий и основные принципы их создания. Сбор и подготовка исходного материала для электронного учебного пособия. Разработка структуры электронного пособия. Выбор программ и разработка интерфейса электронного учебника.
дипломная работа [738,5 K], добавлен 27.06.2012Разработка информационной образовательной технологии на основе системы управления обучением Moodle. Теоретические основы электронного образования и программные платформы для организации электронного обучения, преимущества и недостатки такого обучения.
дипломная работа [1,7 M], добавлен 07.07.2012Понятие о современном электронном учебнике, обзор средств создания обучающих программ и формирование требований к учебнику. Обучающие системы на основе линейного текста и гипертекста, мультимедийные системы. Требования к подготовке тестового материала.
дипломная работа [912,9 K], добавлен 08.11.2010Понятие электронного обучения, его сущность и особенности, значение на современном этапе. Потребительские характеристики, необходимые при выборе программного обеспечения для дистанционного обучения. Авторские программные продукты и их особенности.
научная работа [24,4 K], добавлен 29.01.2009Обзор систем дистанционного образования. Разработка электронного практикума по созданию Flash-приложений на основе системы дистанционного обучения Moodle. Общая структура электронного практикума. Построение логической модели данных информационной системы.
дипломная работа [3,0 M], добавлен 19.01.2017Анализ сайтов для обучения иностранным языкам в сети Интернет и методик их изучения. Разработка сайта Foreign Dimension для обучения английскому языку. Структура сайта, разработка упражнений, базы данных, интерфейса. Тестирование основных элементов сайта.
дипломная работа [966,9 K], добавлен 19.01.2017Создание одной из форм обучения с использованием средств новых информационных технологий - электронного учебника. Администрирование электронного учебного пособия на тему "Линейное программирование". Проектирование структуры электронного учебника.
курсовая работа [1,7 M], добавлен 09.06.2010Обзор средств создания электронных обучающих систем. Требования к системе проектирования "электронного учебника". Разработка теоретической части и интерактивных примеров. Классификация средств создания электронных учебников. Принципы изложения материала.
дипломная работа [7,8 M], добавлен 10.01.2013Разработка и программная реализация сайта и базы данных, наполнение базы данных тестовой информацией о товарах. Инструментальные средства создания сайта. Организация тестирования сайта, модуль визуализации интерфейса. Создание запросов в базе данных SQL.
курсовая работа [1,4 M], добавлен 24.12.2012Модернизация системы образования в России. Организация дистанционного обучения. Методические аспекты применения платформы электронного обучения Claroline как средства организации проведения элективного курса по информатике в старших классах школы.
дипломная работа [3,9 M], добавлен 29.09.2013Разработка структуры базы данных сайта. Установка и настройка требуемого программного обеспечения. Анализ интерфейса программы. Создание формы обратной связи. Формирование дизайна, соответствующего требованиям заказчика. Выбор методики тестирования.
дипломная работа [2,0 M], добавлен 22.03.2018Обзор существующий решений в области электронного обучения. Исследование архитектурных и технологических аспектов построения виртуальных корпоративных университетов. Анализ возможностей системы дистанционного обучения Sakai, отличительные особенности.
дипломная работа [2,7 M], добавлен 09.04.2011Разработка концептуальной модели базы данных. Реализация алгоритмов и разработка управляющей программы. Разработка структуры системы управления данными. Методика проведения и результаты тестирования. Функционирование разработанного программного модуля.
курсовая работа [550,5 K], добавлен 08.06.2023Классификация средств обучения. Иерархия систем дистанционного обучения. Создание "Электронного учебника по информатике для иностранных студентов", имеющей возможность напрямую редактировать названия учебников или методических материалов и их количество.
дипломная работа [5,6 M], добавлен 17.05.2012Выбор средств разработки. Написание сценариев PHP. Разработка базы данных MySQL. Описания организации иерархической многопользовательской модульной структуры сайта с возможностью управления содержанием. Создание средств для удаленного администрирования.
практическая работа [4,8 M], добавлен 12.06.2013Системы на основе линейного текста или гипертекста. Формирование требований к электронному учебнику. Подбор теоретического материала с использованием материалов электронной библиотеки и возможностей Интернет. Система тестирования Master test 1.0.
дипломная работа [1,7 M], добавлен 22.09.2014Создание программ, позволяющих создавать базы данных. Создание таблицы базы данных. Создание схемы данных. Создание форм, отчетов, запросов. Увеличение объема и структурной сложности хранимых данных. Характеристика системы управления базой данных Access.
курсовая работа [2,1 M], добавлен 17.06.2013Создание базы данных для автоматизации электронного магазина по продаже шин в терминале ER моделирования. Построение логической и концептуальной модели базы данных. Её реализация в интерактивной среде Интернет. Расчет экономической эффективности магазина.
курсовая работа [4,5 M], добавлен 10.10.2012Создание базы данных для информационной системы "Грузоперевозки". Анализ предметной области, разработка концептуальной и логической модели базы данных, с использованием средства MS Micrоsоft SQL Server 2005, реализация физического проектирования базы.
курсовая работа [1,3 M], добавлен 01.07.2011Анализ предметной области и функций сайта. Разработка структуры базы данных, структуры и дизайна web-сайта. Описание установки CMS "Joomla!" и программной оболочки Denwer, создание гостевой книги, галереи и карты Google, результаты их тестирования.
дипломная работа [2,3 M], добавлен 19.01.2017