- •Оглавление
- •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 Список литературы и интернет ресурсов
10 Даталогическая модель
На основе проведенного анализа предметной области и ER диаграммы, строится даталогическая модель данных (табл.7), которая подробно описывает требования к атрибутам сущностей, такие как ограничение, ключевое поле, обязательный атрибут и т.д.
Табл.7. Даталогическая модель
Атрибуты |
Тип данных |
Ключ |
Ограничение по размеру |
Обязательное |
Физическое имя |
Сущность «Пользователь». User | |||||
ID |
int |
PK |
11 |
ДА |
id |
|
varchar |
|
255 |
НЕТ |
|
Пол |
tinyint |
|
1 |
ДА |
state |
Провайдер |
varchar |
|
255 |
ДА |
network |
Идентификатор |
varchar |
|
255 |
ДА |
identity |
Полное имя |
varchar |
|
255 |
НЕТ |
full_name |
Фото |
varchar |
|
255 |
НЕТ |
photo |
Сущность «Урок». Lesson | |||||
Идентификатор |
int |
PK |
11 |
ДА |
id |
Название |
varchar |
|
255 |
ДА |
title |
Текст |
varchar |
|
255 |
ДА |
text |
Упражнение |
varchar |
|
255 |
ДА |
exercise |
Позиция |
int |
|
2 |
ДА |
position |
Тема |
int |
FK |
11 |
ДА |
theme_id |
Код награды |
int |
FK |
11 |
ДА |
reward_id |
Код упражнения |
varchar |
FK |
11 |
ДА |
code |
Сущность «Тема». Theme | |||||
Идентификатор |
int |
PK |
11 |
ДА |
id |
Название |
varchar |
|
255 |
ДА |
title |
Описание |
varchar |
|
255 |
ДА |
desc |
Сущность «Награда». Reward | |||||
Идентификатор |
int |
PK |
11 |
ДА |
id |
Название |
varchar |
|
255 |
ДА |
title |
Описание |
varchar |
|
255 |
ДА |
desc |
Картинка |
varchar |
|
255 |
ДА |
icon |
Сущность «Пройденные упражнения». User_Lesson | |||||
Пользователь |
int |
FK |
11 |
ДА |
user_id |
Упражнение |
int |
FK |
11 |
ДА |
lesson_id |
Дата |
datatime |
|
|
ДА |
dt |
Сущность «Награды пользователя». User_Reward | |||||
Пользователь |
int |
FK |
11 |
ДА |
user_id |
Награда |
int |
FK |
11 |
ДА |
reward_id |
Дата |
dt |
|
|
ДА |
dt |
На основе этой модели будет построена физическая модель в MySQL.
11. Разработка спецификаций для функций системы
11.1 Спецификация «Авторизация»
При авторизации будет использоваться сервис http://ulogin.ru и настраиваемый виджет.
Пользователь нажимает на кнопку с логотипом соц. сети или почтового сервиса, в котором он имеет аккаунт.
Происходит переадресация на сайт-провайдера.
Пользователь должен подтвердить и разрешить приложению использовать его данные. Если пользователь не был ранее авторизован на сайте-провайдера, то ему будет показана стандартная форма для авторизации.
При получении данных от сайта-провайдера пользователь авторизуется в системе. При этом сайт-провайдер передаёт основные данные. Если это был первый вход, в БД заносятся необходимые данные о пользователе. Если сайт-провайдер не предоставил какие-то данные, пользователь должен их ввести дополнительно. При получении ошибки от сайта-провайдера пользователь перенаправляется на страницу входа с уведомлением об ошибке.
В качестве альтернативного варианта для авторизации возможно использовать сервис http://loginza.ru