- •Оглавление
- •1. Цели и задачи создания системы
- •1.1 Цель создания системы
- •1.3 Постановка задач
- •2 Анализ предметной области
- •3. Требования к системе
- •4 Требования к программным и техническим средствам
- •5 Описание ролей и групп
- •6. Описание основных функциональных процессов в системе
- •6.1. Авторизация
- •6.2 Прохождение курса
- •6.3 Получение наград
- •6.4 Генерирование отчёта
- •7 Проектирование информационно-логической модели данных
- •8 Описание свойств информационных объектов
- •9 Описание связей информационных объектов
- •10 Даталогическая модель
- •11. Разработка спецификаций для функций системы
- •11.1 Спецификация «Авторизация»
- •11.2 Спецификация «Профиль»
- •11.3 Спецификация «Прохождение курса»
- •11.4 Спецификация «Награды»
- •11.5 Наполнение контентом
- •12. Проектирование макетов пользовательского интерфейса
- •13 Выбор средств для реализации информационной системы(к требованиям)
- •14 Вывод
- •15 Перспективы развития ис
- •16 Список литературы и интернет ресурсов
6. Описание основных функциональных процессов в системе
6.1. Авторизация
Авторизации происходит через сторонний сервис. Поскольку сервисы предоставляют разный набор информации при авторизации через социальные сети, система должна получить ответ от oAuth провайдера и заполнить известные поля в модели пользователя. Неизвестные поля заполняются самим пользователем при помощи всплывающей формы и сохраняются в БД для дальнейшего использования. Процесс авторизации представлен на рис.1.
Рис.1. Процесс авторизации.
Поскольку данные поступают с другого ресурса, необходимо их проверить перед занесением в локальную БД. После авторизации пользователь попадает в свой профиль.
БПВин
6.2 Прохождение курса
Курс должен содержать в себе несколько тем. Каждая тема содержит упражнения, которые состоят из небольшой теории и задания для выполнения. Каждое упражнение должно быть посвящено одной команде, и одной команде может быть посвящено несколько упражнений.
После успешного выполнения задания должна быть отметка об его прохождении, чтобы пользователь в следующий сеанс смог начать с того места, где остановился.
Процесс выполнения задания РАЗВЕТВЛЕНИЕ (рис.2.) сводится к вводу команды в текстовое поле. Введённые пользователем команды должны до отправки должны проверяться на наличие команды в списке разрешённых команд для данного урока. После этого команда отправляется на сервер, скрипт её проверят и результат должен быть отображён у пользователя без перезагрузки страницы.
Рис.2. Процесс выполнения заданий.
Процесс проверки заданий необходимо реализовать через технологию AJAX.
AJAX (Asynchronous Javascript and XML, «асинхронный JavaScript и XML») - подход к построению интерактивных пользовательских интерфейсов web-приложений, заключающийся в «фоновом» обмене данными браузера с web-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.
При применении данного подхода необходимо воспользоваться библиотекой jQuery. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими.
6.3 Получение наград
После успешного выполнения некоторых заданий пользователь получает значки наград, которые будут отображаться в профиле пользователя. Данные о наградах должны содержаться в БД.
Необходимо реализовать рейтинг пользователей по времени прохождения курса.
6.4 Генерирование отчёта
После прохождения всего курса, необходимо, чтобы пользователь заполнил форму, в которой будут обязательные поля: имя, фамилия, отчество. Личные данные указываются в дательном падеже и будут использованы для генерирования отчёта в формате PDF, с указанием даты начала и окончания курса.
7 Проектирование информационно-логической модели данных
В ходе анализа предметно области были выявлены основные информационные объекты.
Информационный объект «Пользователь» - любой человек, который пользуется системой и авторизован.
Информационный объект «Тема» - признак, по которому группируются упражнения.
Информационный объект «Урок» - краткое теоретический материал и задание к нему.
Информационный объект «Награда» - признак поощрения пользователей за выполнение упражнений.
Информационный объект «Пройденные уроки» - информация о выполненных упражнениях.
Информационный объект «Награды пользователя» - информация о полученных наградах.
+ вывод