Веб-приложение для изучения английского языка
Разработка веб-приложения, позволяющего автоматизировать процесс формирования навыков построения предложений на английском языке. Проектирование архитектуры приложения и базы данных. Разработка графического интерфейса. Создание тестовых заданий.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 30.06.2017 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
ОГЛАВЛЕНИЕ
веб приложение тестовый английский
Введение
Глава 1. Анализ предметной области
1.1 Анализ заданий для формирования навыков построения предложений на английском языке
1.1.1 Задания в литературных источниках
1.1.2 Задания в приложениях
1.1.3 Выводы по разделу
1.2 Анализ существующих решений
1.2.1 Веб-приложение «Quill»
1.2.2 Веб-приложение «LinguaLeo»
1.2.3 Веб-приложение «Wlingua»
1.2.4 Веб-приложение «Busuu»
1.2.5 Выводы по разделу
1.3 Спецификация требований
Глава 2. Проектирование архитектуры приложения для формирования навыков построения предложений на английском языке
2.1 Описание архитектуры приложения
2.2 Структура классов приложения
2.3 Проектирование базы данных
Глава 3. Разработка приложения для формирования навыков построения предложений на английском языке
3.1 Разработка графического интерфейса приложения
3.2 Авторизация пользователей в приложении
3.3 Создание тестовых заданий
Заключение
Библиографический список
Список терминов и сокращений
Приложение А. Техническое задание
ВВЕДЕНИЕ
В то время как русский язык предполагает определенную свободу в построении предложений, в английском языке необходимо соблюдать фиксированный порядок частей речи при построении предложений. Изменение порядка слов в предложении может исказить первоначальный смысл, заложенный в него. Поэтому так важно строго придерживаться установленного строгого порядка слов в предложениях. К счастью, в связи с развитием информационных технологий, сегодня существует большое количество вспомогательных средств, позволяющих поддерживать свой уровень языка в актуальном состоянии, а также улучшать текущий уровень владения языком и развивать навыки построения предложений. Примерами таких вспомогательных средств являются: различные веб-сервисы, настольные и мобильные приложений, а также информационные системы, которых, на сегодняшний день, существует большое множество [1]. Следует отметить, что у таких приложений для изучения английского языка существуют некоторые ограничения.
Изучая английский язык, помимо повседневных и общих фраз, как правило, мы часто сталкиваемся с различной профессиональной и терминологической лексикой, которую мы встречаем в зарубежных информационных источниках. Поэтому так важно, изучая английский язык, помимо общей лексики, знать и специальную лексику. Так как именно эти знания позволяют читать специальную научную литературу и общаться в профессиональной сфере. Традиционно, большинство средств для обучения английскому языку созданы таким образом, что они используют общий языковой словарь, не учитывая при этом различную профессиональную и терминологическую лексику, или используют лишь ее малую часть [2].
Задания, применяемые для обучения в данных средствах, также играют немаловажную роль. Для того чтобы пользователь приложения не обучался английскому языку на одних и тех же примерах, необходимо своевременно добавлять новые задания для обучения, а также обновлять старые. При использовании подобных средств для изучения английского языка учебными заведениями возможность расширять набор заданий, предлагаемых учащимся, не предусмотрена. Также не предусмотрена возможность контроля хода тестирования и его результатов преподавателем, поскольку набор тестовых заданий определяется разработчиками данных средств [3].
В связи с перечисленными недостатками средств для обучения английскому языку, необходимо разработать приложение, позволяющее устранить их.
Целью данной работы является проектирование и реализация системы, обеспечивающей формирование грамматических навыков построения предложений у людей, изучающих английский язык. Для достижения данной цели, были поставлены следующие задачи:
1. Провести анализ заданий, применяемых для формирования навыков построения предложений на английском языке.
2. Провести анализ и сравнение существующих решений в области формирования навыков построения предложений на английском языке.
3. Выполнить проектирование архитектуры приложения.
4. Выполнить проектирование базы данных (БД) для хранения тестовых заданий.
5. Реализовать спроектированное приложение.
Для реализации поставленных задач необходимо использовать следующие методы исследования:
1. Анализ литературы и синтез материала по предметной области, который позволит спроектировать архитектуру приложения.
2. Сравнение и обобщение. Необходимо провести сравнение существующих решений, позволяющих улучшать навыки формирования построения предложений на английском языке для того, чтобы выявить их основные преимущества и недостатки, которые будут использоваться для последующего анализа.
Таким образом, результатом данной работы будет веб-приложение, позволяющее автоматизировать процесс формирования навыков построения предложений на английском языке.
Глава 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
В данной главе будет описан процесс анализа заданий для формирования навыков построения предложений в английском языке в литературных источниках, а также в веб-и мобильных приложениях. Далее, с учетом результатов анализа будут сформированы функциональные и нефункциональные требования к веб-приложению, которое будет реализовано по окончанию данной работы. Для описания функциональных требований будет использована диаграмма вариантов использования (Use Case Diagram).
1.1 Анализ заданий для формирования навыков построения предложений на английском языке
Последние годы, большинство исследований в области изучения английского языка указывает на то, что изучение языка с использованием таких технологических средств, как веб-приложения, мобильные и настольные приложения имеют положительный эффект на обучение в целом [2-4]. В качестве наиболее эффективных средств для формирования пассивных грамматических навыков в английском языке выделяют: веб-приложения, мобильные приложения [4]. Также, в своей работе, Zhang отмечает [4], что в подавляющем большинстве, такие средства, как мобильные и веб-приложения, должны рассматриваться в качестве дополнительных средств обучения языку, дополняя обучении с педагогом.
В данном разделе будут рассмотрены типы заданий, которые направлены на формирование навыков построения предложений на английском языке, в различных источниках. В силу того, что такие средства, как веб- и мобильные приложения, носят дополняющий характер к основному обучению, сначала будут рассмотрены задания, которые предлагают такие литературные источники, как методические пособия для изучения английского языка, учебники, статьи. Далее, задания будут рассмотрены в контексте веб- и мобильных приложений.
1.1.1 Задания в литературных источниках
Рассмотрим типы упражнений для формирования навыков построения предложений в английском языке в литературных источниках [5-7]. Условно, можно разделить все типы заданий на следующие категории:
· Задания, направленные на освоение базовых синтаксических структур в английском языке.
· Задания, направленные на определения типа предложения (в английском языке существует 4 типа предложений: простое предложение, сложное предложение, сложноподчиненное предложение, комбинированное предложение).
· Задания, направленные на определение части речи в предложении на английском языке.
· Задания, направленные на согласование частей речи в предложениях.
Для освоения базовых синтаксических структур в английском языке в литературных источниках [5-7] предложены следующие варианты тестовых заданий:
· Основываясь на предложенной синтаксической структуре, необходимо написать предложение, соответствующее данной структуре.
· На основе предложенного предложения подобрать соответствующую ему синтаксическую структуру.
· Определить, является ли предложенное предложение синтаксически верным, если оно таковым не является - указать на ошибку.
· Задания, направленные на обучение образованию вопросительных предложений.
· Задания, направленные на обучение образованию предложений с пассивным залогом.
· Составление предложения из фиксированного количества предложенных слов.
Для определения типа предложений в английском существуют задания следующего типа:
· Образование сложного предложения из двух простых.
· Определение типа предложения из предложенных вариантов.
· Образование сложного предложения из одного простого.
Для определения части речи в предложениях на английском языке существуют следующие категории задач:
· Определение части речи подчеркнутого слова.
· Дано слово/словосочетание, необходимо поставить данное слово/словосочетание в наиболее подходящее место в предложении.
Также существуют следующие упражнения, направленные на согласование частей речи в предложениях на английском языке:
· Выбрать верную форму слова из двух предложенных вариантов в предложении.
· Определить неверно согласованное слово в предложении/тексте, и исправить ошибку.
Также необходимо отметить, что каждый отдельно взятый тип задания для формирования навыков построения предложений на английском язык, рассмотренный в данном разделе, может варьироваться в зависимости от способа реализации:
· Множественный выбор.
· Альтернативный выбор.
· Установление соответствия.
· Установление последовательности.
· Свободное изложение.
1.1.2 Задания в приложениях
Рассмотрим различные типы заданий в веб- и мобильных приложениях для формирования навыков построения предложений на английском языке. На основе рейтинга популярных приложений для обучения английскому языку [8], были выбраны следующие приложений для анализа: «Quiz skyeng», «English-hilfen», «learnenglishfeelgood».
В веб-приложении «Quiz skyeng» [9], существует тестовое задание, суть которого состоит в определении синтаксически правильного предложения из четырех предложенных. Данный тип задания можно классифицировать как «выбор правильного ответа из предложенных вариантов». Пример тестового задания представлен на рисунке 1.1.
Веб-приложение «English-hilfen» [10] предлагает значительно больший спектр тестов, связанных с формированием навыков построения предложений на английском языке. В приложении предлагаются задачи следующего типа:
1. Заполнить пропуск подходящим связующим словом в предложении.
2. Сформировать синтаксически верное предложение из предложенных слов.
2.1. Сформировать вопросительное предложение.
2.2. Сформировать отрицательное предложение.
3. Определить и выбрать часть речи выделенного слова в предложении из предложенных вариантов.
4. Переписать предложение, добавив предложенное слово/слова.
Рисунок 1.1. Пример тестового задания приложения «Quiz skyeng»
Также вышеперечисленные типы заданий могут существовать как отдельно, так и в комбинированном порядке. Таким образом, данные типы заданий можно разбить на следующие категории:
1. Выбор правильного ответа из предложенных вариантов.
2. Установление правильной последовательности слов для того, чтобы получилось синтаксически правильное предложение.
3. Переписать предложение, добавив предложенное слово.
В мобильном приложении «learnenglishfeelgood» [11] представлено большое количество тестов и заданий, направленных на улучшение грамматических навыков в английском языке. Все задания разделены на три уровня сложности: легкий, средний и сложный. В данном приложении можно найти задания для формирования навыков построения предложений на английском языке следующего типа:
1. Определить часть речи у выделенного слова.
2. Составить предложение из предложенных слов.
1.1.3 Выводы по разделу
В своем исследовании Graham и Perin [12] рассматривают наиболее эффективные стратегии для формирования грамматических навыков у школьников и студентов. Они определяют наиболее эффективные задачи, связанные с формированием навыков построения предложений на английском языке, а также задачи, связанные с определением части речи на начальном этапе, и задачи, направленные на образование сложных предложений на более поздних стадиях.
В конечном итоге, на основе исследования типов заданий в различных источниках с учетом исследования Graham и Perin [12], а также в виду сложности реализации заданий со свободным изложением ответа, для разрабатываемого приложения были выбраны следующие типы задач:
1. Составление предложения из последовательности слов (установление последовательности).
2. Выбор правильного слова-связки из предложенных слов для подстановки в пропущенное место в предложении (альтернативный выбор).
1.2 Анализ существующих решений
Ввиду того, что в данной работе рассматривается лишь синтаксическая составляющая аанглийского языка, а именно способы улучшения навыков построения предложений, в ходе анализа аналогичных решений, будет рассматриваться именно эта сфера английского языка, несмотря на то, что большинство существующих решений в области обучения английскому языку, ориентированы на всеобъемлющее обучение. Прежде чем начинать анализ существующих на рынке решений, необходимо определить критерии, по которым они будут сравниваться.
Для того чтобы пользователь приложения не обучался английскому языку на одних и тех же примерах, необходимо своевременно добавлять новые задания для обучения, а также обновлять старые. Поэтому при анализе приложений необходимо учитывать данную возможность.
Как говорилось ранее, помимо возможности обучения с использованием слов из общего языкового словаря в тестовых заданиях, многих людей обучающихся английскому языку, также интересует возможность учить слова из различных предметных областей. Таким образом, возможность выбора предметной области, в качестве источника слов для тестовых заданий, необходимо учитывать при анализе приложений.
Такие возможности как управление данными для тестовых заданий, а также отслеживание прогресса учеников со стороны преподавателя английского языка, являются наиболее значимыми для рассмотрения в рамках данной работы, по сравнению с другими возможностями.
Поскольку ожидается, что приложением могут пользоваться как пользователи, начинающие изучать английский язык, так и продвинутые в этом плане пользователи, необходимо рассмотреть, какие для этого возможности существуют в рассматриваемых приложениях.
Также необходимо обратить внимание на способы монетизации рассматриваемого приложения, а также на то, каким образом это влияет на пользователей, не желающих тратить свои денежные средства. По большей части из-за того, что это напрямую влияет на возможности анализа конкретно взятого решения, так как зачастую, в бесплатных версиях приложений, доступна лишь часть функционала.
Таким образом, можно выделить следующие критерии, которые будут применены к приложениям-аналогам в ходе анализа:
· Типы заданий, используемые для улучшения навыков построения предложений на английском языке.
· Возможность выбора предметной области, для возможности изучения соответствующей лексики в ходе выполнения заданий.
· Возможность преподавателя, определять контекст заданий.
· Возможность отслеживания прогресса пользователя.
· Доступный функционал в бесплатной версии приложения.
Как уже упоминалось ранее, существует большое множество средств, позволяющих улучшить навыки построения предложений на английском языке. Рассмотрим наиболее популярные приложения, которые представлены на рынке [1]:
· «Quill».
· «LinguaLeo».
· «Wlingua».
· «Busuu».
1.2.1 Веб-приложение «Quill»
«Quill» - это веб-приложение [13], которое ориентировано на обучение грамматике и основам письма на английском языке. Приложение предлагает более 150 различных заданий для учеников 3-12 класса. Частично эти задания подготовлены с использованием стандартов обучения английского языка для 3_12 классов.
Отличительной особенностью веб_приложения «Quill» является возможность вовлечь преподавателя в учебный процесс. В случае, когда пользователь проходит регистрацию в качестве преподавателя, у него появляются следующие возможности:
· Создавать группы учеников.
· Добавлять учеников в группы.
· Создавать сборник задач из предопределенных компонентов, реализованных разработчиками приложения.
· Посылать ученикам созданные сборники заданий для выполнения.
· Отслеживать прогресс по выполненным заданиям.
· Получать рекомендации для обучения учеников на основе статистики выполненных ими задач.
В приложении отсутствует возможность выбора определенной предметной области, а также возможность создавать собственные задания. База заданий, из которых можно составлять сборники задач, управляется разработчиками данного приложения.
Для улучшения навыков построения предложений на английском языке, существуют следующие задания:
· Пользователю дано предложение. Необходимо ответить, является ли оно правильно построенным, или нет. Если предложение построено неправильно, необходимо переписать его правильным образом.
· Составление предложения из набора слов.
· Выбор наиболее подходящего слова-связки между двумя предложениями.
В случае использования «Quill» без вложения средств (бесплатно), приложение предлагает частично полный функционал, за исключением возможности выбирать дополнительные задания более высокого уровня сложности. Также в бесплатном варианте использования отсутствует возможность генерации различных отчетов о процессе обучения учеников.
1.2.2 Веб-приложение «LinguaLeo»
«LinguaLeo» [14] - это стремительно развивающаяся образовательная веб_платформа для изучения английского языка, которая содержит в своей основе игровой подход к обучению. Приложение «LinguaLeo» ориентировано на самообучение, таким образом, возможность вовлечения преподавателя в образовательный процесс, отсутствует.
При первом входе в приложение «LinguaLeo» предлагает пройти диагностирующий тест, на основе которого будет составлен персональный план обучения. Также «LinguaLeo» предлагает на выбор пользователю интересующие его предметные области, слова из которых будут использоваться в заданиях (набор слов в каждой из предметных областей ограничен и устанавливается разработчиком).
Для улучшения навыка построения предложений на английском языке, в веб-приложении «LinguaLeo» существуют следующие задания и подходы:
· Конструктор фраз, где пользователю необходимо составить предложение на английском из набора слов, также в качестве подсказки дается перевод данного слова.
· Дан перевод предложения, необходимо составить это предложение на английском языке по шагам, на каждом из которых дается 6 слов на выбор (см. рис. 1.2). Таким образом, составляется конечное предложение.
Рисунок 1.2. Пример тестового задания в приложении «LinguaLeo»
Данное приложение подразумевает условно бесплатный вариант использования. В бесплатной версии приложения «LinguaLeo» доступна лишь малая часть упражнений, также ограничен выбор предметных областей для изучения.
Как говорилось ранее, в приложении «LinguaLeo» используется игровая механика, которая предполагает вознаграждение за активность пользователя. Чем больше пользователь выполнит заданий, тем больший уровень получит пользователь, и как следствие, тем больше новых заданий он сможет выполнять.
В приложении «LinguaLeo», прогресс пользователя отображен в виде активности пользователя по различным типам заданий, а также по дням недели (рис 1.3).
Рисунок 1.3. Отображение индивидуального прогресса пользователя в «LinguaLeo»
1.2.3 Веб-приложение «Wlingua»
«Wlingua» [15] - веб-приложение для обучения английскому языку. Данное приложение предлагает более 600 различных заданий для выполнения (созданные разработчиками приложения), распределенных по различным уровням сложности:
· A1 - новичок.
· A2 - низкий уровень английского языка.
· B1- средний уровень английского.
· B2 - уровень английского языка выше среднего.
Поскольку приложение ориентировано на самообучение, возможность вовлечения преподавателя в учебный процесс отсутствует. Также отсутствует возможность выбора предметной области для изучения (направление изучения различных предметных областей определяется разработчиками приложения).
В приложении реализовано ограниченное количество заданий, для повышения уровня английского языка от начального уровня до выше среднего. Для улучшения навыков построения предложений «Wlingua» использует следующие типы заданий:
· Составить предложений из перемешанных слов.
· Вставить пропущенное слово-связку между двумя предложениями.
· Написать предложение на английском, на основе его перевода.
В бесплатной версии приложения доступны задания из категории A1 (низкий уровень английского языка). Для доступа к другим заданиям, «Wlingua» предлагает покупку месячных/квартальных/годовых программ подписок.
Для отслеживания индивидуального прогресса «Wlingua» отображает данные по выполненным заданиям из каждой категории сложности с указанием процента правильно выполненных заданий.
1.2.4 Веб-приложение «Busuu»
Приложение «Busuu» [16] предназначено для обучения 10 различным языкам, в том числе и английскому. Все задания в приложении разделены на 4 уровня, от А1 до B2 (всего существует 4 уровня: A1, A2, B1, B2). «Busuu» использует следующий подход для обучения английскому языку. Каждое задание относится к различным жизненным ситуациям (предметным областям), а также оно разделено на несколько подзаданий. Сначала пользователь пополняет свой словарный запас по изучаемой предметной области. Далее пользователю дается на выполнение несколько грамматических упражнений, в которых используются слова из выбранной предметной области. В конце пользователь выполняет аудио-тест.
Для улучшения навыка построения предложений на английском языке в приложении «Busuu» [16] реализованы следующие упражнения:
· Вставить наиболее подходящее слово в предложение из предложенных вариантов слов.
· На основе перевода предложения необходимо составить это предложение на английском, используя предложенные слова.
Возможность самостоятельного выбора предметной области для обучения отсутствует. Приложение «Busuu» также ориентировано на самообучение, поэтому возможность вовлечения преподавателя в учебный процесс отсутствует. Для отслеживания индивидуального прогресса приложение подсвечивает выполненные задания, в то время как остальные остаются затемненными.
В бесплатной версии приложения присутствуют все ключевые функциональные возможности. При платной подписке на приложение появляется доступ к большему количеству упражнений для обучения, а также возможность получения сертификатов о завершении разделов по уровням сложности.
1.2.5 Выводы по разделу
На основе анализа аналогичных проектируемому приложению систем, можно сделать следующие выводы:
· В большинстве своем подходы к улучшению навыков построения предложений на английском языке схожи во всех системах.
· Возможность выбора предметной области либо не реализована, либо реализована таким образом, что возможность расширения набора слов для предметной области, которые используются в заданиях, отсутствует.
· Возможность вовлечь преподавателя в учебный процесс существует только в приложении «Quill», но возможность создания собственных заданий и выбора предметной области также отсутствуют у данного приложения.
· Почти все рассмотренные приложения активно используют учет индивидуального прогресса пользователя.
· В основном, рассмотренные приложения применяют условно-бесплатную стратегию для работы с ними, которая включает частично-полный функционал.
В ходе анализа аналогичных приложений было выявлено, что в данных приложениях отсутствуют такие ключевые возможности, как возможность преподавателя влиять на учебный процесс, а также возможность создания предметных областей и их наполнения. Таким образом, было решено разработать веб-приложение, которое бы устранило данные недостатки.
1.3 Спецификация требований
Постановка задачи:
Необходимо разработать веб-приложение, содержащее в себе набор тестов и заданий по различным предметным областям, направленных на улучшение, а также формирование навыков построения предложений на английском языке. Также необходимо реализовать возможность управлять данными, которые будут использоваться в тестовых заданиях приложения со стороны преподавателя английского языка.
Функциональные требования:
Требования, предъявляемые к системе с точки зрения пользователя: возможность входа в систему.
Требования, предъявляемые к системе с точки зрения ученика:
1. Возможность конфигурации заданий.
2. Возможность выбрать задание.
3. Возможность выполнять задания.
4. Возможность выбора подписки.
5. Возможность подписываться на задания преподавателя по уникальному коду.
6. Возможность отслеживать статистику по выполненным заданиям.
7. Возможность регистрации в приложении как ученик.
Требования, предъявляемые к системе с точки зрения преподавателя:
1. Возможность создания задания.
2. Возможность установки параметров здания.
3. Возможность выбора заданий из списка для редактирования.
4. Возможность редактирования здания.
5. Возможность добавления предметной области.
6. Возможность получения ключа для подписчиков.
7. Возможность отслеживать статистику подписчиков.
8. Возможность регистрации в приложении как преподаватель.
Нефункциональные требования:
1. Размещение сервера в операционной системе семейства Linux.
2. Среда программирования - PhpStorm IDE.
3. Язык программирования - Node JS.
4. СУБД - MySQL 5.6.
Визуализация требований к веб-приложению реализована с помощью use-case диаграммы (рис. 1.4).
Рисунок 1.4. Диаграмма прецедентов
Описание прецедентов представлено ниже в таблицах 1.1_1.15:
Таблица 1.1. Прецедент «Вход в приложение»
Краткое описание |
Прецедент позволяет пользователю войти в приложение |
|
Актеры |
Ученик, Преподаватель |
|
Предусловия |
Пользователь зарегистрирован в приложении |
|
Основной поток |
1. Пользователь нажимает на кнопку «Login». 2. Появляется модальное окно с формой входа. 3. Пользователь вводит почту и пароль. 4. Пользователь нажимает на кнопку «Enter». A1. Комбинация логин и пароль не совпадают |
|
Альтернативные потоки |
A1. Комбинация логин и пароль не совпадает - приложение отображает сообщение об ошибке: «Пользователь с такой почтой уже существует» |
Таблица 1.2. Прецедент «Регистрация в приложении»
Краткое описание |
Прецедент позволяет пользователю зарегистрироваться в системе |
|
Актеры |
Ученик, Преподаватель |
|
Предусловия |
Пользователь не зарегистрирован в приложении |
|
Основной поток |
1. Пользователь нажимает на кнопку «Registration». 2. Появляется модальное окно с формой регистрации. 3. Пользователь вводит данные для регистрации: · Почта. · Имя. · Фамилия. · Пароль. · Роль - преподаватель/ученик. 4. Пользователь нажимает на кнопку «Sign up». A1. Пользователь с такой почтой уже существует |
|
Альтернативные потоки |
A1. Пользователь с такой почтой уже существует - приложение отображает сообщение об ошибке: «Пользователь с такой почтой уже существует» |
Таблица 1.3. Прецедент «Выполнение задания»
Краткое описание |
Прецедент позволяет выполнять тестовые задания в приложении |
|
Актеры |
Ученик |
|
Предусловия |
Выполнены прецеденты «Выбор задания» |
|
Основной поток |
1. Пользователь знакомится с текстом задания. 2. Пользователь выполняет задание |
|
Альтернативные потоки |
- |
Таблица 1.4. Прецедент «Выбор задания»
Краткое описание |
Прецедент позволяет пользователю выбрать задание для выполнения |
|
Актеры |
Ученик |
|
Предусловия |
· Выполнен прецедент «Вход в приложение». · Пользователь находится на странице с выбором заданий |
|
Основной поток |
1. Пользователь выбирает тип задания из выпадающего списка. 2. Пользователь нажимает на кнопку «Start». A1. Данные для теста отсутствуют |
|
Альтернативные потоки |
A1. Данные для теста отсутствуют - приложение выводит сообщение об ошибке: «Невозможно начать тест, так как данные для теста отсутствуют. Попробуйте изменить конфигурацию заданий» |
Таблица 1.5. Прецедент «Установка параметров заданий»
Краткое описание |
Прецедент позволяет пользователю установить настройки для выполнения подходящих заданий |
|
Актеры |
Ученик |
|
Предусловия |
· Выполнен прецедент «Вход в систему». · Пользователь находится на странице с выбором заданий |
|
Основной поток |
1. Пользователь выбирает предметную область. 2. Пользователь выбирает количество заданий в тесте. 3. Пользователь вводит текст задания |
|
Альтернативные потоки |
- |
Таблица 1.6. Прецедент «Подписка на задания преподавателя по ключу»
Краткое описание |
Прецедент позволяет пользователю подписаться на задания преподавателя |
|
Актеры |
Ученик |
|
Предусловия |
Выполнен прецедент «Вход в приложение» |
|
Основной поток |
Пользователь вводит ключ для подписки, и нажимает на кнопку «Subscribe» |
|
Альтернативные потоки |
Приложение выводит сообщение об ошибке: «Введенный ключ не существует» |
Таблица 1.7. Прецедент «Выбор подписки»
Краткое описание |
Прецедент позволяет пользователю выбрать подписку на задания преподавателя из списка |
|
Актеры |
Ученик |
|
Предусловия |
· Выполнен прецедент «Вход в приложение». · Имеется как минимум 1 подписка. |
|
Основной поток |
Пользователь выбирает подписку из выпадающего списка |
|
Альтернативные потоки |
- |
Таблица 1.8. Прецедент «Отслеживание индивидуального прогресса»
Краткое описание |
Прецедент позволяет пользователю получать статистику по выполненным заданиям |
|
Актеры |
Ученик |
|
Предусловия |
· Выполнен прецедент «Вход в систему». · Пользователь должен выполнить как минимум 1 задание, из заданий, на которые он подписан |
|
Основной поток |
1. Пользователь переходит на страницу «Statistic». 2. Пользователь выбирает предметную область из списка. 3. Пользователь нажимает на кнопку «Submit» |
|
Альтернативные потоки |
- |
Таблица 1.9. Прецедент «Добавление предметной области»
Краткое описание |
Прецедент позволяет преподавателю добавить предметную область |
|
Актеры |
Преподаватель |
|
Предусловия |
Выполнен прецедент «Вход в приложение» |
|
Основной поток |
Преподаватель вводит название предметной области и нажимает на кнопку «Add topic» |
|
Альтернативные потоки |
Если название предметной области, которое преподаватель хочет добавить, уже существует, вывод ошибки «Данная предметная область уже существует» |
Таблица 1.10. Прецедент «Создания задания»
Краткое описание |
Прецедент позволяет создать задание |
|
Актеры |
Преподаватель |
|
Предусловия |
· Выполнен прецедент «Установка параметров задания». · Преподавателем добавлена как минимум 1 предметная область. |
|
Основной поток |
Преподаватель добавляет текст и нажимает на кнопку «Create task» |
|
Альтернативные потоки |
Если текст невозможно использовать для генерации заданий, приложение выводит сообщение об ошибке: «Невозможно обработать текст» |
Таблица 1.11. Прецедент «Установка параметров задания»
Краткое описание |
Прецедент позволяет установить параметры задания |
|
Актеры |
Преподаватель |
|
Предусловия |
· Выполнен прецедент «Вход в приложение». · Пользователь находится на странице создания задания |
|
Основной поток |
1. Выбор типа задания. 2. Выбор уровня сложности. 3. Выбор предметной области |
|
Альтернативные потоки |
- |
Таблица 1.12. Прецедент «Редактирование задания»
Краткое описание |
Прецедент позволяет преподавателю редактировать задание |
|
Актеры |
Преподаватель |
|
Предусловия |
· Выполнен прецедент «Выбор задания из списка». · Пользователь находится на странице со списком заданий |
|
Основной поток |
1. Пользователь изменяет текст задания. 2. Выполняется прецедент «Установка параметров задания» |
|
Альтернативные потоки |
- |
Таблица 1.13. Прецедент «Выбор задания из списка»
Краткое описание |
Прецедент позволяет преподавателю выбрать задание из списка |
|
Актеры |
Преподаватель |
|
Предусловия |
· Выполнен прецедент «Вход в приложение». · Пользователь находится на странице со списком заданий. · Создано как минимум 1 задание |
|
Основной поток |
1. Пользователь применяет фильтры к заданиям: a. Фильтр по сложности задания. b. Фильтр по типу задания. c. Фильтр по предметной области. 2. Пользователь выбирает задание из списка |
|
Альтернативные потоки |
- |
Таблица 1.14. Прецедент «Получение ключа для подписчиков»
Краткое описание |
Прецедент позволяет преподавателю получить уникальный ключ для подписчиков |
|
Актеры |
Преподаватель |
|
Предусловия |
· Выполнен прецедент «Вход в систему». · Пользователь находится на странице управление подписками |
|
Основной поток |
Пользователь нажимает на кнопку «Get key» |
|
Альтернативные потоки |
- |
Таблица 1.15. Прецедент «Отслеживание статистики пользователей»
Краткое описание |
Прецедент позволяет преподавателю отслеживать статистику подписанных на него пользователей |
|
Актеры |
Преподаватель |
|
Предусловия |
· Выполнен прецедент «Вход в систему». · Пользователь находится на странице отслеживания статистики подписчиков. · На преподавателя подписан как минимум 1 ученик |
|
Основной поток |
1. Преподаватель переходит на страницу «Subscribers». 2. Преподаватель применяет фильтр к статистике пользователей: a. Фильтр по предметной области. b. Фильтр по типу задания. 3. При нажатии на кнопку «Submit»,преподаватель получает статистику пользователей: a. По количеству выполненных заданий. b. По проценту правильно выполненных заданий. |
|
Альтернативные потоки |
- |
Глава 2. ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ ПРИЛОЖЕНИЯ ДЛЯ ФОРМИРОВАНИЯ НАВЫКОВ ПОСТРОЕНИЯ ПРЕДЛОЖЕНИЙ НА АНГЛИЙСКОМ ЯЗЫКЕ
В данной главе будет описан процесс проектирования приложения для формирования навыков построения предложений на английском языке, который включает в себя несколько шагов. Сначала, графически будет описана архитектура приложения, с помощью диаграмм компонентов и развертывания языка UML. Далее, для более детального анализа будет использована диаграмма классов, которая служит для представления статической структуры модели разрабатываемого веб-приложения в терминологии классов объектно_ориентированного программирования. Также будет спроектировано база данных.
2.1 Описание архитектуры приложения
Начальным этапом разработки программного продукта является анализ и проектирование архитектуры приложения. На рисунке 2.1 представлена диаграмма, которая описывает архитектуру веб-приложения.
Рисунок 2.1 Архитектура приложения
На диаграмме, представленной на рисунке 2.1, можно увидеть из каких частей будет состоять будущее приложение:
· Клиентская часть приложения.
· Серверная часть приложения.
· Сервер баз данных.
Клиентская часть приложения представляет собой пользовательский интерфейс для взаимодействия пользователя с приложением, который формирует запросы к серверу, а также обрабатывает ответы от него.
Серверная часть веб-приложения будет реализовывать его основную логику. Сервер будет осуществлять обработку запросов, поступающих от клиентов, после обработки которых, сервер будет формировать веб-страницу и отправлять её клиенту по сети с использованием протокола HTTP/ HTTPS. Серверная часть будет состоять из следующих модулей:
· Обработчик запросов (QueryHandler).
· Модуль для работы с базой данных (DatabaseQueryHandler).
Обработчик запросов будет осуществлять обработку всех запросов, поступающих от клиентов. К примеру, это может быть запрос на регистрацию в приложении. В ходе обработки запросов, обработчик будет вызывать соответствующие функции того или иного модуля приложения. Для функционирования компонентов системы, которые используют базу данных, существует модуль для работы с базой данных (DatabaseQueryHandler), именно он будет инкапсулировать в себе функции для работы с базой данных.
2.2 Структура классов приложения
С помощью диаграммы классов будут описаны статические элементы модели веб-приложения. В ходе объектно-ориентированного анализа в соответствие с каждым прецедентом были поставлены классы, отвечающие за представленные в прецеденте функции. В таблице 2.1 показаны соответствия прецедентов с классами веб-приложения, а также краткое описание этих классов.
Таблица 2.1. Соответствие прецедентов и классов приложения
Прецедент |
Название класса |
Описание класса |
|
Вход в приложение |
UserController |
Отвечает за обработку и валидацию запросов, связанных с сущностью «Пользователь» |
|
UserRepository |
Получает данные о пользователе и записывает данные о пользователе в БД |
||
Регистрация в приложении |
UserEntity |
Хранит информацию о пользователе |
|
UserRepository |
- |
||
Редактирование задания |
TaskController |
Отвечает за обработку и валидацию запросов, связанных с сущностью «Тестовое задание» |
|
SentenceRepository |
Отвечает за получение заданий, а также их записи в БД |
||
SentenceEntity |
Хранит информацию о задании |
||
Установка параметров задания |
TaskController |
- |
|
ConfigurationRepository |
Отвечает за конфигурацию заданий, а также их записи в БД |
||
ConfigurationEntity |
Хранит информацию о конфигурации задания |
||
Добавление предметной области |
UserController, UserRepository |
- |
|
TopicRepository |
Отвечает за добавление/получение предметной области |
||
TopicEntity |
Отвечает за хранение данных о предметной области |
||
Конфигурация заданий |
TaskController, ConfigurationRepository, ConfigurationEntity |
- |
|
Получения ключа для подписчиков |
UserController, UserRepository, UserEntiry |
- |
|
Подписка на задания по ключу |
UserController, UserRepository, UserEntiry |
- |
|
Выполнение задание |
TaskController, SentenceRepository, SentenceEntity, ConfigurationRepository, ConfigurationEntity |
- |
|
SentenceScrumble |
Отвечает за формирование задания «Составление предложения из последовательности слов » |
||
ChooseRightSenence |
Отвечает за формирование задания «Выбор правильно построенного предложения из предложенных вариантов этого предложения » |
||
PartOfSpeech |
Отвечает за формирование задания «Определение части речи подчеркнутого слова в предложении » |
||
TextScramble |
Отвечает за формирование задания «Вставить предложение в наиболее подходящее место в тексте по смыслу » |
||
Отслеживание статистики подписчиков |
UserController, UserEntity, UserRepository |
- |
|
Выбор подписки |
UserController, UserEntity, UserRepository |
- |
|
Подписка на задания по ключу |
UserController, UserEntity, UserRepository |
- |
|
StatisticRepository |
Отвечает за получение и добавление данных связанных со статистикой пользователей в БД |
||
StatisticEntiy |
Хранит информацию о статистике пользователя |
||
Отслеживание индивидуального прогресса |
UserController, UserEntity, StatisticRepository, StatisticEntiy |
- |
На основе составленной таблицы соответствия классов и прецедентов приложения, реализуем диаграмму классов (рис. 2.2-2.4).
Рисунок 2.2. Диаграмма классов. Часть 1
Рисунок 2.3. Диаграмма классов. Часть 2
Рисунок 2.4. Диаграмма классов. Часть 3
2.3 Проектирование базы данных
Для функционирования веб-приложения необходимо разработать базу данных для хранения данных. Сначала, необходимо определить сущности, которые должны храниться в базе данных. В базе данных должны храниться такие данные, как информация о пользователях, заданиях для тестирования, статистике пользователей, информация о подписках пользователей, а также информацию о подписчиках преподавателя.
Пользовательские данные должны содержать следующую информацию:
· Уникальный идентификатор пользователя.
· ФИО пользователя.
· Почта пользователя.
· Пароль пользователя.
· Учебная группа пользователя.
· Информация о подписках пользователя.
· Информация о роли пользователя (ученик/ учитель).
· Дата создания аккаунта.
Данные о тестовых заданиях должны содержать следующую информацию:
· Уникальный идентификатор задания.
· Текст задания.
· Уровень сложности (начальный/ средний/ сложный).
· Тип задания, к которому относится задание.
· Предметная область предложения.
· Уникальный идентификатор создателя задания.
Данные о статистике пользователей должны содержать следующую информацию:
· Уникальный идентификатор пользователя.
· Предметная область задания.
· Тип задания.
· Уровень сложности задания.
· Процент правильных ответов на задания.
На основе описанных сущностей необходимо разработать структуру базы данных, а также нормализовать ее до 3 нормальной формы с целью устранения избыточности данных и образования несогласованных зависимостей.
Структура и состав таблиц представлен ниже в таблицах 2.2-2.10. Схема базы данных представлена на рисунке 2.5.
Таблица 2.2. Таблица пользователей(Users)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idUser |
Integer |
Primary key |
Идентификатор пользователя |
|
idRole |
Integer |
Идентификатор роли пользователя |
||
Name |
Varchar |
Имя пользователя |
||
LastName |
Varchar |
Фамилия пользователя |
||
|
Varchar |
Unique |
Почта пользователя |
|
Password |
Varchar |
Пароль пользователя |
||
Information |
Varchar |
Информация о пользователей |
||
createdAt |
DateTime |
Дата создания аккаунта |
||
usersTopics |
Integer |
Идентификатор предметных областей пользователя |
||
key |
Varchar |
Unique |
Уникальный ключ пользователя |
Таблица 2.3. Таблица с подписками пользователей (Users subscriptions)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idSubscription |
Integer |
Primary key |
Идентификатор подписки |
|
idLearner |
Varchar |
Идентификатор пользователя |
||
Key |
Varchar |
Значение ключа, на который подписан пользователь |
||
dateSubscription |
Integer |
Дата подписки |
Таблица 2.4. Таблица с ролями пользователей (Role)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idRole |
Integer |
Primary key |
Идентификатор роли |
|
roleName |
Varchar |
Название роли пользователя |
Таблица 2.5. Таблица с созданными предметными областями (Topics)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idTopic |
Integer |
Primary key |
Идентификатор предметной области |
|
idOwner |
Integer |
Идентификатор создателя предметной области |
||
topicName |
Varchar |
Название предметной области |
Таблица 2.6. Таблица с конфигурацией заданий (Configuration)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idConfiguration |
Integer |
Primary key |
Идентификатор конфигурации |
|
idComplexityLevel |
Integer |
Идентификатор уровня сложности |
||
idTaskType |
Integer |
Идентификатор типа задания |
Таблица 2.7. Таблица с типами заданий (Task types)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idConfiguration |
Integer |
Primary key |
Идентификатор типа задания |
|
taskName |
Varchar |
Название типа заданий |
Таблица 2.8. Таблица с уровнями сложности (Complexity level)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idLevel |
Integer |
Primary key |
Идентификатор уровня сложности |
|
levelName |
Varchar |
Название уровня сложности |
Таблица 2.9. Таблица с заданиями (Sentences)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idSentence |
Integer |
Primary key |
Идентификатор строки |
|
idOwner |
Integer |
Идентификатор создателя |
||
sentenceText |
Integer |
Текст задания |
||
translationText |
Varchar |
Перевод задания |
||
idConfiguration |
Varchar |
Идентификатор конфигурации |
||
usageCounter |
Varchar |
Счетчик количества использований |
||
idTopic |
Varchar |
Идентификатор предметной области |
Таблица 2.10. Таблица статистики пользователя (Statistic)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idSentence |
Integer |
Primary key |
Идентификатор строки |
|
idConfiguration |
Integer |
Идентификатор конфигурации |
||
duration |
Varchar |
Длительность выполнения заданий |
||
successRate |
Float |
Процент правильных ответов |
||
createdAt |
Date |
Дата прохождения задания |
||
idTopic |
Int |
Идентификатор предметной области |
Таблица 2.11. Таблица ключей пользователя (Statistic)
Атрибут |
Тип данных |
Ограничения |
Описание |
|
idKey |
Integer |
Primary key |
Идентификатор строки |
|
keyName |
Integer |
Идентификатор конфигурации |
||
duration |
Varchar |
Длительность выполнения заданий |
||
successRate |
Float |
Процент правильных ответов |
||
createdAt |
Date |
Дата прохождения задания |
||
idTopic |
Int |
Идентификатор предметной области |
Рисунок 2.5. Схема базы данных
Глава 3. РАЗРАБОТКА ПРИЛОЖЕНИЯ ДЛЯ ФОРМИРОВАНИЯ НАВЫКОВ ПОСТРОЕНИЯ ПРЕДЛОЖЕНИЙ НА АНГЛИЙСКОМ ЯЗЫКЕ
В рамках данной главы будет описан процесс реализации веб-приложения, который включает в себя реализацию графического интерфейса пользователя, а также реализации ключевых компонентов системы, связанных с авторизацией пользователя и генерацией тестовых заданий.
3.1 Разработка графического интерфейса приложения
На основе данных полученных в результате анализа и проектирования можно составить структуру графического интерфейса приложения. Так как пользователям различных категорий, в случае разрабатываемого приложения: ученик и преподаватель, доступны различные функции, при их авторизации необходимо отображать соответствующие варианты навигации по приложению. Представим структуру графического интерфейса в виде многоуровнего списка:
1. Регистрация (Sign in).
2. Авторизация(Login).
2.1. Авторизация под ролью сущностью «Пользователь»:
a. Просмотр списка заданий (Exercises).
b. Выполнение заданий (Task).
c. Просмотр статистики (Statistic).
d. Управление подписками (Subscriptions).
e. Выход из системы (Logout).
2.2. Авторизация под ролью «Преподаватель»:
a. Управление предметными областями заданий (Topics).
b. Создание заданий (Create task).
c. Редактирование заданий (Edit task).
d. Выход из системы (Logout).
Когда пользователь впервые заходит в веб-приложение, он попадает на начальную страницу приложения (см. рис. 3.1). На данной странице представлен основной компонент приложения, меню навигации. В зависимости от того, зарегистрирован пользователь или нет, в меню навигации будут располагаться различные ссылки для возможности использовать основной функционал приложения. В случаях, когда пользователь использует приложение в первый раз или пользователь не авторизован, в меню навигации будут расположены ссылки на прохождение регистрации и авторизации.
Рисунок 3.1. Начальная страница приложения
При переходе на страницу регистрации (см. рис. 3.2) (Sign up), пользователю предлагается заполнить следующие поля для регистрации в системе:
· Имя пользователя (Username).
· Фамилия пользователя (Last name).
· Почта пользователя (Email).
· Пароль (Password).
· Подтверждение пароля (Password Confirmation).
· Роль пользователя (Role).
Рисунок 3.2. Страница регистрации
При переходе по ссылке авторизации (Login) с главного меню приложения, пользователь попадает на страницу авторизации (см. рис. 3.3), где он сможет войти в систему, используя почту и пароль, указанные при регистрации.
Рисунок 3.3. Страница авторизации
В случае, когда пользователь вошел в систему под ролью «Пользователь», в меню навигации появляются новые элементы:
· Просмотр списка заданий (Exercises).
· Выполнение заданий (Task).
· Просмотр статистики (Statistic).
· Управление подписками (Subscriptions).
· Выход из системы (Logout).
При переходе по ссылке «Subscriptions» с навигационного меню приложения в верхней части экрана пользователь попадает на страницу со списком подписок (см. рис. 3.4), где он имеет возможность добавить или выбрать подписку для получения заданий по ней.
Рисунок 3.4. Страница c подписками пользователя
При переходе по ссылке «Exercises» с навигационного меню приложения в верхней части экрана, пользователь попадает на страницу со списком заданий в виде карточек (см. рис. 3.5), где он имеет возможность перейти к выполнению одного из четырех типов заданий. Также на данной форме пользователь может установить настройки получения заданий, используя следующие выпадающие списки:
· Выбор предметной области заданий.
· Выбор уровня сложности заданий.
· Выбор количества задании.
Рисунок 3.5. Страница со списком заданий
При выборе задания из списка, пользователь попадает на страницу для выполнения задания (см. рис. 3.6).
Рисунок 3.6. Страница с заданием на установку последовательности слов в предложении
При переходе по ссылке «Statistic» с навигационного меню приложения в верхней части экрана пользователь попадет на страницу для просмотра статистики (см. рис. 3.7). Для получения статистики пользователю необходимо заполнить форму, установив следующие параметры для получения статистики:
· Предметная область.
· Уровень сложности.
Подобные документы
Разработка приложения, позволяющего автоматизировать документооборот предприятия по списанию основных средств. Мероприятия по защите и обеспечению целостности базы данных. Разработка клиентского приложения. Запросы к базе данных, руководство пользователя.
курсовая работа [700,0 K], добавлен 14.01.2015Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.
курсовая работа [4,3 M], добавлен 30.06.2015Разработка приложения для проверки использования времен глаголов в английском языке. Создание базы данных. Анализ используемых средств для реализации автоматического разбора текста. Проектирование мобильного приложения с помощью диаграмм деятельности.
дипломная работа [2,6 M], добавлен 13.09.2017Разработка клиент-серверного приложения, позволяющего взаимодействовать друг с другом с использованием доступа к базам данных. Проектирование связи сервера с базой данных с помощью технологии ODBC. Разработка интерфейса программы, ее тестирование.
курсовая работа [352,0 K], добавлен 24.08.2016Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.
курсовая работа [1,6 M], добавлен 19.04.2017Разработка приложения для работы с базой данных с использованием объектно-ориентированного и визуального программирования. Обзор языка элементов языка программирования Delphi. Проектирование базы данных автозаправки. Клиентская система приложения.
курсовая работа [2,3 M], добавлен 31.01.2016- Создание базы данных автомобилестроительного предприятия в виде настольного приложения на языке Java
Разработка логической схемы базы данных автомобилестроительного предприятия. Инфологическое моделирование системы. Создание графического интерфейса пользователя для базы данных средствами языка программирования Java. Тестирование программных средств.
курсовая работа [2,3 M], добавлен 16.12.2013 Характеристика объекта автоматизации. Создание многоуровневой архитектуры приложения, отладка метода безошибочной идентификации пользователей системы. Разработка нестандартного метода преобразования объектов базы данных в объекты классов приложения.
курсовая работа [395,4 K], добавлен 28.04.2015Основные инструменты построения Web-приложения. Язык сценариев PHP. Системный анализ предметной области базы данных. Коды SQL запросов на создание таблиц. Разработка Web-приложения. Описание функциональности модулей. Система управления содержимым статей.
курсовая работа [4,8 M], добавлен 28.04.2014Понятие, законодательное регулирование и виды электронных подписей. Разработка структурной схемы приложения и базы данных. Создание диаграммы прецедентов и классов. Проектирование интерфейса программы. Анализ руководства пользователя web-приложения.
дипломная работа [869,8 K], добавлен 12.08.2017